0 txs
2.7k calls
constructor
constructor(address _roleStore, address _dataStore)
functions
dataStore
viewfunction dataStore() view returns (address)
roleStore
viewfunction roleStore() view returns (address)
transferOut
nonpayablefunction transferOut(address token, address receiver, uint256 amount, bool shouldUnwrapNativeToken)
transferOut
nonpayablefunction transferOut(address token, address receiver, uint256 amount)
transferOutNativeToken
nonpayablefunction transferOutNativeToken(address receiver, uint256 amount)
events
TokenTransferReverted
event TokenTransferReverted(string reason, bytes returndata)
errors
EmptyHoldingAddress
error EmptyHoldingAddress()
EmptyReceiver
error EmptyReceiver()
EmptyTokenTranferGasLimit
error EmptyTokenTranferGasLimit(address token)
InvalidNativeTokenSender
error InvalidNativeTokenSender(address msgSender)
SelfTransferNotSupported
error SelfTransferNotSupported(address receiver)
TokenTransferError
error TokenTransferError(address token, address receiver, uint256 amount)
Unauthorized
error Unauthorized(address msgSender, string role)
creation bytecode
0x60c060405234801561001057600080fd5b50604051610fe8380380610fe883398101604081905261002f9161005e565b6001600160a01b039182166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a051610f026100e660003960008181605a01528181610157015281816102c5015281816103490152818161045e01526104b501526000818161010d01526103910152610f026000f3fe60806040526004361061004e5760003560e01c8063078d3b79146100bb5780632fb12605146100db5780634a4a7b04146100fb578063660d0d6714610145578063d443ca941461017957600080fd5b366100b657600061007e7f0000000000000000000000000000000000000000000000000000000000000000610199565b9050336001600160a01b038216146100b4573360405163738d28df60e11b81526004016100ab9190610bb9565b60405180910390fd5b005b600080fd5b3480156100c757600080fd5b506100b46100d6366004610be2565b61024c565b3480156100e757600080fd5b506100b46100f6366004610c31565b6102ac565b34801561010757600080fd5b5061012f7f000000000000000000000000000000000000000000000000000000000000000081565b60405161013c9190610bb9565b60405180910390f35b34801561015157600080fd5b5061012f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561018557600080fd5b506100b4610194366004610c84565b610330565b6000816001600160a01b03166321f8a7216040516020016101d19060208082526003908201526215d39560ea1b604082015260600190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161020591815260200190565b602060405180830381865afa158015610222573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102469190610cb0565b92915050565b61029c60405160200161025e90610cd4565b604051602081830303815290604052805190602001206040518060400160405280600a81526020016921a7a72a2927a62622a960b11b81525061037a565b6102a783838361042e565b505050565b6102be60405160200161025e90610cd4565b60006102e97f0000000000000000000000000000000000000000000000000000000000000000610199565b9050806001600160a01b0316856001600160a01b03161480156103095750815b1561031e57610319858585610485565b610329565b61032985858561042e565b5050505050565b61034260405160200161025e90610cd4565b600061036d7f0000000000000000000000000000000000000000000000000000000000000000610199565b90506102a7818484610485565b60405163ac4ab3fb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ac4ab3fb906103c89033908690600401610cf8565b602060405180830381865afa1580156103e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104099190610d11565b61042a57338160405163a35b150b60e01b81526004016100ab929190610d7e565b5050565b306001600160a01b038316036104595781604051637387c8a960e11b81526004016100ab9190610bb9565b6102a77f00000000000000000000000000000000000000000000000000000000000000008484846104dc565b306001600160a01b038316036104b05781604051637387c8a960e11b81526004016100ab9190610bb9565b6102a77f000000000000000000000000000000000000000000000000000000000000000084848461072f565b8015610726576104eb8261088f565b6000846001600160a01b031663bd02d0f5610505866108b6565b6040518263ffffffff1660e01b815260040161052391815260200190565b602060405180830381865afa158015610540573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105649190610daa565b9050806000036105895783604051634fe14bfd60e11b81526004016100ab9190610bb9565b60006105978585858561093e565b50905080156105a7575050610726565b6000866001600160a01b03166321f8a7216040516020016105eb906020808252600f908201526e484f4c44494e475f4144445245535360881b604082015260600190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161061f91815260200190565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190610cb0565b90506001600160a01b03811661068957604051633a6de2f560e21b815260040160405180910390fd5b6000806106988884888861093e565b9150915081156106ac575050505050610726565b60006106b782610aa6565b5090507fc9f14d9a0a9b46470c7c0b6c508f8283abaab7f795f153953c58cd4250824dae81836040516106eb929190610dc3565b60405180910390a160405163012f3b8f60e71b81526001600160a01b03808b16600483015289166024820152604481018890526064016100ab565b50505050565b50565b80156107265761073e8261088f565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d90602401600060405180830381600087803b15801561078057600080fd5b505af1158015610794573d6000803e3d6000fd5b505050506000846001600160a01b031663bd02d0f56040516020016107ea906020808252601f908201527f4e41544956455f544f4b454e5f5452414e534645525f4741535f4c494d495400604082015260600190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161081e91815260200190565b602060405180830381865afa15801561083b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085f9190610daa565b90506000806000806000868887f19050801561087c575050610726565b610887868585610b36565b505050505050565b6001600160a01b03811661072c5760405163d551823d60e01b815260040160405180910390fd5b60006040516020016108f4906020808252601890820152771513d2d15397d514905394d1915497d1d054d7d31253525560421b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b03841690820152606001604051602081830303815290604052805190602001209050919050565b60006060600063a9059cbb60e01b868660405160240161095f929190610cf8565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050509050600080886001600160a01b031686846040516109b09190610df1565b60006040518083038160008787f1925050503d80600081146109ee576040519150601f19603f3d011682016040523d82523d6000602084013e6109f3565b606091505b50915091508115610a94578051600003610a51576001600160a01b0389163b610a515760006040518060400160405280601481526020017310d85b1b081d1bc81b9bdb8b58dbdb9d1c9858dd60621b81525094509450505050610a9d565b60008151118015610a73575080806020019051810190610a719190610d11565b155b15610a8657600094509250610a9d915050565b600194509250610a9d915050565b60009450925050505b94509492505050565b60606000604483511015610acd575050604080516020810190915260008082529092909150565b6000610ada846020015190565b90506307b9e43360e51b6001600160e01b0319821601610b195760048401935083806020019051810190610b0e9190610e23565b946001945092505050565b600060405180602001604052806000815250909250925050915091565b80600003610b4357505050565b610b4c8261088f565b6000610b5784610199565b9050806001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b9457600080fd5b505af1158015610ba8573d6000803e3d6000fd5b5050505050610726848285856104dc565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461072c57600080fd5b600080600060608486031215610bf757600080fd5b8335610c0281610bcd565b92506020840135610c1281610bcd565b929592945050506040919091013590565b801515811461072c57600080fd5b60008060008060808587031215610c4757600080fd5b8435610c5281610bcd565b93506020850135610c6281610bcd565b9250604085013591506060850135610c7981610c23565b939692955090935050565b60008060408385031215610c9757600080fd5b8235610ca281610bcd565b946020939093013593505050565b600060208284031215610cc257600080fd5b8151610ccd81610bcd565b9392505050565b6020808252600a908201526921a7a72a2927a62622a960b11b604082015260600190565b6001600160a01b03929092168252602082015260400190565b600060208284031215610d2357600080fd5b8151610ccd81610c23565b60005b83811015610d49578181015183820152602001610d31565b50506000910152565b60008151808452610d6a816020860160208601610d2e565b601f01601f19169290920160200192915050565b6001600160a01b0383168152604060208201819052600090610da290830184610d52565b949350505050565b600060208284031215610dbc57600080fd5b5051919050565b604081526000610dd66040830185610d52565b8281036020840152610de88185610d52565b95945050505050565b60008251610e03818460208701610d2e565b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610e3557600080fd5b81516001600160401b03811115610e4b57600080fd5b8201601f81018413610e5c57600080fd5b80516001600160401b03811115610e7557610e75610e0d565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610ea357610ea3610e0d565b604052818152828201602001861015610ebb57600080fd5b610de8826020830160208601610d2e56fea2646970667358221220c55bf35a29ffb98c053bb157c8352144b68bbac526876fdeebf7680aa98dc1a464736f6c634300081d00330000000000000000000000003c3d99fd298f679dbc2cecd132b4ec4d0f5e6e72000000000000000000000000fd70de6b91282d8017aa4e741e9ae325cab992d8