Skip to content

Commit

Permalink
fix: update implementations
Browse files Browse the repository at this point in the history
  • Loading branch information
skellet0r committed Aug 16, 2023
1 parent 85ad7ca commit a5a71c8
Show file tree
Hide file tree
Showing 12 changed files with 516 additions and 0 deletions.
43 changes: 43 additions & 0 deletions contracts/implementations/plain-2/Plain2Balances.vy
Original file line number Diff line number Diff line change
Expand Up @@ -994,3 +994,46 @@ def withdraw_admin_fees():
@external
def version() -> String[8]:
return VERSION


event CommitNewFee:
deadline: uint256
new_fee: uint256


event NewFee:
fee: uint256


MAX_FEE: constant(uint256) = 5 * 10 ** 9
ADMIN_ACTIONS_DELAY: constant(uint256) = 3 * 86400

future_fee: public(uint256)
admin_actions_deadline: public(uint256)


@external
def commit_new_fee(new_fee: uint256):
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert self.admin_actions_deadline == 0 # dev: active action
assert new_fee != 0 and new_fee <= MAX_FEE # dev: fee exceeds maximum

_deadline: uint256 = block.timestamp + ADMIN_ACTIONS_DELAY
self.admin_actions_deadline = _deadline
self.future_fee = new_fee

log CommitNewFee(_deadline, new_fee)


@external
def apply_new_fee():
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert block.timestamp >= self.admin_actions_deadline # dev: insufficient time
assert self.admin_actions_deadline != 0 # dev: no active action

self.admin_actions_deadline = 0
_fee: uint256 = self.future_fee
self.fee = _fee

log NewFee(_fee)

43 changes: 43 additions & 0 deletions contracts/implementations/plain-2/Plain2Basic.vy
Original file line number Diff line number Diff line change
Expand Up @@ -982,3 +982,46 @@ def version() -> String[8]:
@notice Get the version of this token contract
"""
return VERSION


event CommitNewFee:
deadline: uint256
new_fee: uint256


event NewFee:
fee: uint256


MAX_FEE: constant(uint256) = 5 * 10 ** 9
ADMIN_ACTIONS_DELAY: constant(uint256) = 3 * 86400

future_fee: public(uint256)
admin_actions_deadline: public(uint256)


@external
def commit_new_fee(new_fee: uint256):
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert self.admin_actions_deadline == 0 # dev: active action
assert new_fee != 0 and new_fee <= MAX_FEE # dev: fee exceeds maximum

_deadline: uint256 = block.timestamp + ADMIN_ACTIONS_DELAY
self.admin_actions_deadline = _deadline
self.future_fee = new_fee

log CommitNewFee(_deadline, new_fee)


@external
def apply_new_fee():
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert block.timestamp >= self.admin_actions_deadline # dev: insufficient time
assert self.admin_actions_deadline != 0 # dev: no active action

self.admin_actions_deadline = 0
_fee: uint256 = self.future_fee
self.fee = _fee

log NewFee(_fee)

43 changes: 43 additions & 0 deletions contracts/implementations/plain-2/Plain2ETH.vy
Original file line number Diff line number Diff line change
Expand Up @@ -1011,3 +1011,46 @@ def version() -> String[8]:
@notice Get the version of this token contract
"""
return VERSION


event CommitNewFee:
deadline: uint256
new_fee: uint256


event NewFee:
fee: uint256


MAX_FEE: constant(uint256) = 5 * 10 ** 9
ADMIN_ACTIONS_DELAY: constant(uint256) = 3 * 86400

future_fee: public(uint256)
admin_actions_deadline: public(uint256)


@external
def commit_new_fee(new_fee: uint256):
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert self.admin_actions_deadline == 0 # dev: active action
assert new_fee != 0 and new_fee <= MAX_FEE # dev: fee exceeds maximum

_deadline: uint256 = block.timestamp + ADMIN_ACTIONS_DELAY
self.admin_actions_deadline = _deadline
self.future_fee = new_fee

log CommitNewFee(_deadline, new_fee)


@external
def apply_new_fee():
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert block.timestamp >= self.admin_actions_deadline # dev: insufficient time
assert self.admin_actions_deadline != 0 # dev: no active action

self.admin_actions_deadline = 0
_fee: uint256 = self.future_fee
self.fee = _fee

log NewFee(_fee)

43 changes: 43 additions & 0 deletions contracts/implementations/plain-2/Plain2Optimized.vy
Original file line number Diff line number Diff line change
Expand Up @@ -890,3 +890,46 @@ def version() -> String[8]:
@notice Get the version of this token contract
"""
return VERSION


event CommitNewFee:
deadline: uint256
new_fee: uint256


event NewFee:
fee: uint256


MAX_FEE: constant(uint256) = 5 * 10 ** 9
ADMIN_ACTIONS_DELAY: constant(uint256) = 3 * 86400

future_fee: public(uint256)
admin_actions_deadline: public(uint256)


@external
def commit_new_fee(new_fee: uint256):
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert self.admin_actions_deadline == 0 # dev: active action
assert new_fee != 0 and new_fee <= MAX_FEE # dev: fee exceeds maximum

_deadline: uint256 = block.timestamp + ADMIN_ACTIONS_DELAY
self.admin_actions_deadline = _deadline
self.future_fee = new_fee

log CommitNewFee(_deadline, new_fee)


@external
def apply_new_fee():
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert block.timestamp >= self.admin_actions_deadline # dev: insufficient time
assert self.admin_actions_deadline != 0 # dev: no active action

self.admin_actions_deadline = 0
_fee: uint256 = self.future_fee
self.fee = _fee

log NewFee(_fee)

43 changes: 43 additions & 0 deletions contracts/implementations/plain-3/Plain3Balances.vy
Original file line number Diff line number Diff line change
Expand Up @@ -1000,3 +1000,46 @@ def version() -> String[8]:
@notice Get the version of this token contract
"""
return VERSION


event CommitNewFee:
deadline: uint256
new_fee: uint256


event NewFee:
fee: uint256


MAX_FEE: constant(uint256) = 5 * 10 ** 9
ADMIN_ACTIONS_DELAY: constant(uint256) = 3 * 86400

future_fee: public(uint256)
admin_actions_deadline: public(uint256)


@external
def commit_new_fee(new_fee: uint256):
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert self.admin_actions_deadline == 0 # dev: active action
assert new_fee != 0 and new_fee <= MAX_FEE # dev: fee exceeds maximum

_deadline: uint256 = block.timestamp + ADMIN_ACTIONS_DELAY
self.admin_actions_deadline = _deadline
self.future_fee = new_fee

log CommitNewFee(_deadline, new_fee)


@external
def apply_new_fee():
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert block.timestamp >= self.admin_actions_deadline # dev: insufficient time
assert self.admin_actions_deadline != 0 # dev: no active action

self.admin_actions_deadline = 0
_fee: uint256 = self.future_fee
self.fee = _fee

log NewFee(_fee)

43 changes: 43 additions & 0 deletions contracts/implementations/plain-3/Plain3Basic.vy
Original file line number Diff line number Diff line change
Expand Up @@ -985,3 +985,46 @@ def version() -> String[8]:
@notice Get the version of this token contract
"""
return VERSION


event CommitNewFee:
deadline: uint256
new_fee: uint256


event NewFee:
fee: uint256


MAX_FEE: constant(uint256) = 5 * 10 ** 9
ADMIN_ACTIONS_DELAY: constant(uint256) = 3 * 86400

future_fee: public(uint256)
admin_actions_deadline: public(uint256)


@external
def commit_new_fee(new_fee: uint256):
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert self.admin_actions_deadline == 0 # dev: active action
assert new_fee != 0 and new_fee <= MAX_FEE # dev: fee exceeds maximum

_deadline: uint256 = block.timestamp + ADMIN_ACTIONS_DELAY
self.admin_actions_deadline = _deadline
self.future_fee = new_fee

log CommitNewFee(_deadline, new_fee)


@external
def apply_new_fee():
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert block.timestamp >= self.admin_actions_deadline # dev: insufficient time
assert self.admin_actions_deadline != 0 # dev: no active action

self.admin_actions_deadline = 0
_fee: uint256 = self.future_fee
self.fee = _fee

log NewFee(_fee)

43 changes: 43 additions & 0 deletions contracts/implementations/plain-3/Plain3ETH.vy
Original file line number Diff line number Diff line change
Expand Up @@ -1020,3 +1020,46 @@ def version() -> String[8]:
@notice Get the version of this token contract
"""
return VERSION


event CommitNewFee:
deadline: uint256
new_fee: uint256


event NewFee:
fee: uint256


MAX_FEE: constant(uint256) = 5 * 10 ** 9
ADMIN_ACTIONS_DELAY: constant(uint256) = 3 * 86400

future_fee: public(uint256)
admin_actions_deadline: public(uint256)


@external
def commit_new_fee(new_fee: uint256):
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert self.admin_actions_deadline == 0 # dev: active action
assert new_fee != 0 and new_fee <= MAX_FEE # dev: fee exceeds maximum

_deadline: uint256 = block.timestamp + ADMIN_ACTIONS_DELAY
self.admin_actions_deadline = _deadline
self.future_fee = new_fee

log CommitNewFee(_deadline, new_fee)


@external
def apply_new_fee():
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert block.timestamp >= self.admin_actions_deadline # dev: insufficient time
assert self.admin_actions_deadline != 0 # dev: no active action

self.admin_actions_deadline = 0
_fee: uint256 = self.future_fee
self.fee = _fee

log NewFee(_fee)

43 changes: 43 additions & 0 deletions contracts/implementations/plain-3/Plain3Optimized.vy
Original file line number Diff line number Diff line change
Expand Up @@ -893,3 +893,46 @@ def version() -> String[8]:
@notice Get the version of this token contract
"""
return VERSION


event CommitNewFee:
deadline: uint256
new_fee: uint256


event NewFee:
fee: uint256


MAX_FEE: constant(uint256) = 5 * 10 ** 9
ADMIN_ACTIONS_DELAY: constant(uint256) = 3 * 86400

future_fee: public(uint256)
admin_actions_deadline: public(uint256)


@external
def commit_new_fee(new_fee: uint256):
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert self.admin_actions_deadline == 0 # dev: active action
assert new_fee != 0 and new_fee <= MAX_FEE # dev: fee exceeds maximum

_deadline: uint256 = block.timestamp + ADMIN_ACTIONS_DELAY
self.admin_actions_deadline = _deadline
self.future_fee = new_fee

log CommitNewFee(_deadline, new_fee)


@external
def apply_new_fee():
assert msg.sender == Factory(self.factory).admin() # dev: only owner
assert block.timestamp >= self.admin_actions_deadline # dev: insufficient time
assert self.admin_actions_deadline != 0 # dev: no active action

self.admin_actions_deadline = 0
_fee: uint256 = self.future_fee
self.fee = _fee

log NewFee(_fee)

Loading

0 comments on commit a5a71c8

Please sign in to comment.