0 txs
0 calls
constructor
constructor(address _globalAccessManager, (string compType, address implementation, bytes4 requiredSelector, bool active)[] _implementations)
functions
allCompensations
viewfunction allCompensations(uint256) view returns (address)
authority
viewfunction authority() view returns (address)
compensationImplementations
viewfunction compensationImplementations(bytes32) view returns (string compType, address implementation, bytes4 requiredSelector, bool active)
getAllCompensations
viewfunction getAllCompensations() view returns (address[])
isConsumingScheduledOp
viewfunction isConsumingScheduledOp() view returns (bytes4)
rule701Exemptions
viewfunction rule701Exemptions(address) view returns (address)
addCompensationImplementation
nonpayablefunction addCompensationImplementation(tuple _implementation)
createCompensation
nonpayablefunction createCompensation(bytes32 compImplId, bytes initCallData) returns (address newComp)
createRule701Exemption
nonpayablefunction createRule701Exemption(uint256 initialCap) returns (address)
removeCompensationImplementation
nonpayablefunction removeCompensationImplementation(bytes32 compImplId)
setAuthority
nonpayablefunction setAuthority(address newAuthority)
events
AuthorityUpdated
event AuthorityUpdated(address authority)
CompensationCreated
event CompensationCreated(address indexed compensation, address indexed creator, bytes32 indexed compImplId)
CompensationFactoryCreated
event CompensationFactoryCreated(address indexed factory)
CompensationImplementationAdded
event CompensationImplementationAdded(bytes32 indexed compImplId, string compType, address implementation, bytes4 requiredSelector, bool active)
CompensationImplementationRemoved
event CompensationImplementationRemoved(bytes32 indexed compImplId, string compType, address implementation)
Rule701ExemptionCreated
event Rule701ExemptionCreated(address indexed issuer, address rule701Exemption)
errors
AccessManagedInvalidAuthority
error AccessManagedInvalidAuthority(address authority)
AccessManagedRequiredDelay
error AccessManagedRequiredDelay(address caller, uint32 delay)
AccessManagedUnauthorized
error AccessManagedUnauthorized(address caller)
FailedDeployment
error FailedDeployment()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
creation bytecode
0x608080604052346104e65761229d803803809161001c82856104ea565b83398101906040818303126104e6576100348161050d565b602082015190916001600160401b0382116104e657019180601f840112156104e6578251926001600160401b0384116103a1578360051b6040519461007c60208301876104ea565b8552602080860191830101918383116104e65760208101915b8383106103e9575f80546001600160a01b0319166001600160a01b03881690811790915560405190815287907f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a15f5b81518110156103b5576100fc8183610521565b51516001600160a01b0360206101128486610521565b510151166101666001600160e01b0319604061012e8688610521565b510151169161015860606101428789610521565b5101511515604051948593602085019788610549565b03601f1981018352826104ea565b5190206101738284610521565b515f82815260016020526040902081518051906001600160401b0382116103a1578254600181811c91168015610397575b602082101461038357601f811161033e575b50602090601f83116001146102d45791806001979695949288945f926102c9575b50505f19600383901b1c191690831b1781555b60208301519101805460408085015160609095015164ffffffffff60a01b1960a08a901b8a900380199490941695909316949094179190911693901c63ffffffff60a01b169290921790151560c01b60ff60c01b161790557f3ac7ef5b8c8e84a97e98b7d43ad08f0b5c9b92801be39c9e04ded5a53273010c61026d8386610521565b5151848060a01b0360206102818689610521565b51015116906102c06001600160e01b0319604061029e888b610521565b5101511660606102ae888b610521565b51015115159060405194859485610549565b0390a2016100e9565b0151905089806101d7565b90601f19831691845f52815f20925f5b818110610326575092600198979695939285928a9687951061030e575b505050811b0181556101ea565b01515f1960f88460031b161c19169055898080610301565b929360206001819287860151815501950193016102e4565b835f5260205f20601f840160051c81019160208510610379575b601f0160051c01905b81811061036e57506101b6565b5f8155600101610361565b9091508190610358565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101a4565b634e487b7160e01b5f52604160045260245ffd5b604051307fd12bc389116d0fa268bd34e85c167e4a2afc9140d7a512b9714c9b744f5b23f35f80a2611d00908161059d8239f35b82516001600160401b0381116104e6578201906080828703601f1901126104e65760405191608083016001600160401b038111848210176103a15760405260208101516001600160401b0381116104e65760209082010187601f820112156104e65780516001600160401b0381116103a15760405191610473601f8301601f1916602001846104ea565b81835289602083830101116104e657815f9260208093018386015e8301015283526104a06040820161050d565b60208401526060810151906001600160e01b0319821682036104e657608091604085015201519081151582036104e6578260209392606085940152815201920191610095565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103a157604052565b51906001600160a01b03821682036104e657565b80518210156105355760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b9260a060206060949796936080875280519182918260808a0152018388015e5f828288010152601f80199101168501019560018060a01b0316602085015263ffffffff60e01b166040840152151591015256fe60806040526004361015610011575f80fd5b5f3560e01c806309b7eb5c146100c45780631767b4f0146100bf57806324e16fd5146100ba5780634d3f138e146100b5578063797d1bdb146100b05780637a9e5e4b146100ab578063875f614c146100a65780638fb36037146100a15780639e1f98081461009c578063bf7e214f146100975763d89e6aaa14610092575f80fd5b610903565b6108dc565b610802565b610779565b610719565b6104e0565b61036e565b61031a565b61028c565b6101ff565b346101af5760203660031901126101af576004356100e23633611054565b805f52600160205260405f20600181015460018060a01b0381161561016a5761013b61012e7f9d9278083a8c1675b62b2050aa19d12b310ba3021c7b864aed6608ec4f8ae80b93610617565b916001600160a01b031690565b90610156610151855f52600160205260405f2090565b610959565b610165604051928392836109bd565b0390a2005b60405162461bcd60e51b815260206004820152601d60248201527f496d706c656d656e746174696f6e20646f6573206e6f742065786973740000006044820152606490fd5b5f80fd5b5f9103126101af57565b60206040818301928281528451809452019201905f5b8181106101e05750505090565b82516001600160a01b03168452602093840193909201916001016101d3565b346101af575f3660031901126101af5760405180602060025491828152019060025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace905f5b81811061026d576102698561025d818703826105f5565b604051918291826101bd565b0390f35b82546001600160a01b0316845260209093019260019283019201610246565b346101af5760403660031901126101af5760043560243567ffffffffffffffff81116101af57366023820112156101af57806004013567ffffffffffffffff81116101af5736602482840101116101af576102699260246102ee9301906109e5565b6040516001600160a01b0390911681529081906020820190565b60209060031901126101af5760043590565b346101af5761032836610308565b6002548110156101af5760025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01546040516001600160a01b039091168152602090f35b346101af5761037c36610308565b6103863633611054565b335f908152600360205260409020546103a8906001600160a01b031615610d5e565b60405161096880820182811067ffffffffffffffff8211176104b1578291611363833903905ff080156104ac576001600160a01b0316803b156101af5760405163cd6dc68760e01b815233600482015260248101929092525f8260448183855af19182156104ac5761026992610492575b50335f90815260036020526040902080546001600160a01b0319166001600160a01b0383161790556040516001600160a01b038216815233907f1aa1051bbcabaa199eb6bc6b6aa948f70ce8c21f1aade41c07e7803f48bd170590602090a26040516001600160a01b0390911681529081906020820190565b806104a05f6104a6936105f5565b806101b3565b5f610419565b610daa565b6105c5565b600435906001600160a01b03821682036101af57565b35906001600160a01b03821682036101af57565b346101af5760203660031901126101af576104f96104b6565b5f546001600160a01b038116330361057b57813b1561055a576001600160a01b0319166001600160a01b039091169081175f556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1005b506361798f2f60e11b5f9081526001600160a01b0391909116600452602490fd5b62d1953b60e31b5f523360045260245ffd5b90600182811c921680156105bb575b60208310146105a757565b634e487b7160e01b5f52602260045260245ffd5b91607f169161059c565b634e487b7160e01b5f52604160045260245ffd5b6080810190811067ffffffffffffffff8211176104b157604052565b90601f8019910116810190811067ffffffffffffffff8211176104b157604052565b9060405191825f82549261062a8461058d565b80845293600181169081156106955750600114610651575b5061064f925003836105f5565b565b90505f9291925260205f20905f915b81831061067957505090602061064f928201015f610642565b6020919350806001915483858901015201910190918492610660565b90506020925061064f94915060ff191682840152151560051b8201015f610642565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b926106f36060939695926080865260808601906106b7565b6001600160a01b0390961660208501526001600160e01b03191660408401521515910152565b346101af5760203660031901126101af576004355f52600160205260405f20600161074382610617565b910154604080519283926102699260c082901c60ff16929082901b6001600160e01b031916916001600160a01b031690856106db565b346101af575f3660031901126101af575f5460a01c60ff16156107b4576020638fb3603760e01b5b6040516001600160e01b03199091168152f35b60205f6107a1565b67ffffffffffffffff81116104b157601f01601f191660200190565b35906001600160e01b0319821682036101af57565b801515036101af57565b359061064f826107ed565b346101af5760203660031901126101af5760043567ffffffffffffffff81116101af57608060031982360301126101af5760405161083f816105d9565b816004013567ffffffffffffffff81116101af578201366023820112156101af5760048101359061086f826107bc565b9361087d60405195866105f5565b82855236602483850101116101af576108da945f6020856108d096602460649701838601378301015284526108b4602482016104cc565b60208501526108c5604482016107d8565b6040850152016107f7565b6060820152610db5565b005b346101af575f3660031901126101af575f546040516001600160a01b039091168152602090f35b346101af5760203660031901126101af576001600160a01b036109246104b6565b165f526003602052602060018060a01b0360405f205416604051908152f35b81811061094e575050565b5f8155600101610943565b60015f91610967815461058d565b8061097157500155565b601f8111831461098357508281550155565b8184526020842061099e91601f0160051c8101908401610943565b8083528260208120805482851b9083198460031b1c1916178355550155565b906109d56020919493946040845260408401906106b7565b6001600160a01b03909416910152565b90916109f13633611054565b610a99610a94610a11610a0c855f52600160205260405f2090565b610b32565b6020810180519091610a8791610a31906001600160a01b03161515610b81565b610a46610a416060830151151590565b610bc2565b610a75610a686040610a58898c610c0e565b9301516001600160e01b03191690565b6001600160e01b03191690565b6001600160e01b031990911614610c44565b516001600160a01b031690565b6112ff565b9281610add575b5050610aab82610ce0565b336001600160a01b0383167f6da6766267484d77018c74e64b3be0fe39c964bd3b928d5e2405b356149428e75f80a490565b5f918291610af060405180938193610c90565b039082865af1610afe610c9d565b9015610b0a5780610aa0565b610b16610b2e91611142565b60405162461bcd60e51b815291829160048301610ccc565b0390fd5b90604051610b3f816105d9565b606060ff60018395610b5081610617565b855201546001600160a01b0381166020850152604081811b6001600160e01b0319169085015260c01c161515910152565b15610b8857565b60405162461bcd60e51b8152602060048201526012602482015271155b9adb9bdddb8818dbdb5c125b5c1b125960721b6044820152606490fd5b15610bc957565b60405162461bcd60e51b815260206004820152601c60248201527f496d706c656d656e746174696f6e206973206e6f7420616374697665000000006044820152606490fd5b356001600160e01b0319811692919060048210610c29575050565b6001600160e01b031960049290920360031b82901b16169150565b15610c4b57565b60405162461bcd60e51b815260206004820152601a60248201527f496e76616c69642066756e6374696f6e207369676e61747572650000000000006044820152606490fd5b908092918237015f815290565b3d15610cc7573d90610cae826107bc565b91610cbc60405193846105f5565b82523d5f602084013e565b606090565b906020610cdd9281815201906106b7565b90565b600254680100000000000000008110156104b15760018101600255600254811015610d4a5760025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b03909216919091179055565b634e487b7160e01b5f52603260045260245ffd5b15610d6557565b60405162461bcd60e51b815260206004820152601860248201527f4578656d7074696f6e20616c72656164792065786973747300000000000000006044820152606490fd5b6040513d5f823e3d90fd5b610dbf3633611054565b7f3ac7ef5b8c8e84a97e98b7d43ad08f0b5c9b92801be39c9e04ded5a53273010c815160208301610e8560018060a01b03825116610e78610e71610e62604089019663ffffffff60e01b885116610e3a60608c0196610e2c885115156040519485936020850197886106db565b03601f1981018352826105f5565b51902098895f526001602052610e538160405f20610ecd565b5195516001600160a01b031690565b95516001600160e01b03191690565b9151151590565b90604051948594856106db565b0390a2565b9190601f8111610e9957505050565b61064f925f5260205f20906020601f840160051c83019310610ec3575b601f0160051c0190610943565b9091508190610eb6565b9190805192835167ffffffffffffffff81116104b157610ef781610ef1845461058d565b84610e8a565b6020601f8211600114610f9d57610f7892610f328360609460019461064f999a5f92610f92575b50508160011b915f199060031b1c19161790565b81555b60208501519101805460408087015163ffffffff60a01b911c166001600160c01b03199091166001600160a01b0390931692909217919091178155920151151590565b815460ff60c01b191690151560c01b60ff60c01b16179055565b015190505f80610f1e565b601f19821695610fb0845f5260205f2090565b965f5b818110610ff957508361064f9798600194610f789794606097879510610fe1575b505050811b018155610f35565b01515f1960f88460031b161c191690555f8080610fd4565b83830151895560019098019760209384019301610fb3565b906004116101af5790600490565b9192606093819260018060a01b0316845260406020850152816040850152848401375f828201840152601f01601f1916010190565b5f5461107f906001600160a01b0316611076611070855f611011565b90610c0e565b90833091611240565b901561108a57505050565b63ffffffff1615611128575f805460ff60a01b1916600160a01b1790555f546110c9906110bd906001600160a01b031681565b6001600160a01b031690565b91823b156101af576110f6925f80809460405196879586948593634a63ebf760e11b85526004850161101f565b03925af180156104ac57611114575b505f805460ff60a01b19169055565b806104a05f611122936105f5565b5f611105565b62d1953b60e31b5f526001600160a01b031660045260245ffd5b60448151106111c35760048101518101602481019190602090829003126101af5760248101519067ffffffffffffffff82116101af5701816043820112156101af57602481015190611193826107bc565b926111a160405194856105f5565b828452604482840101116101af57815f926044602093018386015e8301015290565b506040516111d26040826105f5565b601d81527f5472616e73616374696f6e2072657665727465642073696c656e746c79000000602082015290565b908160209103126101af5751610cdd816107ed565b91908260409103126101af576020825161122d816107ed565b92015163ffffffff811681036101af5790565b60405163b700961360e01b602082019081526001600160a01b0393841660248301529290931660448401526001600160e01b031990931660648084019190915282525f9392849283928392916112976084826105f5565b51915afa6112a3610c9d565b906112ad57509190565b8051939091604085106112d25750506020806112ce93948301019101611214565b9091565b91909360208110156112e5575b50509190565b6112f892506020809183010191016111ff565b5f806112df565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c16175f5260781b17602052603760095ff0906001600160a01b0382161561135357565b63b06ebf3d60e01b5f5260045ffdfe6080806040523460155761094e908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c9081630e5938e2146108275750806310786deb1461080a5780631a9b44aa146106cc5780631d143848146106a457806322f3e2d41461067f5780633d48dc1c146105235780634e9380a91461050357806358b234dc146104e85780635c127efd1461040e57806366da7c2914610342578063774abb2a146102b1578063842f7c8d146102335780639e7fbd6e14610279578063a37278311461025d578063ae1f8b2f14610233578063cd6dc68714610125578063e442bf0a146101035763f3ba2de1146100e2575f80fd5b346100ff575f3660031901126100ff576020604051629896808152f35b5f80fd5b346100ff575f3660031901126100ff57602061011d6108c6565b604051908152f35b346100ff5760403660031901126100ff5761013e610849565b602435906001600160a01b031680156101fd57600380546001600160a81b031916909117600160a01b179055806101d457507f422662c8ad47f6a084a283bf29674f2457ebee9efbd55f2bfab539e398a4b4f26020629896805b805f55604051908152a16003546001600160a01b03167f55bb8bda303419cbbbc55a5efda6fa6001dea82f0717525e10f67e3d536bdd885f80a2005b60207f422662c8ad47f6a084a283bf29674f2457ebee9efbd55f2bfab539e398a4b4f291610198565b60405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21034b9b9bab2b960911b6044820152606490fd5b346100ff5760203660031901126100ff576004355f526002602052602060405f2054604051908152f35b346100ff575f3660031901126100ff5760205f54604051908152f35b346100ff5760203660031901126100ff576001600160a01b0361029a610849565b165f526001602052602060405f2054604051908152f35b346100ff575f3660031901126100ff576102c961085f565b506102d261085f565b62278d0042045f5b600c81101561031757806001918310156102f5575b016102da565b6102ff8184610898565b5f52600260205260405f20548160051b8501526102ef565b604051835f825b600c821061032c5761018084f35b602080600192855181520193019101909161031e565b346100ff5760203660031901126100ff576004358015158091036100ff576003546001600160a01b03811633036103b75760ff60a81b191660a882901b60ff60a81b16176003556040519081527f726bd3ee40bc848e24a9fb0226917f6382022823a5d03fb7fbf668a6d8a1c88d90602090a1005b60405162461bcd60e51b815260206004820152602960248201527f4f6e6c79206973737565722063616e2075706461746520534543207265706f7260448201526874696e6720666c616760b81b6064820152608490fd5b346100ff575f3660031901126100ff576003546001600160a01b03811633036104a35760ff8160a01c161561046d5760ff60a01b19166003557fa18dec260452b0d0e309d82f7480bdd31b82202d9d78ce12bbba4617896883cf5f80a1005b60405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e4818db1bdcd95960921b6044820152606490fd5b60405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206973737565722063616e20636c6f73652052756c652037303100006044820152606490fd5b346100ff575f3660031901126100ff576020604051600c8152f35b346100ff575f3660031901126100ff57602062278d004204604051908152f35b346100ff5760403660031901126100ff5761053c610849565b6024359060ff60035460a01c16156106445761055f8261055a6108c6565b6108b9565b5f54106106005760207f8f7bd52de209a55952df6deb779c3dccd9b9ea20f63a3a1038b3c195795a35699160018060a01b031692835f526001825260405f206105a98282546108b9565b9055837fdd7740983584cba9668cf39efc12b6ece5e5b600e1db5644fed02e0bdb939ac2604062278d004204805f5260028652815f206105ea8682546108b9565b905581519085825286820152a2604051908152a2005b606460405162461bcd60e51b815260206004820152602060248201527f457863656564732031322d6d6f6e7468206578656d7074696f6e206c696d69746044820152fd5b60405162461bcd60e51b815260206004820152601360248201527252756c6520373031206e6f742061637469766560681b6044820152606490fd5b346100ff575f3660031901126100ff57602060ff60035460a01c166040519015158152f35b346100ff575f3660031901126100ff576003546040516001600160a01b039091168152602090f35b346100ff5760203660031901126100ff57600354600435906001600160a01b031633036107b9576106fb6108c6565b811061075a576020817f5866dccb2ce1a911e50b90a44914bceba16280e1ddd7e076c1c96d285bb718f4925f557f422662c8ad47f6a084a283bf29674f2457ebee9efbd55f2bfab539e398a4b4f282604051838152a1604051908152a1005b60405162461bcd60e51b815260206004820152603160248201527f4e657720636170206d757374206265203e3d20746f74616c2069737375656420604482015270696e206c617374203132206d6f6e74687360781b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f4f6e6c79206973737565722063616e207570646174652069737375616e63652060448201526206361760ec1b6064820152608490fd5b346100ff575f3660031901126100ff57602060405162278d008152f35b346100ff575f3660031901126100ff5760209060ff60035460a81c1615158152f35b600435906001600160a01b03821682036100ff57565b6040519061018082810167ffffffffffffffff81118482101761088457604052368337565b634e487b7160e01b5f52604160045260245ffd5b919082039182116108a557565b634e487b7160e01b5f52601160045260245ffd5b919082018092116108a557565b5f62278d0042045f5b600c81106108dc57505090565b808210156108ed575b6001016108cf565b916109106001916108fe8585610898565b5f52600260205260405f2054906108b9565b9290506108e556fea264697066735822122033d08ea94799161c0cce6e52c89429e8e0217dce10852d42528045313d3f466e64736f6c634300081c0033a264697066735822122052de236342a4b755a735781f12669a154680bb5d2804fa5c632360883d2d7ba764736f6c634300081c0033000000000000000000000000d2cc3486caad797d39999cd4b216260ed39abd4200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000