More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 111 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Convert From | 16896922 | 526 days ago | IN | 0 ETH | 0.00154256 | ||||
Convert From | 16445787 | 590 days ago | IN | 0 ETH | 0.00168324 | ||||
Convert To | 16291997 | 611 days ago | IN | 0 ETH | 0.00101823 | ||||
Convert From | 16291985 | 611 days ago | IN | 0 ETH | 0.00202018 | ||||
Convert From | 16018162 | 649 days ago | IN | 0 ETH | 0.00077232 | ||||
Convert To | 15904277 | 665 days ago | IN | 0 ETH | 0.0006555 | ||||
Convert From | 15657233 | 700 days ago | IN | 0 ETH | 0.00041539 | ||||
Convert To | 15567256 | 712 days ago | IN | 0 ETH | 0.0003008 | ||||
Convert To | 15480432 | 726 days ago | IN | 0 ETH | 0.0006031 | ||||
Convert From | 15404042 | 738 days ago | IN | 0 ETH | 0.00144537 | ||||
Convert From | 15313243 | 752 days ago | IN | 0 ETH | 0.00060897 | ||||
Convert From | 15283851 | 757 days ago | IN | 0 ETH | 0.00123857 | ||||
Convert From | 15271991 | 759 days ago | IN | 0 ETH | 0.00095949 | ||||
Convert To | 15257231 | 761 days ago | IN | 0 ETH | 0.00056913 | ||||
Convert From | 15173069 | 774 days ago | IN | 0 ETH | 0.00309261 | ||||
Convert To | 15173067 | 774 days ago | IN | 0 ETH | 0.00203844 | ||||
Convert To | 15127152 | 781 days ago | IN | 0 ETH | 0.00095045 | ||||
Convert From | 15096456 | 786 days ago | IN | 0 ETH | 0.00781754 | ||||
Convert To | 15095520 | 786 days ago | IN | 0 ETH | 0.00127316 | ||||
Convert From | 15053523 | 793 days ago | IN | 0 ETH | 0.00421963 | ||||
Convert From | 15041549 | 795 days ago | IN | 0 ETH | 0.0040804 | ||||
Convert From | 14998392 | 803 days ago | IN | 0 ETH | 0.00230822 | ||||
Convert To | 14984386 | 805 days ago | IN | 0 ETH | 0.00153297 | ||||
Convert To | 14984126 | 805 days ago | IN | 0 ETH | 0.00169593 | ||||
Convert From | 14983647 | 805 days ago | IN | 0 ETH | 0.02197695 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
EthBridge
Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.7; import "./Bridge.sol"; contract EthBridge is Bridge { constructor () Bridge() { } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.7; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; contract Bridge { address immutable private bridgeOwner; uint256 private currentNonce; mapping (uint256 => mapping(uint256 => bool)) private nonces; event TokenSentToBridge(address _token, address _sender, uint256 _amount, uint256 _nonce, uint256 _fromChainId, uint256 _toChainId, string _data); event TokenWithdrawnFromBridge(address _token, address _sender, uint256 _amount, uint256 _nonce, uint256 _fromChainId, uint256 _toChainId); constructor () { bridgeOwner = msg.sender; } function convertTo(address _token, uint256 _amount, uint256 _toChainId, string memory _data) external { IERC20(_token).transferFrom(msg.sender, address(this), _amount); currentNonce++; emit TokenSentToBridge(_token, msg.sender, _amount, currentNonce, _getChainId(), _toChainId, _data); } function convertFrom(bytes calldata _params, bytes calldata _messageLength, bytes calldata _signature) external { address _signer = _decodeSignature(_params, _messageLength, _signature); require(_signer == bridgeOwner, "BadSigner"); (address _token, address _sender, uint256 _amount, uint256 _nonce, uint256 _fromChainId, uint256 _toChainId) = abi.decode(_params, (address, address, uint256, uint256, uint256, uint256)); require(_toChainId == _getChainId(), "WrongChain"); require(nonces[_fromChainId][_nonce] == false, "NonceRepeated"); nonces[_fromChainId][_nonce] = true; IERC20(_token).transfer(_sender, _amount); emit TokenWithdrawnFromBridge(_token, _sender, _amount, _nonce, _fromChainId, _toChainId); } function getOwner() external view returns(address) { return bridgeOwner; } function getNonce(uint256 _chainId, uint256 _nonce) external view returns(bool) { return nonces[_chainId][_nonce]; } function getCurrentNonce() external view returns(uint256) { return currentNonce; } function _decodeSignature(bytes memory _message, bytes memory _messageLength, bytes memory _signature) internal pure returns (address) { // Check the signature length if (_signature.length != 65) return (address(0)); bytes32 messageHash = keccak256(abi.encodePacked(hex"19457468657265756d205369676e6564204d6573736167653a0a", _messageLength, _message)); bytes32 r; bytes32 s; uint8 v; assembly { r := mload(add(_signature, 0x20)) s := mload(add(_signature, 0x40)) v := byte(0, mload(add(_signature, 0x60))) } // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines // the valid range for s in (281): 0 < s < secp256k1n ÷ 2 + 1, and for v in (282): v ∈ {27, 28}. Most // signatures from current libraries generate a unique signature with an s-value in the lower half order. // // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept // these malleable signatures as well. if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) return address(0); if (v != 27 && v != 28) return address(0); return ecrecover(messageHash, v, r, s); } function _getChainId() internal view returns(uint256) { uint256 id; assembly { id := chainid() } return id; } }
{ "remappings": [], "optimizer": { "enabled": false, "runs": 200 }, "evmVersion": "london", "libraries": {}, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_token","type":"address"},{"indexed":false,"internalType":"address","name":"_sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_nonce","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_fromChainId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toChainId","type":"uint256"},{"indexed":false,"internalType":"string","name":"_data","type":"string"}],"name":"TokenSentToBridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_token","type":"address"},{"indexed":false,"internalType":"address","name":"_sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_nonce","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_fromChainId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toChainId","type":"uint256"}],"name":"TokenWithdrawnFromBridge","type":"event"},{"inputs":[{"internalType":"bytes","name":"_params","type":"bytes"},{"internalType":"bytes","name":"_messageLength","type":"bytes"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"convertFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_toChainId","type":"uint256"},{"internalType":"string","name":"_data","type":"string"}],"name":"convertTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCurrentNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_chainId","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"getNonce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b503373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505060805160601c61116361006d600039600081816102d601526105aa01526111636000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631290bbb81461005c578063378c4fde146100785780633a60c3861461009457806370932851146100b2578063893d20e8146100e2575b600080fd5b6100766004803603810190610071919061089f565b610100565b005b610092600480360381019061008d919061094f565b6101f9565b005b61009c610561565b6040516100a99190610dc5565b60405180910390f35b6100cc60048036038101906100c79190610a03565b61056a565b6040516100d99190610d05565b60405180910390f35b6100ea6105a6565b6040516100f79190610bb3565b60405180910390f35b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff1660e01b815260040161013d93929190610bce565b602060405180830381600087803b15801561015757600080fd5b505af115801561016b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018f9190610922565b506000808154809291906101a290610f57565b91905055507ff23d010e1e3c208301131784483bae283b311f52307b8032670a723886a6d6dd8433856000546101d66105ce565b87876040516101eb9796959493929190610c66565b60405180910390a150505050565b60006102d287878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506105db565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610362576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035990610da5565b60405180910390fd5b6000806000806000808c8c81019061037a9190610812565b95509550955095509550955061038e6105ce565b81146103cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c690610d65565b60405180910390fd5b6000151560016000848152602001908152602001600020600085815260200190815260200160002060009054906101000a900460ff16151514610447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90610d85565b60405180910390fd5b6001806000848152602001908152602001600020600085815260200190815260200160002060006101000a81548160ff0219169083151502179055508573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86866040518363ffffffff1660e01b81526004016104be929190610cdc565b602060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105109190610922565b507f0f442c827e3abc4148b9110f579169c8a3f347c2f74ae28497ceb01bd4094b2f86868686868660405161054a96959493929190610c05565b60405180910390a150505050505050505050505050565b60008054905090565b600060016000848152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6000804690508091505090565b600060418251146105ef57600090506106f1565b60008385604051602001610604929190610b84565b60405160208183030381529060405280519060200120905060008060006020860151925060408601519150606086015160001a90507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c11156106715760009450505050506106f1565b601b8160ff16141580156106895750601c8160ff1614155b1561069b5760009450505050506106f1565b600184828585604051600081526020016040526040516106be9493929190610d20565b6020604051602081039080840390855afa1580156106e0573d6000803e3d6000fd5b505050602060405103519450505050505b9392505050565b600061070b61070684610e05565b610de0565b9050828152602081018484840111156107275761072661100d565b5b610732848285610ee4565b509392505050565b600081359050610749816110d1565b92915050565b60008135905061075e816110e8565b92915050565b600081519050610773816110ff565b92915050565b60008083601f84011261078f5761078e611003565b5b8235905067ffffffffffffffff8111156107ac576107ab610ffe565b5b6020830191508360018202830111156107c8576107c7611008565b5b9250929050565b600082601f8301126107e4576107e3611003565b5b81356107f48482602086016106f8565b91505092915050565b60008135905061080c81611116565b92915050565b60008060008060008060c0878903121561082f5761082e611017565b5b600061083d89828a0161074f565b965050602061084e89828a0161074f565b955050604061085f89828a016107fd565b945050606061087089828a016107fd565b935050608061088189828a016107fd565b92505060a061089289828a016107fd565b9150509295509295509295565b600080600080608085870312156108b9576108b8611017565b5b60006108c78782880161073a565b94505060206108d8878288016107fd565b93505060406108e9878288016107fd565b925050606085013567ffffffffffffffff81111561090a57610909611012565b5b610916878288016107cf565b91505092959194509250565b60006020828403121561093857610937611017565b5b600061094684828501610764565b91505092915050565b6000806000806000806060878903121561096c5761096b611017565b5b600087013567ffffffffffffffff81111561098a57610989611012565b5b61099689828a01610779565b9650965050602087013567ffffffffffffffff8111156109b9576109b8611012565b5b6109c589828a01610779565b9450945050604087013567ffffffffffffffff8111156109e8576109e7611012565b5b6109f489828a01610779565b92509250509295509295509295565b60008060408385031215610a1a57610a19611017565b5b6000610a28858286016107fd565b9250506020610a39858286016107fd565b9150509250929050565b610a4c81610e73565b82525050565b610a5b81610e97565b82525050565b610a6a81610ea3565b82525050565b6000610a7b82610e36565b610a858185610e4c565b9350610a95818560208601610ef3565b80840191505092915050565b6000610aac82610e41565b610ab68185610e57565b9350610ac6818560208601610ef3565b610acf8161101c565b840191505092915050565b6000610ae7600a83610e57565b9150610af28261102d565b602082019050919050565b6000610b0a600d83610e57565b9150610b1582611056565b602082019050919050565b6000610b2d601a83610e68565b9150610b388261107f565b601a82019050919050565b6000610b50600983610e57565b9150610b5b826110a8565b602082019050919050565b610b6f81610ecd565b82525050565b610b7e81610ed7565b82525050565b6000610b8f82610b20565b9150610b9b8285610a70565b9150610ba78284610a70565b91508190509392505050565b6000602082019050610bc86000830184610a43565b92915050565b6000606082019050610be36000830186610a43565b610bf06020830185610a43565b610bfd6040830184610b66565b949350505050565b600060c082019050610c1a6000830189610a43565b610c276020830188610a43565b610c346040830187610b66565b610c416060830186610b66565b610c4e6080830185610b66565b610c5b60a0830184610b66565b979650505050505050565b600060e082019050610c7b600083018a610a43565b610c886020830189610a43565b610c956040830188610b66565b610ca26060830187610b66565b610caf6080830186610b66565b610cbc60a0830185610b66565b81810360c0830152610cce8184610aa1565b905098975050505050505050565b6000604082019050610cf16000830185610a43565b610cfe6020830184610b66565b9392505050565b6000602082019050610d1a6000830184610a52565b92915050565b6000608082019050610d356000830187610a61565b610d426020830186610b75565b610d4f6040830185610a61565b610d5c6060830184610a61565b95945050505050565b60006020820190508181036000830152610d7e81610ada565b9050919050565b60006020820190508181036000830152610d9e81610afd565b9050919050565b60006020820190508181036000830152610dbe81610b43565b9050919050565b6000602082019050610dda6000830184610b66565b92915050565b6000610dea610dfb565b9050610df68282610f26565b919050565b6000604051905090565b600067ffffffffffffffff821115610e2057610e1f610fcf565b5b610e298261101c565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000610e7e82610ead565b9050919050565b6000610e9082610ead565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015610f11578082015181840152602081019050610ef6565b83811115610f20576000848401525b50505050565b610f2f8261101c565b810181811067ffffffffffffffff82111715610f4e57610f4d610fcf565b5b80604052505050565b6000610f6282610ecd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610f9557610f94610fa0565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f57726f6e67436861696e00000000000000000000000000000000000000000000600082015250565b7f4e6f6e6365526570656174656400000000000000000000000000000000000000600082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a000000000000600082015250565b7f4261645369676e65720000000000000000000000000000000000000000000000600082015250565b6110da81610e73565b81146110e557600080fd5b50565b6110f181610e85565b81146110fc57600080fd5b50565b61110881610e97565b811461111357600080fd5b50565b61111f81610ecd565b811461112a57600080fd5b5056fea2646970667358221220f9daa687dfca9004490f76593289e6e6e4b72ce32cfa5ebf4762fce019c297cc64736f6c63430008070033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c80631290bbb81461005c578063378c4fde146100785780633a60c3861461009457806370932851146100b2578063893d20e8146100e2575b600080fd5b6100766004803603810190610071919061089f565b610100565b005b610092600480360381019061008d919061094f565b6101f9565b005b61009c610561565b6040516100a99190610dc5565b60405180910390f35b6100cc60048036038101906100c79190610a03565b61056a565b6040516100d99190610d05565b60405180910390f35b6100ea6105a6565b6040516100f79190610bb3565b60405180910390f35b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff1660e01b815260040161013d93929190610bce565b602060405180830381600087803b15801561015757600080fd5b505af115801561016b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018f9190610922565b506000808154809291906101a290610f57565b91905055507ff23d010e1e3c208301131784483bae283b311f52307b8032670a723886a6d6dd8433856000546101d66105ce565b87876040516101eb9796959493929190610c66565b60405180910390a150505050565b60006102d287878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506105db565b90507f0000000000000000000000003bcd9e57ab8f5e46947811e07212a27ed00a41f673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610362576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035990610da5565b60405180910390fd5b6000806000806000808c8c81019061037a9190610812565b95509550955095509550955061038e6105ce565b81146103cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c690610d65565b60405180910390fd5b6000151560016000848152602001908152602001600020600085815260200190815260200160002060009054906101000a900460ff16151514610447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90610d85565b60405180910390fd5b6001806000848152602001908152602001600020600085815260200190815260200160002060006101000a81548160ff0219169083151502179055508573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86866040518363ffffffff1660e01b81526004016104be929190610cdc565b602060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105109190610922565b507f0f442c827e3abc4148b9110f579169c8a3f347c2f74ae28497ceb01bd4094b2f86868686868660405161054a96959493929190610c05565b60405180910390a150505050505050505050505050565b60008054905090565b600060016000848152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f0000000000000000000000003bcd9e57ab8f5e46947811e07212a27ed00a41f6905090565b6000804690508091505090565b600060418251146105ef57600090506106f1565b60008385604051602001610604929190610b84565b60405160208183030381529060405280519060200120905060008060006020860151925060408601519150606086015160001a90507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c11156106715760009450505050506106f1565b601b8160ff16141580156106895750601c8160ff1614155b1561069b5760009450505050506106f1565b600184828585604051600081526020016040526040516106be9493929190610d20565b6020604051602081039080840390855afa1580156106e0573d6000803e3d6000fd5b505050602060405103519450505050505b9392505050565b600061070b61070684610e05565b610de0565b9050828152602081018484840111156107275761072661100d565b5b610732848285610ee4565b509392505050565b600081359050610749816110d1565b92915050565b60008135905061075e816110e8565b92915050565b600081519050610773816110ff565b92915050565b60008083601f84011261078f5761078e611003565b5b8235905067ffffffffffffffff8111156107ac576107ab610ffe565b5b6020830191508360018202830111156107c8576107c7611008565b5b9250929050565b600082601f8301126107e4576107e3611003565b5b81356107f48482602086016106f8565b91505092915050565b60008135905061080c81611116565b92915050565b60008060008060008060c0878903121561082f5761082e611017565b5b600061083d89828a0161074f565b965050602061084e89828a0161074f565b955050604061085f89828a016107fd565b945050606061087089828a016107fd565b935050608061088189828a016107fd565b92505060a061089289828a016107fd565b9150509295509295509295565b600080600080608085870312156108b9576108b8611017565b5b60006108c78782880161073a565b94505060206108d8878288016107fd565b93505060406108e9878288016107fd565b925050606085013567ffffffffffffffff81111561090a57610909611012565b5b610916878288016107cf565b91505092959194509250565b60006020828403121561093857610937611017565b5b600061094684828501610764565b91505092915050565b6000806000806000806060878903121561096c5761096b611017565b5b600087013567ffffffffffffffff81111561098a57610989611012565b5b61099689828a01610779565b9650965050602087013567ffffffffffffffff8111156109b9576109b8611012565b5b6109c589828a01610779565b9450945050604087013567ffffffffffffffff8111156109e8576109e7611012565b5b6109f489828a01610779565b92509250509295509295509295565b60008060408385031215610a1a57610a19611017565b5b6000610a28858286016107fd565b9250506020610a39858286016107fd565b9150509250929050565b610a4c81610e73565b82525050565b610a5b81610e97565b82525050565b610a6a81610ea3565b82525050565b6000610a7b82610e36565b610a858185610e4c565b9350610a95818560208601610ef3565b80840191505092915050565b6000610aac82610e41565b610ab68185610e57565b9350610ac6818560208601610ef3565b610acf8161101c565b840191505092915050565b6000610ae7600a83610e57565b9150610af28261102d565b602082019050919050565b6000610b0a600d83610e57565b9150610b1582611056565b602082019050919050565b6000610b2d601a83610e68565b9150610b388261107f565b601a82019050919050565b6000610b50600983610e57565b9150610b5b826110a8565b602082019050919050565b610b6f81610ecd565b82525050565b610b7e81610ed7565b82525050565b6000610b8f82610b20565b9150610b9b8285610a70565b9150610ba78284610a70565b91508190509392505050565b6000602082019050610bc86000830184610a43565b92915050565b6000606082019050610be36000830186610a43565b610bf06020830185610a43565b610bfd6040830184610b66565b949350505050565b600060c082019050610c1a6000830189610a43565b610c276020830188610a43565b610c346040830187610b66565b610c416060830186610b66565b610c4e6080830185610b66565b610c5b60a0830184610b66565b979650505050505050565b600060e082019050610c7b600083018a610a43565b610c886020830189610a43565b610c956040830188610b66565b610ca26060830187610b66565b610caf6080830186610b66565b610cbc60a0830185610b66565b81810360c0830152610cce8184610aa1565b905098975050505050505050565b6000604082019050610cf16000830185610a43565b610cfe6020830184610b66565b9392505050565b6000602082019050610d1a6000830184610a52565b92915050565b6000608082019050610d356000830187610a61565b610d426020830186610b75565b610d4f6040830185610a61565b610d5c6060830184610a61565b95945050505050565b60006020820190508181036000830152610d7e81610ada565b9050919050565b60006020820190508181036000830152610d9e81610afd565b9050919050565b60006020820190508181036000830152610dbe81610b43565b9050919050565b6000602082019050610dda6000830184610b66565b92915050565b6000610dea610dfb565b9050610df68282610f26565b919050565b6000604051905090565b600067ffffffffffffffff821115610e2057610e1f610fcf565b5b610e298261101c565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000610e7e82610ead565b9050919050565b6000610e9082610ead565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015610f11578082015181840152602081019050610ef6565b83811115610f20576000848401525b50505050565b610f2f8261101c565b810181811067ffffffffffffffff82111715610f4e57610f4d610fcf565b5b80604052505050565b6000610f6282610ecd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610f9557610f94610fa0565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f57726f6e67436861696e00000000000000000000000000000000000000000000600082015250565b7f4e6f6e6365526570656174656400000000000000000000000000000000000000600082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a000000000000600082015250565b7f4261645369676e65720000000000000000000000000000000000000000000000600082015250565b6110da81610e73565b81146110e557600080fd5b50565b6110f181610e85565b81146110fc57600080fd5b50565b61110881610e97565b811461111357600080fd5b50565b61111f81610ecd565b811461112a57600080fd5b5056fea2646970667358221220f9daa687dfca9004490f76593289e6e6e4b72ce32cfa5ebf4762fce019c297cc64736f6c63430008070033
Loading...
Loading
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.