Sepolia Testnet

Contract

0x0D423D0006ba958844F4059D006B3e628dd47de4
 
Source Code Source Code

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method
Block
From
To
Amount
0x60a06040100931492026-01-21 17:36:36234 days ago1769016996  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Source Code Verified Similar Match: 0x8419fC5E...CfFC4881a
Constructor

Contract Name

MultisigCommitter

Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled
Yes with 28000 runs
Other Settings
cancun EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract ABI
API
[{"inputs":[{"internalType":"address","name":"_bridgehubAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ChainRequiresValidatorsSignaturesForCommit","type":"error"},{"inputs":[],"name":"DefaultAdminTransferNotAllowed","type":"error"},{"inputs":[{"internalType":"uint256","name":"max","type":"uint256"},{"internalType":"uint256","name":"got","type":"uint256"}],"name":"InvalidThreshold","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"NotAZKChain","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"expected","type":"uint256"}],"name":"NotEnoughSigners","type":"error"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"},{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"RoleAccessDenied","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"name":"SignatureNotValid","type":"error"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"name":"SignaturesLengthMismatch","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"name":"SignerNotAuthorized","type":"error"},{"inputs":[],"name":"SignersNotSorted","type":"error"},{"inputs":[{"internalType":"uint256","name":"expectedTimestamp","type":"uint256"},{"internalType":"uint256","name":"actualTimestamp","type":"uint256"}],"name":"TimeNotReached","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"batchNumber","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"untrustedLastL2BlockNumberHint","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"precommitment","type":"bytes32"}],"name":"BatchPrecommitmentSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"batchNumber","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"batchHash","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"commitment","type":"bytes32"}],"name":"BlockCommit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"batchNumber","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"batchHash","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"commitment","type":"bytes32"}],"name":"BlockExecution","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalBatchesCommitted","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalBatchesVerified","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalBatchesExecuted","type":"uint256"}],"name":"BlocksRevert","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"previousLastVerifiedBatch","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"currentLastVerifiedBatch","type":"uint256"}],"name":"BlocksVerification","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"chainAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"NewCustomSigningThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_newExecutionDelay","type":"uint256"}],"name":"NewExecutionDelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"NewSharedSigningThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"batchNumber","type":"uint64"},{"indexed":true,"internalType":"uint64","name":"firstBlockNumber","type":"uint64"},{"indexed":true,"internalType":"uint64","name":"lastBlockNumber","type":"uint64"}],"name":"ReportCommittedBatchRangeZKsyncOS","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"chainAddress","type":"address"},{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"chainAddress","type":"address"},{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"chainAddress","type":"address"},{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"validator","type":"address"}],"name":"SharedValidatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"validator","type":"address"}],"name":"SharedValidatorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"chainAddress","type":"address"},{"indexed":false,"internalType":"bool","name":"useCustomValidators","type":"bool"}],"name":"UseCustomValidators","type":"event"},{"inputs":[],"name":"BRIDGE_HUB","outputs":[{"internalType":"contract IL1Bridgehub","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COMMITTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COMMIT_VALIDATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EXECUTOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPTIONAL_COMMITTER_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPTIONAL_EXECUTOR_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPTIONAL_PRECOMMITTER_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPTIONAL_PROVER_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPTIONAL_REVERTER_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRECOMMITTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROVER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REVERTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"validator","type":"address"}],"name":"addSharedValidator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"address","name":"_validator","type":"address"}],"name":"addValidator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_chainId","type":"uint256"},{"internalType":"address","name":"_validator","type":"address"}],"name":"addValidatorForChainId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"address","name":"_validator","type":"address"},{"components":[{"internalType":"bool","name":"rotatePrecommitterRole","type":"bool"},{"internalType":"bool","name":"rotateCommitterRole","type":"bool"},{"internalType":"bool","name":"rotateReverterRole","type":"bool"},{"internalType":"bool","name":"rotateProverRole","type":"bool"},{"internalType":"bool","name":"rotateExecutorRole","type":"bool"}],"internalType":"struct IValidatorTimelock.ValidatorRotationParams","name":"params","type":"tuple"}],"name":"addValidatorRoles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"}],"name":"chainConfig","outputs":[{"internalType":"bool","name":"useCustomValidators","type":"bool"},{"internalType":"uint64","name":"signingThreshold","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"},{"internalType":"uint256","name":"processBatchFrom","type":"uint256"},{"internalType":"uint256","name":"processBatchTo","type":"uint256"},{"internalType":"bytes","name":"batchData","type":"bytes"},{"internalType":"address[]","name":"signers","type":"address[]"},{"internalType":"bytes[]","name":"signatures","type":"bytes[]"}],"name":"commitBatchesMultisig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"uint256","name":"_processBatchFrom","type":"uint256"},{"internalType":"uint256","name":"_processBatchTo","type":"uint256"},{"internalType":"bytes","name":"_batchData","type":"bytes"}],"name":"commitBatchesSharedBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"uint256","name":"_processBatchFrom","type":"uint256"},{"internalType":"uint256","name":"_processBatchTo","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"executeBatchesSharedBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"executionDelay","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"uint256","name":"_l2BatchNumber","type":"uint256"}],"name":"getCommittedBatchTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"bytes32","name":"_role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"bytes32","name":"_role","type":"bytes32"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"bytes32","name":"_role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"}],"name":"getSigningThreshold","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"}],"name":"getValidatorsCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getValidatorsMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"bytes32","name":"_role","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"bytes32","name":"_role","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_chainId","type":"uint256"},{"internalType":"bytes32","name":"_role","type":"bytes32"},{"internalType":"address","name":"_address","type":"address"}],"name":"hasRoleForChainId","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_initialOwner","type":"address"},{"internalType":"uint32","name":"_initialExecutionDelay","type":"uint32"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_initialOwner","type":"address"},{"internalType":"uint32","name":"_initialExecutionDelay","type":"uint32"}],"name":"initializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"}],"name":"isCustomSigningSetActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"validator","type":"address"}],"name":"isSharedValidator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"},{"internalType":"address","name":"validator","type":"address"}],"name":"isValidator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"precommitSharedBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"proveBatchesSharedBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reinitializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"validator","type":"address"}],"name":"removeSharedValidator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"address","name":"_validator","type":"address"}],"name":"removeValidator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_chainId","type":"uint256"},{"internalType":"address","name":"_validator","type":"address"}],"name":"removeValidatorForChainId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"address","name":"_validator","type":"address"},{"components":[{"internalType":"bool","name":"rotatePrecommitterRole","type":"bool"},{"internalType":"bool","name":"rotateCommitterRole","type":"bool"},{"internalType":"bool","name":"rotateReverterRole","type":"bool"},{"internalType":"bool","name":"rotateProverRole","type":"bool"},{"internalType":"bool","name":"rotateExecutorRole","type":"bool"}],"internalType":"struct IValidatorTimelock.ValidatorRotationParams","name":"params","type":"tuple"}],"name":"removeValidatorRoles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"bytes32","name":"_role","type":"bytes32"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"revertBatchesSharedBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"bytes32","name":"_role","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"},{"internalType":"uint64","name":"_signingThreshold","type":"uint64"}],"name":"setCustomSigningThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_executionDelay","type":"uint32"}],"name":"setExecutionDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chainAddress","type":"address"},{"internalType":"bytes32","name":"_role","type":"bytes32"},{"internalType":"bytes32","name":"_adminRole","type":"bytes32"}],"name":"setRoleAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_signingThreshold","type":"uint64"}],"name":"setSharedSigningThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sharedSigningThreshold","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sharedValidatorsCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"sharedValidatorsMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"}],"name":"useCustomSigningSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"chainAddress","type":"address"}],"name":"useSharedSigningSet","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x608060405234801561000f575f5ffd5b50600436106103b4575f3560e01c80638da5cb5b116101f5578063c411587411610114578063f1ede337116100a9578063f3c3437d11610079578063f3c3437d14610a31578063f62a1ab714610a44578063fdb1dc9214610a6b578063fe881be214610a7e575f5ffd5b8063f1ede337146109d1578063f235a70d146109f8578063f2fde38b14610a0b578063f34d186814610a1e575f5ffd5b8063dc9a4ef6116100e4578063dc9a4ef614610966578063ddd818a11461098d578063e30c3978146109a0578063e5a489a7146109be575f5ffd5b8063c411587414610925578063c5e4c9f91461092d578063c8c55ead14610940578063d0b779a514610953575f5ffd5b8063a217fddf1161018a578063ae7164df1161015a578063ae7164df1461085d578063b1819c2b14610884578063b2223f0814610897578063b4dba6f9146108d0575f5ffd5b8063a217fddf14610809578063a556f4a714610810578063a86d67c514610823578063adb447741461084a575f5ffd5b806396cb4c0d116101c557806396cb4c0d146107b45780639b37b66a146107c7578063a0279858146107cf578063a085344d146107f6575f5ffd5b80638da5cb5b146107495780638e80aaf6146107675780639271e4501461077a578063962242171461078d575f5ffd5b8063329bfede116102e157806379ba5097116102765780638673e5db116102465780638673e5db146106e9578063881bf253146106fc5780638b257989146107115780638c63a1a114610736575f5ffd5b806379ba50971461065f5780637ca4eff71461066757806384b0196e1461067a57806384fedb6c14610695575f5ffd5b80635a06267e116102b15780635a06267e146105e55780635d4edca7146105f85780636e60d01414610644578063715018a614610657575f5ffd5b8063329bfede1461056c57806345e598a81461057f5780634d4b2cab146105925780634e9d7f63146105be575f5ffd5b8063178f0e36116103575780632287f07b116103275780632287f07b146104fc578063259fd848146105235780632d3e579a146105365780633290f93a14610559575f5ffd5b8063178f0e361461046657806317d7de7c1461047957806319bd4bf7146104c25780631a7c3f73146104d5575f5ffd5b80630b6db820116103925780630b6db8201461041a5780630b8094e01461042d5780630db9eb871461044057806316de635614610453575f5ffd5b806307bd0265146103b85780630913148a146103f25780630997ce7114610407575b5f5ffd5b6103df7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b6040519081526020015b60405180910390f35b610405610400366004613728565b610a91565b005b6104056104153660046137ed565b610c0e565b61040561042836600461381f565b610cdf565b61040561043b366004613877565b610d1d565b61040561044e366004613892565b610dde565b6104056104613660046138f7565b610e3c565b6103df610474366004613877565b610ef7565b6104b56040518060400160405280601181526020017f56616c696461746f7254696d656c6f636b00000000000000000000000000000081525081565b6040516103e99190613971565b6104056104d0366004613996565b610f65565b6103df7f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a2010681565b6103df7f30085792330f3f9ee2ee216aea0321c55a0909b87c51ee9ab49d05ca4a4c2ecb81565b6104056105313660046139e0565b61111e565b610549610544366004613a0a565b61129e565b60405190151581526020016103e9565b610405610567366004613a0a565b611325565b61054961057a366004613877565b61141d565b61040561058d366004613877565b61142a565b6105a56105a0366004613877565b6114bf565b60405167ffffffffffffffff90911681526020016103e9565b6103df7fd596cfca9f98786bbbcc61c1506316fd2ff44c96f6a4771a1e13e2cf7df5531881565b6103df6105f3366004613a49565b61153a565b61061f7f000000000000000000000000c4fd2580c3487bba18d63f50301020132342fdbd81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103e9565b610405610652366004613877565b61157f565b6104056115ee565b610405611601565b610405610675366004613a49565b6116b3565b6106826116ef565b6040516103e99796959493929190613a73565b6106c96106a3366004613877565b6101326020525f908152604090205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff9091166020830152016103e9565b61061f6106f73660046137ed565b6117c6565b610131546105a59067ffffffffffffffff1681565b60ca546107219063ffffffff1681565b60405163ffffffff90911681526020016103e9565b610405610744366004613a0a565b611821565b60335473ffffffffffffffffffffffffffffffffffffffff1661061f565b610549610775366004613b32565b611842565b610405610788366004613892565b6118fc565b6103df7f03e138bd3674247b3c2730aba459026fc3de55a6c40e11b30be5d7afdb726d7d81565b6104056107c2366004613b5d565b61193b565b6103df611973565b6103df7f764da40dc482d3b385909d7a072df3207fef1d443f7a2633f4e7f1c0bb574ee081565b610405610804366004613892565b611984565b6103df5f81565b61040561081e3660046138f7565b611a67565b6103df7f3353dfbbf9a3ed2a5be49cd3bd3a51ee03c3751d409cccac7723c4907332afee81565b6103df610858366004613a49565b611b1e565b6103df7fc77a7447d79c15063f9229278e1e1165208fb21eb078a86552a94a992151cc2881565b610405610892366004613b5d565b611b64565b6105496108a5366004613877565b73ffffffffffffffffffffffffffffffffffffffff165f908152610132602052604090205460ff1690565b6103df6108de366004613a49565b73ffffffffffffffffffffffffffffffffffffffff82165f90815260c9602090815260408083206008850484528252822054600784169091021c63ffffffff169392505050565b610405611b9c565b61040561093b366004613996565b611d43565b61040561094e366004613bc5565b611ecf565b61061f610961366004613a49565b611fd5565b6103df7f60044782a422109ac08a415e44260ad5d3bad63d96ebe1fac0363399642ee3f281565b61040561099b366004613caa565b612041565b60655473ffffffffffffffffffffffffffffffffffffffff1661061f565b6105496109cc366004613b5d565b61211e565b6103df7f5db23a41c9125bb814d45889d5f3f62adb67c27242e6ad726210a337aa8d65b781565b61061f610a06366004613cc3565b612183565b610405610a19366004613877565b612190565b610405610a2c366004613cda565b612240565b610405610a3f366004613a49565b6122ab565b6103df7fb3f13bdb4939e3cad9f8c67113ca59cd8749168573a363bc6f489d651096a93f81565b610405610a79366004613bc5565b6122c3565b610405610a8c366004613877565b6123c9565b887f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a20106610abe828233612434565b5f610b5e7fa35a60481258e576b321653ed741192ea8124973a0cfdebdf2ef0a40a876d0688d8d8d8d8d604051610af6929190613cf3565b604051908190038120610b43959493929160200194855273ffffffffffffffffffffffffffffffffffffffff93909316602085015260408401919091526060830152608082015260a00190565b6040516020818303038152906040528051906020012061249c565b9050610b6e8c88888888866124e3565b610b798c8c8c61292a565b6040517f0db9eb8700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8d1690630db9eb8790610bd3908f908f908f908f908f90600401613d02565b5f604051808303815f87803b158015610bea575f5ffd5b505af1158015610bfc573d5f5f3e3d5ffd5b50505050505050505050505050505050565b82610c19848461153a565b610c24828233612434565b83610c5b576040517ff2885eb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610c66868661153a565b73ffffffffffffffffffffffffffffffffffffffff87165f8181526097602090815260408083208a8452825291829020600201889055815184815290810188905292935087927f723017596f662d5bad698223ec9b9d90c19cd1ebc637a2ad7ef27b3d9f85f79c910160405180910390a3505050505050565b837f3353dfbbf9a3ed2a5be49cd3bd3a51ee03c3751d409cccac7723c4907332afee610d0c828233612434565b610d1586612989565b505050505050565b80610d48827fb3f13bdb4939e3cad9f8c67113ca59cd8749168573a363bc6f489d651096a93f61153a565b610d53828233612434565b73ffffffffffffffffffffffffffffffffffffffff83165f8181526101326020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690558051938452908301919091527f75ac79acb1a27ce7695860ec6cf532dfee365091fb6d97b113bdfbc97d50a8ec91015b60405180910390a1505050565b610de7856114bf565b67ffffffffffffffff1615610e28576040517f5e361ef900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e3585858585856129a9565b5050505050565b6040517fe680c4c100000000000000000000000000000000000000000000000000000000815260048101839052610ef3907f000000000000000000000000c4fd2580c3487bba18d63f50301020132342fdbd73ffffffffffffffffffffffffffffffffffffffff169063e680c4c190602401602060405180830381865afa158015610ec9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eed9190613d79565b82611b64565b5050565b73ffffffffffffffffffffffffffffffffffffffff81165f908152610132602052604081205460ff1615610f5557610f4f827fb3f13bdb4939e3cad9f8c67113ca59cd8749168573a363bc6f489d651096a93f611b1e565b92915050565b610f4f61012f6129e1565b919050565b5f54600290610100900460ff16158015610f8557505f5460ff8083169116105b611016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff83161761010017905561105083836129ea565b6110c46040518060400160405280601181526020017f4d756c7469736967436f6d6d69747465720000000000000000000000000000008152506040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250612ac1565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610dd1565b81611149837fb3f13bdb4939e3cad9f8c67113ca59cd8749168573a363bc6f489d651096a93f61153a565b611154828233612434565b61117e847fb3f13bdb4939e3cad9f8c67113ca59cd8749168573a363bc6f489d651096a93f611b1e565b8367ffffffffffffffff1611156111ff576111b9847fb3f13bdb4939e3cad9f8c67113ca59cd8749168573a363bc6f489d651096a93f611b1e565b6040517f7b7a98f1000000000000000000000000000000000000000000000000000000008152600481019190915267ffffffffffffffff8416602482015260440161100d565b73ffffffffffffffffffffffffffffffffffffffff84165f818152610132602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff1661010067ffffffffffffffff8916908102919091179091558251938452908301527f7869a554dc3cca920a0f4e318026f5b72020db62fb8fce30abeddddeed8d8bfb910160405180910390a150505050565b5f826112e2576112ad84612b61565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614905061131e565b73ffffffffffffffffffffffffffffffffffffffff84165f908152609760209081526040808320868452909152902061131b9083612d55565b90505b9392505050565b82611330848461153a565b61133b828233612434565b83611372576040517ff2885eb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61137d85858561129e565b610e355773ffffffffffffffffffffffffffffffffffffffff85165f90815260976020908152604080832087845290915290206113ba9084612d83565b508273ffffffffffffffffffffffffffffffffffffffff16848673ffffffffffffffffffffffffffffffffffffffff167f2739f947da5133134a8e9c6a84d5ed6da396844d81b4a760121c8b9c668bdf9c60405160405180910390a45050505050565b5f610f4f61012f83612d55565b611432612da4565b73ffffffffffffffffffffffffffffffffffffffff81165f818152610132602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091558251938452908301527f75ac79acb1a27ce7695860ec6cf532dfee365091fb6d97b113bdfbc97d50a8ec91015b60405180910390a150565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526101326020908152604080832081518083019092525460ff8116158015835261010090910467ffffffffffffffff16928201929092529061151f576020015192915050565b50506101315467ffffffffffffffff16919050565b50919050565b5f8161154757505f610f4f565b5073ffffffffffffffffffffffffffffffffffffffff919091165f908152609760209081526040808320938352929052206002015490565b611587612da4565b61159361012f82612d55565b156115eb576115a461012f82612e25565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527f5bde17bc39deca8e297dd93ee006570937973a2e98daa0ecdd2ad8a52ff327eb906020016114b4565b50565b6115f6612da4565b6115ff5f612e46565b565b606554339073ffffffffffffffffffffffffffffffffffffffff1681146116aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e65720000000000000000000000000000000000000000000000606482015260840161100d565b6115eb81612e46565b817f30085792330f3f9ee2ee216aea0321c55a0909b87c51ee9ab49d05ca4a4c2ecb6116e0828233612434565b6116e984612989565b50505050565b5f6060805f5f5f606060fb545f5f1b14801561170b575060fc54155b611771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a65640000000000000000000000604482015260640161100d565b611779612e77565b611781612f07565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b5f821580156117d3575081155b156117e8576117e184612b61565b905061131e565b73ffffffffffffffffffffffffffffffffffffffff84165f908152609760209081526040808320868452909152902061131b9083612f16565b8261182c848461153a565b611837828233612434565b610e35858585612f21565b6040517fe680c4c1000000000000000000000000000000000000000000000000000000008152600481018490525f9061131b9073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c4fd2580c3487bba18d63f50301020132342fdbd169063e680c4c190602401602060405180830381865afa1580156118d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f59190613d79565b848461129e565b847f60044782a422109ac08a415e44260ad5d3bad63d96ebe1fac0363399642ee3f2611929828233612434565b61193287612989565b50505050505050565b6040805160a081018252600180825260208201819052918101829052606081018290526080810191909152610ef39083908390611ecf565b5f61197f61012f6129e1565b905090565b847fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636119b1828233612434565b60ca5463ffffffff16865b868111611a535773ffffffffffffffffffffffffffffffffffffffff89165f90815260c96020908152604080832060088504845282529091205463ffffffff600784169092021c16828101421015611a4a576040517f08753982000000000000000000000000000000000000000000000000000000008152818401600482015242602482015260440161100d565b506001016119bc565b50611a5d88612989565b5050505050505050565b6040517fe680c4c100000000000000000000000000000000000000000000000000000000815260048101839052610ef3907f000000000000000000000000c4fd2580c3487bba18d63f50301020132342fdbd73ffffffffffffffffffffffffffffffffffffffff169063e680c4c190602401602060405180830381865afa158015611af4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b189190613d79565b8261193b565b5f81611b2c57506001610f4f565b73ffffffffffffffffffffffffffffffffffffffff83165f908152609760209081526040808320858452909152902061131e906129e1565b6040805160a081018252600180825260208201819052918101829052606081018290526080810191909152610ef390839083906122c3565b5f54600290610100900460ff16158015611bbc57505f5460ff8083169116105b611c48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161100d565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055604080518082018252601181527f4d756c7469736967436f6d6d69747465720000000000000000000000000000006020808301919091528251808401909352600183527f310000000000000000000000000000000000000000000000000000000000000090830152611ce991612ac1565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016114b4565b5f54610100900460ff1615808015611d6157505f54600160ff909116105b80611d7a5750303b158015611d7a57505f5460ff166001145b611e06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161100d565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611e62575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611e6c83836129ea565b8015611eca575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610dd1565b505050565b805115611f0157611f01837f3353dfbbf9a3ed2a5be49cd3bd3a51ee03c3751d409cccac7723c4907332afee84611821565b806020015115611f3657611f36837f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a2010684611821565b806040015115611f6b57611f6b837f30085792330f3f9ee2ee216aea0321c55a0909b87c51ee9ab49d05ca4a4c2ecb84611821565b806060015115611fa057611fa0837f60044782a422109ac08a415e44260ad5d3bad63d96ebe1fac0363399642ee3f284611821565b806080015115611eca57611eca837fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6384611821565b73ffffffffffffffffffffffffffffffffffffffff82165f908152610132602052604081205460ff16156120355761202e837fb3f13bdb4939e3cad9f8c67113ca59cd8749168573a363bc6f489d651096a93f846117c6565b9050610f4f565b61202e61012f83612f16565b612049612da4565b61205461012f6129e1565b8167ffffffffffffffff1611156120b65761207061012f6129e1565b6040517f7b7a98f1000000000000000000000000000000000000000000000000000000008152600481019190915267ffffffffffffffff8216602482015260440161100d565b61013180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040519081527f980ff9f22c74efde95bb313df2d602f42877f0c4495ac4d94fb3c576f0ec27c8906020016114b4565b73ffffffffffffffffffffffffffffffffffffffff82165f908152610132602052604081205460ff16156121775761202e837fb3f13bdb4939e3cad9f8c67113ca59cd8749168573a363bc6f489d651096a93f8461129e565b61202e61012f83612d55565b5f610f4f61012f83612f16565b612198612da4565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556121fb60335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b612248612da4565b60ca80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff83169081179091556040519081527fd32d6d626bb9c7077c559fc3b4e5ce71ef14609d7d216d030ee63dcf2422c2c4906020016114b4565b81816122b8828233612434565b6116e9848433612f21565b8051156122f5576122f5837f3353dfbbf9a3ed2a5be49cd3bd3a51ee03c3751d409cccac7723c4907332afee84611325565b80602001511561232a5761232a837f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a2010684611325565b80604001511561235f5761235f837f30085792330f3f9ee2ee216aea0321c55a0909b87c51ee9ab49d05ca4a4c2ecb84611325565b80606001511561239457612394837f60044782a422109ac08a415e44260ad5d3bad63d96ebe1fac0363399642ee3f284611325565b806080015115611eca57611eca837fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6384611325565b6123d1612da4565b6123dd61012f82612d55565b6115eb576123ed61012f82612d83565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527f9adc637d0a49c5e77a4514ce11d0b0abf4554f1424406f91c3592022932abdfd906020016114b4565b61243f83838361129e565b611eca576040517ffe0aa4f200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8085166004830152602482018490528216604482015260640161100d565b5f610f4f6124a8613002565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b83828114612527576040517fa665a34d000000000000000000000000000000000000000000000000000000008152600481018290526024810184905260440161100d565b73ffffffffffffffffffffffffffffffffffffffff87165f908152610132602090815260409182902082518084019093525460ff8116158015845261010090910467ffffffffffffffff16918301919091526125e357806020015167ffffffffffffffff168210156125de5760208101516040517f230f9d110000000000000000000000000000000000000000000000000000000081526004810184905267ffffffffffffffff909116602482015260440161100d565b612642565b6101315467ffffffffffffffff1682101561264257610131546040517f230f9d110000000000000000000000000000000000000000000000000000000081526004810184905267ffffffffffffffff909116602482015260440161100d565b5f805b8381101561291e578173ffffffffffffffffffffffffffffffffffffffff1689898381811061267657612676613d94565b905060200201602081019061268b9190613877565b73ffffffffffffffffffffffffffffffffffffffff16116126d8576040517fa7781cbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8251156127a65761272b8a7fb3f13bdb4939e3cad9f8c67113ca59cd8749168573a363bc6f489d651096a93f8b8b8581811061271657612716613d94565b90506020020160208101906105449190613877565b6127a15788888281811061274157612741613d94565b90506020020160208101906127569190613877565b6040517f3b94fe2400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260240161100d565b6127ef565b6127d98989838181106127bb576127bb613d94565b90506020020160208101906127d09190613877565b61012f90612d55565b6127ef5788888281811061274157612741613d94565b61287789898381811061280457612804613d94565b90506020020160208101906128199190613877565b8689898581811061282c5761282c613d94565b905060200281019061283e9190613dc1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061300b92505050565b6128ed5788888281811061288d5761288d613d94565b90506020020160208101906128a29190613877565b6040517fabdc734e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260240161100d565b8888828181106128ff576128ff613d94565b90506020020160208101906129149190613877565b9150600101612645565b50505050505050505050565b42825b828111610e355773ffffffffffffffffffffffffffffffffffffffff85165f90815260c960209081526040808320600885048452825290912080546007841690920282811c851863ffffffff16901b909118905560010161292d565b365f5f375f5f365f5f855af13d805f5f3e8180156129a557815ff35b815ffd5b847f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a201066129d6828233612434565b61192987878761292a565b5f610f4f825490565b5f54610100900460ff16612a80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161100d565b612a8982612e46565b60ca80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff9290921691909117905550565b5f54610100900460ff16612b57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161100d565b610ef38282613083565b5f5f8273ffffffffffffffffffffffffffffffffffffffff16633408e4706040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bac573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd09190613e22565b90508273ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000c4fd2580c3487bba18d63f50301020132342fdbd73ffffffffffffffffffffffffffffffffffffffff1663e680c4c1836040518263ffffffff1660e01b8152600401612c4491815260200190565b602060405180830381865afa158015612c5f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c839190613d79565b73ffffffffffffffffffffffffffffffffffffffff1614612ce8576040517fb49df1f200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260240161100d565b8273ffffffffffffffffffffffffffffffffffffffff16636e9960c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d31573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131e9190613d79565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600183016020526040812054151561131e565b5f61131e8373ffffffffffffffffffffffffffffffffffffffff8416613140565b60335473ffffffffffffffffffffffffffffffffffffffff1633146115ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161100d565b5f61131e8373ffffffffffffffffffffffffffffffffffffffff841661318c565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556115eb8161326f565b606060fd8054612e8690613e39565b80601f0160208091040260200160405190810160405280929190818152602001828054612eb290613e39565b8015612efd5780601f10612ed457610100808354040283529160200191612efd565b820191905f5260205f20905b815481529060010190602001808311612ee057829003601f168201915b5050505050905090565b606060fe8054612e8690613e39565b5f61131e83836132e5565b81612f58576040517ff2885eb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f6383838361129e565b15611eca5773ffffffffffffffffffffffffffffffffffffffff83165f9081526097602090815260408083208584529091529020612fa19082612e25565b508073ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff167f8fa769283732af9aa4f65d966aceb1295944e96fcdd7031699b47da23286d28560405160405180910390a4505050565b5f61197f61330b565b5f5f5f613018858561337e565b90925090505f81600481111561303057613030613e84565b14801561306857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061307957506130798686866133c0565b9695505050505050565b5f54610100900460ff16613119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161100d565b60fd6131258382613ef5565b5060fe6131328282613ef5565b50505f60fb81905560fc5550565b5f81815260018301602052604081205461318557508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610f4f565b505f610f4f565b5f8181526001830160205260408120548015613266575f6131ae60018361400c565b85549091505f906131c19060019061400c565b9050818114613220575f865f0182815481106131df576131df613d94565b905f5260205f200154905080875f0184815481106131ff576131ff613d94565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061323157613231614044565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610f4f565b5f915050610f4f565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f825f0182815481106132fa576132fa613d94565b905f5260205f200154905092915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f613335613518565b61333d613570565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f5f82516041036133b2576020830151604084015160608501515f1a6133a6878285856135a0565b945094505050506133b9565b505f905060025b9250929050565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b86866040516024016133f5929190614071565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161347e9190614089565b5f60405180830381855afa9150503d805f81146134b6576040519150601f19603f3d011682016040523d82523d5f602084013e6134bb565b606091505b50915091508180156134cf57506020815110155b8015613079575080517f1626ba7e000000000000000000000000000000000000000000000000000000009061350d9083016020908101908401613e22565b149695505050505050565b5f5f613522612e77565b805190915015613539578051602090910120919050565b60fb5480156135485792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b5f5f61357a612f07565b805190915015613591578051602090910120919050565b60fc5480156135485792915050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156135d557505f9050600361367f565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613626573d5f5f3e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116613679575f6001925092505061367f565b91505f90505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146115eb575f5ffd5b5f5f83601f8401126136b9575f5ffd5b50813567ffffffffffffffff8111156136d0575f5ffd5b6020830191508360208285010111156133b9575f5ffd5b5f5f83601f8401126136f7575f5ffd5b50813567ffffffffffffffff81111561370e575f5ffd5b6020830191508360208260051b85010111156133b9575f5ffd5b5f5f5f5f5f5f5f5f5f60c08a8c031215613740575f5ffd5b893561374b81613688565b985060208a0135975060408a0135965060608a013567ffffffffffffffff811115613774575f5ffd5b6137808c828d016136a9565b90975095505060808a013567ffffffffffffffff81111561379f575f5ffd5b6137ab8c828d016136e7565b90955093505060a08a013567ffffffffffffffff8111156137ca575f5ffd5b6137d68c828d016136e7565b915080935050809150509295985092959850929598565b5f5f5f606084860312156137ff575f5ffd5b833561380a81613688565b95602085013595506040909401359392505050565b5f5f5f5f60608587031215613832575f5ffd5b843561383d81613688565b935060208501359250604085013567ffffffffffffffff81111561385f575f5ffd5b61386b878288016136a9565b95989497509550505050565b5f60208284031215613887575f5ffd5b813561131e81613688565b5f5f5f5f5f608086880312156138a6575f5ffd5b85356138b181613688565b94506020860135935060408601359250606086013567ffffffffffffffff8111156138da575f5ffd5b6138e6888289016136a9565b969995985093965092949392505050565b5f5f60408385031215613908575f5ffd5b82359150602083013561391a81613688565b809150509250929050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61131e6020830184613925565b803563ffffffff81168114610f60575f5ffd5b5f5f604083850312156139a7575f5ffd5b82356139b281613688565b91506139c060208401613983565b90509250929050565b803567ffffffffffffffff81168114610f60575f5ffd5b5f5f604083850312156139f1575f5ffd5b82356139fc81613688565b91506139c0602084016139c9565b5f5f5f60608486031215613a1c575f5ffd5b8335613a2781613688565b9250602084013591506040840135613a3e81613688565b809150509250925092565b5f5f60408385031215613a5a575f5ffd5b8235613a6581613688565b946020939093013593505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f613aad60e0830189613925565b8281036040840152613abf8189613925565b6060840188905273ffffffffffffffffffffffffffffffffffffffff8716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015613b21578351835260209384019390920191600101613b03565b50909b9a5050505050505050505050565b5f5f5f60608486031215613b44575f5ffd5b83359250602084013591506040840135613a3e81613688565b5f5f60408385031215613b6e575f5ffd5b8235613b7981613688565b9150602083013561391a81613688565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b80358015158114610f60575f5ffd5b5f5f5f83850360e0811215613bd8575f5ffd5b8435613be381613688565b93506020850135613bf381613688565b925060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215613c24575f5ffd5b5060405160a0810181811067ffffffffffffffff82111715613c4857613c48613b89565b8060405250613c5960408601613bb6565b8152613c6760608601613bb6565b6020820152613c7860808601613bb6565b6040820152613c8960a08601613bb6565b6060820152613c9a60c08601613bb6565b6080820152809150509250925092565b5f60208284031215613cba575f5ffd5b61131e826139c9565b5f60208284031215613cd3575f5ffd5b5035919050565b5f60208284031215613cea575f5ffd5b61131e82613983565b818382375f9101908152919050565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015283604082015260806060820152816080820152818360a08301375f81830160a090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101949350505050565b5f60208284031215613d89575f5ffd5b815161131e81613688565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613df4575f5ffd5b83018035915067ffffffffffffffff821115613e0e575f5ffd5b6020019150368190038213156133b9575f5ffd5b5f60208284031215613e32575f5ffd5b5051919050565b600181811c90821680613e4d57607f821691505b602082108103611534577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b601f821115611eca57805f5260205f20601f840160051c81016020851015613ed65750805b601f840160051c820191505b81811015610e35575f8155600101613ee2565b815167ffffffffffffffff811115613f0f57613f0f613b89565b613f2381613f1d8454613e39565b84613eb1565b6020601f821160018114613f74575f8315613f3e5750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610e35565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015613fc15787850151825560209485019460019092019101613fa1565b5084821015613ffd57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b81810381811115610f4f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b828152604060208201525f61131b6040830184613925565b5f82518060208501845e5f92019182525091905056fea26469706673582212202db189a83f0ab361f445aa07f8fbf0c50960a2d922b9dffd4ead431ab6bed1bc64736f6c634300081c0033
Custom Contract ABI

                            

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
0x0D423D0006ba958844F4059D006B3e628dd47de4
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

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.