0 txs
0 calls
constructor
constructor()
functions
azoriusModule
viewfunction azoriusModule() view returns (address)
BASIS_DENOMINATOR
viewfunction BASIS_DENOMINATOR() view returns (uint256)
basisNumerator
viewfunction basisNumerator() view returns (uint256)
getAllTokenAddresses
viewfunction getAllTokenAddresses() view returns (address[])
getProposalVotes
viewfunction getProposalVotes(uint32 _proposalId) view returns (uint256 noVotes, uint256 yesVotes, uint256 abstainVotes, uint32 startBlock, uint32 endBlock)
getTokenWeight
viewfunction getTokenWeight(address _tokenAddress) view returns (uint256)
getVersion
viewfunction getVersion() view returns (uint16)
hasVoted
viewfunction hasVoted(uint32 _proposalId, address _tokenAddress, uint256 _tokenId) view returns (bool)
isPassed
viewfunction isPassed(uint32 _proposalId) view returns (bool)
isProposer
viewfunction isProposer(address _address) view returns (bool)
lightAccountFactory
viewfunction lightAccountFactory() view returns (address)
meetsBasis
viewfunction meetsBasis(uint256 _yesVotes, uint256 _noVotes) view returns (bool)
owner
viewfunction owner() view returns (address)
proposalVotes
viewfunction proposalVotes(uint256) view returns (uint32 votingStartBlock, uint32 votingEndBlock, uint256 noVotes, uint256 yesVotes, uint256 abstainVotes)
proposerThreshold
viewfunction proposerThreshold() view returns (uint256)
quorumThreshold
viewfunction quorumThreshold() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenAddresses
viewfunction tokenAddresses(uint256) view returns (address)
tokenWeights
viewfunction tokenWeights(address) view returns (uint256)
votingEndBlock
viewfunction votingEndBlock(uint32 _proposalId) view returns (uint32)
votingPeriod
viewfunction votingPeriod() view returns (uint32)
addGovernanceToken
nonpayablefunction addGovernanceToken(address _tokenAddress, uint256 _weight)
initializeProposal
nonpayablefunction initializeProposal(bytes _data)
removeGovernanceToken
nonpayablefunction removeGovernanceToken(address _tokenAddress)
renounceOwnership
nonpayablefunction renounceOwnership()
setAzorius
nonpayablefunction setAzorius(address _azoriusModule)
setUp
nonpayablefunction setUp(bytes initializeParams)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateBasisNumerator
nonpayablefunction updateBasisNumerator(uint256 _basisNumerator)
updateProposerThreshold
nonpayablefunction updateProposerThreshold(uint256 _proposerThreshold)
updateQuorumThreshold
nonpayablefunction updateQuorumThreshold(uint256 _quorumThreshold)
updateVotingPeriod
nonpayablefunction updateVotingPeriod(uint32 _votingPeriod)
vote
nonpayablefunction vote(uint32 _proposalId, uint8 _voteType, address[] _tokenAddresses, uint256[] _tokenIds)
events
AzoriusSet
event AzoriusSet(address indexed azoriusModule)
BasisNumeratorUpdated
event BasisNumeratorUpdated(uint256 basisNumerator)
GovernanceTokenAdded
event GovernanceTokenAdded(address token, uint256 weight)
GovernanceTokenRemoved
event GovernanceTokenRemoved(address token)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ProposalInitialized
event ProposalInitialized(uint32 proposalId, uint32 votingEndBlock)
ProposerThresholdUpdated
event ProposerThresholdUpdated(uint256 proposerThreshold)
QuorumThresholdUpdated
event QuorumThresholdUpdated(uint256 quorumThreshold)
StrategySetUp
event StrategySetUp(address indexed azoriusModule, address indexed owner)
Voted
event Voted(address voter, uint32 proposalId, uint8 voteType, address[] tokenAddresses, uint256[] tokenIds)
VotingPeriodUpdated
event VotingPeriodUpdated(uint32 votingPeriod)
errors
IdAlreadyVoted
error IdAlreadyVoted(uint256 tokenId)
IdNotOwned
error IdNotOwned(uint256 tokenId)
InvalidBasisNumerator
error InvalidBasisNumerator()
InvalidCallData
error InvalidCallData()
InvalidInnerCallDataLength
error InvalidInnerCallDataLength()
InvalidParams
error InvalidParams()
InvalidProposal
error InvalidProposal()
InvalidSmartAccount
error InvalidSmartAccount()
InvalidTokenAddress
error InvalidTokenAddress()
InvalidUserOpCallDataLength
error InvalidUserOpCallDataLength()
InvalidVote
error InvalidVote()
NoVotingWeight
error NoVotingWeight()
OnlyAzorius
error OnlyAzorius()
TokenAlreadySet
error TokenAlreadySet()
TokenNotSet
error TokenNotSet()
VotingEnded
error VotingEnded()
creation bytecode
0x60806040523480156200001157600080fd5b506200001c62000040565b6200002662000040565b6200003062000040565b6200003a62000040565b62000102565b600054610100900460ff1615620000ad5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000100576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611fce80620001126000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80637b7a91dd1161011a578063b1d1196f116100ad578063d877ee1d1161007c578063d877ee1d14610513578063deb61c151461051c578063e5df8b8414610595578063e8575a7f146105a8578063f2fde38b146105bb57600080fd5b8063b1d1196f14610497578063bf7e2c7f146104aa578063c0dce37f146104b3578063c909c3b1146104c657600080fd5b8063918f84bf116100e9578063918f84bf1461043e578063a4f9edbf14610451578063a77a81d014610464578063ab2f3ad41461047757600080fd5b80637b7a91dd146104075780637e902d57146104105780638081be91146104235780638da5cb5b1461042d57600080fd5b80634e2addad1161019257806366b629551161016157806366b62955146103ac5780636d4ae680146103d7578063715018a6146103ec57806374ec29a0146103f457600080fd5b80634e2addad146102e157806353a8b320146102f4578063544ffc9c1461030757806355a9dbd91461037c57600080fd5b8063210a5e87116101ce578063210a5e8714610271578063250aa6831461028457806333f48a5e146102bb57806337938ab3146102ce57600080fd5b806301ffc9a71461020057806302a251a3146102285780630d8e6e2c1461024d5780631dc489471461025c575b600080fd5b61021361020e3660046116f5565b6105ce565b60405190151581526020015b60405180910390f35b606a546102389063ffffffff1681565b60405163ffffffff909116815260200161021f565b6040516001815260200161021f565b61026f61026a36600461171f565b6105f9565b005b61026f61027f36600461171f565b61060d565b6102ad61029236600461174d565b6001600160a01b031660009081526069602052604090205490565b60405190815260200161021f565b61026f6102c936600461177c565b61061e565b61026f6102dc36600461174d565b61062f565b61026f6102ef36600461186f565b610681565b61021361030236600461177c565b6106be565b61034c61031536600461171f565b606760205260009081526040902080546001820154600283015460039093015463ffffffff80841694600160201b90940416929085565b6040805163ffffffff9687168152959094166020860152928401919091526060830152608082015260a00161021f565b61023861038a36600461177c565b63ffffffff908116600090815260676020526040902054600160201b90041690565b6065546103bf906001600160a01b031681565b6040516001600160a01b03909116815260200161021f565b6103df61074a565b60405161021f91906119a2565b61026f6107ac565b61021361040236600461174d565b6107c0565b6102ad606b5481565b606d546103bf906001600160a01b031681565b6102ad620f424081565b6033546001600160a01b03166103bf565b61021361044c3660046119b5565b61089b565b61026f61045f3660046119d7565b6108cd565b61026f6104723660046119d7565b610965565b6102ad61048536600461174d565b60696020526000908152604090205481565b61026f6104a5366004611a6c565b610a44565b6102ad60665481565b61026f6104c136600461174d565b610a5a565b6102136104d4366004611a98565b63ffffffff831660009081526067602090815260408083206001600160a01b0386168452600401825280832084845290915290205460ff169392505050565b6102ad606c5481565b61056461052a36600461177c565b63ffffffff908116600090815260676020526040902060018101546002820154600383015492549194909382811692600160201b90041690565b6040805195865260208601949094529284019190915263ffffffff908116606084015216608082015260a00161021f565b6103bf6105a336600461171f565b610bec565b61026f6105b636600461171f565b610c16565b61026f6105c936600461174d565b610c27565b60006001600160e01b0319821663250aa68360e01b14806105f357506105f382610ca2565b92915050565b610601610cd7565b61060a81610d31565b50565b610615610cd7565b61060a81610d6d565b610626610cd7565b61060a81610da2565b610637610cd7565b606580546001600160a01b0319166001600160a01b0383169081179091556040517fac8d831a6ed53a98387842e08d9e0893c1d478f4a3710b254e22bd58c06b269090600090a250565b80518251146106a357604051635435b28960e11b815260040160405180910390fd5b6106b8846106b033610dea565b858585610e10565b50505050565b63ffffffff8082166000908152606760205260408120549091600160201b9091041643118015610719575063ffffffff8216600090815260676020526040902060038101546002909101546107139190611aef565b606b5411155b80156105f3575063ffffffff8216600090815260676020526040902060028101546001909101546105f3919061089b565b606060688054806020026020016040519081016040528092919081815260200182805480156107a257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610784575b5050505050905090565b6107b4610cd7565b6107be6000611127565b565b600080805b60685481101561088f576000606882815481106107e4576107e4611b02565b6000918252602080832091909101546001600160a01b0390811680845260699092526040928390205492516370a0823160e01b8152908816600482015290925082906370a0823190602401602060405180830381865afa15801561084c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108709190611b18565b61087a9190611b31565b6108849084611aef565b9250506001016107c5565b50606c54111592915050565b6000620f424060665483856108b09190611aef565b6108ba9190611b31565b6108c49190611b48565b90921192915050565b6000806000806000806000806000898060200190518101906108ef9190611c44565b9850985098509850985098509850985098506109378989898989898989604051602001610923989796959493929190611d3d565b604051602081830303815290604052611179565b61095981606d80546001600160a01b0319166001600160a01b03831617905550565b50505050505050505050565b6065546001600160a01b03163314610990576040516358c30ce160e01b815260040160405180910390fd5b6000818060200190518101906109a69190611da8565b606a549091506000906109bf9063ffffffff1643611dc5565b63ffffffff838116600081815260676020908152604091829020805467ffffffffffffffff1916600160201b87871690810263ffffffff1916919091174390961695909517905581519283528201929092529192507f80d0ad93bba25e53bf67fa9f2d13df59f04795ec2f91b9b3c1f607666daf9d64910160405180910390a1505050565b610a4c610cd7565b610a5682826113a4565b5050565b610a62610cd7565b6001600160a01b0381166000908152606960205260408120549003610a9a57604051634b62f01360e01b815260040160405180910390fd5b6001600160a01b0381166000908152606960205260408120819055606854905b81811015610baa5760688181548110610ad557610ad5611b02565b6000918252602090912001546001600160a01b0390811690841603610ba2576000610b01600184611de9565b905060688181548110610b1657610b16611b02565b600091825260209091200154606880546001600160a01b039092169184908110610b4257610b42611b02565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060688181548110610b8357610b83611b02565b600091825260209091200180546001600160a01b031916905550610baa565b600101610aba565b506040516001600160a01b03831681527f14236c39816f331325d02993fa15113b739aff01c21ab8f38cc5253205299fb1906020015b60405180910390a15050565b60688181548110610bfc57600080fd5b6000918252602090912001546001600160a01b0316905081565b610c1e610cd7565b61060a81611518565b610c2f610cd7565b6001600160a01b038116610c995760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61060a81611127565b60006001600160e01b031982166303639b8b60e21b14806105f357506301ffc9a760e01b6001600160e01b03198316146105f3565b6033546001600160a01b031633146107be5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c90565b606c8190556040518181527f48f79e03d92b3595f74bc3c64746cf148e464673dd036633d34f8afb029482c9906020015b60405180910390a150565b606b8190556040518181527fbc589fccf641d342b7853c2c6faca39631d4d19efbe77e71e5611e31678c220e90602001610d62565b606a805463ffffffff191663ffffffff83169081179091556040519081527f70770ce479f70673c3ed8fff63cfb758a6ffdddc30cab7c63d54c8d825e3948890602001610d62565b6000806000610df884611588565b9150915081610e0957509192915050565b9392505050565b6000805b8351811015610fcc576000848281518110610e3157610e31611b02565b602002602001015190506000848381518110610e4f57610e4f611b02565b60200260200101519050816001600160a01b0316636352211e826040518263ffffffff1660e01b8152600401610e8791815260200190565b602060405180830381865afa158015610ea4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec89190611dfc565b6001600160a01b0316886001600160a01b031614610efc57604051639b936ae960e01b815260048101829052602401610c90565b63ffffffff891660009081526067602090815260408083206001600160a01b0386168452600401825280832084845290915290205460ff161515600103610f5957604051639602f71160e01b815260048101829052602401610c90565b6001600160a01b038216600090815260696020526040902054610f7c9085611aef565b63ffffffff8a1660009081526067602090815260408083206001600160a01b0390961683526004909501815284822093825292909252919020805460ff1916600190811790915590925001610e14565b5080600003610fee5760405163923d21f560e01b815260040160405180910390fd5b63ffffffff808716600090815260676020526040812080549092600160201b90910416900361103057604051631dc0650160e31b815260040160405180910390fd5b8054600160201b900463ffffffff1643111561105f57604051637a19ed0560e01b815260040160405180910390fd5b60ff8516611086578181600101600082825461107b9190611aef565b909155506110df9050565b60001960ff8616016110a6578181600201600082825461107b9190611aef565b60011960ff8616016110c6578181600301600082825461107b9190611aef565b604051636aee863360e11b815260040160405180910390fd5b7f08b8dec2438455807ba4dae88b27939d599858b97389310c0af8f42acd58d6208688878787604051611116959493929190611e19565b60405180910390a150505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16158080156111995750600054600160ff909116105b806111b35750303b1580156111b3575060005460ff166001145b6112165760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610c90565b6000805460ff191660011790558015611239576000805461ff0019166101001790555b600080600080600080600080898060200190518101906112599190611e70565b97509750975097509750975097509750855187511461128b57604051635435b28960e11b815260040160405180910390fd5b60005b87518110156112db576112d38882815181106112ac576112ac611b02565b60200260200101518883815181106112c6576112c6611b02565b60200260200101516113a4565b60010161128e565b506112e461169b565b6112ed88610c27565b6112f685610637565b6112ff83610d6d565b61130882610d31565b61131181611518565b61131a84610da2565b876001600160a01b0316856001600160a01b03167fca32f512f02914f6bc16a49e786443029061b9adc5a987fd2f6efa56c0116a1660405160405180910390a350505050505050508015610a56576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610be0565b6040516301ffc9a760e01b81526380ac58cd60e01b60048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa1580156113ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114139190611f2b565b61143057604051630f58058360e11b815260040160405180910390fd5b806000036114515760405163923d21f560e01b815260040160405180910390fd5b6001600160a01b03821660009081526069602052604090205415611488576040516371168e4f60e11b815260040160405180910390fd5b60688054600181019091557fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530180546001600160a01b0319166001600160a01b038416908117909155600081815260696020908152604091829020849055815192835282018390527fbf2b7f9fc6e849fdef9ff7366d8b63b608bc69ca778200c53d77372d953dc6b69101610be0565b620f424081118061153557506115326002620f4240611b48565b81105b15611553576040516302396b6b60e61b815260040160405180910390fd5b60668190556040518181527f406c076eac4d3dde1c5d55793e80239daa8c60ee971390ce3d9f90ca4206295390602001610d62565b600080823b8082036115a05750600093849350915050565b836001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156115fa575060408051601f3d908101601f191682019092526115f791810190611dfc565b60015b61160a5750600093849350915050565b606d5460405163119709c360e31b81526001600160a01b038381166004830152600060248301819052921690638cb84e1890604401602060405180830381865afa15801561165c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116809190611dfc565b6001600160a01b039081169616959095149590945092505050565b600054610100900460ff166116c25760405162461bcd60e51b8152600401610c9090611f4d565b6107be600054610100900460ff166116ec5760405162461bcd60e51b8152600401610c9090611f4d565b6107be33611127565b60006020828403121561170757600080fd5b81356001600160e01b031981168114610e0957600080fd5b60006020828403121561173157600080fd5b5035919050565b6001600160a01b038116811461060a57600080fd5b60006020828403121561175f57600080fd5b8135610e0981611738565b63ffffffff8116811461060a57600080fd5b60006020828403121561178e57600080fd5b8135610e098161176a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117d8576117d8611799565b604052919050565b600067ffffffffffffffff8211156117fa576117fa611799565b5060051b60200190565b600082601f83011261181557600080fd5b8135602061182a611825836117e0565b6117af565b82815260059290921b8401810191818101908684111561184957600080fd5b8286015b84811015611864578035835291830191830161184d565b509695505050505050565b6000806000806080858703121561188557600080fd5b84356118908161176a565b935060208581013560ff811681146118a757600080fd5b9350604086013567ffffffffffffffff808211156118c457600080fd5b818801915088601f8301126118d857600080fd5b81356118e6611825826117e0565b81815260059190911b8301840190848101908b83111561190557600080fd5b938501935b8285101561192c57843561191d81611738565b8252938501939085019061190a565b96505050606088013592508083111561194457600080fd5b505061195287828801611804565b91505092959194509250565b600081518084526020808501945080840160005b838110156119975781516001600160a01b031687529582019590820190600101611972565b509495945050505050565b602081526000610e09602083018461195e565b600080604083850312156119c857600080fd5b50508035926020909101359150565b600060208083850312156119ea57600080fd5b823567ffffffffffffffff80821115611a0257600080fd5b818501915085601f830112611a1657600080fd5b813581811115611a2857611a28611799565b611a3a601f8201601f191685016117af565b91508082528684828501011115611a5057600080fd5b8084840185840137600090820190930192909252509392505050565b60008060408385031215611a7f57600080fd5b8235611a8a81611738565b946020939093013593505050565b600080600060608486031215611aad57600080fd5b8335611ab88161176a565b92506020840135611ac881611738565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b808201808211156105f3576105f3611ad9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b2a57600080fd5b5051919050565b80820281158282048414176105f3576105f3611ad9565b600082611b6557634e487b7160e01b600052601260045260246000fd5b500490565b8051611b7581611738565b919050565b600082601f830112611b8b57600080fd5b81516020611b9b611825836117e0565b82815260059290921b84018101918181019086841115611bba57600080fd5b8286015b84811015611864578051611bd181611738565b8352918301918301611bbe565b600082601f830112611bef57600080fd5b81516020611bff611825836117e0565b82815260059290921b84018101918181019086841115611c1e57600080fd5b8286015b848110156118645780518352918301918301611c22565b8051611b758161176a565b60008060008060008060008060006101208a8c031215611c6357600080fd5b8951611c6e81611738565b60208b015190995067ffffffffffffffff80821115611c8c57600080fd5b611c988d838e01611b7a565b995060408c0151915080821115611cae57600080fd5b50611cbb8c828d01611bde565b97505060608a0151611ccc81611738565b9550611cda60808b01611c39565b945060a08a0151935060c08a0151925060e08a01519150611cfe6101008b01611b6a565b90509295985092959850929598565b600081518084526020808501945080840160005b8381101561199757815187529582019590820190600101611d21565b6001600160a01b03898116825261010060208301819052600091611d638483018c61195e565b91508382036040850152611d77828b611d0d565b98166060840152505063ffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600060208284031215611dba57600080fd5b8151610e098161176a565b63ffffffff818116838216019080821115611de257611de2611ad9565b5092915050565b818103818111156105f3576105f3611ad9565b600060208284031215611e0e57600080fd5b8151610e0981611738565b6001600160a01b038616815263ffffffff8516602082015260ff8416604082015260a060608201819052600090611e529083018561195e565b8281036080840152611e648185611d0d565b98975050505050505050565b600080600080600080600080610100898b031215611e8d57600080fd5b8851611e9881611738565b60208a015190985067ffffffffffffffff80821115611eb657600080fd5b611ec28c838d01611b7a565b985060408b0151915080821115611ed857600080fd5b50611ee58b828c01611bde565b9650506060890151611ef681611738565b60808a0151909550611f078161176a565b60a08a015160c08b015160e0909b0151999c989b5096999598909790945092505050565b600060208284031215611f3d57600080fd5b81518015158114610e0957600080fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220788e3efc9eefa43648d9a512c13cd0957f22a1322a077f0cf416425e684a56e464736f6c63430008130033