ETH Price: $1,561.47 (-2.45%)
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To

There are no matching entries

Please try again later

Parent Transaction Hash Block From To
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading
Exact Match Similar Match: 0xB38EF399...D557ad8d9
Constructor

Contract Name

ManagedWithdrawReportedStrategy

Compiler Version
v0.8.25+commit.b61c2a91
Optimization Enabled
Yes with 200 runs
Other Settings
cancun EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[{"internalType":"bytes","name":"returnData","type":"bytes"}],"name":"CallRevert","type":"error"},{"inputs":[],"name":"CannotCallToken","type":"error"},{"inputs":[],"name":"InvalidAddress","type":"error"},{"inputs":[],"name":"InvalidArrayLengths","type":"error"},{"inputs":[],"name":"InvalidReporter","type":"error"},{"inputs":[],"name":"InvalidRoleManager","type":"error"},{"inputs":[],"name":"InvalidRules","type":"error"},{"inputs":[],"name":"TokenAlreadyDeployed","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint256","name":"roleRequired","type":"uint256"}],"name":"UnauthorizedRole","type":"error"},{"inputs":[],"name":"WithdrawInvalidSignature","type":"error"},{"inputs":[],"name":"WithdrawNonceReuse","type":"error"},{"inputs":[],"name":"WithdrawalRequestExpired","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"Call","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"controller","type":"address"}],"name":"ControllerConfigured","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldManager","type":"address"},{"indexed":true,"internalType":"address","name":"newManager","type":"address"}],"name":"ManagerChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"cancelledAdmin","type":"address"}],"name":"NoAdminChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"PendingAdminChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"roleManager","type":"address"}],"name":"RoleManagerInitialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"reporter","type":"address"}],"name":"SetReporter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"},{"indexed":true,"internalType":"address","name":"manager","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"address","name":"sToken","type":"address"}],"name":"StrategyInitialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint96","name":"nonce","type":"uint96"}],"name":"WithdrawalNonceUsed","type":"event"},{"inputs":[],"name":"asset","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"assetDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"uint256","name":"minAssets","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint96","name":"nonce","type":"uint96"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint96","name":"expirationTime","type":"uint96"}],"internalType":"struct ManagedWithdrawReportedStrategy.WithdrawalRequest[]","name":"requests","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct ManagedWithdrawReportedStrategy.Signature[]","name":"signatures","type":"tuple[]"}],"name":"batchRedeem","outputs":[{"internalType":"uint256[]","name":"assets","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"call","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"callStrategyToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"roleManager_","type":"address"},{"internalType":"address","name":"manager_","type":"address"},{"internalType":"address","name":"asset_","type":"address"},{"internalType":"uint8","name":"assetDecimals_","type":"uint8"},{"internalType":"bytes","name":"initData","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pricePerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"pullToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"uint256","name":"minAssets","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint96","name":"nonce","type":"uint96"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint96","name":"expirationTime","type":"uint96"}],"internalType":"struct ManagedWithdrawReportedStrategy.WithdrawalRequest","name":"request","type":"tuple"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct ManagedWithdrawReportedStrategy.Signature","name":"userSig","type":"tuple"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"registry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reporter","outputs":[{"internalType":"contract IReporter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"roleManager","outputs":[{"internalType":"contract RoleManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"sendETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sendToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setAllowance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newManager","type":"address"}],"name":"setManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_reporter","type":"address"}],"name":"setReporter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint96","name":"","type":"uint96"}],"name":"usedNonces","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Deployed Bytecode
0x608060405260043610610128575f3560e01c8063481c6a75116100a857806399530b061161006d57806399530b061461036a5780639ebdf12c1461037e578063b69ef8a81461039d578063c2d41601146103b1578063d0ebdbe7146103e3578063da46098c14610402575f80fd5b8063481c6a75146102bf5780634c925032146102de5780636dbf2fa0146102fd5780636e551f221461032a5780637b10399914610356575f80fd5b80632e144579116100ee5780632e144579146102165780632fdcfbd214610235578063309e9a091461025457806338d52e0f1461027357806347597d9c14610292575f80fd5b8062435da514610133578063010ec4411461016e578063081932db1461018d57806321b1e5f8146101d65780632bf71fe9146101f7575f80fd5b3661012f57005b5f80fd5b34801561013e575f80fd5b505f54610151906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610179575f80fd5b50600454610151906001600160a01b031681565b348015610198575f80fd5b506101c66101a7366004611a29565b600560209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610165565b3480156101e1575f80fd5b506101f56101f0366004611a5c565b610421565b005b348015610202575f80fd5b506101f5610211366004611b90565b61049c565b348015610221575f80fd5b506101f5610230366004611c64565b6104b8565b348015610240575f80fd5b506101f561024f366004611c64565b6104fc565b34801561025f575f80fd5b506101f561026e366004611ca2565b61053a565b34801561027e575f80fd5b50600254610151906001600160a01b031681565b34801561029d575f80fd5b506102b16102ac366004611ce0565b61071f565b604051908152602001610165565b3480156102ca575f80fd5b50600154610151906001600160a01b031681565b3480156102e9575f80fd5b506101f56102f8366004611a5c565b610817565b348015610308575f80fd5b5061031c610317366004611d22565b6108b1565b604051610165929190611da7565b348015610335575f80fd5b50610349610344366004611dc9565b610a19565b6040516101659190611ebf565b348015610361575f80fd5b50610151610d94565b348015610375575f80fd5b506102b1610e0d565b348015610389575f80fd5b50600354610151906001600160a01b031681565b3480156103a8575f80fd5b506102b1610e97565b3480156103bc575f80fd5b506002546103d190600160a01b900460ff1681565b60405160ff9091168152602001610165565b3480156103ee575f80fd5b506101f56103fd366004611a5c565b61104c565b34801561040d575f80fd5b506101f561041c366004611c64565b6111a0565b6001546001600160a01b0316331461044b576040516282b42960e81b815260040160405180910390fd5b6040516001600160a01b0382169047905f81818185875af1925050503d805f8114610491576040519150601f19603f3d011682016040523d82523d5f602084013e610496565b606091505b50505050565b6104ad8989898989898989896111de565b505050505050505050565b6001546001600160a01b031633146104e2576040516282b42960e81b815260040160405180910390fd5b6104f76001600160a01b03841683308461127f565b505050565b6001546001600160a01b03163314610526576040516282b42960e81b815260040160405180910390fd5b6104f76001600160a01b03841683836112d8565b5f8054906101000a90046001600160a01b03166001600160a01b0316638992929c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac9190611ed1565b5f5460405163145398bf60e21b8152336004820152602481018390526001600160a01b039091169063514e62fc90604401602060405180830381865afa1580156105f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061c9190611ee8565b6106475760405163418b5b9d60e11b8152336004820152602481018290526044015b60405180910390fd5b6003546040515f9182916001600160a01b039091169061066a9087908790611f07565b5f604051808303815f865af19150503d805f81146106a3576040519150601f19603f3d011682016040523d82523d5f602084013e6106a8565b606091505b5091509150816106cd578060405163bba5858960e01b815260040161063e9190611f16565b6003546040516001600160a01b03909116907f58920bab8ebe20f458895b68243189a021c51741421c3d98eff715b8e5afe1fa90610710905f9089908990611f50565b60405180910390a25050505050565b6001545f906001600160a01b0316331461074b576040516282b42960e81b815260040160405180910390fd5b61075483611322565b61075e838361147e565b6003546001600160a01b0316639f40a7b3843561078160a0870160808801611a5c565b6107916060880160408901611a5c565b6040516001600160e01b031960e086901b16815260048101939093526001600160a01b039182166024840152166044820152602086013560648201526084016020604051808303815f875af11580156107ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108109190611ed1565b9392505050565b6001546001600160a01b03163314610841576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03811661086857604051631d73770560e11b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fb4eda453b9dd76fa43a6adc49c2c2ae46d7d3dc55c5906261a33e0decfbec057905f90a250565b6001545f906060906001600160a01b031633146108e0576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03861615806108fe57506001600160a01b03861630145b1561091c5760405163e6c4247b60e01b815260040160405180910390fd5b6003546001600160a01b039081169087160361094b57604051631e47b9cd60e31b815260040160405180910390fd5b856001600160a01b0316858585604051610966929190611f07565b5f6040518083038185875af1925050503d805f81146109a0576040519150601f19603f3d011682016040523d82523d5f602084013e6109a5565b606091505b509092509050816109cb578060405163bba5858960e01b815260040161063e9190611f16565b856001600160a01b03167f58920bab8ebe20f458895b68243189a021c51741421c3d98eff715b8e5afe1fa868686604051610a0893929190611f50565b60405180910390a294509492505050565b6001546060906001600160a01b03163314610a46576040516282b42960e81b815260040160405180910390fd5b838214610a665760405163a9854bc960e01b815260040160405180910390fd5b5f846001600160401b03811115610a7f57610a7f611ad4565b604051908082528060200260200182016040528015610aa8578160200160208202803683370190505b5090505f856001600160401b03811115610ac457610ac4611ad4565b604051908082528060200260200182016040528015610aed578160200160208202803683370190505b5090505f866001600160401b03811115610b0957610b09611ad4565b604051908082528060200260200182016040528015610b32578160200160208202803683370190505b5090505f876001600160401b03811115610b4e57610b4e611ad4565b604051908082528060200260200182016040528015610b77578160200160208202803683370190505b5090505f5b88811015610d0e57610ba48a8a83818110610b9957610b99611f72565b905060c00201611322565b610bdc8a8a83818110610bb957610bb9611f72565b905060c00201898984818110610bd157610bd1611f72565b90506060020161147e565b898982818110610bee57610bee611f72565b905060c002015f0135858281518110610c0957610c09611f72565b602002602001018181525050898982818110610c2757610c27611f72565b905060c002016080016020810190610c3f9190611a5c565b848281518110610c5157610c51611f72565b60200260200101906001600160a01b031690816001600160a01b031681525050898982818110610c8357610c83611f72565b905060c002016040016020810190610c9b9190611a5c565b838281518110610cad57610cad611f72565b60200260200101906001600160a01b031690816001600160a01b031681525050898982818110610cdf57610cdf611f72565b905060c0020160200135828281518110610cfb57610cfb611f72565b6020908102919091010152600101610b7c565b50600354604051630cab09d560e21b81526001600160a01b03909116906332ac275490610d45908790879087908790600401611fbe565b5f604051808303815f875af1158015610d60573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d879190810190612015565b9998505050505050505050565b5f805f9054906101000a90046001600160a01b03166001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e0891906120b5565b905090565b5f60045f9054906101000a90046001600160a01b03166001600160a01b0316632606a10b6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610e5d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e8491908101906120d0565b806020019051810190610e089190611ed1565b6004805460408051632606a10b60e01b815290515f9384936001600160a01b031692632606a10b928183019286928290030181865afa158015610edc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f0391908101906120d0565b806020019051810190610f169190611ed1565b90505f60035f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8d9190611ed1565b90505f60035f9054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fe0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110049190612144565b6002549091505f90600160a01b900460ff16611021836012612173565b61102b9190612192565b61103690600a61228b565b90506110438484836116db565b94505050505090565b5f8054906101000a90046001600160a01b03166001600160a01b0316638992929c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561109a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110be9190611ed1565b5f5460405163145398bf60e21b8152336004820152602481018390526001600160a01b039091169063514e62fc90604401602060405180830381865afa15801561110a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112e9190611ee8565b6111545760405163418b5b9d60e11b81523360048201526024810182905260440161063e565b600180546001600160a01b0319166001600160a01b03841690811790915560405181907fa860735870bed3facc9fc54c41108b1c5a273ea42e3fd7fb54f5124e990ef87b905f90a35050565b6001546001600160a01b031633146111ca576040516282b42960e81b815260040160405180910390fd5b6104f76001600160a01b0384168383611700565b6111ef898989898989898989611780565b5f8180602001905181019061120491906120b5565b90506001600160a01b03811661122d57604051631d73770560e11b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fb4eda453b9dd76fa43a6adc49c2c2ae46d7d3dc55c5906261a33e0decfbec057905f90a250505050505050505050565b60405181606052826040528360601b602c526323b872dd60601b600c5260205f6064601c5f895af18060015f5114166112ca57803d873b1517106112ca57637939f4245f526004601cfd5b505f60605260405250505050565b816014528060345263a9059cbb60601b5f5260205f604460105f875af18060015f51141661131857803d853b151710611318576390b8ec185f526004601cfd5b505f603452505050565b4261133360c0830160a08401612299565b6001600160601b0316101561135b5760405163271997a960e11b815260040160405180910390fd5b5f60058161136f6060850160408601611a5c565b6001600160a01b0316815260208101919091526040015f9081209150819061139d6080850160608601612299565b6001600160601b0316815260208101919091526040015f205460ff16156113d757604051633834e53160e01b815260040160405180910390fd5b6001815f6113eb6080860160608701612299565b6001600160601b03168152602081019190915260409081015f20805460ff1916921515929092179091556114259060608401908401611a5c565b6001600160a01b03167f0c5c052a8523c82e037f4c91bf81ce8a8f0df9bc89bdd872c1338e27d667661961145f6080850160608601612299565b6040516001600160601b03909116815260200160405180910390a25050565b5f7fe8c5e883f3410c872ea73823d1ffe6b761c739dd31959b30b204854e9ff5cc496114b06060850160408601611a5c565b6114c060a0860160808701611a5c565b853560208701356114d76080890160608a01612299565b6114e760c08a0160a08b01612299565b6040805160208101989098526001600160a01b0396871690880152949093166060860152608085019190915260a08401526001600160601b0390811660c08401521660e0820152610100016040516020818303038152906040528051906020012090505f611633604080518082018252601f81527f4d616e6167656457697468647261775265706f72746564537472617465677900602091820152815180830183526002815261563160f01b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f5986d7bc1b80ab258a7572ef95e0ef60d84bbbce54e6eb4b4e5e2f54992b70d4818401527f4c23426613a5dc69e08fbd2787e6210aa679d4522e95a89d4dd88c4fd13a228360608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b60405161190160f01b60208201526022810191909152604281018390526062016040516020818303038152906040528051906020012090505f61169182855f01602081019061168291906122b2565b866020013587604001356118e1565b90506116a36060860160408701611a5c565b6001600160a01b0316816001600160a01b0316146116d45760405163cb1c3b0960e01b815260040160405180910390fd5b5050505050565b828202831584820484141782026116f95763ad251c275f526004601cfd5b0492915050565b816014528060345263095ea7b360601b5f5260205f604460105f875af18060015f51141661131857803d853b151710611318575f60345263095ea7b360601b5f525f38604460105f885af1508160345260205f604460105f885af190508060015f51141661131857803d853b15171061131857633e3f8f735f526004601cfd5b600354600160a01b900460ff16156117aa5760405162dc149f60e41b815260040160405180910390fd5b6003805460ff60a01b1916600160a01b1790556001600160a01b0384166117e45760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03831661180b5760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0386811691909117909155600280549185166001600160a81b031990921691909117600160a01b60ff85160217905561185885611926565b600254611876908a908a908a908a906001600160a01b031687611994565b600380546001600160a01b0319166001600160a01b039283169081179091556002546001546040519283529083169216905f907f67d60251e7fb24788566a45d564dd80b11e3a68082dd61c162bb77424d11c2529060200160405180910390a4505050505050505050565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d61191757638baa579f5f526004601cfd5b5f606052604052949350505050565b6001600160a01b03811661194d576040516309a53a6560e31b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b038316908117825560405190917f6f865f6929ab0789d634d1f4591672186c120e6f5eb4f319efb07a3f894ff86d91a250565b5f80878787878787306040516119a9906119df565b6119b997969594939291906122cd565b604051809103905ff0801580156119d2573d5f803e3d5ffd5b5098975050505050505050565b6134838061232483390190565b6001600160a01b0381168114611a00575f80fd5b50565b8035611a0e816119ec565b919050565b80356001600160601b0381168114611a0e575f80fd5b5f8060408385031215611a3a575f80fd5b8235611a45816119ec565b9150611a5360208401611a13565b90509250929050565b5f60208284031215611a6c575f80fd5b8135610810816119ec565b5f8083601f840112611a87575f80fd5b5081356001600160401b03811115611a9d575f80fd5b602083019150836020828501011115611ab4575f80fd5b9250929050565b60ff81168114611a00575f80fd5b8035611a0e81611abb565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715611b1057611b10611ad4565b604052919050565b5f6001600160401b03821115611b3057611b30611ad4565b50601f01601f191660200190565b5f82601f830112611b4d575f80fd5b8135611b60611b5b82611b18565b611ae8565b818152846020838601011115611b74575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f805f60e08a8c031215611ba8575f80fd5b89356001600160401b0380821115611bbe575f80fd5b611bca8d838e01611a77565b909b50995060208c0135915080821115611be2575f80fd5b611bee8d838e01611a77565b909950975060408c01359150611c03826119ec565b90955060608b013590611c15826119ec565b819550611c2460808d01611a03565b9450611c3260a08d01611ac9565b935060c08c0135915080821115611c47575f80fd5b50611c548c828d01611b3e565b9150509295985092959850929598565b5f805f60608486031215611c76575f80fd5b8335611c81816119ec565b92506020840135611c91816119ec565b929592945050506040919091013590565b5f8060208385031215611cb3575f80fd5b82356001600160401b03811115611cc8575f80fd5b611cd485828601611a77565b90969095509350505050565b5f80828403610120811215611cf3575f80fd5b60c0811215611d00575f80fd5b839250606060bf1982011215611d14575f80fd5b5060c0830190509250929050565b5f805f8060608587031215611d35575f80fd5b8435611d40816119ec565b93506020850135925060408501356001600160401b03811115611d61575f80fd5b611d6d87828801611a77565b95989497509550505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201525f611dc16040830184611d79565b949350505050565b5f805f8060408587031215611ddc575f80fd5b84356001600160401b0380821115611df2575f80fd5b818701915087601f830112611e05575f80fd5b813581811115611e13575f80fd5b88602060c083028501011115611e27575f80fd5b602092830196509450908601359080821115611e41575f80fd5b818701915087601f830112611e54575f80fd5b813581811115611e62575f80fd5b886020606083028501011115611e76575f80fd5b95989497505060200194505050565b5f815180845260208085019450602084015f5b83811015611eb457815187529582019590820190600101611e98565b509495945050505050565b602081525f6108106020830184611e85565b5f60208284031215611ee1575f80fd5b5051919050565b5f60208284031215611ef8575f80fd5b81518015158114610810575f80fd5b818382375f9101908152919050565b602081525f6108106020830184611d79565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b838152604060208201525f611f69604083018486611f28565b95945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b83811015611eb45781516001600160a01b031687529582019590820190600101611f99565b608081525f611fd06080830187611e85565b8281036020840152611fe28187611f86565b90508281036040840152611ff68186611f86565b9050828103606084015261200a8185611e85565b979650505050505050565b5f6020808385031215612026575f80fd5b82516001600160401b038082111561203c575f80fd5b818501915085601f83011261204f575f80fd5b81518181111561206157612061611ad4565b8060051b9150612072848301611ae8565b818152918301840191848101908884111561208b575f80fd5b938501935b838510156120a957845182529385019390850190612090565b98975050505050505050565b5f602082840312156120c5575f80fd5b8151610810816119ec565b5f602082840312156120e0575f80fd5b81516001600160401b038111156120f5575f80fd5b8201601f81018413612105575f80fd5b8051612113611b5b82611b18565b818152856020838501011115612127575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031215612154575f80fd5b815161081081611abb565b634e487b7160e01b5f52601160045260245ffd5b60ff818116838216019081111561218c5761218c61215f565b92915050565b60ff828116828216039081111561218c5761218c61215f565b600181815b808511156121e557815f19048211156121cb576121cb61215f565b808516156121d857918102915b93841c93908002906121b0565b509250929050565b5f826121fb5750600161218c565b8161220757505f61218c565b816001811461221d576002811461222757612243565b600191505061218c565b60ff8411156122385761223861215f565b50506001821b61218c565b5060208310610133831016604e8410600b8410161715612266575081810a61218c565b61227083836121ab565b805f19048211156122835761228361215f565b029392505050565b5f61081060ff8416836121ed565b5f602082840312156122a9575f80fd5b61081082611a13565b5f602082840312156122c2575f80fd5b813561081081611abb565b60a081525f6122e060a08301898b611f28565b82810360208401526122f381888a611f28565b6001600160a01b03968716604085015260ff9590951660608401525050921660809092019190915294935050505056fe60e060405234801561000f575f80fd5b5060405161348338038061348383398101604081905261002e9161019d565b84848484846001600160a01b03831661005a5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166100815760405163e6c4247b60e01b815260040160405180910390fd5b601260ff831611156100a657604051630692acc560e51b815260040160405180910390fd5b60016100b286826102b7565b505f6100be85826102b7565b506001600160a01b0392831660805260ff90911660a0521660c0525061037695505050505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610109575f80fd5b81516001600160401b0380821115610123576101236100e6565b604051601f8301601f19908116603f0116810190828211818310171561014b5761014b6100e6565b81604052838152866020858801011115610163575f80fd5b8360208701602083015e5f602085830101528094505050505092915050565b80516001600160a01b0381168114610198575f80fd5b919050565b5f805f805f60a086880312156101b1575f80fd5b85516001600160401b03808211156101c7575f80fd5b6101d389838a016100fa565b965060208801519150808211156101e8575f80fd5b506101f5888289016100fa565b94505061020460408701610182565b9250606086015160ff81168114610219575f80fd5b915061022760808701610182565b90509295509295909350565b600181811c9082168061024757607f821691505b60208210810361026557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102b257805f5260205f20601f840160051c810160208510156102905750805b601f840160051c820191505b818110156102af575f815560010161029c565b50505b505050565b81516001600160401b038111156102d0576102d06100e6565b6102e4816102de8454610233565b8461026b565b602080601f831160018114610317575f84156103005750858301515b5f19600386901b1c1916600185901b17855561036e565b5f85815260208120601f198616915b8281101561034557888601518255948401946001909101908401610326565b508582101561036257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05161305761042c5f395f81816104f20152818161062e01528181610a5901528181610dad015281816111220152818161126a0152818161138601528181611548015281816117760152818161180e0152818161192f0152818161199201528181611a0901528181611fa60152818161222f015261236901525f8181610d7c0152611da201525f818161038a0152818161122e01528181611f840152818161231c015261261d01526130575ff3fe608060405234801561000f575f80fd5b506004361061024a575f3560e01c806370a0823111610140578063b3d7f6b9116100bf578063ce96cb7711610084578063ce96cb771461059a578063d505accf146105ad578063d905777e146105c0578063dc499109146105d3578063dd62ed3e14610605578063ef8b30f714610618575f80fd5b8063b3d7f6b91461054e578063b460af9414610561578063ba08765214610574578063c63d75b6146103c2578063c6e6f59214610587575f80fd5b806395d89b411161010557806395d89b41146104d25780639f40a7b3146104da578063a8c62e76146104ed578063a9059cbb14610514578063a9adfc2a14610527575f80fd5b806370a08231146104425780637ecebe001461046757806384e212491461048c5780638f46049c146104ac57806394bf804d146104bf575f80fd5b8063316fe8c1116101cc578063409547da11610191578063409547da146103d6578063472c2bd3146103f55780634cdad506146104085780635f250f691461041b5780636e553f651461042f575f80fd5b8063316fe8c11461033957806332ac2754146103605780633644e5151461038057806338d52e0f14610388578063402d267d146103c2575f80fd5b806318160ddd1161021257806318160ddd146102c75780631af05d10146102d757806323b872dd146102f75780632bb775711461030a578063313ce5671461031f575f80fd5b806301e1d1141461024e57806306fdde031461026957806307a2d13a1461027e578063095ea7b3146102915780630a28a477146102b4575b5f80fd5b61025661062b565b6040519081526020015b60405180910390f35b6102716106b1565b60405161026091906127e9565b61025661028c36600461281e565b610741565b6102a461029f366004612849565b6107ce565b6040519015158152602001610260565b6102566102c236600461281e565b61084e565b6805345cdf77eb68f44c54610256565b6102ea6102e536600461281e565b6108bb565b6040516102609190612873565b6102a46103053660046128bf565b610987565b61031d610318366004612945565b610a4e565b005b610327610d6d565b60405160ff9091168152602001610260565b6102567fa8518d2c1c36f837b794f71c4989af91cfa8e2f691ec44d51a2faeb243677cd181565b61037361036e36600461298d565b610da0565b6040516102609190612a48565b6102566112ff565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610260565b6102566103d0366004612a7f565b505f1990565b6102566103e436600461281e565b60036020525f908152604090205481565b61031d610403366004612a9a565b61137b565b61025661041636600461281e565b611497565b6102565f80516020612fe283398151915281565b61025661043d366004612a9a565b6114a1565b610256610450366004612a7f565b6387a211a2600c9081525f91909152602090205490565b610256610475366004612a7f565b6338377508600c9081525f91909152602090205490565b61049f61049a36600461281e565b6114b9565b6040516102609190612ac8565b61031d6104ba366004612b1f565b61153d565b6102566104cd366004612a9a565b611744565b61027161175c565b6102566104e8366004612b3f565b61176a565b6103aa7f000000000000000000000000000000000000000000000000000000000000000081565b6102a4610522366004612849565b61183e565b6102567f22e88b5eba316b174ad850666cd779e6e8ea04ebe64bb30f03875fc21841c4f081565b61025661055c36600461281e565b6118ad565b61025661056f366004612b84565b611923565b610256610582366004612b84565b611986565b61025661059536600461281e565b611a31565b6102566105a8366004612a7f565b611a94565b61031d6105bb366004612bc3565b611ab1565b6102566105ce366004612a7f565b611c65565b6105e66105e1366004612b1f565b611c7e565b604080516001600160a01b039093168352602083019190915201610260565b610256610613366004612c34565b611cc0565b61025661062636600461281e565b611d04565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610688573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ac9190612c60565b905090565b6060600180546106c090612c77565b80601f01602080910402602001604051908101604052809291908181526020018280546106ec90612c77565b80156107375780601f1061070e57610100808354040283529160200191610737565b820191905f5260205f20905b81548152906001019060200180831161071a57829003601f168201915b5050505050905090565b5f61074e565b9392505050565b5f610757611d9c565b60ff16905080610797576107478361076d61062b565b610778906001612cc3565b61079261078c6805345cdf77eb68f44c5490565b60010190565b611d0e565b610747836107a361062b565b6107ae906001612cc3565b6107b984600a612db6565b6805345cdf77eb68f44c546107929190612cc3565b5f6001600160a01b0383166e22d473030f116ddee9f6b43ac78ba318821915176107ff57633f68539a5f526004601cfd5b82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa35060015b92915050565b5f610859565b611dc8565b5f610862611d9c565b60ff1690508061089757610747836108816805345cdf77eb68f44c5490565b61088c906001612cc3565b61085461078c61062b565b610747836108a683600a612db6565b6805345cdf77eb68f44c5461088c9190612cc3565b5f81815260026020526040812080546060929067ffffffffffffffff8111156108e6576108e6612dc1565b60405190808252806020026020018201604052801561090f578160200160208202803683370190505b5090505f5b825481101561097f5782818154811061092f5761092f612dd5565b5f91825260209091206002909102015482516001600160a01b039091169083908390811061095f5761095f612dd5565b6001600160a01b0390921660209283029190910190910152600101610914565b509392505050565b5f610993848484611df4565b8360601b6e22d473030f116ddee9f6b43ac78ba333146109e75733602052637f5e9f208117600c526034600c2080548019156109e457808511156109de576313be252b5f526004601cfd5b84810382555b50505b6387a211a28117600c526020600c20805480851115610a0d5763f4d678b85f526004601cfd5b84810382555050835f526020600c208381540181555082602052600c5160601c8160601c5f80516020613002833981519152602080a3505060019392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a9757604051630b96ee6960e11b815260040160405180910390fd5b3068929eee149b4bd212685403610ab55763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8381526002602052604090208054828114610af05760405163b7cb4a0760e01b815260040160405180910390fd5b5f8167ffffffffffffffff811115610b0a57610b0a612dc1565b604051908082528060200260200182016040528015610b4e57816020015b604080518082019091525f8082526020820152815260200190600190039081610b285790505b5090505f5b82811015610bc657838181548110610b6d57610b6d612dd5565b5f9182526020918290206040805180820190915260029092020180546001600160a01b0316825260010154918101919091528251839083908110610bb357610bb3612dd5565b6020908102919091010152600101610b53565b505f8267ffffffffffffffff811115610be157610be1612dc1565b604051908082528060200260200182016040528015610c0a578160200160208202803683370190505b5090505f5b83811015610d1d575f878783818110610c2a57610c2a612dd5565b905060200201359050848110610c53576040516358d019df60e01b815260040160405180910390fd5b828181518110610c6557610c65612dd5565b602002602001015115610c8b57604051630286b34560e61b815260040160405180910390fd5b838181518110610c9d57610c9d612dd5565b6020026020010151868381548110610cb757610cb7612dd5565b5f91825260209182902083516002929092020180546001600160a01b0319166001600160a01b039092169190911781559101516001918201558351849083908110610d0457610d04612dd5565b9115156020928302919091019091015250600101610c0f565b50867f48aa282ab1222aa00ca8e316801496ebfa102c8347d71be019280b12351b1ea58787604051610d50929190612de9565b60405180910390a2505050503868929eee149b4bd2126855505050565b5f610d76611d9c565b6106ac907f0000000000000000000000000000000000000000000000000000000000000000612e20565b6060336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610deb57604051630b96ee6960e11b815260040160405180910390fd5b3068929eee149b4bd212685403610e095763ab143c065f526004601cfd5b3068929eee149b4bd2126855878681141580610e255750808514155b80610e305750808314155b15610e4e5760405163a9854bc960e01b815260040160405180910390fd5b8067ffffffffffffffff811115610e6757610e67612dc1565b604051908082528060200260200182016040528015610e90578160200160208202803683370190505b5091505f805b82811015610f9057610ec8888883818110610eb357610eb3612dd5565b90506020020160208101906105ce9190612a7f565b8c8c83818110610eda57610eda612dd5565b905060200201351115610f005760405163232b212d60e11b815260040160405180910390fd5b5f610f228d8d84818110610f1657610f16612dd5565b90506020020135611497565b9050868683818110610f3657610f36612dd5565b90506020020135811015610f5d57604051632044382560e21b815260040160405180910390fd5b80858381518110610f7057610f70612dd5565b6020908102919091010152610f858184612cc3565b925050600101610e96565b50610f9a81611f77565b5f80516020612fe28339815191525f908152600260209081527ffa24723fc895b271989df6e47f150e13fcd8fe50dd4e77c49d1f311030683c638054604080518285028101850190915281815292849084015b82821015611034575f848152602090819020604080518082019091526002850290910180546001600160a01b03168252600190810154828401529083529092019101610fed565b5050505090505f5b838110156112e3575f8d8d8381811061105757611057612dd5565b9050602002013590505f86838151811061107357611073612dd5565b602002602001015190505f8d8d8581811061109057611090612dd5565b90506020020160208101906110a59190612a7f565b90505f8c8c868181106110ba576110ba612dd5565b90506020020160208101906110cf9190612a7f565b90506110db8185611fcf565b5f5b86518110156111e8575f8782815181106110f9576110f9612dd5565b602090810291909101015151604051630c70241360e31b81523060048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116602483015260448201889052868116606483015285811660848301529091169063638120989060a4015f604051808303815f875af1158015611187573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111ae9190810190612ea7565b80519091506111df578060200151604051634a84814360e11b81526004016111d691906127e9565b60405180910390fd5b506001016110dd565b50855115611229575f80516020612fe28339815191525f526003602052437f9f0385b1ed938db9d43de8083df6144b17af73c79967d96ab37bc282abcfb5c3555b6112547f0000000000000000000000000000000000000000000000000000000000000000838561203b565b806001600160a01b0316826001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db86886040516112cc929190918252602082015260400190565b60405180910390a45050505080600101905061103c565b505050503868929eee149b4bd212685598975050505050505050565b5f806113096106b1565b805190602001209050604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815260208101929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69082015246606082015230608082015260a09020919050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113c457604051630b96ee6960e11b815260040160405180910390fd5b6001600160a01b0381166113eb57604051637d9e044960e11b815260040160405180910390fd5b6040805180820182526001600160a01b038381168083524360208085019182525f88815260028083529681208054600180820183558284529390922087519290980290970180546001600160a01b031916919095161784559051928101929092558354929392909186917fb7913938389428c36fa6e3a9ee44f7fdf7e638f3df36e807872f51aa89d516a49161148091612f6d565b60405190815260200160405180910390a350505050565b5f61084882610741565b5f6114ab83611d04565b905061084833838584612085565b606060025f8381526020019081526020015f20805480602002602001604051908101604052809291908181526020015f905b82821015611532575f848152602090819020604080518082019091526002850290910180546001600160a01b031682526001908101548284015290835290920191016114eb565b505050509050919050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461158657604051630b96ee6960e11b815260040160405180910390fd5b3068929eee149b4bd2126854036115a45763ab143c065f526004601cfd5b3068929eee149b4bd21268555f82815260026020526040902080548083106115df576040516374e428b760e01b815260040160405180910390fd5b5f8284815481106115f2576115f2612dd5565b905f5260205f209060020201905060035f8681526020019081526020015f20548160010154116116355760405163d9e9fe7f60e01b815260040160405180910390fd5b80546001600160a01b031661164b600184612f6d565b85146116c3578361165d600185612f6d565b8154811061166d5761166d612dd5565b905f5260205f20906002020184868154811061168b5761168b612dd5565b5f9182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549101555b838054806116d3576116d3612f80565b5f8281526020812060025f199093019283020180546001600160a01b031916815560010181905591556040516001600160a01b0383169188917feda906f5392545379935f1070f3c72b72072d8b54440d8d900db211dfcc9c6059190a3505050503868929eee149b4bd21268555050565b5f61174e836118ad565b905061084833838386612085565b60605f80546106c090612c77565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117b457604051630b96ee6960e11b815260040160405180910390fd5b6117bd83611c65565b8511156117dd5760405163232b212d60e11b815260040160405180910390fd5b6117e685611497565b90508181101561180957604051632044382560e21b815260040160405180910390fd5b6118367f00000000000000000000000000000000000000000000000000000000000000008585848961244e565b949350505050565b5f61184a338484611df4565b6387a211a2600c52335f526020600c208054808411156118715763f4d678b85f526004601cfd5b83810382555050825f526020600c208281540181555081602052600c5160601c335f80516020613002833981519152602080a350600192915050565b5f806118b7611d9c565b60ff169050806118ec57610747836118cd61062b565b6118d8906001612cc3565b61085461078c6805345cdf77eb68f44c5490565b610747836118f861062b565b611903906001612cc3565b61190e84600a612db6565b6805345cdf77eb68f44c546108549190612cc3565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461196d57604051630b96ee6960e11b815260040160405180910390fd5b604051630abd048560e01b815260040160405180910390fd5b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d057604051630b96ee6960e11b815260040160405180910390fd5b6119d982611c65565b8411156119f95760405163232b212d60e11b815260040160405180910390fd5b611a0284611497565b90506107477f00000000000000000000000000000000000000000000000000000000000000008484848861244e565b5f80611a3b611d9c565b60ff16905080611a705761074783611a5a6805345cdf77eb68f44c5490565b611a65906001612cc3565b61079261078c61062b565b61074783611a7f83600a612db6565b6805345cdf77eb68f44c54611a659190612cc3565b6387a211a2600c9081525f82815260209091205461084890610741565b6001600160a01b0386166e22d473030f116ddee9f6b43ac78ba31885191517611ae157633f68539a5f526004601cfd5b5f611aea6106b1565b8051906020012090507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc642861015611b2957631a15a3cc5f526004601cfd5b6040518960601b60601c99508860601b60601c985065383775081901600e52895f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835284602084015283604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528b60208401528a60408401528960608401528060808401528860a084015260c08320604e526042602c205f528760ff16602052866040528560605260208060805f60015afa8c3d5114611c115763ddafbaef5f526004601cfd5b0190556303faf4f960a51b89176040526034602c20889055888a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250505f60605250505050505050565b6387a211a2600c9081525f828152602090912054610848565b6002602052815f5260405f208181548110611c97575f80fd5b5f918252602090912060029091020180546001909101546001600160a01b039091169250905082565b5f6e22d473030f116ddee9f6b43ac78ba2196001600160a01b03831601611ce957505f19610848565b50602052637f5e9f20600c9081525f91909152603490205490565b5f61084882611a31565b82820281838583041485151702611d95575f198385098181108201900382848609835f038416828511611d485763ae47f7025f526004601cfd5b93849004938382119092035f839003839004600101029203041760026003830281188084028203028084028203028084028203028084028203028084028203028084029091030202610747565b0492915050565b5f6106ac7f00000000000000000000000000000000000000000000000000000000000000006012612f94565b5f611dd4848484611d0e565b9050818385091561074757600101806107475763ae47f7025f526004601cfd5b7f22e88b5eba316b174ad850666cd779e6e8ea04ebe64bb30f03875fc21841c4f05f5260026020527f149af30f8bd23f55accab099aedc99217d01dad258047cc9ac481074befba49d805415611f71575f5b8154811015611f24575f828281548110611e6257611e62612dd5565b5f91825260209091206002909102015460405163aa709eb960e01b81523060048201526001600160a01b0388811660248301528781166044830152606482018790529091169063aa709eb9906084015f604051808303815f875af1158015611ecc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ef39190810190612ea7565b8051909150611f1b578060200151604051634a84814360e11b81526004016111d691906127e9565b50600101611e46565b507f22e88b5eba316b174ad850666cd779e6e8ea04ebe64bb30f03875fc21841c4f05f526003602052437f97f17d930b298cc87b2ef7c286ab7c3efb365da5252701e362385d89271fcc3d555b50505050565b611fcc6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000030846126b8565b50565b611fda825f83611df4565b6387a211a2600c52815f526020600c208054808311156120015763f4d678b85f526004601cfd5b82900390556805345cdf77eb68f44c805482900390555f8181526001600160a01b0383165f80516020613002833981519152602083a35050565b816014528060345263a9059cbb60601b5f5260205f604460105f875af18060015f51141661207b57803d853b15171061207b576390b8ec185f526004601cfd5b505f603452505050565b3068929eee149b4bd2126854036120a35763ab143c065f526004601cfd5b3068929eee149b4bd21268557fa8518d2c1c36f837b794f71c4989af91cfa8e2f691ec44d51a2faeb243677cd15f90815260026020527f43f4e014b0d6887e738578ff59b11e8a04a487226cbde2816428eb10261f20c1905b81548110156121d9575f82828154811061211857612118612dd5565b5f91825260209091206002909102015460405162e4fa1560e21b81523060048201526001600160a01b03898116602483015260448201889052888116606483015290911690630393e854906084015f604051808303815f875af1158015612181573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a89190810190612ea7565b80519091506121d0578060200151604051634a84814360e11b81526004016111d691906127e9565b506001016120fc565b5080541561222d577fa8518d2c1c36f837b794f71c4989af91cfa8e2f691ec44d51a2faeb243677cd15f526003602052437f7828a7672c38c1a07efa61a6dcf12e2c5328decaa451e84b4d122911db23d9bc555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015612289573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ad9190612fad565b6001600160a01b031663050c67d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061230c9190612fad565b6001600160a01b031663cbd8aaa17f000000000000000000000000000000000000000000000000000000000000000060405160e083901b6001600160e01b03191681526001600160a01b03918216600482015288821660248201527f00000000000000000000000000000000000000000000000000000000000000009091166044820152606481018690526084016020604051808303815f875af11580156123b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123da9190612fc8565b506123e58483612711565b836001600160a01b0316856001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78585604051612433929190918252602082015260400190565b60405180910390a3503868929eee149b4bd212685550505050565b3068929eee149b4bd21268540361246c5763ab143c065f526004601cfd5b3068929eee149b4bd2126855826001600160a01b0316856001600160a01b03161461249c5761249c838683612785565b6124a68382611fcf565b6124af82611f77565b5f80516020612fe28339815191525f90815260026020527ffa24723fc895b271989df6e47f150e13fcd8fe50dd4e77c49d1f311030683c63905b81548110156125cf575f82828154811061250557612505612dd5565b5f918252602090912060029091020154604051630c70241360e31b81523060048201526001600160a01b038a8116602483015260448201889052898116606483015288811660848301529091169063638120989060a4015f604051808303815f875af1158015612577573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261259e9190810190612ea7565b80519091506125c6578060200151604051634a84814360e11b81526004016111d691906127e9565b506001016124e9565b50805415612610575f80516020612fe28339815191525f526003602052437f9f0385b1ed938db9d43de8083df6144b17af73c79967d96ab37bc282abcfb5c3555b6126446001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868561203b565b836001600160a01b0316856001600160a01b0316876001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db868660405161269c929190918252602082015260400190565b60405180910390a4503868929eee149b4bd21268555050505050565b60405181606052826040528360601b602c526323b872dd60601b600c5260205f6064601c5f895af18060015f51141661270357803d873b15171061270357637939f4245f526004601cfd5b505f60605260405250505050565b61271c5f8383611df4565b6805345cdf77eb68f44c548181018181101561273f5763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52815f526020600c208181540181555080602052600c5160601c5f5f80516020613002833981519152602080a35050565b6e22d473030f116ddee9f6b43ac78ba2196001600160a01b038316016127aa57505050565b81602052637f5e9f20600c52825f526034600c2080548019156127e257808311156127dc576313be252b5f526004601cfd5b82810382555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f6020828403121561282e575f80fd5b5035919050565b6001600160a01b0381168114611fcc575f80fd5b5f806040838503121561285a575f80fd5b823561286581612835565b946020939093013593505050565b602080825282518282018190525f9190848201906040850190845b818110156128b35783516001600160a01b03168352928401929184019160010161288e565b50909695505050505050565b5f805f606084860312156128d1575f80fd5b83356128dc81612835565b925060208401356128ec81612835565b929592945050506040919091013590565b5f8083601f84011261290d575f80fd5b50813567ffffffffffffffff811115612924575f80fd5b6020830191508360208260051b850101111561293e575f80fd5b9250929050565b5f805f60408486031215612957575f80fd5b83359250602084013567ffffffffffffffff811115612974575f80fd5b612980868287016128fd565b9497909650939450505050565b5f805f805f805f806080898b0312156129a4575f80fd5b883567ffffffffffffffff808211156129bb575f80fd5b6129c78c838d016128fd565b909a50985060208b01359150808211156129df575f80fd5b6129eb8c838d016128fd565b909850965060408b0135915080821115612a03575f80fd5b612a0f8c838d016128fd565b909650945060608b0135915080821115612a27575f80fd5b50612a348b828c016128fd565b999c989b5096995094979396929594505050565b602080825282518282018190525f9190848201906040850190845b818110156128b357835183529284019291840191600101612a63565b5f60208284031215612a8f575f80fd5b813561074781612835565b5f8060408385031215612aab575f80fd5b823591506020830135612abd81612835565b809150509250929050565b602080825282518282018190525f919060409081850190868401855b82811015612b1257815180516001600160a01b03168552860151868501529284019290850190600101612ae4565b5091979650505050505050565b5f8060408385031215612b30575f80fd5b50508035926020909101359150565b5f805f8060808587031215612b52575f80fd5b843593506020850135612b6481612835565b92506040850135612b7481612835565b9396929550929360600135925050565b5f805f60608486031215612b96575f80fd5b833592506020840135612ba881612835565b91506040840135612bb881612835565b809150509250925092565b5f805f805f805f60e0888a031215612bd9575f80fd5b8735612be481612835565b96506020880135612bf481612835565b95506040880135945060608801359350608088013560ff81168114612c17575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215612c45575f80fd5b8235612c5081612835565b91506020830135612abd81612835565b5f60208284031215612c70575f80fd5b5051919050565b600181811c90821680612c8b57607f821691505b602082108103612ca957634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561084857610848612caf565b600181815b80851115612d1057815f1904821115612cf657612cf6612caf565b80851615612d0357918102915b93841c9390800290612cdb565b509250929050565b5f82612d2657506001610848565b81612d3257505f610848565b8160018114612d485760028114612d5257612d6e565b6001915050610848565b60ff841115612d6357612d63612caf565b50506001821b610848565b5060208310610133831016604e8410600b8410161715612d91575081810a610848565b612d9b8383612cd6565b805f1904821115612dae57612dae612caf565b029392505050565b5f6107478383612d18565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b602080825281018290525f6001600160fb1b03831115612e07575f80fd5b8260051b80856040850137919091016040019392505050565b60ff818116838216019081111561084857610848612caf565b6040805190810167ffffffffffffffff81118282101715612e5c57612e5c612dc1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612e8b57612e8b612dc1565b604052919050565b80518015158114612ea2575f80fd5b919050565b5f6020808385031215612eb8575f80fd5b825167ffffffffffffffff80821115612ecf575f80fd5b9084019060408287031215612ee2575f80fd5b612eea612e39565b612ef383612e93565b81528383015182811115612f05575f80fd5b80840193505086601f840112612f19575f80fd5b825182811115612f2b57612f2b612dc1565b612f3d601f8201601f19168601612e62565b92508083528785828601011115612f52575f80fd5b808585018685015e5f90830185015292830152509392505050565b8181038181111561084857610848612caf565b634e487b7160e01b5f52603160045260245ffd5b60ff828116828216039081111561084857610848612caf565b5f60208284031215612fbd575f80fd5b815161074781612835565b5f60208284031215612fd8575f80fd5b61074782612e9356fe5b2b3dbc0425e650141ab8840d86d0c9f083f7ddc44122d0056e9fb6b9797222ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220a77e1a3a6747e22b6a0b1d00ca006722519b14ec0de72419f6ea2f8e19b6a6d864736f6c63430008190033a2646970667358221220a42f9fe2bfe594b58ec890dab7b6c683931b02f95858bc533d64c8521f7c6c2864736f6c63430008190033
🤖 Code Reader

Generate instant answers for your smart contract questions using Al Models. Read more.

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.