0 txs
11 calls
constructor
constructor(address votingToken_)
functions
DECAY_FACTOR
viewfunction DECAY_FACTOR() view returns (uint96)
delegatee
viewfunction delegatee() view returns (address)
delegator
viewfunction delegator() view returns (address)
franchiserImplementation
viewfunction franchiserImplementation() view returns (address)
getFranchiser
viewfunction getFranchiser(address subDelegatee) view returns (address)
maximumSubDelegatees
viewfunction maximumSubDelegatees() view returns (uint96)
owner
viewfunction owner() view returns (address)
subDelegatees
viewfunction subDelegatees() view returns (address[])
votingToken
viewfunction votingToken() view returns (address)
initialize
nonpayablefunction initialize(address delegatee_, uint96 maximumSubDelegatees_)
initialize
nonpayablefunction initialize(address delegator_, address delegatee_, uint96 maximumSubDelegatees_)
recall
nonpayablefunction recall(address to)
setOwner
nonpayablefunction setOwner(address newOwner)
subDelegate
nonpayablefunction subDelegate(address subDelegatee, uint256 amount) returns (address franchiser)
subDelegateMany
nonpayablefunction subDelegateMany(address[] subDelegatees_, uint256[] amounts) returns (address[] franchisers)
unSubDelegate
nonpayablefunction unSubDelegate(address subDelegatee)
unSubDelegateMany
nonpayablefunction unSubDelegateMany(address[] subDelegatees_)
events
Initialized
event Initialized(address indexed owner, address indexed delegator, address indexed delegatee, uint96 maximumSubDelegatees)
OwnerUpdated
event OwnerUpdated(address indexed user, address indexed newOwner)
SubDelegateeActivated
event SubDelegateeActivated(address indexed subDelegatee)
SubDelegateeDeactivated
event SubDelegateeDeactivated(address indexed subDelegatee)
errors
AlreadyInitialized
error AlreadyInitialized()
ArrayLengthMismatch
error ArrayLengthMismatch(uint256 length0, uint256 length1)
CannotExceedMaximumSubDelegatees
error CannotExceedMaximumSubDelegatees(uint256 maximumSubDelegatees)
NoDelegatee
error NoDelegatee()
NotDelegatee
error NotDelegatee(address caller, address delegatee)
creation bytecode
0x60c03461010f57601f61240f38819003918201601f19168301916001600160401b038311848410176101145780849260209460405283398101031261010f57516001600160a01b038116810361010f57608052600080546001600160a01b031990811682556040519160019190807f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768186a33060a05260025416176002556122e4908161012b823960805181818161050b01528181610b2d01528181610dea015281816110190152818161139101526117c5015260a051818181610465015281816105eb01528181610a0201528181610c41015281816117260152818161187001528181611d270152611f510152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610013575b600080fd5b60003560e01c806301ce3e9d1461016757806313af40351461015e5780631ba8d97c146101555780631e31d0531461014c5780635c2927781461014357806368afe2b71461013a57806378b440ac146101315780638da5cb5b14610128578063b03401231461011f578063c5546c3f14610116578063c61bdcd21461010d578063c861c25014610104578063ca430519146100fb578063ce9b7930146100f2578063d1ddf4ef146100e9578063e08eae5f146100e05763f2a41374146100d857600080fd5b61000e611239565b5061000e6111fe565b5061000e611111565b5061000e6110d7565b5061000e610f79565b5061000e610c65565b5061000e610bf5565b5061000e610b51565b5061000e610ae1565b5061000e610a8e565b5061000e61095b565b5061000e6107f7565b5061000e61039a565b5061000e610347565b5061000e610307565b5061000e610244565b5061000e61018e565b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576004356101ca81610170565b73ffffffffffffffffffffffffffffffffffffffff600254168033036101f5576101f382611cbd565b005b6040517f2488453800000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff919091166024820152604490fd5b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760007fffffffffffffffffffffffff00000000000000000000000000000000000000006004356102a381610170565b82549073ffffffffffffffffffffffffffffffffffffffff906102c982841633146114d5565b169182911617825560405190337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768484a3f35b600091031261000e57565b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602060025460a01c604051908152f35b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b503461000e576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576004356103d781610170565b6002549173ffffffffffffffffffffffffffffffffffffffff80841680330361072757506104d3836055603773ffffffffffffffffffffffffffffffffffffffff92604051907f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000082527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090817f000000000000000000000000000000000000000000000000000000000000000060601b1660148401527f5af43d82803e903d91602b57fd5bf3ff0000000000000000000000000000000060288401523060601b603884015260601b16604c820152818120606c82015201201690565b92818116946104f66104f2876000526004602052604060002054151590565b1590565b61055a575b61055685856105316024358784167f00000000000000000000000000000000000000000000000000000000000000008916611ba1565b5173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b6003549060a01c8091146106e7575061057a61057586611b0a565b611987565b838216803b156105bc575b505061053190610556947f3aadde169d4a8fa84eba250da3838e12911f6dffadeb18f092363cfbfa8a12c160008551a290386104fb565b9190946106107fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008760601b16837f0000000000000000000000000000000000000000000000000000000000000000166119bd565b5061063461062060025460a01c90565b60011c6b7fffffffffffffffffffffff1690565b92803b1561000e5784517ff2a4137400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90971660048801526bffffffffffffffffffffffff9093166024870152610556956105319360009082908183816044810103925af180156106da575b6106c1575b5094819250610585565b806106ce6106d49261156a565b806102fc565b386106b7565b6106e26115cc565b6106b2565b83517f1d7d1c310000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff919091166004820152602490fd5b82517f2488453800000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff919091166024820152604490fd5b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020808501948460051b01011161000e57565b6020908160408183019282815285518094520193019160005b8281106107cd575050505090565b835173ffffffffffffffffffffffffffffffffffffffff16855293810193928101926001016107bf565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5767ffffffffffffffff60043581811161000e57610848903690600401610775565b9160243590811161000e57610861903690600401610775565b8084036109245761087184611c52565b9361087f604051958661158b565b8085527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06108ac82611c52565b0136602087013760005b8181106108cb576040518061055688826107a6565b8061091e6108f96108e76108e2600195878b611c79565b611c91565b6108f284888a611c79565b3590611698565b610903838a611c9b565b9073ffffffffffffffffffffffffffffffffffffffff169052565b016108b6565b83604491604051917ffa5dbe0800000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576020610a7060043561099c81610170565b6055603773ffffffffffffffffffffffffffffffffffffffff92604051907f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000082527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090817f000000000000000000000000000000000000000000000000000000000000000060601b1660148401527f5af43d82803e903d91602b57fd5bf3ff0000000000000000000000000000000060288401523060601b603884015260601b16604c820152818120606c82015201201690565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043567ffffffffffffffff811161000e57610ba1903690600401610775565b9073ffffffffffffffffffffffffffffffffffffffff600254168033036101f5575060005b828110610bcf57005b80610bef610be06001938686611c79565b35610bea81610170565b611cbd565b01610bc6565b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461000e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435610ca181610170565b602435610cad81610170565b604435906bffffffffffffffffffffffff8216820361000e5773ffffffffffffffffffffffffffffffffffffffff90818116938415610f4f57610d21610d0860025473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b610f2557600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055828116610eda575b50610d9d8173ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255565b610de78373ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000006002549260a01b16911617600255565b817f000000000000000000000000000000000000000000000000000000000000000016803b1561000e576040517f5c19a95c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301526000908290602490829084905af18015610ecd575b610eba575b50610e786115d9565b6040516bffffffffffffffffffffffff939093168352169033907f8e063a11026e8eeb829fca77696415cbd6da2c4d6e73aaf6fc3e5c902c882a4d90602090a4005b806106ce610ec79261156a565b38610e6f565b610ed56115cc565b610e6a565b610f1f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155565b38610d57565b60046040517f0dc149f0000000000000000000000000000000000000000000000000000000008152fd5b60046040517fcfb6286a000000000000000000000000000000000000000000000000000000008152fd5b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435610fb581610170565b73ffffffffffffffffffffffffffffffffffffffff90610fda826000541633146114d5565b600354805b61109557506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526101f3929091907f000000000000000000000000000000000000000000000000000000000000000016602083602481845afa928315611088575b600093611058575b50611ba1565b61107a91935060203d8111611081575b611072818361158b565b810190612285565b9138611052565b503d611068565b6110906115cc565b61104a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191826110d06110cb610d08610d0884612294565b611ee7565b9092610fdf565b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576020610a706115d9565b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126111fb5760405180916003549081835260208093018092600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b90835b8181106111e7575050508461119391038561158b565b60405193838594850191818652518092526040850193925b8281106111ba57505050500390f35b835173ffffffffffffffffffffffffffffffffffffffff16855286955093810193928101926001016111ab565b82548452928601926001928301920161117d565b80fd5b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602060405160028152f35b503461000e576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576004359061127782610170565b6024356bffffffffffffffffffffffff8116810361000e5773ffffffffffffffffffffffffffffffffffffffff908184169182156114ac576112d1610d0860025473ffffffffffffffffffffffffffffffffffffffff1690565b61148357600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790556113448573ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255565b61138e8273ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000006002549260a01b16911617600255565b807f00000000000000000000000000000000000000000000000000000000000000001694853b1561000e5784517f5c19a95c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91909116600482015260009586908290602490829084905af18015611476575b611463575b506114216115d9565b84516bffffffffffffffffffffffff939093168352169033907f8e063a11026e8eeb829fca77696415cbd6da2c4d6e73aaf6fc3e5c902c882a4d90602090a451f35b806106ce6114709261156a565b38611418565b61147e6115cc565b611413565b600484517f0dc149f0000000000000000000000000000000000000000000000000000000008152fd5b600484517fcfb6286a000000000000000000000000000000000000000000000000000000008152fd5b156114dc57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161157e57604052565b61158661153a565b604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761157e57604052565b506040513d6000823e3d90fd5b60015473ffffffffffffffffffffffffffffffffffffffff9081169081156115ff575090565b905060005416806116105750600090565b6020600491604051928380927f1e31d0530000000000000000000000000000000000000000000000000000000082525afa90811561168b575b600091611654575090565b906020823d8211611683575b8161166d6020938361158b565b810103126111fb57505161168081610170565b90565b3d9150611660565b6116936115cc565b611649565b6002549173ffffffffffffffffffffffffffffffffffffffff8084168033036101f55750611794836055603773ffffffffffffffffffffffffffffffffffffffff92604051907f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000082527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090817f000000000000000000000000000000000000000000000000000000000000000060601b1660148401527f5af43d82803e903d91602b57fd5bf3ff0000000000000000000000000000000060288401523060601b603884015260601b16604c820152818120606c82015201201690565b93818416906117b36104f2836000526004602052604060002054151590565b6117ea575b50506116809250808416907f000000000000000000000000000000000000000000000000000000000000000016611ba1565b6003549060a01c809114611946575061180561057582611b0a565b848216803b15611844575b5061168093507f3aadde169d4a8fa84eba250da3838e12911f6dffadeb18f092363cfbfa8a12c16000604051a238806117b8565b6118957fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008660601b16847f0000000000000000000000000000000000000000000000000000000000000000166119bd565b506118a561062060025460a01c90565b94813b1561000e576040517ff2a4137400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911660048201526bffffffffffffffffffffffff9095166024860152611680949060009082908183816044810103925af18015611939575b1561181057806106ce6119339261156a565b38611810565b6119416115cc565b611921565b6040517f1d7d1c310000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff919091166004820152602490fd5b1561198e57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b603790604051907f3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000825260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526000f59073ffffffffffffffffffffffffffffffffffffffff821615611a3757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600354811015611afd575b60036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0190600090565b611b05611a95565b611ad0565b80600052600460205260406000205415600014611b9b578060035468010000000000000000811015611b8e575b6001810180600355811015611b81575b7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b611b89611a95565b611b47565b611b9661153a565b611b37565b50600090565b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d1160016000511416171615611bf457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b60209067ffffffffffffffff8111611c6c575b60051b0190565b611c7461153a565b611c65565b9190811015611c895760051b0190565b611c74611a95565b3561168081610170565b6020918151811015611cb0575b60051b010190565b611cb8611a95565b611ca8565b611d95816055603773ffffffffffffffffffffffffffffffffffffffff92604051907f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000082527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090817f000000000000000000000000000000000000000000000000000000000000000060601b1660148401527f5af43d82803e903d91602b57fd5bf3ff0000000000000000000000000000000060288401523060601b603884015260601b16604c820152818120606c82015201201690565b9073ffffffffffffffffffffffffffffffffffffffff80911691611dc6836000526004602052604060002054151590565b15611e7057611dd76105758461216c565b16803b1561000e576040517fca430519000000000000000000000000000000000000000000000000000000008152306004820152906000908290602490829084905af18015611e63575b611e50575b507f5b52cabd65626f7970ccfee89ce9d84764a149a8289e4d4356d32819e7b010876000604051a2565b806106ce611e5d9261156a565b38611e26565b611e6b6115cc565b611e21565b169050803b611e7d575b50565b803b1561000e576040517fca430519000000000000000000000000000000000000000000000000000000008152306004820152906000908290602490829084905af18015611eda575b15611e7a57806106ce611ed89261156a565b565b611ee26115cc565b611ec6565b611fbf816055603773ffffffffffffffffffffffffffffffffffffffff92604051907f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000082527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090817f000000000000000000000000000000000000000000000000000000000000000060601b1660148401527f5af43d82803e903d91602b57fd5bf3ff0000000000000000000000000000000060288401523060601b603884015260601b16604c820152818120606c82015201201690565b9073ffffffffffffffffffffffffffffffffffffffff80911691611fe56105758461216c565b16803b1561000e57600080916024604051809481937fca4305190000000000000000000000000000000000000000000000000000000083523060048401525af18015612063575b61205a57507f5b52cabd65626f7970ccfee89ce9d84764a149a8289e4d4356d32819e7b010876000604051a2565b611e5d9061156a565b61206b6115cc565b61202c565b6001811061209d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600354801561213d5760007fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83019280841015612130575b600383520155600355565b612138611a95565b612125565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600081815260046020526040812054909190801561228057600181106122535790817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6121e393016121bf600354612070565b908082036121e9575b5050506121d36120cc565b6000526004602052604060002090565b55600190565b6121d3612211916122096121ff61224a95611ac5565b90549060031b1c90565b928391611ac5565b90919082549060031b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811b9283911b16911916179055565b553880806121c8565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b505090565b9081602091031261000e575190565b6003548110156122ca575b60036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b015490565b6122d2611a95565b61229f56fea164736f6c634300080f000a000000000000000000000000c00e94cb662c3520282e6f5717214004a7f26888