0 txs
505 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
eden
viewfunction eden() view returns (address)
getAllRedemptionRequests
viewfunction getAllRedemptionRequests(address _user) view returns (uint256[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
nextRedemptionId
viewfunction nextRedemptionId(address) view returns (uint256)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
redemptionDelay
viewfunction redemptionDelay() view returns (uint256)
redemptions
viewfunction redemptions(address, uint256) view returns (uint256 assets, uint256 requestTime)
redemptionStatus
viewfunction redemptionStatus(address _user, uint256 _requestId) view returns (uint256 amount, uint256 requestTime, bool isReady)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
UPGRADE_ROLE_ADMIN
viewfunction UPGRADE_ROLE_ADMIN() view returns (bytes32)
UPGRADE_ROLE
viewfunction UPGRADE_ROLE() view returns (bytes32)
xEden
viewfunction xEden() view returns (address)
executeRedemption
nonpayablefunction executeRedemption(address _user, uint256 _redemptionId) returns (uint256)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _eden, address _xEden, address _admin, uint256 _redemptionDelay)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
requestRedemption
nonpayablefunction requestRedemption(address _user, uint256 _assets) returns (uint256)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setRedemptionDelay
nonpayablefunction setRedemptionDelay(uint256 _newDelay)
setXEden
nonpayablefunction setXEden(address _xEden)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
RedemptionDelaySet
event RedemptionDelaySet(uint256 oldDelay, uint256 newDelay)
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)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidAddress
error InvalidAddress()
InvalidAmount
error InvalidAmount()
InvalidImplementationAddress
error InvalidImplementationAddress(address implementation)
InvalidInitialization
error InvalidInitialization()
InvalidRedemptionId
error InvalidRedemptionId()
NotInitializing
error NotInitializing()
RedemptionNotReady
error RedemptionNotReady()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnauthorizedCaller
error UnauthorizedCaller()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516116f86100fd60003960008181610dfa01528181610e230152610fad01526116f86000f3fe60806040526004361061014b5760003560e01c806391d14854116100b6578063c4d508501161006f578063c4d50850146103da578063cf756fdf14610417578063d547741f14610437578063ed1a098914610457578063f1a9ee03146104ab578063f6bda861146104cb57600080fd5b806391d148541461030f5780639b31c3a81461032f5780639bf055a514610345578063a217fddf14610365578063ad3cb1cc1461037a578063b908afa8146103b857600080fd5b806336568abe1161010857806336568abe1461025a5780633bb3d7051461027a57806344f4c1a61461029a5780634f1ef286146102c757806352d1902d146102da57806365d8480b146102ef57600080fd5b806301ffc9a7146101505780631c902f7b14610185578063216eebc2146101bd578063248a9ca3146101ea5780632a236764146102185780632f2ff15d14610238575b600080fd5b34801561015c57600080fd5b5061017061016b366004611340565b6104ff565b60405190151581526020015b60405180910390f35b34801561019157600080fd5b506001546101a5906001600160a01b031681565b6040516001600160a01b03909116815260200161017c565b3480156101c957600080fd5b506101dd6101d8366004611386565b610536565b60405161017c91906113a1565b3480156101f657600080fd5b5061020a6102053660046113e4565b6106b6565b60405190815260200161017c565b34801561022457600080fd5b5061020a6102333660046113fd565b6106d8565b34801561024457600080fd5b50610258610253366004611427565b6107c4565b005b34801561026657600080fd5b50610258610275366004611427565b6107e6565b34801561028657600080fd5b506002546101a5906001600160a01b031681565b3480156102a657600080fd5b5061020a6102b5366004611386565b60046020526000908152604090205481565b6102586102d5366004611469565b61081e565b3480156102e657600080fd5b5061020a61083d565b3480156102fb57600080fd5b5061020a61030a3660046113fd565b61085a565b34801561031b57600080fd5b5061017061032a366004611427565b610943565b34801561033b57600080fd5b5061020a60005481565b34801561035157600080fd5b50610258610360366004611386565b61097b565b34801561037157600080fd5b5061020a600081565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161017c9190611557565b3480156103c457600080fd5b5061020a60008051602061166383398151915281565b3480156103e657600080fd5b506103fa6103f53660046113fd565b6109d0565b60408051938452602084019290925215159082015260600161017c565b34801561042357600080fd5b5061025861043236600461158a565b610a40565b34801561044357600080fd5b50610258610452366004611427565b610c02565b34801561046357600080fd5b506104966104723660046113fd565b60036020908152600092835260408084209091529082529020805460019091015482565b6040805192835260208301919091520161017c565b3480156104b757600080fd5b506102586104c63660046113e4565b610c1e565b3480156104d757600080fd5b5061020a7f3c7a14b677662708c4e3812ebc2a1e9804db1d962f2bfa6d810ccd371f177ab181565b60006001600160e01b03198216637965db0b60e01b148061053057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6001600160a01b0381166000908152600460205260408120546060918167ffffffffffffffff81111561056b5761056b611453565b604051908082528060200260200182016040528015610594578160200160208202803683370190505b5090506000805b8381101561061a576001600160a01b0386166000908152600360209081526040808320848452825291829020825180840190935280548084526001909101549183019190915215610611578184846105f2816115eb565b95508151811061060457610604611604565b6020026020010181815250505b5060010161059b565b5060008167ffffffffffffffff81111561063657610636611453565b60405190808252806020026020018201604052801561065f578160200160208202803683370190505b50905060005b828110156106ac5783818151811061067f5761067f611604565b602002602001015182828151811061069957610699611604565b6020908102919091010152600101610665565b5095945050505050565b60009081526000805160206116a3833981519152602052604090206001015490565b6002546000906001600160a01b0316331461070657604051635c427cd960e01b815260040160405180910390fd5b6001600160a01b038316600090815260036020908152604080832085845290915281208054909181900361074d5760405163628beb8360e11b815260040160405180910390fd5b600054826001015461075f919061161a565b42101561077f57604051634d758ebd60e11b815260040160405180910390fd5b6001600160a01b0380861660009081526003602090815260408083208884529091528120818155600190810191909155546107bc91168683610c6f565b949350505050565b6107cd826106b6565b6107d681610cc1565b6107e08383610cce565b50505050565b6001600160a01b038116331461080f5760405163334bd91960e11b815260040160405180910390fd5b6108198282610d73565b505050565b610826610def565b61082f82610e96565b6108398282610ee5565b5050565b6000610847610fa2565b5060008051602061168383398151915290565b6002546000906001600160a01b0316331461088857604051635c427cd960e01b815260040160405180910390fd5b6001600160a01b0383166108af5760405163e6c4247b60e01b815260040160405180910390fd5b816000036108d05760405163162908e360e11b815260040160405180910390fd5b6001600160a01b0383166000908152600460205260408120805490826108f5836115eb565b909155506040805180820182528581524260208083019182526001600160a01b0389166000908152600382528481208682529091529290922090518155905160019091015591505092915050565b60009182526000805160206116a3833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600061098681610cc1565b6001600160a01b0382166109ad5760405163e6c4247b60e01b815260040160405180910390fd5b50600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03821660009081526003602090815260408083208484528252808320815180830190925280548083526001909101549282018390528392839291908115801590610a3257506000548360200151610a2e919061161a565b4210155b935093509350509250925092565b6000610a4a610feb565b805490915060ff600160401b820416159067ffffffffffffffff16600081158015610a725750825b905060008267ffffffffffffffff166001148015610a8f5750303b155b905081158015610a9d575080155b15610abb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610ae557845460ff60401b1916600160401b1785555b610aed611014565b610af5611014565b600180546001600160a01b03808c166001600160a01b03199283161790925560028054928b16929091169190911790556000868155610b349088610cce565b50610b4d60008051602061166383398151915288610cce565b50610b787f3c7a14b677662708c4e3812ebc2a1e9804db1d962f2bfa6d810ccd371f177ab188610cce565b50610bb16000805160206116638339815191527f3c7a14b677662708c4e3812ebc2a1e9804db1d962f2bfa6d810ccd371f177ab161101c565b8315610bf757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b610c0b826106b6565b610c1481610cc1565b6107e08383610d73565b6000610c2981610cc1565b600080549083905560408051828152602081018590527f905a5348ec25999af4b797cd9df824e71c9cfc174932d53075662b6e6ff030ba910160405180910390a1505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261081990849061107f565b610ccb81336110f0565b50565b60006000805160206116a3833981519152610ce98484610943565b610d69576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055610d1f3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610530565b6000915050610530565b60006000805160206116a3833981519152610d8e8484610943565b15610d69576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610530565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610e7657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e6a600080516020611683833981519152546001600160a01b031690565b6001600160a01b031614155b15610e945760405163703e46dd60e11b815260040160405180910390fd5b565b600080516020611663833981519152610eae81610cc1565b6001600160a01b038216610839576040516335d0b3d760e11b81526001600160a01b03831660048201526024015b60405180910390fd5b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f3f575060408051601f3d908101601f19168201909252610f3c9181019061162d565b60015b610f6757604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610edc565b6000805160206116838339815191528114610f9857604051632a87526960e21b815260048101829052602401610edc565b6108198383611129565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e945760405163703e46dd60e11b815260040160405180910390fd5b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610530565b610e9461117f565b6000805160206116a38339815191526000611036846106b6565b600085815260208490526040808220600101869055519192508491839187917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a450505050565b600080602060008451602086016000885af1806110a2576040513d6000823e3d81fd5b50506000513d915081156110ba5780600114156110c7565b6001600160a01b0384163b155b156107e057604051635274afe760e01b81526001600160a01b0385166004820152602401610edc565b6110fa8282610943565b6108395760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610edc565b611132826111a4565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611177576108198282611209565b61083961127f565b61118761129e565b610e9457604051631afcd79f60e31b815260040160405180910390fd5b806001600160a01b03163b6000036111da57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610edc565b60008051602061168383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516112269190611646565b600060405180830381855af49150503d8060008114611261576040519150601f19603f3d011682016040523d82523d6000602084013e611266565b606091505b50915091506112768583836112b8565b95945050505050565b3415610e945760405163b398979f60e01b815260040160405180910390fd5b60006112a8610feb565b54600160401b900460ff16919050565b6060826112cd576112c882611317565b611310565b81511580156112e457506001600160a01b0384163b155b1561130d57604051639996b31560e01b81526001600160a01b0385166004820152602401610edc565b50805b9392505050565b8051156113275780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b60006020828403121561135257600080fd5b81356001600160e01b03198116811461131057600080fd5b80356001600160a01b038116811461138157600080fd5b919050565b60006020828403121561139857600080fd5b6113108261136a565b602080825282518282018190526000918401906040840190835b818110156113d95783518352602093840193909201916001016113bb565b509095945050505050565b6000602082840312156113f657600080fd5b5035919050565b6000806040838503121561141057600080fd5b6114198361136a565b946020939093013593505050565b6000806040838503121561143a57600080fd5b8235915061144a6020840161136a565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561147c57600080fd5b6114858361136a565b9150602083013567ffffffffffffffff8111156114a157600080fd5b8301601f810185136114b257600080fd5b803567ffffffffffffffff8111156114cc576114cc611453565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156114fb576114fb611453565b60405281815282820160200187101561151357600080fd5b816020840160208301376000602083830101528093505050509250929050565b60005b8381101561154e578181015183820152602001611536565b50506000910152565b6020815260008251806020840152611576816040850160208701611533565b601f01601f19169190910160400192915050565b600080600080608085870312156115a057600080fd5b6115a98561136a565b93506115b76020860161136a565b92506115c56040860161136a565b9396929550929360600135925050565b634e487b7160e01b600052601160045260246000fd5b6000600182016115fd576115fd6115d5565b5060010190565b634e487b7160e01b600052603260045260246000fd5b80820180821115610530576105306115d5565b60006020828403121561163f57600080fd5b5051919050565b60008251611658818460208701611533565b919091019291505056fe88aa719609f728b0c5e7fb8dd3608d5c25d497efbb3b9dd64e9251ebba101508360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212204281e96a77dc382c45977eb6f731cde24f78dd1cee0341c1cdab872c72632cc264736f6c634300081c0033