0 txs
685 calls
constructor
constructor(address yieldPassFactory_, uint64 expiryTime_, address xaiPoolFactory_)
functions
allowedPools
viewfunction allowedPools() view returns (address[])
allPools
viewfunction allPools() view returns (address[])
claimableYield
viewfunction claimableYield() view returns (uint256)
cumulativeYield
viewfunction cumulativeYield() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
IMPLEMENTATION_VERSION
viewfunction IMPLEMENTATION_VERSION() view returns (string)
name
viewfunction name() view returns (string)
PAUSE_ADMIN_ROLE
viewfunction PAUSE_ADMIN_ROLE() view returns (bytes32)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
token
viewfunction token() view returns (address)
xaiPoolFactory
viewfunction xaiPoolFactory() view returns (address)
xaiReferee
viewfunction xaiReferee() view returns (address)
xaiSentryNodeLicense
viewfunction xaiSentryNodeLicense() view returns (address)
yieldPassFactory
viewfunction yieldPassFactory() view returns (address)
addPools
nonpayablefunction addPools(address[] pools)
claim
nonpayablefunction claim(address recipient, uint256 amount)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
harvest
nonpayablefunction harvest(bytes) returns (uint256)
initialize
nonpayablefunction initialize(address[] pools_, bool isLicenseTransferUnlocked_)
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
pause
nonpayablefunction pause()
redeem
nonpayablefunction redeem(address recipient, uint256[] tokenIds, bytes32 redemptionHash)
removePools
nonpayablefunction removePools(address[] pools)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setLicenseTransferUnlocked
nonpayablefunction setLicenseTransferUnlocked(bool isLicenseTransferUnlocked_)
setup
nonpayablefunction setup(address account, uint256[] tokenIds, bytes setupData) returns (address[])
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256[] tokenIds, bytes32 redemptionHash) returns (address)
events
LicenseTransferUnlocked
event LicenseTransferUnlocked(bool isLicenseTransferUnlocked)
Paused
event Paused(address account)
PoolAdded
event PoolAdded(address indexed pool)
PoolRemoved
event PoolRemoved(address indexed pool)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Unpaused
event Unpaused(address account)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
FailedInnerCall
error FailedInnerCall()
HarvestCompleted
error HarvestCompleted()
HarvestNotCompleted
error HarvestNotCompleted()
InvalidLength
error InvalidLength()
InvalidRecipient
error InvalidRecipient()
NotKycApproved
error NotKycApproved()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnsupportedPool
error UnsupportedPool()
creation bytecode
0x61014080604052346102025760608161245a8038038091610020828561028d565b83398101031261020257610033816102c4565b602082015191906001600160401b0383168303610202575f9261005a6040602094016102c4565b6001805461ffff191661010017905560809290925260a0526001600160a01b031660c0819052604051631988a41360e01b815292839160049183915af190811561020e575f91610253575b506001600160a01b0390811660e05260c051604051638376f5db60e01b815291602091839160049183915f91165af190811561020e575f91610219575b506001600160a01b039081166101005260c051604051630b60f1ab60e11b815291602091839160049183915f91165af190811561020e575f916101d0575b506001600160a01b03166101205260405161218190816102d9823960805181818161026501528181610569015281816108bd01528181610daf015281816111a50152611400015260a0518181816106b501526114cd015260c0518181816106010152611392015260e051818181610395015281816107b50152610eac015261010051818181610191015281816105be0152818161093e0152610a1e015261012051818181610e1101526116cf0152f35b90506020813d602011610206575b816101eb6020938361028d565b81010312610202576101fc906102c4565b5f610120565b5f80fd5b3d91506101de565b6040513d5f823e3d90fd5b90506020813d60201161024b575b816102346020938361028d565b8101031261020257610245906102c4565b5f6100e2565b3d9150610227565b90506020813d602011610285575b8161026e6020938361028d565b810103126102025761027f906102c4565b5f6100a5565b3d9150610261565b601f909101601f19168101906001600160401b038211908210176102b057604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036102025756fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146116fe5750806304e5170a146116ba57806306fdde03146114bb5780630d9f8738146113c15780630fa467f11461137d578063141fdf881461128b578063150b7a02146111fe578063248a9ca3146111d45780632e15e461146111905780632f2ff15d1461115357806336568abe1461110f5780633c33c5e214610d4d5780633f4ba83a14610ce7578063425ad76214610cad5780634b16414014610c0e5780635c975abb14610bec578063754b377c14610baf5780638456cb5914610b5757806391d1485414610b0f57806398813dea14610aad578063a217fddf14610a93578063a263a9eb146109f3578063aad3ec961461089e578063b36a4ab1146107e4578063bd0f2161146107a0578063c5c63e6514610785578063ce5c7f6114610530578063d547741f146104ec578063e5daab9c146104ca578063f3855f7b1461022a578063f70971c8146101c45763fc0c546a1461017c575f80fd5b346101c0575f3660031901126101c0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b346101c0575f3660031901126101c057604051600554808252602082019060055f5260205f20905f5b8181106102145761021085610204818703826117d7565b604051918291826118d9565b0390f35b82548452602090930192600192830192016101ed565b346101c05760403660031901126101c0576004356001600160401b0381116101c05761025a9036906004016117a7565b6024359190610293337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461191b565b61029b611b85565b5f838152600760205260409020546001600160a01b03169283156104bb575f90815260076020526040812080546001600160a01b03191690555f1982019290918084119190835b8181106102f457602087604051908152f35b6102ff81838561195d565b355f908152600260205260409020546001600160a01b031661032282848661195d565b355f52600260205260405f206001600160601b0360a01b815416905561034982848661195d565b355f5260096020528460405f206001600160601b0360a01b81541690556104635786821480159081610482575b8115610477575b5061038c575b506001016102e2565b909460018601907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169082881161046357826103d1918688611a06565b9091803b156101c0576040516341b9f7cb60e01b8152306004820152602481018c9052604481019590955260806064860152608485018290526001600160fb1b0382116101c057845f60a4828296819660051b80918484013781010301925af191821561045857600192610448575b509490610383565b5f610452916117d7565b88610440565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b9550505f948961037d565b9050600183018084116104635761049a90858761195d565b355f908152600260205260409020546001600160a01b031682141590610376565b634e46966960e11b5f5260045ffd5b346101c0575f3660031901126101c05760206104e4611a21565b604051908152f35b346101c05760403660031901126101c05761052e60043561050b611791565b90610529610524825f525f602052600160405f20015490565b611e61565b611e99565b005b346101c05760203660031901126101c0576004356001600160401b0381116101c0576105609036906004016118ac565b506105979050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461191b565b61059f611b85565b60ff600a5416610776576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081602481855afa908115610458575f91610744575b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916106326120a3565b92803b156101c057604051630aec683360e31b8152935f91859182908490829061065f90600483016118d9565b03925af190811561045857602493602092610734575b506040516370a0823160e01b815230600482015293849182905afa918215610458575f92610700575b508103908111610463576020906001600160401b037f00000000000000000000000000000000000000000000000000000000000000001642116106e357604051908152f35b6106eb611a21565b600b55600160ff19600a541617600a556104e4565b9091506020813d60201161072c575b8161071c602093836117d7565b810103126101c05751908261069e565b3d915061070f565b5f61073e916117d7565b84610675565b90506020813d60201161076e575b8161075f602093836117d7565b810103126101c05751826105fe565b3d9150610752565b6310a4f10b60e21b5f5260045ffd5b346101c0575f3660031901126101c0576102106102046120a3565b346101c0575f3660031901126101c0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101c05760203660031901126101c0576004356001600160401b0381116101c057610814903690600401611823565b61081c611e12565b5f5b815181101561052e576001906108466001600160a01b0361083f8386611981565b5116611f2e565b50610861828060a01b0361085a8386611981565b5116611f94565b50818060a01b036108728285611981565b51167f73cca62ab1b520c9715bf4e6c71e3e518c754e7148f65102f43289a7df0efea65f80a20161081e565b346101c05760403660031901126101c0576108b761177b565b6108eb337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461191b565b6108f3611b85565b60ff600a5416156109e45761099a5f8060405193602085019063a9059cbb60e01b825260018060a01b0316602486015260243560448601526044855261093a6064866117d7565b93517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169482865af13d156109dc573d9061097c82611891565b9161098a60405193846117d7565b82523d5f602084013e5b836120ed565b80519081151591826109c1575b50506109af57005b635274afe760e01b5f5260045260245ffd5b6109d49250602080918301019101611995565b1582806109a7565b606090610994565b63e225e71560e01b5f5260045ffd5b346101c0575f3660031901126101c0576040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610458575f90610a60575b602090604051908152f35b506020813d602011610a8b575b81610a7a602093836117d7565b810103126101c05760209051610a55565b3d9150610a6d565b346101c0575f3660031901126101c05760206040515f8152f35b346101c05760203660031901126101c0576004358015158091036101c05760207feac0f9ea759d963915e4b149e5a0de15f4c7b5e84181b0a59cd0e7887840a4b191610af7611e12565b60ff196008541660ff821617600855604051908152a1005b346101c05760403660031901126101c057610b28611791565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101c0575f3660031901126101c057610b6f611da3565b610b77611b85565b600160ff19815416176001557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b346101c0575f3660031901126101c057610210604051610bd06040826117d7565b6003815262312e3360e81b602082015260405191829182611751565b346101c0575f3660031901126101c057602060ff600154166040519015158152f35b346101c05760203660031901126101c0576004356001600160401b0381116101c057610c3e903690600401611823565b610c46611e12565b5f5b815181101561052e57600190610c706001600160a01b03610c698386611981565b5116611fe4565b50818060a01b03610c818285611981565b51167f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f5f80a201610c48565b346101c0575f3660031901126101c05760206040517f5abc35f3ddf4502abf40df80a9ee922191cea883919dcc4c1fdc7afe4464f2228152f35b346101c0575f3660031901126101c057610cff611da3565b60015460ff811615610d3e5760ff19166001557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b346101c05760603660031901126101c057610d6661177b565b6024356001600160401b0381116101c057610d859036906004016117a7565b90916044356001600160401b0381116101c057610da69036906004016118ac565b909390610ddd337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461191b565b610de5611b85565b604051636412767d60e11b81526001600160a01b039384166004820181905293602090829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa908115610458575f916110e0575b50156110d15784016040858203126101c05784356001600160401b0381116101c05781610e6f918701611823565b946020810135906001600160401b0382116101c057019080601f830112156101c057816020610ea0933591016119ad565b90815185510361109b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031693915f9182905b87518410156110b9576001600160a01b03610ef6858a611981565b51165f52600660205260405f2054156110aa5784610f1e610f178686611981565b51846119f9565b1161109b57610f4c610f45610f3d610f368787611981565b51856119f9565b848885611a06565b36916119ad565b945f5b8651811015610fcc576001906001600160a01b03610f6d888d611981565b5116610f79828a611981565b515f52600260205260405f2090838060a01b03166001600160601b0360a01b825416179055610fa88189611981565b515f52600960205260405f20896001600160601b0360a01b82541617905501610f4f565b50939490916001600160a01b03610fe3878b611981565b511691883b156101c057916040519283916341b9f7cb60e01b835260848301908a60048501523060248501526044840152608060648401528151809152602060a484019201905f905b80821061107f5750505090805f920381838c5af1908115610458576001926110659261106f575b5061105e8786611981565b51906119f9565b9401929390610edb565b5f611079916117d7565b8a611053565b919350916020806001928651815201940192018593929161102c565b63251f56a160e21b5f5260045ffd5b633d89017360e01b5f5260045ffd5b8785830361109b5761021090604051918291826118d9565b6377a6a87360e11b5f5260045ffd5b611102915060203d602011611108575b6110fa81836117d7565b810190611995565b86610e41565b503d6110f0565b346101c05760403660031901126101c057611128611791565b336001600160a01b038216036111445761052e90600435611e99565b63334bd91960e11b5f5260045ffd5b346101c05760403660031901126101c05761052e600435611172611791565b9061118b610524825f525f602052600160405f20015490565b611d1b565b346101c0575f3660031901126101c0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101c05760203660031901126101c05760206104e46004355f525f602052600160405f20015490565b346101c05760803660031901126101c05761121761177b565b50611220611791565b506064356001600160401b0381116101c057366023820112156101c05780600401359061124c82611891565b9161125a60405193846117d7565b80835236602482840101116101c0575f928160246020940184830137010152604051630a85bd0160e11b8152602090f35b346101c05760403660031901126101c0576004356001600160401b0381116101c0576112bb903690600401611823565b6024358015158091036101c05760015460ff8160081c166113425761ff001916610100176001555f5b8251811015611320576001906113056001600160a01b0361083f8387611981565b50611319828060a01b0361085a8387611981565b50016112e4565b5060ff80196008541691161760085561133833611ba0565b5061052e33611c4f565b60405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b346101c0575f3660031901126101c0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101c05760603660031901126101c0576113da61177b565b6024356001600160401b0381116101c0576113f99036906004016117a7565b9061142e337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461191b565b611436611b85565b60ff600854161561146d575b6044355f90815260076020526040902080546001600160a01b0319166001600160a01b038516179055005b906001600160a01b038316905f5b818110611489575050611442565b61149481838661195d565b355f908152600960205260409020546001600160a01b03168390036104bb5760010161147b565b346101c0575f3660031901126101c0577f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165f8172184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b811015611697575b806d04ee2d6d415b85acef8100000000600a92101561167c575b662386f26fc10000811015611668575b6305f5e100811015611657575b612710811015611648575b606481101561163a575b1015611632575b6001810191600a602161159461157e86611891565b9561158c60405197886117d7565b808752611891565b602086019490601f19013686378501015b5f1901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049081156115d357600a906115a5565b61021083611626603c876040519384917f584149205969656c642041646170746572202d204578706972793a200000000060208401525180918484015e81015f838201520301601f1981018352826117d7565b60405191829182611751565b600101611569565b606460029104920191611562565b61271060049104920191611558565b6305f5e1006008910492019161154d565b662386f26fc1000060109104920191611540565b6d04ee2d6d415b85acef810000000060209104920191611530565b506040905072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8204611516565b346101c0575f3660031901126101c0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101c05760203660031901126101c0576004359063ffffffff60e01b82168092036101c057602091637965db0b60e01b8114908115611740575b5015158152f35b6301ffc9a760e01b14905083611739565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036101c057565b602435906001600160a01b03821682036101c057565b9181601f840112156101c0578235916001600160401b0383116101c0576020808501948460051b0101116101c057565b90601f801991011681019081106001600160401b038211176117f857604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116117f85760051b60200190565b9080601f830112156101c05781359061183b8261180c565b9261184960405194856117d7565b82845260208085019360051b8201019182116101c057602001915b8183106118715750505090565b82356001600160a01b03811681036101c057815260209283019201611864565b6001600160401b0381116117f857601f01601f191660200190565b9181601f840112156101c0578235916001600160401b0383116101c057602083818601950101116101c057565b60206040818301928281528451809452019201905f5b8181106118fc5750505090565b82516001600160a01b03168452602093840193909201916001016118ef565b1561192257565b60405162461bcd60e51b81526020600482015260136024820152722ab730baba3437b934bd32b21031b0b63632b960691b6044820152606490fd5b919081101561196d5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b805182101561196d5760209160051b010190565b908160209103126101c0575180151581036101c05790565b9291906119b98161180c565b936119c760405195866117d7565b602085838152019160051b81019283116101c057905b8282106119e957505050565b81358152602091820191016119dd565b9190820180921161046357565b909392938483116101c05784116101c0578160051b01920390565b60ff600a5416611b7f5760405190600354808352826020810160035f5260205f20925f5b818110611b66575050611a5a925003836117d7565b5f91825b8151841015611b6157600460206001600160a01b03611a7d8786611981565b511660405192838092636f55bfed60e01b82525afa908115610458575f91611b1f575b506040516327ce014760e01b815230600482015290602090829060249082906001600160a01b03165afa908115610458575f91611aed575b50611ae5906001926119f9565b930192611a5e565b90506020813d8211611b17575b81611b07602093836117d7565b810103126101c057516001611ad8565b3d9150611afa565b90506020813d8211611b59575b81611b39602093836117d7565b810103126101c057516001600160a01b03811681036101c0576020611aa0565b3d9150611b2c565b925050565b8454835260019485019487945060209093019201611a45565b600b5490565b60ff60015416611b9157565b63d93c066560e01b5f5260045ffd5b6001600160a01b0381165f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff16611c4a576001600160a01b03165f8181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f90565b6001600160a01b0381165f9081527f823c16c800330898e46cb35812b4ecf2725b30b9a93528f659f328570246ad5f602052604090205460ff16611c4a576001600160a01b03165f8181527f823c16c800330898e46cb35812b4ecf2725b30b9a93528f659f328570246ad5f60205260408120805460ff191660011790553391907f5abc35f3ddf4502abf40df80a9ee922191cea883919dcc4c1fdc7afe4464f222907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16611d9d575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b335f9081527f823c16c800330898e46cb35812b4ecf2725b30b9a93528f659f328570246ad5f602052604090205460ff1615611ddb57565b63e2517d3f60e01b5f52336004527f5abc35f3ddf4502abf40df80a9ee922191cea883919dcc4c1fdc7afe4464f22260245260445ffd5b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1615611e4a57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615611e835750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615611d9d575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b805482101561196d575f5260205f2001905f90565b805f52600660205260405f2054155f14611c4a57600554600160401b8110156117f857611f7d611f678260018594016005556005611f19565b819391549060031b91821b915f19901b19161790565b9055600554905f52600660205260405f2055600190565b805f52600460205260405f2054155f14611c4a57600354600160401b8110156117f857611fcd611f678260018594016003556003611f19565b9055600354905f52600460205260405f2055600190565b5f818152600660205260409020548015611d9d575f198101818111610463576005545f198101919082116104635781810361206b575b5050506005548015612057575f1901612034816005611f19565b8154905f199060031b1b191690556005555f5260066020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b61208d61207c611f67936005611f19565b90549060031b1c9283926005611f19565b90555f52600660205260405f20555f808061201a565b60405190600354808352826020810160035f5260205f20925f5b8181106120d45750506120d2925003836117d7565b565b84548352600194850194879450602090930192016120bd565b90612111575080511561210257805190602001fd5b630a12f52160e11b5f5260045ffd5b81511580612142575b612122575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561211a56fea2646970667358221220d7488aed0456b83263570de954ede3baea52ad04a99e939d7af3f3b3f3e8a10664736f6c634300081a003300000000000000000000000024147f47b916bcf7e0a8810f859ba3bf703d436d000000000000000000000000000000000000000000000000000000006823dd00000000000000000000000000f9e08660223e2dbb1c0b28c82942ab6b5e38b8e5