Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 16 from a total of 16 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Vote_yea | 23875332 | 120 days ago | IN | 0 ETH | 0.00005577 | ||||
| Propose | 23835663 | 125 days ago | IN | 0 ETH | 0.00022525 | ||||
| Enact | 22909118 | 255 days ago | IN | 0 ETH | 0.00004355 | ||||
| Vote_yea | 22864514 | 261 days ago | IN | 0 ETH | 0.00001947 | ||||
| Vote_yea | 22837680 | 265 days ago | IN | 0 ETH | 0.00028284 | ||||
| Propose | 22825808 | 267 days ago | IN | 0 ETH | 0.00112224 | ||||
| Enact | 21330327 | 476 days ago | IN | 0 ETH | 0.00620095 | ||||
| Vote_yea | 21258369 | 486 days ago | IN | 0 ETH | 0.00070392 | ||||
| Vote_yea | 21254117 | 486 days ago | IN | 0 ETH | 0.00083262 | ||||
| Vote_yea | 21253313 | 486 days ago | IN | 0 ETH | 0.00106227 | ||||
| Vote_yea | 21242331 | 488 days ago | IN | 0 ETH | 0.00071434 | ||||
| Vote_yea | 21236395 | 489 days ago | IN | 0 ETH | 0.00350871 | ||||
| Propose | 21229399 | 490 days ago | IN | 0 ETH | 0.00262774 | ||||
| Vote_yea | 19276726 | 763 days ago | IN | 0 ETH | 0.00640216 | ||||
| Set_propose_min_... | 19228708 | 769 days ago | IN | 0 ETH | 0.00110769 | ||||
| Set_management | 19226413 | 770 days ago | IN | 0 ETH | 0.00135758 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Generic governor
Compiler Version
vyper:0.3.10
Contract Source Code (Vyper language format)
# @version 0.3.10
"""
@title Generic governor
@author 0xkorin, Yearn Finance
@license GNU AGPLv3
@notice
Governor for executing arbitrary calls, after passing through a voting procedure.
Time is divided in 4 week epochs. During the first three weeks, accounts with sufficient
voting weight are able to submit proposals. In the final week of the epoch all accounts
are able to vote on all open proposals. If at the end of the epoch the proposal has reached
a sufficiently high fraction of votes, the proposal has passed and can be enacted through
the executor.
Most parameters are configurable by management. The management role is intended to be
transferred to the proxy, making the system self-governing.
"""
interface Measure:
def vote_weight(_account: address) -> uint256: view
interface Executor:
def execute(_script: Bytes[2048]): nonpayable
struct Proposal:
epoch: uint256
author: address
ipfs: bytes32
state: uint256
hash: bytes32
yea: uint256
nay: uint256
abstain: uint256
genesis: public(immutable(uint256))
management: public(address)
pending_management: public(address)
measure: public(address)
executor: public(address)
packed_quorum: uint256 # current (120) | previous (120) | epoch (16)
packed_majority: uint256 # current (120) | previous (120) | epoch (16)
packed_delay: uint256 # current (120) | previous (120) | epoch (16)
propose_min_weight: public(uint256)
num_proposals: public(uint256)
proposals: HashMap[uint256, Proposal]
voted: public(HashMap[address, HashMap[uint256, bool]])
event Propose:
idx: indexed(uint256)
epoch: indexed(uint256)
author: indexed(address)
ipfs: bytes32
script: Bytes[2048]
event Retract:
idx: indexed(uint256)
event Cancel:
idx: indexed(uint256)
event Vote:
account: indexed(address)
idx: indexed(uint256)
yea: uint256
nay: uint256
abstain: uint256
event Enact:
idx: indexed(uint256)
by: indexed(address)
event SetMeasure:
measure: indexed(address)
event SetExecutor:
executor: indexed(address)
event SetDelay:
delay: uint256
event SetQuorum:
quorum: uint256
event SetMajority:
majority: uint256
event SetProposeMinWeight:
min_weight: uint256
event PendingManagement:
management: indexed(address)
event SetManagement:
management: indexed(address)
STATE_ABSENT: constant(uint256) = 0
STATE_PROPOSED: constant(uint256) = 1
STATE_PASSED: constant(uint256) = 2
STATE_REJECTED: constant(uint256) = 3
STATE_RETRACTED: constant(uint256) = 4
STATE_CANCELLED: constant(uint256) = 5
STATE_ENACTED: constant(uint256) = 6
WEEK: constant(uint256) = 7 * 24 * 60 * 60
EPOCH_LENGTH: constant(uint256) = 4 * WEEK
VOTE_LENGTH: constant(uint256) = WEEK
VOTE_START: constant(uint256) = EPOCH_LENGTH - VOTE_LENGTH
VOTE_SCALE: constant(uint256) = 10_000
VALUE_MASK: constant(uint256) = 2**120 - 1
PREVIOUS_SHIFT: constant(int128) = -120
EPOCH_MASK: constant(uint256) = 2**16 - 1
EPOCH_SHIFT: constant(int128) = -240
@external
def __init__(_genesis: uint256, _measure: address, _executor: address, _quorum: uint256, _majority: uint256, _delay: uint256):
"""
@notice Constructor
@param _genesis Timestamp of start of epoch 0
@param _measure Vote weight measure
@param _executor Governance executor
@param _quorum Quorum threshold (18 decimals)
@param _majority Majority threshold (bps)
@param _delay Vote enactment delay (seconds)
"""
assert _genesis <= block.timestamp
assert _measure != empty(address)
assert _executor != empty(address)
assert _quorum <= VALUE_MASK
assert _majority >= VOTE_SCALE / 2 and _majority <= VOTE_SCALE
assert _delay <= VOTE_START
genesis = _genesis
self.management = msg.sender
self.measure = _measure
self.executor = _executor
self.packed_quorum = _quorum
self.packed_majority = _majority
self.packed_delay = _delay
assert self._epoch() > 0
@external
@view
def epoch() -> uint256:
"""
@notice Get the current epoch
@return Current epoch
"""
return self._epoch()
@internal
@view
def _epoch() -> uint256:
"""
@notice Get the current epoch
"""
return (block.timestamp - genesis) / EPOCH_LENGTH
@external
@view
def propose_open() -> bool:
"""
@notice Query whether the proposal period is currently open
@return True: proposal period is open, False: proposal period is closed
"""
return self._propose_open()
@internal
@view
def _propose_open() -> bool:
"""
@notice Query whether the proposal period is currently open
"""
return (block.timestamp - genesis) % EPOCH_LENGTH < VOTE_START
@external
@view
def vote_open() -> bool:
"""
@notice Query whether the vote period is currently open
@return True: vote period is open, False: vote period is closed
"""
return self._vote_open()
@internal
@view
def _vote_open() -> bool:
"""
@notice Query whether the vote period is currently open
"""
return (block.timestamp - genesis) % EPOCH_LENGTH >= VOTE_START
@external
@view
def quorum() -> uint256:
"""
@notice
Get quorum threshold. At least this voting weight must be used
on a proposal for it to pass
@return Quorum threshold (18 decimals)
"""
return self.packed_quorum & VALUE_MASK
@external
@view
def previous_quorum() -> uint256:
"""
@notice Get quorum threshold required to pass a proposal of previous epoch
@return Quorum threshold (18 decimals)
"""
return self._quorum(self._epoch() - 1)
@external
@view
def majority() -> uint256:
"""
@notice Get majority threshold required to pass a proposal
@return Majority threshold (bps)
"""
return self.packed_majority & VALUE_MASK
@external
@view
def previous_majority() -> uint256:
"""
@notice Get majority threshold required to pass a proposal of previous epoch
@return Majority threshold (bps)
"""
return self._majority(self._epoch() - 1)
@internal
@view
def _quorum(_epoch: uint256) -> uint256:
"""
@notice Get quorum threshold of an epoch
@param _epoch Epoch to query quorum threshold for
@return Quorum threshold (18 decimals)
@dev Should only be used to query this or last epoch's value
"""
packed: uint256 = self.packed_quorum
if _epoch < shift(packed, EPOCH_SHIFT):
return shift(packed, PREVIOUS_SHIFT) & VALUE_MASK
return packed & VALUE_MASK
@internal
@view
def _majority(_epoch: uint256) -> uint256:
"""
@notice Get majority threshold of an epoch
@param _epoch Epoch to query majority threshold for
@return Majority threshold (bps)
@dev Should only be used to query this or last epoch's value
"""
packed: uint256 = self.packed_majority
if _epoch < shift(packed, EPOCH_SHIFT):
return shift(packed, PREVIOUS_SHIFT) & VALUE_MASK
return packed & VALUE_MASK
@external
@view
def delay() -> uint256:
"""
@notice Get minimum delay between passing a proposal and its enactment
@return Enactment delay (seconds)
"""
return self.packed_delay & VALUE_MASK
@external
@view
def previous_delay() -> uint256:
"""
@notice Get minimum delay between passing a proposal and its enactment of previous epoch
@return Enactment delay (seconds)
"""
return self._delay(self._epoch() - 1)
@internal
@view
def _delay(_epoch: uint256) -> uint256:
"""
@notice Get minimum delay between passing a proposal and its enactment
@param _epoch Epoch to query delay for
@return Enactment delay (seconds)
@dev Should only be used to query this or last epoch's value
"""
packed: uint256 = self.packed_delay
if _epoch < shift(packed, EPOCH_SHIFT):
return shift(packed, PREVIOUS_SHIFT) & VALUE_MASK
return packed & VALUE_MASK
@external
@view
def proposal(_idx: uint256) -> Proposal:
"""
@notice Get a proposal
@param _idx Proposal index
@return The proposal
"""
proposal: Proposal = self.proposals[_idx]
proposal.state = self._proposal_state(_idx)
return proposal
@external
@view
def proposal_state(_idx: uint256) -> uint256:
"""
@notice Get the state of a proposal
@param _idx Proposal index
@return The proposal state
"""
return self._proposal_state(_idx)
@external
def update_proposal_state(_idx: uint256) -> uint256:
"""
@notice Update the state of a proposal
@param _idx Proposal index
@return The proposal state
"""
state: uint256 = self._proposal_state(_idx)
if state != STATE_ABSENT:
self.proposals[_idx].state = state
return state
@internal
@view
def _proposal_state(_idx: uint256) -> uint256:
"""
@notice Get the state of a proposal
@dev Determines the pass/reject state based on the relative number of votes in favor
"""
state: uint256 = self.proposals[_idx].state
if state not in [STATE_PROPOSED, STATE_PASSED]:
return state
current_epoch: uint256 = self._epoch()
vote_epoch: uint256 = self.proposals[_idx].epoch
if current_epoch == vote_epoch:
return STATE_PROPOSED
if current_epoch == vote_epoch + 1:
yea: uint256 = self.proposals[_idx].yea
nay: uint256 = self.proposals[_idx].nay
abstain: uint256 = self.proposals[_idx].abstain
counted: uint256 = yea + nay # for majority purposes
total: uint256 = counted + abstain # for quorum purposes
if counted > 0 and total >= self._quorum(vote_epoch) and \
yea * VOTE_SCALE >= counted * self._majority(vote_epoch):
return STATE_PASSED
return STATE_REJECTED
@external
def propose(_ipfs: bytes32, _script: Bytes[2048]) -> uint256:
"""
@notice Create a proposal
@param _ipfs IPFS CID containing a description of the proposal
@param _script Script to be executed if the proposal passes
@return The proposal index
"""
assert self._propose_open()
assert Measure(self.measure).vote_weight(msg.sender) >= self.propose_min_weight
epoch: uint256 = self._epoch()
idx: uint256 = self.num_proposals
self.num_proposals = idx + 1
self.proposals[idx].epoch = epoch
self.proposals[idx].author = msg.sender
self.proposals[idx].ipfs = _ipfs
self.proposals[idx].state = STATE_PROPOSED
self.proposals[idx].hash = keccak256(_script)
log Propose(idx, epoch, msg.sender, _ipfs, _script)
return idx
@external
def retract(_idx: uint256):
"""
@notice Retract a proposal. Only callable by proposal author
@param _idx Proposal index
"""
assert msg.sender == self.proposals[_idx].author
state: uint256 = self._proposal_state(_idx)
assert state == STATE_PROPOSED and not self._vote_open()
self.proposals[_idx].state = STATE_RETRACTED
log Retract(_idx)
@external
def cancel(_idx: uint256):
"""
@notice Cancel a proposal. Only callable by management
@param _idx Proposal index
"""
assert msg.sender == self.management
state: uint256 = self._proposal_state(_idx)
assert state == STATE_PROPOSED or state == STATE_PASSED
self.proposals[_idx].state = STATE_CANCELLED
log Cancel(_idx)
@external
def vote_yea(_idx: uint256):
"""
@notice Vote in favor of a proposal
@param _idx Proposal index
"""
self._vote(_idx, VOTE_SCALE, 0, 0)
@external
def vote_nay(_idx: uint256):
"""
@notice Vote in opposition of a proposal
@param _idx Proposal index
"""
self._vote(_idx, 0, VOTE_SCALE, 0)
@external
def vote_abstain(_idx: uint256):
"""
@notice Vote in abstention of a proposal
@param _idx Proposal index
"""
self._vote(_idx, 0, 0, VOTE_SCALE)
@external
def vote(_idx: uint256, _yea: uint256, _nay: uint256, _abstain: uint256):
"""
@notice Weighted vote on a proposal
@param _idx Proposal index
@param _yea Fraction of votes in favor
@param _nay Fraction of votes in opposition
@param _abstain Fraction of abstained votes
"""
self._vote(_idx, _yea, _nay, _abstain)
@internal
def _vote(_idx: uint256, _yea: uint256, _nay: uint256, _abstain: uint256):
"""
@notice Weighted vote on a proposal
"""
assert self._vote_open()
assert self.proposals[_idx].epoch == self._epoch()
assert self.proposals[_idx].state == STATE_PROPOSED
assert not self.voted[msg.sender][_idx]
assert _yea + _nay + _abstain == VOTE_SCALE
weight: uint256 = Measure(self.measure).vote_weight(msg.sender)
assert weight > 0
self.voted[msg.sender][_idx] = True
yea: uint256 = 0
if _yea > 0:
yea = weight * _yea / VOTE_SCALE
self.proposals[_idx].yea += yea
nay: uint256 = 0
if _nay > 0:
nay = weight * _nay / VOTE_SCALE
self.proposals[_idx].nay += nay
abstain: uint256 = 0
if _abstain > 0:
abstain = weight * _abstain / VOTE_SCALE
self.proposals[_idx].abstain += abstain
log Vote(msg.sender, _idx, yea, nay, abstain)
@external
def enact(_idx: uint256, _script: Bytes[2048]):
"""
@notice Enact a proposal after its vote has passed
@param _idx Proposal index
@param _script The script to execute
"""
assert self._proposal_state(_idx) == STATE_PASSED
assert keccak256(_script) == self.proposals[_idx].hash
delay: uint256 = self._delay(self._epoch() - 1)
assert (block.timestamp - genesis) % EPOCH_LENGTH >= delay
self.proposals[_idx].state = STATE_ENACTED
log Enact(_idx, msg.sender)
Executor(self.executor).execute(_script)
@external
def set_measure(_measure: address):
"""
@notice Set vote weight measure contract
@param _measure New vote weight measure
"""
assert msg.sender == self.management
assert _measure != empty(address)
self.measure = _measure
log SetMeasure(_measure)
@external
def set_executor(_executor: address):
"""
@notice Set executor contract
@param _executor New executor
"""
assert msg.sender == self.management
assert _executor != empty(address)
self.executor = _executor
log SetExecutor(_executor)
@external
def set_quorum(_quorum: uint256):
"""
@notice
Set quorum threshold in 18 decimals.
Proposals need at least this absolute number of votes to pass
@param _quorum New quorum threshold (18 decimals)
"""
assert msg.sender == self.management
assert _quorum <= VALUE_MASK
epoch: uint256 = self._epoch()
previous: uint256 = self._quorum(epoch - 1)
self.packed_quorum = _quorum | shift(previous, -PREVIOUS_SHIFT) | shift(epoch, -EPOCH_SHIFT)
log SetQuorum(_quorum)
@external
def set_majority(_majority: uint256):
"""
@notice
Set majority threshold in basispoints.
Proposals need at least this fraction of votes in favor to pass
@param _majority New majority threshold (bps)
"""
assert msg.sender == self.management
assert _majority >= VOTE_SCALE / 2 and _majority <= VOTE_SCALE
epoch: uint256 = self._epoch()
previous: uint256 = self._majority(epoch - 1)
self.packed_majority = _majority | shift(previous, -PREVIOUS_SHIFT) | shift(epoch, -EPOCH_SHIFT)
log SetMajority(_majority)
@external
def set_delay(_delay: uint256):
"""
@notice
Set enactment time delay in seconds. Proposals that passed need to wait
at least this time before they can be enacted.
@param _delay New delay (seconds)
"""
assert msg.sender == self.management
assert _delay <= VOTE_START
epoch: uint256 = self._epoch()
previous: uint256 = self._delay(epoch - 1)
self.packed_delay = _delay | shift(previous, -PREVIOUS_SHIFT) | shift(epoch, -EPOCH_SHIFT)
log SetDelay(_delay)
@external
def set_propose_min_weight(_propose_min_weight: uint256):
"""
@notice Set minimum vote weight required to submit new proposals
@param _propose_min_weight New minimum weight
"""
assert msg.sender == self.management
self.propose_min_weight = _propose_min_weight
log SetProposeMinWeight(_propose_min_weight)
@external
def set_management(_management: address):
"""
@notice
Set the pending management address.
Needs to be accepted by that account separately to transfer management over
@param _management New pending management address
"""
assert msg.sender == self.management
self.pending_management = _management
log PendingManagement(_management)
@external
def accept_management():
"""
@notice
Accept management role.
Can only be called by account previously marked as pending management by current management
"""
assert msg.sender == self.pending_management
self.pending_management = empty(address)
self.management = msg.sender
log SetManagement(msg.sender)Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"name":"Propose","inputs":[{"name":"idx","type":"uint256","indexed":true},{"name":"epoch","type":"uint256","indexed":true},{"name":"author","type":"address","indexed":true},{"name":"ipfs","type":"bytes32","indexed":false},{"name":"script","type":"bytes","indexed":false}],"anonymous":false,"type":"event"},{"name":"Retract","inputs":[{"name":"idx","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"name":"Cancel","inputs":[{"name":"idx","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"name":"Vote","inputs":[{"name":"account","type":"address","indexed":true},{"name":"idx","type":"uint256","indexed":true},{"name":"yea","type":"uint256","indexed":false},{"name":"nay","type":"uint256","indexed":false},{"name":"abstain","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Enact","inputs":[{"name":"idx","type":"uint256","indexed":true},{"name":"by","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"SetMeasure","inputs":[{"name":"measure","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"SetExecutor","inputs":[{"name":"executor","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"SetDelay","inputs":[{"name":"delay","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetQuorum","inputs":[{"name":"quorum","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetMajority","inputs":[{"name":"majority","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetProposeMinWeight","inputs":[{"name":"min_weight","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"PendingManagement","inputs":[{"name":"management","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"SetManagement","inputs":[{"name":"management","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_genesis","type":"uint256"},{"name":"_measure","type":"address"},{"name":"_executor","type":"address"},{"name":"_quorum","type":"uint256"},{"name":"_majority","type":"uint256"},{"name":"_delay","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"epoch","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"propose_open","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"vote_open","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"quorum","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"previous_quorum","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"majority","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"previous_majority","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"delay","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"previous_delay","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"proposal","inputs":[{"name":"_idx","type":"uint256"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"epoch","type":"uint256"},{"name":"author","type":"address"},{"name":"ipfs","type":"bytes32"},{"name":"state","type":"uint256"},{"name":"hash","type":"bytes32"},{"name":"yea","type":"uint256"},{"name":"nay","type":"uint256"},{"name":"abstain","type":"uint256"}]}]},{"stateMutability":"view","type":"function","name":"proposal_state","inputs":[{"name":"_idx","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"update_proposal_state","inputs":[{"name":"_idx","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"propose","inputs":[{"name":"_ipfs","type":"bytes32"},{"name":"_script","type":"bytes"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"retract","inputs":[{"name":"_idx","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"cancel","inputs":[{"name":"_idx","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"vote_yea","inputs":[{"name":"_idx","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"vote_nay","inputs":[{"name":"_idx","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"vote_abstain","inputs":[{"name":"_idx","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"vote","inputs":[{"name":"_idx","type":"uint256"},{"name":"_yea","type":"uint256"},{"name":"_nay","type":"uint256"},{"name":"_abstain","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"enact","inputs":[{"name":"_idx","type":"uint256"},{"name":"_script","type":"bytes"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_measure","inputs":[{"name":"_measure","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_executor","inputs":[{"name":"_executor","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_quorum","inputs":[{"name":"_quorum","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_majority","inputs":[{"name":"_majority","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_delay","inputs":[{"name":"_delay","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_propose_min_weight","inputs":[{"name":"_propose_min_weight","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_management","inputs":[{"name":"_management","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"accept_management","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"genesis","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"management","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"pending_management","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"measure","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"executor","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"propose_min_weight","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"num_proposals","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"voted","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]}]Contract Creation Code
61131151503461013057602061147b5f395f518060a01c61013057604052602061149b5f395f518060a01c6101305760605242602061145b5f395f511161013057604051156101305760605115610130576effffffffffffffffffffffffffffff60206114bb5f395f51116101305761138860206114db5f395f511015610086575f610095565b61271060206114db5f395f5111155b1561013057621baf8060206114fb5f395f511161013057602061145b5f395f5161131152335f5560405160025560605160035560206114bb5f395f5160045560206114db5f395f5160055560206114fb5f395f516006556100f66080610110565b608051156101305761131161013461000039611331610000f35b426113115180820382811161013057905090506224ea0081049050815250565b5f80fd5f3560e01c60026029820660011b6112bf01601e395f51565b63a7f0b3de8118610d4e57346112bb57602061131160403960206040f3610d4e565b6388a8d6028118610d4e57346112bb575f5460405260206040f3610d4e565b63770817ec8118610d4e57346112bb5760015460405260206040f3610d4e565b63efa9a1ad811861009557346112bb5760025460405260206040f35b631da0c5b28118610d4e576024361034176112bb576004356040526127106060526040366080376100c4611067565b00610d4e565b63c34c08e58118610d4e57346112bb5760035460405260206040f3610d4e565b6356d088ad811861010657346112bb5760075460405260206040f35b636a42b8f88118610d4e57346112bb576effffffffffffffffffffffffffffff6006541660405260206040f3610d4e565b63da2633e1811861015357346112bb5760085460405260206040f35b63f9139ee78118610d4e576024361034176112bb57600435608052610179610200610ec7565b610200516101e0526101e051156101a4576101e05160096004356020525f5260405f20600381019050555b60206101e0f3610d4e565b63c591aa988118610d4e576044361034176112bb576004358060a01c6112bb57604052600a6040516020525f5260405f20806024356020525f5260405f2090505460605260206060f3610d4e565b63900cf0cf8118610d4e57346112bb5760206102196040610d52565b6040f3610d4e565b638f9dcb0e811861024157346112bb57602061023d6040610d77565b6040f35b6330326c178118610d4e576024361034176112bb5760096004356020525f5260405f2080546101e05260018101546102005260028101546102205260038101546102405260048101546102605260058101546102805260068101546102a05260078101546102c052506004356080526102bb6102e0610ec7565b6102e051610240526101006101e0f3610d4e565b63786370ba81186102ef57346112bb5760206102eb6040610da1565b6040f35b638c84dede8118610d4e576024361034176112bb575f5433186112bb57621baf80600435116112bb5761032260a0610d52565b60a051608052608051600181038181116112bb57905060405261034560c0610e73565b60c05160a0526080518060f01b905060a0518060781b905060043517176006557fcf57d2e955986c39a021abcc2ff70c02efcd0a4dd6ce2255a84612dd7b65ea2960043560c052602060c0a100610d4e565b631703a0188118610d4e57346112bb576effffffffffffffffffffffffffffff6004541660405260206040f3610d4e565b630891e422811861040b57346112bb5760206103e46080610d52565b608051600181038181116112bb57905060c05260c05160405261040760a0610dcb565b60a0f35b639209a0348118610d4e57346112bb5760206104276080610d52565b608051600181038181116112bb57905060c05260c05160405261044a60a0610e1f565b60a0f3610d4e565b63b6e54bdf811861047f57346112bb576effffffffffffffffffffffffffffff6005541660405260206040f35b6308f896468118610d4e576024361034176112bb5760043560405260403660603761271060a0526104ae611067565b00610d4e565b63317608278118610d4e57346112bb5760206104d06080610d52565b608051600181038181116112bb57905060c05260c0516040526104f360a0610e73565b60a0f3610d4e565b6321436fb68118610d4e576024361034176112bb5760206004356080526105236101e0610ec7565b6101e0f3610d4e565b63ca0dc9738118610d4e576064361034176112bb576024356004016108008135116112bb57602081350180826040375050610568610860610d77565b61086051156112bb5760075460025463f49ec3106108605233610880526020610860602461087c845afa61059e573d5f5f3e3d5ffd5b60203d106112bb57610860905051106112bb576105bc610880610d52565b61088051610860526008546108805261088051600181018181106112bb579050600855610860516009610880516020525f5260405f2055336009610880516020525f5260405f20600181019050556004356009610880516020525f5260405f206002810190505560016009610880516020525f5260405f20600381019050556040516060206009610880516020525f5260405f20600481019050553361086051610880517f96c916fce93d56349236e10c95e6dca076e7e15d1f8da4221bdc3ea725fdc21c60406004356108a052806108c052806108a001602060405101808282604060045afa50508051806020830101601f825f03163682375050601f19601f825160200101169050810190506108a0a46020610880f3610d4e565b639fab66568118610d4e576024361034176112bb5760096004356020525f5260405f206001810190505433186112bb5760043560805261071a610200610ec7565b610200516101e05260016101e0511861074257610738610200610da1565b6102005115610744565b5f5b156112bb57600460096004356020525f5260405f20600381019050556004357ff8f7459e0aa0dfe770104b09822d11939d2c6ae3827597365a9620fb8b566df45f610200a200610d4e565b6340e58ee58118610d4e576024361034176112bb575f5433186112bb576004356080526107bd610200610ec7565b610200516101e05260016101e051186107d75760016107e0565b60026101e05118155b156112bb57600560096004356020525f5260405f20600381019050556004357f8bf30e7ff26833413be5f69e1d373744864d600b664204b4a2f9844a8eedb9ed5f610200a200610d4e565b63520f3f128118610d4e576024361034176112bb576004356040525f6060526127106080525f60a05261085c611067565b00610d4e565b6368c9e3888118610d4e576084361034176112bb5760806004604037610886611067565b00610d4e565b639fb87fa68118610d4e576064361034176112bb576024356004016108008135116112bb57602081350180826101e037505060026004356080526108d1610a00610ec7565b610a0051186112bb5760096004356020525f5260405f20600481019050546101e05161020020186112bb57610907610a20610d52565b610a2051600181038181116112bb579050610a6052610a605160405261092e610a40610e73565b610a4051610a0052610a00514260206113115f395f518082038281116112bb57905090506224ea0081069050106112bb57600660096004356020525f5260405f2060038101905055336004357ff60165ea3cb16e15e52e56c55da006a557664f5ec8e6fbc917cf43e98e8000745f610a20a36003546309c5eabe610a2052602080610a405280610a400160206101e051018082826101e060045afa50508051806020830101601f825f03163682375050601f19601f82516020010116905081015050803b156112bb575f610a20610844610a3c5f855af1610a11573d5f5f3e3d5ffd5b5000610d4e565b63c764c59f8118610a7b576024361034176112bb576004358060a01c6112bb576040525f5433186112bb57604051156112bb576040516002556040517f602e8126584dd3551a170697ca62a8225945d42068a7ac49f200b7a60110aca95f6060a2005b6335ece2d08118610d4e576024361034176112bb575f5433186112bb576113886004351015610aaa575f610ab3565b61271060043511155b156112bb57610ac260a0610d52565b60a051608052608051600181038181116112bb579050604052610ae560c0610e1f565b60c05160a0526080518060f01b905060a0518060781b905060043517176005557fa09c6d124473332682507ea3709f0b9c7afe1e6e4f79236e4271a932fbd829ec60043560c052602060c0a100610d4e565b633ee163968118610d4e576024361034176112bb576004358060a01c6112bb576040525f5433186112bb57604051156112bb576040516003556040517f34d4f6a542f13533b1eaa27e7ae8691368028d05b7075ad7a6c34df851a67a435f6060a200610d4e565b63e92d8f138118610d4e576024361034176112bb575f5433186112bb576effffffffffffffffffffffffffffff600435116112bb57610bdd60a0610d52565b60a051608052608051600181038181116112bb579050604052610c0060c0610dcb565b60c05160a0526080518060f01b905060a0518060781b905060043517176004557f8e72be630a666d46b219565c1647e3792924d9c74e901fa3c4a33e23b91fb9b160043560c052602060c0a100610d4e565b63c2845d038118610d4e576024361034176112bb575f5433186112bb576004356007557f794c2bee0673b79e11963e4a2c36f25bf259d66aff8461bc57cd3b8a0644c8a060043560405260206040a100610d4e565b63fd066ecc8118610d4e576024361034176112bb576004358060a01c6112bb576040525f5433186112bb576040516001556040517fe7b5cc087e6e47e33e86bdfe4720b7e849891938b18ff6e0c3f92299de79e60c5f6060a200610d4e565b63759be10c8118610d4e57346112bb5760015433186112bb575f600155335f55337fafe23f9e1f603b288748a507d5a993957e9f14313a5889d5a070851299939d595f6040a2005b5f5ffd5b4260206113115f395f518082038281116112bb57905090506224ea0081049050815250565b621baf804260206113115f395f518082038281116112bb57905090506224ea008106905010815250565b621baf7f4260206113115f395f518082038281116112bb57905090506224ea008106905011815250565b6004546060526060518060f01c90506040511015610e05576effffffffffffffffffffffffffffff6060518060781c905016815250610e1d565b6effffffffffffffffffffffffffffff606051168152505b565b6005546060526060518060f01c90506040511015610e59576effffffffffffffffffffffffffffff6060518060781c905016815250610e71565b6effffffffffffffffffffffffffffff606051168152505b565b6006546060526060518060f01c90506040511015610ead576effffffffffffffffffffffffffffff6060518060781c905016815250610ec5565b6effffffffffffffffffffffffffffff606051168152505b565b60096080516020525f5260405f206003810190505460a05260a05160018114610ef4576002811415610ef6565b5f5b905015610f085760a051815250611065565b610f1260e0610d52565b60e05160c05260096080516020525f5260405f205460e05260e05160c05118610f3f576001815250611065565b60e051600181018181106112bb57905060c0511861105f5760096080516020525f5260405f20600581019050546101005260096080516020525f5260405f20600681019050546101205260096080516020525f5260405f20600781019050546101405261010051610120518082018281106112bb57905090506101605261016051610140518082018281106112bb579050905061018052610160511561104e5760e051604052610ff06101a0610dcb565b6101a051610180511015611004575f611050565b6101605160e0516040526110196101c0610e1f565b6101c0518082028115838383041417156112bb5790509050610100516127108102816127108204186112bb5790501015611050565b5f5b1561105f576002815250611065565b60038152505b565b61107160c0610da1565b60c051156112bb5761108360c0610d52565b60c05160096040516020525f5260405f2054186112bb57600160096040516020525f5260405f2060038101905054186112bb57600a336020525f5260405f20806040516020525f5260405f209050546112bb576127106060516080518082018281106112bb579050905060a0518082018281106112bb5790509050186112bb5760025463f49ec31060e0523361010052602060e0602460fc845afa61112a573d5f5f3e3d5ffd5b60203d106112bb5760e090505160c05260c051156112bb576001600a336020525f5260405f20806040516020525f5260405f209050555f60e052606051156111bb5760c0516060518082028115838383041417156112bb57905090506127108104905060e05260096040516020525f5260405f20600581019050805460e0518082018281106112bb57905090508155505b5f61010052608051156112195760c0516080518082028115838383041417156112bb5790509050612710810490506101005260096040516020525f5260405f206006810190508054610100518082018281106112bb57905090508155505b5f6101205260a051156112775760c05160a0518082028115838383041417156112bb5790509050612710810490506101205260096040516020525f5260405f206007810190508054610120518082018281106112bb57905090508155505b604051337f89eb0be5e1a1bcbad3c382ad8d3f2698ea4d54d9a179cd2368d184358ecad45160e05161014052610100516101605261012051610180526060610140a3565b5f80fd00ca0b9e01fd003a06d90d4e02cf0ca70d4e03c80d4e00ea045200590d4e052c082b0c520d4e0d4e0a1808620d4e0d4e022100180d4e0d4e013701af078f0d4e0b3704fb04b4088c0d0603970d4e00790d4e841913118118521820a16576797065728300030a00160000000000000000000000000000000000000000000000000000000064d4288000000000000000000000000052574a10ce418afef388e39cea61643d33dba81d00000000000000000000000071258ee726644f1d52d6a9f5e11c21d1e38c2bf10000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000013880000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x5f3560e01c60026029820660011b6112bf01601e395f51565b63a7f0b3de8118610d4e57346112bb57602061131160403960206040f3610d4e565b6388a8d6028118610d4e57346112bb575f5460405260206040f3610d4e565b63770817ec8118610d4e57346112bb5760015460405260206040f3610d4e565b63efa9a1ad811861009557346112bb5760025460405260206040f35b631da0c5b28118610d4e576024361034176112bb576004356040526127106060526040366080376100c4611067565b00610d4e565b63c34c08e58118610d4e57346112bb5760035460405260206040f3610d4e565b6356d088ad811861010657346112bb5760075460405260206040f35b636a42b8f88118610d4e57346112bb576effffffffffffffffffffffffffffff6006541660405260206040f3610d4e565b63da2633e1811861015357346112bb5760085460405260206040f35b63f9139ee78118610d4e576024361034176112bb57600435608052610179610200610ec7565b610200516101e0526101e051156101a4576101e05160096004356020525f5260405f20600381019050555b60206101e0f3610d4e565b63c591aa988118610d4e576044361034176112bb576004358060a01c6112bb57604052600a6040516020525f5260405f20806024356020525f5260405f2090505460605260206060f3610d4e565b63900cf0cf8118610d4e57346112bb5760206102196040610d52565b6040f3610d4e565b638f9dcb0e811861024157346112bb57602061023d6040610d77565b6040f35b6330326c178118610d4e576024361034176112bb5760096004356020525f5260405f2080546101e05260018101546102005260028101546102205260038101546102405260048101546102605260058101546102805260068101546102a05260078101546102c052506004356080526102bb6102e0610ec7565b6102e051610240526101006101e0f3610d4e565b63786370ba81186102ef57346112bb5760206102eb6040610da1565b6040f35b638c84dede8118610d4e576024361034176112bb575f5433186112bb57621baf80600435116112bb5761032260a0610d52565b60a051608052608051600181038181116112bb57905060405261034560c0610e73565b60c05160a0526080518060f01b905060a0518060781b905060043517176006557fcf57d2e955986c39a021abcc2ff70c02efcd0a4dd6ce2255a84612dd7b65ea2960043560c052602060c0a100610d4e565b631703a0188118610d4e57346112bb576effffffffffffffffffffffffffffff6004541660405260206040f3610d4e565b630891e422811861040b57346112bb5760206103e46080610d52565b608051600181038181116112bb57905060c05260c05160405261040760a0610dcb565b60a0f35b639209a0348118610d4e57346112bb5760206104276080610d52565b608051600181038181116112bb57905060c05260c05160405261044a60a0610e1f565b60a0f3610d4e565b63b6e54bdf811861047f57346112bb576effffffffffffffffffffffffffffff6005541660405260206040f35b6308f896468118610d4e576024361034176112bb5760043560405260403660603761271060a0526104ae611067565b00610d4e565b63317608278118610d4e57346112bb5760206104d06080610d52565b608051600181038181116112bb57905060c05260c0516040526104f360a0610e73565b60a0f3610d4e565b6321436fb68118610d4e576024361034176112bb5760206004356080526105236101e0610ec7565b6101e0f3610d4e565b63ca0dc9738118610d4e576064361034176112bb576024356004016108008135116112bb57602081350180826040375050610568610860610d77565b61086051156112bb5760075460025463f49ec3106108605233610880526020610860602461087c845afa61059e573d5f5f3e3d5ffd5b60203d106112bb57610860905051106112bb576105bc610880610d52565b61088051610860526008546108805261088051600181018181106112bb579050600855610860516009610880516020525f5260405f2055336009610880516020525f5260405f20600181019050556004356009610880516020525f5260405f206002810190505560016009610880516020525f5260405f20600381019050556040516060206009610880516020525f5260405f20600481019050553361086051610880517f96c916fce93d56349236e10c95e6dca076e7e15d1f8da4221bdc3ea725fdc21c60406004356108a052806108c052806108a001602060405101808282604060045afa50508051806020830101601f825f03163682375050601f19601f825160200101169050810190506108a0a46020610880f3610d4e565b639fab66568118610d4e576024361034176112bb5760096004356020525f5260405f206001810190505433186112bb5760043560805261071a610200610ec7565b610200516101e05260016101e0511861074257610738610200610da1565b6102005115610744565b5f5b156112bb57600460096004356020525f5260405f20600381019050556004357ff8f7459e0aa0dfe770104b09822d11939d2c6ae3827597365a9620fb8b566df45f610200a200610d4e565b6340e58ee58118610d4e576024361034176112bb575f5433186112bb576004356080526107bd610200610ec7565b610200516101e05260016101e051186107d75760016107e0565b60026101e05118155b156112bb57600560096004356020525f5260405f20600381019050556004357f8bf30e7ff26833413be5f69e1d373744864d600b664204b4a2f9844a8eedb9ed5f610200a200610d4e565b63520f3f128118610d4e576024361034176112bb576004356040525f6060526127106080525f60a05261085c611067565b00610d4e565b6368c9e3888118610d4e576084361034176112bb5760806004604037610886611067565b00610d4e565b639fb87fa68118610d4e576064361034176112bb576024356004016108008135116112bb57602081350180826101e037505060026004356080526108d1610a00610ec7565b610a0051186112bb5760096004356020525f5260405f20600481019050546101e05161020020186112bb57610907610a20610d52565b610a2051600181038181116112bb579050610a6052610a605160405261092e610a40610e73565b610a4051610a0052610a00514260206113115f395f518082038281116112bb57905090506224ea0081069050106112bb57600660096004356020525f5260405f2060038101905055336004357ff60165ea3cb16e15e52e56c55da006a557664f5ec8e6fbc917cf43e98e8000745f610a20a36003546309c5eabe610a2052602080610a405280610a400160206101e051018082826101e060045afa50508051806020830101601f825f03163682375050601f19601f82516020010116905081015050803b156112bb575f610a20610844610a3c5f855af1610a11573d5f5f3e3d5ffd5b5000610d4e565b63c764c59f8118610a7b576024361034176112bb576004358060a01c6112bb576040525f5433186112bb57604051156112bb576040516002556040517f602e8126584dd3551a170697ca62a8225945d42068a7ac49f200b7a60110aca95f6060a2005b6335ece2d08118610d4e576024361034176112bb575f5433186112bb576113886004351015610aaa575f610ab3565b61271060043511155b156112bb57610ac260a0610d52565b60a051608052608051600181038181116112bb579050604052610ae560c0610e1f565b60c05160a0526080518060f01b905060a0518060781b905060043517176005557fa09c6d124473332682507ea3709f0b9c7afe1e6e4f79236e4271a932fbd829ec60043560c052602060c0a100610d4e565b633ee163968118610d4e576024361034176112bb576004358060a01c6112bb576040525f5433186112bb57604051156112bb576040516003556040517f34d4f6a542f13533b1eaa27e7ae8691368028d05b7075ad7a6c34df851a67a435f6060a200610d4e565b63e92d8f138118610d4e576024361034176112bb575f5433186112bb576effffffffffffffffffffffffffffff600435116112bb57610bdd60a0610d52565b60a051608052608051600181038181116112bb579050604052610c0060c0610dcb565b60c05160a0526080518060f01b905060a0518060781b905060043517176004557f8e72be630a666d46b219565c1647e3792924d9c74e901fa3c4a33e23b91fb9b160043560c052602060c0a100610d4e565b63c2845d038118610d4e576024361034176112bb575f5433186112bb576004356007557f794c2bee0673b79e11963e4a2c36f25bf259d66aff8461bc57cd3b8a0644c8a060043560405260206040a100610d4e565b63fd066ecc8118610d4e576024361034176112bb576004358060a01c6112bb576040525f5433186112bb576040516001556040517fe7b5cc087e6e47e33e86bdfe4720b7e849891938b18ff6e0c3f92299de79e60c5f6060a200610d4e565b63759be10c8118610d4e57346112bb5760015433186112bb575f600155335f55337fafe23f9e1f603b288748a507d5a993957e9f14313a5889d5a070851299939d595f6040a2005b5f5ffd5b4260206113115f395f518082038281116112bb57905090506224ea0081049050815250565b621baf804260206113115f395f518082038281116112bb57905090506224ea008106905010815250565b621baf7f4260206113115f395f518082038281116112bb57905090506224ea008106905011815250565b6004546060526060518060f01c90506040511015610e05576effffffffffffffffffffffffffffff6060518060781c905016815250610e1d565b6effffffffffffffffffffffffffffff606051168152505b565b6005546060526060518060f01c90506040511015610e59576effffffffffffffffffffffffffffff6060518060781c905016815250610e71565b6effffffffffffffffffffffffffffff606051168152505b565b6006546060526060518060f01c90506040511015610ead576effffffffffffffffffffffffffffff6060518060781c905016815250610ec5565b6effffffffffffffffffffffffffffff606051168152505b565b60096080516020525f5260405f206003810190505460a05260a05160018114610ef4576002811415610ef6565b5f5b905015610f085760a051815250611065565b610f1260e0610d52565b60e05160c05260096080516020525f5260405f205460e05260e05160c05118610f3f576001815250611065565b60e051600181018181106112bb57905060c0511861105f5760096080516020525f5260405f20600581019050546101005260096080516020525f5260405f20600681019050546101205260096080516020525f5260405f20600781019050546101405261010051610120518082018281106112bb57905090506101605261016051610140518082018281106112bb579050905061018052610160511561104e5760e051604052610ff06101a0610dcb565b6101a051610180511015611004575f611050565b6101605160e0516040526110196101c0610e1f565b6101c0518082028115838383041417156112bb5790509050610100516127108102816127108204186112bb5790501015611050565b5f5b1561105f576002815250611065565b60038152505b565b61107160c0610da1565b60c051156112bb5761108360c0610d52565b60c05160096040516020525f5260405f2054186112bb57600160096040516020525f5260405f2060038101905054186112bb57600a336020525f5260405f20806040516020525f5260405f209050546112bb576127106060516080518082018281106112bb579050905060a0518082018281106112bb5790509050186112bb5760025463f49ec31060e0523361010052602060e0602460fc845afa61112a573d5f5f3e3d5ffd5b60203d106112bb5760e090505160c05260c051156112bb576001600a336020525f5260405f20806040516020525f5260405f209050555f60e052606051156111bb5760c0516060518082028115838383041417156112bb57905090506127108104905060e05260096040516020525f5260405f20600581019050805460e0518082018281106112bb57905090508155505b5f61010052608051156112195760c0516080518082028115838383041417156112bb5790509050612710810490506101005260096040516020525f5260405f206006810190508054610100518082018281106112bb57905090508155505b5f6101205260a051156112775760c05160a0518082028115838383041417156112bb5790509050612710810490506101205260096040516020525f5260405f206007810190508054610120518082018281106112bb57905090508155505b604051337f89eb0be5e1a1bcbad3c382ad8d3f2698ea4d54d9a179cd2368d184358ecad45160e05161014052610100516101605261012051610180526060610140a3565b5f80fd00ca0b9e01fd003a06d90d4e02cf0ca70d4e03c80d4e00ea045200590d4e052c082b0c520d4e0d4e0a1808620d4e0d4e022100180d4e0d4e013701af078f0d4e0b3704fb04b4088c0d0603970d4e00790d4e0000000000000000000000000000000000000000000000000000000064d42880
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000064d4288000000000000000000000000052574a10ce418afef388e39cea61643d33dba81d00000000000000000000000071258ee726644f1d52d6a9f5e11c21d1e38c2bf10000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000013880000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _genesis (uint256): 1691625600
Arg [1] : _measure (address): 0x52574a10ce418AFeF388e39cea61643d33dbA81D
Arg [2] : _executor (address): 0x71258Ee726644f1D52d6A9F5E11C21d1E38c2bF1
Arg [3] : _quorum (uint256): 1000000000000000000
Arg [4] : _majority (uint256): 5000
Arg [5] : _delay (uint256): 0
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000064d42880
Arg [1] : 00000000000000000000000052574a10ce418afef388e39cea61643d33dba81d
Arg [2] : 00000000000000000000000071258ee726644f1d52d6a9f5e11c21d1e38c2bf1
Arg [3] : 0000000000000000000000000000000000000000000000000de0b6b3a7640000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000001388
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Net Worth in USD
$59.67
Net Worth in ETH
0.027557
Token Allocations
BSC-USD
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| BSC | 100.00% | $0.999538 | 59.7 | $59.67 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.