0 txs
423 calls
constructor
constructor()
functions
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
distribute
nonpayablefunction distribute()
initialize
nonpayablefunction initialize(address _accessControl, address _capToken, address _stakedCapToken)
setCapToken
nonpayablefunction setCapToken(address _capToken)
setProtocolFeePercentage
nonpayablefunction setProtocolFeePercentage(uint256 _protocolFeePercentage)
setProtocolFeeReceiver
nonpayablefunction setProtocolFeeReceiver(address _protocolFeeReceiver)
setStakedCapToken
nonpayablefunction setStakedCapToken(address _stakedCapToken)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
CapTokenSet
event CapTokenSet(address capToken)
FeesDistributed
event FeesDistributed(uint256 amount)
Initialized
event Initialized(uint64 version)
ProtocolFeeClaimed
event ProtocolFeeClaimed(uint256 amount)
ProtocolFeePercentageSet
event ProtocolFeePercentageSet(uint256 protocolFeePercentage)
ProtocolFeeReceiverSet
event ProtocolFeeReceiverSet(address protocolFeeReceiver)
StakedCapTokenSet
event StakedCapTokenSet(address stakedCapToken)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessDenied
error AccessDenied()
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
InvalidProtocolFeePercentage
error InvalidProtocolFeePercentage()
NoProtocolFeeReceiverSet
error NoProtocolFeeReceiverSet()
NotInitializing
error NotInitializing()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
ZeroAddressNotValid
error ZeroAddressNotValid()
creation bytecode
0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161123f6100f95f395f818161098f015281816109b80152610b05015261123f5ff3fe608060405260043610610084575f3560e01c8063c0c53b8b11610057578063c0c53b8b14610120578063c9ca7c7a1461013f578063d8a5e9361461015e578063e078e0b01461017d578063e4fc6b6d1461019c575f5ffd5b806346877b1a146100885780634f1ef286146100a957806352d1902d146100bc578063ad3cb1cc146100e3575b5f5ffd5b348015610093575f5ffd5b506100a76100a2366004610fa3565b6101b0565b005b6100a76100b7366004610fd0565b61024f565b3480156100c7575f5ffd5b506100d061026e565b6040519081526020015b60405180910390f35b3480156100ee575f5ffd5b50610113604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100da9190611094565b34801561012b575f5ffd5b506100a761013a3660046110c9565b610289565b34801561014a575f5ffd5b506100a7610159366004610fa3565b610422565b348015610169575f5ffd5b506100a7610178366004611109565b6104d6565b348015610188575f5ffd5b506100a7610197366004610fa3565b610584565b3480156101a7575f5ffd5b506100a7610615565b632343bd8d60e11b6101c1816108c4565b5f5160206111ea5f395f51905f526001600160a01b0383166101f657604051633bf95ba760e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0385169081179091556040519081527f1a2b7633469609bf03c8dec2e21d406058762579808418889ea62828c177f5a6906020015b60405180910390a1505050565b610257610984565b61026082610a2a565b61026a8282610a34565b5050565b5f610277610afa565b505f5160206111ca5f395f51905f5290565b5f610292610b43565b805490915060ff600160401b820416159067ffffffffffffffff165f811580156102b95750825b90505f8267ffffffffffffffff1660011480156102d55750303b155b9050811580156102e3575080155b156103015760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561032b57845460ff60401b1916600160401b1785555b61033488610b6d565b61033c610b7e565b6001600160a01b038716158061035957506001600160a01b038616155b1561037757604051633bf95ba760e01b815260040160405180910390fd5b5f5160206111ea5f395f51905f5280546001600160a01b038981166001600160a01b0319928316179092557f22a89b069b09957a754cd7ed12b4d4d4fefa3dc957ead0f6120654eb51bf3901805492891692909116919091179055831561041857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b6364e53e3d60e11b610433816108c4565b6001600160a01b03821661045a57604051633bf95ba760e01b815260040160405180910390fd5b7f22a89b069b09957a754cd7ed12b4d4d4fefa3dc957ead0f6120654eb51bf390180546001600160a01b0319166001600160a01b0384169081179091556040519081525f5160206111ea5f395f51905f52907fa50f521c283b6e4c3592e72afd0106bbaefa608f16e42f0771e8ac7c8fc7e39190602001610242565b636c52f49b60e11b6104e7816108c4565b5f5160206111ea5f395f51905f526b033b2e3c9fd0803ce800000083111561052257604051635bfcf71560e01b815260040160405180910390fd5b60028101546001600160a01b031661054d57604051632304443360e01b815260040160405180910390fd5b600381018390556040518381527fc1de37701d1b74e31e87de1905069b0561a556b6e7a913d7e58de8a9aa55ed8c90602001610242565b630e078e0b60e41b610595816108c4565b6001600160a01b0382166105bc57604051633bf95ba760e01b815260040160405180910390fd5b5f5160206111ea5f395f51905f5280546001600160a01b0319166001600160a01b03841690811782556040519081527f5d3152e59cf123075e6d62e5084cd33877ee30efaa93558733e6dcb26ff0763690602001610242565b5f5f5160206111ea5f395f51905f5280546040516370a0823160e01b81523060048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561066e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106929190611120565b1115610769576003810154156106aa576106aa610b86565b80546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa1580156106ef573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107139190611120565b60018301548354919250610734916001600160a01b03908116911683610c83565b6040518181527f8959421a1320789a49eeec01a4750caf8a30733c3db14f000d84484df89300f99060200160405180910390a1505b600181015460408051630455444360e01b8152905142926001600160a01b03169163045544439160048083019260209291908290030181865afa1580156107b2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d69190611120565b826001015f9054906101000a90046001600160a01b03166001600160a01b031663efe476076040518163ffffffff1660e01b8152600401602060405180830381865afa158015610828573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084c9190611120565b610856919061114b565b10156108c157806001015f9054906101000a90046001600160a01b03166001600160a01b031663899f58986040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156108aa575f5ffd5b505af11580156108bc573d5f5f3e3d5ffd5b505050505b50565b5f7fb413d65cb88f23816c329284a0d3eb15a99df7963ab7402ade4c5da22bff6b0054604051633657648360e21b81526001600160e01b0319841660048201523060248201523360448201526001600160a01b039091169063d95d920c90606401602060405180830381865afa158015610940573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610964919061115e565b90508061026a57604051634ca8886760e01b815260040160405180910390fd5b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610a0a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109fe5f5160206111ca5f395f51905f52546001600160a01b031690565b6001600160a01b031614155b15610a285760405163703e46dd60e11b815260040160405180910390fd5b565b5f61026a816108c4565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610a8e575060408051601f3d908101601f19168201909252610a8b91810190611120565b60015b610abb57604051634c9c8ce360e01b81526001600160a01b03831660048201526024015b60405180910390fd5b5f5160206111ca5f395f51905f528114610aeb57604051632a87526960e21b815260048101829052602401610ab2565b610af58383610cd5565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a285760405163703e46dd60e11b815260040160405180910390fd5b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005b92915050565b610b75610d2a565b6108c181610d4f565b610a28610d2a565b5f5f5160206111ea5f395f51905f5280546040516370a0823160e01b81523060048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610bdf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c039190611120565b90505f6b033b2e3c9fd0803ce8000000836003015483610c23919061117d565b610c2d9190611194565b90508015610c535760028301548354610c53916001600160a01b03918216911683610c83565b6040518181527f290f9b2319cd913b88ec901c309a1f96b61e2793b19ad125395d98fdf5dacec990602001610242565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610af5908490610d9b565b610cde82610e0d565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610d2257610af58282610e56565b61026a610ec8565b610d32610ee7565b610a2857604051631afcd79f60e31b815260040160405180910390fd5b610d57610d2a565b807fb413d65cb88f23816c329284a0d3eb15a99df7963ab7402ade4c5da22bff6b005b80546001600160a01b0319166001600160a01b039290921691909117905550565b5f5f60205f8451602086015f885af180610dba576040513d5f823e3d81fd5b50505f513d91508115610dd1578060011415610dde565b6001600160a01b0384163b155b15610e0757604051635274afe760e01b81526001600160a01b0385166004820152602401610ab2565b50505050565b806001600160a01b03163b5f03610e4257604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610ab2565b805f5160206111ca5f395f51905f52610d7a565b60605f5f846001600160a01b031684604051610e7291906111b3565b5f60405180830381855af49150503d805f8114610eaa576040519150601f19603f3d011682016040523d82523d5f602084013e610eaf565b606091505b5091509150610ebf858383610f00565b95945050505050565b3415610a285760405163b398979f60e01b815260040160405180910390fd5b5f610ef0610b43565b54600160401b900460ff16919050565b606082610f1557610f1082610f5f565b610f58565b8151158015610f2c57506001600160a01b0384163b155b15610f5557604051639996b31560e01b81526001600160a01b0385166004820152602401610ab2565b50805b9392505050565b805115610f6f5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b80356001600160a01b0381168114610f9e575f5ffd5b919050565b5f60208284031215610fb3575f5ffd5b610f5882610f88565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215610fe1575f5ffd5b610fea83610f88565b9150602083013567ffffffffffffffff811115611005575f5ffd5b8301601f81018513611015575f5ffd5b803567ffffffffffffffff81111561102f5761102f610fbc565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561105e5761105e610fbc565b604052818152828201602001871015611075575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f606084860312156110db575f5ffd5b6110e484610f88565b92506110f260208501610f88565b915061110060408501610f88565b90509250925092565b5f60208284031215611119575f5ffd5b5035919050565b5f60208284031215611130575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610b6757610b67611137565b5f6020828403121561116e575f5ffd5b81518015158114610f58575f5ffd5b8082028115828204841417610b6757610b67611137565b5f826111ae57634e487b7160e01b5f52601260045260245ffd5b500490565b5f82518060208501845e5f92019182525091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc22a89b069b09957a754cd7ed12b4d4d4fefa3dc957ead0f6120654eb51bf3900a26469706673582212203d4780d7450734654eab8ccfd7bd6c2e6c0f91bccf0000e3c378d2fb3bd2b53764736f6c634300081c0033