Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 126 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Batch Deposit | 2536814 | 15 hrs ago | IN | 64.02 ETH | 0.00061623 | ||||
Batch Deposit | 2536784 | 15 hrs ago | IN | 32 ETH | 0.00018532 | ||||
Batch Deposit | 2497556 | 6 days ago | IN | 32 ETH | 0.0000786 | ||||
Batch Deposit | 2495494 | 6 days ago | IN | 32 ETH | 0.00007263 | ||||
Batch Deposit | 2444109 | 14 days ago | IN | 32 ETH | 0.00007265 | ||||
Batch Deposit | 2438832 | 15 days ago | IN | 32 ETH | 0.00006965 | ||||
Batch Deposit | 2438832 | 15 days ago | IN | 32 ETH | 0.00007262 | ||||
Batch Deposit | 2438832 | 15 days ago | IN | 32 ETH | 0.00006965 | ||||
Batch Deposit | 2436249 | 15 days ago | IN | 64 ETH | 0.0000229 | ||||
Batch Deposit | 2396010 | 21 days ago | IN | 32 ETH | 0.00006967 | ||||
Batch Deposit | 2392210 | 22 days ago | IN | 32 ETH | 0.00007859 | ||||
Batch Deposit | 2389786 | 22 days ago | IN | 32 ETH | 0.00007263 | ||||
Batch Deposit | 2389786 | 22 days ago | IN | 32 ETH | 0.00006965 | ||||
Batch Deposit | 2369438 | 25 days ago | IN | 32 ETH | 0.00007263 | ||||
Batch Deposit | 2369438 | 25 days ago | IN | 32 ETH | 0.00006965 | ||||
Batch Deposit | 2369438 | 25 days ago | IN | 32 ETH | 0.00007562 | ||||
Batch Deposit | 2344455 | 29 days ago | IN | 32 ETH | 0.00008154 | ||||
Batch Deposit | 2344454 | 29 days ago | IN | 32 ETH | 0.00006965 | ||||
Batch Deposit | 2325513 | 32 days ago | IN | 32 ETH | 0.00001214 | ||||
Batch Deposit | 2319699 | 33 days ago | IN | 32 ETH | 0.00006965 | ||||
Batch Deposit | 2318632 | 33 days ago | IN | 32 ETH | 0.00002761 | ||||
Batch Deposit | 2308280 | 35 days ago | IN | 32 ETH | 0.00006965 | ||||
Batch Deposit | 2260306 | 42 days ago | IN | 32 ETH | 0.0000786 | ||||
Batch Deposit | 2233325 | 46 days ago | IN | 32 ETH | 0.00006966 | ||||
Batch Deposit | 2221100 | 48 days ago | IN | 32 ETH | 0.00006965 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
2536814 | 15 hrs ago | 0.02 ETH | ||||
2536814 | 15 hrs ago | 32 ETH | ||||
2536814 | 15 hrs ago | 32 ETH | ||||
2497556 | 6 days ago | 32 ETH | ||||
2495494 | 6 days ago | 32 ETH | ||||
2444109 | 14 days ago | 32 ETH | ||||
2438832 | 15 days ago | 32 ETH | ||||
2438832 | 15 days ago | 32 ETH | ||||
2438832 | 15 days ago | 32 ETH | ||||
2436249 | 15 days ago | 32 ETH | ||||
2436249 | 15 days ago | 32 ETH | ||||
2396010 | 21 days ago | 32 ETH | ||||
2392210 | 22 days ago | 32 ETH | ||||
2389786 | 22 days ago | 32 ETH | ||||
2389786 | 22 days ago | 32 ETH | ||||
2369438 | 25 days ago | 32 ETH | ||||
2369438 | 25 days ago | 32 ETH | ||||
2369438 | 25 days ago | 32 ETH | ||||
2344455 | 29 days ago | 32 ETH | ||||
2344454 | 29 days ago | 32 ETH | ||||
2325513 | 32 days ago | 32 ETH | ||||
2319699 | 33 days ago | 32 ETH | ||||
2318632 | 33 days ago | 32 ETH | ||||
2308280 | 35 days ago | 32 ETH | ||||
2260306 | 42 days ago | 32 ETH |
Loading...
Loading
Contract Name:
BatchDeposit
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./SafeMath.sol"; import "./Address.sol"; import "./IDeposit.sol"; // Based on Stakefish and Staked.us contracts. // // We don't need fees, but we want truffle & unit tests. contract BatchDeposit { using Address for address payable; using SafeMath for uint256; uint256 public constant kDepositAmount = 32 ether; IDeposit public immutable depositContract_; event LogDepositLeftover(address to, uint256 amount); event LogDepositSent(bytes pubkey, bytes withdrawal); // We pass the address of a contract here because this will change // from one environment to another. On mainnet and testnet we use // the official addresses: // // - testnet: 0xff50ed3d0ec03aC01D4C79aAd74928BFF48a7b2b (https://goerli.etherscan.io/address/0xff50ed3d0ec03aC01D4C79aAd74928BFF48a7b2b) // - zheijang: 0x4242424242424242424242424242424242424242 (https://blockscout.com/eth/zhejiang-testnet/address/0x4242424242424242424242424242424242424242) // - mainnet: 0x00000000219ab540356cbb839cbe05303d7705fa (https://etherscan.io/address/0x00000000219ab540356cbb839cbe05303d7705fa) // // The migration script handles this. constructor (address deposit_contract_address) { depositContract_ = IDeposit(deposit_contract_address); } function batchDeposit( bytes[] calldata pubkeys, bytes[] calldata withdrawal_credentials, bytes[] calldata signatures, bytes32[] calldata deposit_data_roots ) external payable { require( pubkeys.length == withdrawal_credentials.length && pubkeys.length == signatures.length && pubkeys.length == deposit_data_roots.length, "#BatchDeposit batchDeposit(): All parameter array's must have the same length." ); require( pubkeys.length > 0, "#BatchDeposit batchDeposit(): All parameter array's must have a length greater than zero." ); require( msg.value >= kDepositAmount.mul(pubkeys.length), "#BatchDeposit batchDeposit(): Ether deposited needs to be at least: 32 * (parameter `pubkeys[]` length)." ); uint256 deposited = 0; for (uint256 i = 0; i < pubkeys.length; i++) { depositContract_.deposit{value: kDepositAmount}( pubkeys[i], withdrawal_credentials[i], signatures[i], deposit_data_roots[i] ); emit LogDepositSent(pubkeys[i], withdrawal_credentials[i]); deposited = deposited.add(kDepositAmount); } assert(deposited == kDepositAmount.mul(pubkeys.length)); uint256 ethToReturn = msg.value.sub(deposited); if (ethToReturn > 0) { emit LogDepositLeftover(msg.sender, ethToReturn); Address.sendValue(payable(msg.sender), ethToReturn); } } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain `call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /// @notice Interface of the official Deposit contract from the ETH /// Foundation. interface IDeposit { /// @notice Submit a Phase 0 DepositData object. /// /// @param pubkey - A BLS12-381 public key. /// @param withdrawal_credentials - Commitment to a public key for withdrawals. /// @param signature - A BLS12-381 signature. /// @param deposit_data_root - The SHA-256 hash of the SSZ-encoded DepositData object. /// Used as a protection against malformed input. function deposit( bytes calldata pubkey, bytes calldata withdrawal_credentials, bytes calldata signature, bytes32 deposit_data_root ) external payable; } // Used in unit tests. contract DepositMock is IDeposit { function deposit(bytes calldata pubkey, bytes calldata withdrawal_credentials, bytes calldata signature, bytes32 deposit_data_root) external payable {} }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } }
[{"inputs":[{"internalType":"address","name":"deposit_contract_address","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LogDepositLeftover","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"pubkey","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"withdrawal","type":"bytes"}],"name":"LogDepositSent","type":"event"},{"inputs":[{"internalType":"bytes[]","name":"pubkeys","type":"bytes[]"},{"internalType":"bytes[]","name":"withdrawal_credentials","type":"bytes[]"},{"internalType":"bytes[]","name":"signatures","type":"bytes[]"},{"internalType":"bytes32[]","name":"deposit_data_roots","type":"bytes32[]"}],"name":"batchDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositContract_","outputs":[{"internalType":"contract IDeposit","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"kDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60a06040523480156200001157600080fd5b506040516200107a3803806200107a8339818101604052810190620000379190620000dc565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506200010e565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000a48262000077565b9050919050565b620000b68162000097565b8114620000c257600080fd5b50565b600081519050620000d681620000ab565b92915050565b600060208284031215620000f557620000f462000072565b5b60006200010584828501620000c5565b91505092915050565b608051610f4a620001306000396000818160ba01526101fe0152610f4a6000f3fe6080604052600436106100345760003560e01c80634816e70e14610039578063becab10a14610064578063ca0bfcce1461008f575b600080fd5b34801561004557600080fd5b5061004e6100ab565b60405161005b91906105c1565b60405180910390f35b34801561007057600080fd5b506100796100b8565b604051610086919061065b565b60405180910390f35b6100a960048036038101906100a4919061073b565b6100dc565b005b6801bc16d674ec80000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b85859050888890501480156100f657508383905088889050145b801561010757508181905088889050145b610146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013d906108cd565b60405180910390fd5b6000888890501161018c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018390610985565b60405180910390fd5b6101ab888890506801bc16d674ec80000061047290919063ffffffff16565b3410156101ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101e490610a63565b60405180910390fd5b6000805b898990508110156103d3577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663228951186801bc16d674ec8000008c8c8581811061025557610254610a83565b5b90506020028101906102679190610ac1565b8c8c8781811061027a57610279610a83565b5b905060200281019061028c9190610ac1565b8c8c8981811061029f5761029e610a83565b5b90506020028101906102b19190610ac1565b8c8c8b8181106102c4576102c3610a83565b5b905060200201356040518963ffffffff1660e01b81526004016102ed9796959493929190610b9b565b6000604051808303818588803b15801561030657600080fd5b505af115801561031a573d6000803e3d6000fd5b50505050507f737feedde71ce80c08f73125e4350b001be2dfb6a00fb455086c2b0a514cdfac8a8a8381811061035357610352610a83565b5b90506020028101906103659190610ac1565b8a8a8581811061037857610377610a83565b5b905060200281019061038a9190610ac1565b60405161039a9493929190610bfb565b60405180910390a16103be6801bc16d674ec8000008361048890919063ffffffff16565b915080806103cb90610c65565b9150506101f1565b506103f3898990506801bc16d674ec80000061047290919063ffffffff16565b811461040257610401610cad565b5b6000610417823461049e90919063ffffffff16565b90506000811115610466577f315b4b6ebed620c198d7051f7602ad593b045d0299ca65a291a29af54cf076c93382604051610453929190610cfd565b60405180910390a161046533826104b4565b5b50505050505050505050565b600081836104809190610d26565b905092915050565b600081836104969190610d68565b905092915050565b600081836104ac9190610d9c565b905092915050565b804710156104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ee90610e1c565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161051d90610e6d565b60006040518083038185875af1925050503d806000811461055a576040519150601f19603f3d011682016040523d82523d6000602084013e61055f565b606091505b50509050806105a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059a90610ef4565b60405180910390fd5b505050565b6000819050919050565b6105bb816105a8565b82525050565b60006020820190506105d660008301846105b2565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061062161061c610617846105dc565b6105fc565b6105dc565b9050919050565b600061063382610606565b9050919050565b600061064582610628565b9050919050565b6106558161063a565b82525050565b6000602082019050610670600083018461064c565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126106a5576106a4610680565b5b8235905067ffffffffffffffff8111156106c2576106c1610685565b5b6020830191508360208202830111156106de576106dd61068a565b5b9250929050565b60008083601f8401126106fb576106fa610680565b5b8235905067ffffffffffffffff81111561071857610717610685565b5b6020830191508360208202830111156107345761073361068a565b5b9250929050565b6000806000806000806000806080898b03121561075b5761075a610676565b5b600089013567ffffffffffffffff8111156107795761077861067b565b5b6107858b828c0161068f565b9850985050602089013567ffffffffffffffff8111156107a8576107a761067b565b5b6107b48b828c0161068f565b9650965050604089013567ffffffffffffffff8111156107d7576107d661067b565b5b6107e38b828c0161068f565b9450945050606089013567ffffffffffffffff8111156108065761080561067b565b5b6108128b828c016106e5565b92509250509295985092959890939650565b600082825260208201905092915050565b7f2342617463684465706f7369742062617463684465706f73697428293a20416c60008201527f6c20706172616d657465722061727261792773206d757374206861766520746860208201527f652073616d65206c656e6774682e000000000000000000000000000000000000604082015250565b60006108b7604e83610824565b91506108c282610835565b606082019050919050565b600060208201905081810360008301526108e6816108aa565b9050919050565b7f2342617463684465706f7369742062617463684465706f73697428293a20416c60008201527f6c20706172616d657465722061727261792773206d757374206861766520612060208201527f6c656e6774682067726561746572207468616e207a65726f2e00000000000000604082015250565b600061096f605983610824565b915061097a826108ed565b606082019050919050565b6000602082019050818103600083015261099e81610962565b9050919050565b7f2342617463684465706f7369742062617463684465706f73697428293a20457460008201527f686572206465706f7369746564206e6565647320746f206265206174206c656160208201527f73743a203332202a2028706172616d6574657220607075626b6579735b5d602060408201527f6c656e677468292e000000000000000000000000000000000000000000000000606082015250565b6000610a4d606883610824565b9150610a58826109a5565b608082019050919050565b60006020820190508181036000830152610a7c81610a40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112610ade57610add610ab2565b5b80840192508235915067ffffffffffffffff821115610b0057610aff610ab7565b5b602083019250600182023603831315610b1c57610b1b610abc565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610b618385610b24565b9350610b6e838584610b35565b610b7783610b44565b840190509392505050565b6000819050919050565b610b9581610b82565b82525050565b60006080820190508181036000830152610bb681898b610b55565b90508181036020830152610bcb818789610b55565b90508181036040830152610be0818587610b55565b9050610bef6060830184610b8c565b98975050505050505050565b60006040820190508181036000830152610c16818688610b55565b90508181036020830152610c2b818486610b55565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610c70826105a8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ca257610ca1610c36565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000610ce7826105dc565b9050919050565b610cf781610cdc565b82525050565b6000604082019050610d126000830185610cee565b610d1f60208301846105b2565b9392505050565b6000610d31826105a8565b9150610d3c836105a8565b9250828202610d4a816105a8565b91508282048414831517610d6157610d60610c36565b5b5092915050565b6000610d73826105a8565b9150610d7e836105a8565b9250828201905080821115610d9657610d95610c36565b5b92915050565b6000610da7826105a8565b9150610db2836105a8565b9250828203905081811115610dca57610dc9610c36565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000610e06601d83610824565b9150610e1182610dd0565b602082019050919050565b60006020820190508181036000830152610e3581610df9565b9050919050565b600081905092915050565b50565b6000610e57600083610e3c565b9150610e6282610e47565b600082019050919050565b6000610e7882610e4a565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000610ede603a83610824565b9150610ee982610e82565b604082019050919050565b60006020820190508181036000830152610f0d81610ed1565b905091905056fea2646970667358221220459a1698fc7eea8aa52de50d5e7a62c09a58a1ac487eb5976ad9f0473d89f95964736f6c634300081200330000000000000000000000004242424242424242424242424242424242424242
Deployed Bytecode
0x6080604052600436106100345760003560e01c80634816e70e14610039578063becab10a14610064578063ca0bfcce1461008f575b600080fd5b34801561004557600080fd5b5061004e6100ab565b60405161005b91906105c1565b60405180910390f35b34801561007057600080fd5b506100796100b8565b604051610086919061065b565b60405180910390f35b6100a960048036038101906100a4919061073b565b6100dc565b005b6801bc16d674ec80000081565b7f000000000000000000000000424242424242424242424242424242424242424281565b85859050888890501480156100f657508383905088889050145b801561010757508181905088889050145b610146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013d906108cd565b60405180910390fd5b6000888890501161018c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018390610985565b60405180910390fd5b6101ab888890506801bc16d674ec80000061047290919063ffffffff16565b3410156101ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101e490610a63565b60405180910390fd5b6000805b898990508110156103d3577f000000000000000000000000424242424242424242424242424242424242424273ffffffffffffffffffffffffffffffffffffffff1663228951186801bc16d674ec8000008c8c8581811061025557610254610a83565b5b90506020028101906102679190610ac1565b8c8c8781811061027a57610279610a83565b5b905060200281019061028c9190610ac1565b8c8c8981811061029f5761029e610a83565b5b90506020028101906102b19190610ac1565b8c8c8b8181106102c4576102c3610a83565b5b905060200201356040518963ffffffff1660e01b81526004016102ed9796959493929190610b9b565b6000604051808303818588803b15801561030657600080fd5b505af115801561031a573d6000803e3d6000fd5b50505050507f737feedde71ce80c08f73125e4350b001be2dfb6a00fb455086c2b0a514cdfac8a8a8381811061035357610352610a83565b5b90506020028101906103659190610ac1565b8a8a8581811061037857610377610a83565b5b905060200281019061038a9190610ac1565b60405161039a9493929190610bfb565b60405180910390a16103be6801bc16d674ec8000008361048890919063ffffffff16565b915080806103cb90610c65565b9150506101f1565b506103f3898990506801bc16d674ec80000061047290919063ffffffff16565b811461040257610401610cad565b5b6000610417823461049e90919063ffffffff16565b90506000811115610466577f315b4b6ebed620c198d7051f7602ad593b045d0299ca65a291a29af54cf076c93382604051610453929190610cfd565b60405180910390a161046533826104b4565b5b50505050505050505050565b600081836104809190610d26565b905092915050565b600081836104969190610d68565b905092915050565b600081836104ac9190610d9c565b905092915050565b804710156104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ee90610e1c565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161051d90610e6d565b60006040518083038185875af1925050503d806000811461055a576040519150601f19603f3d011682016040523d82523d6000602084013e61055f565b606091505b50509050806105a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059a90610ef4565b60405180910390fd5b505050565b6000819050919050565b6105bb816105a8565b82525050565b60006020820190506105d660008301846105b2565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061062161061c610617846105dc565b6105fc565b6105dc565b9050919050565b600061063382610606565b9050919050565b600061064582610628565b9050919050565b6106558161063a565b82525050565b6000602082019050610670600083018461064c565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126106a5576106a4610680565b5b8235905067ffffffffffffffff8111156106c2576106c1610685565b5b6020830191508360208202830111156106de576106dd61068a565b5b9250929050565b60008083601f8401126106fb576106fa610680565b5b8235905067ffffffffffffffff81111561071857610717610685565b5b6020830191508360208202830111156107345761073361068a565b5b9250929050565b6000806000806000806000806080898b03121561075b5761075a610676565b5b600089013567ffffffffffffffff8111156107795761077861067b565b5b6107858b828c0161068f565b9850985050602089013567ffffffffffffffff8111156107a8576107a761067b565b5b6107b48b828c0161068f565b9650965050604089013567ffffffffffffffff8111156107d7576107d661067b565b5b6107e38b828c0161068f565b9450945050606089013567ffffffffffffffff8111156108065761080561067b565b5b6108128b828c016106e5565b92509250509295985092959890939650565b600082825260208201905092915050565b7f2342617463684465706f7369742062617463684465706f73697428293a20416c60008201527f6c20706172616d657465722061727261792773206d757374206861766520746860208201527f652073616d65206c656e6774682e000000000000000000000000000000000000604082015250565b60006108b7604e83610824565b91506108c282610835565b606082019050919050565b600060208201905081810360008301526108e6816108aa565b9050919050565b7f2342617463684465706f7369742062617463684465706f73697428293a20416c60008201527f6c20706172616d657465722061727261792773206d757374206861766520612060208201527f6c656e6774682067726561746572207468616e207a65726f2e00000000000000604082015250565b600061096f605983610824565b915061097a826108ed565b606082019050919050565b6000602082019050818103600083015261099e81610962565b9050919050565b7f2342617463684465706f7369742062617463684465706f73697428293a20457460008201527f686572206465706f7369746564206e6565647320746f206265206174206c656160208201527f73743a203332202a2028706172616d6574657220607075626b6579735b5d602060408201527f6c656e677468292e000000000000000000000000000000000000000000000000606082015250565b6000610a4d606883610824565b9150610a58826109a5565b608082019050919050565b60006020820190508181036000830152610a7c81610a40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112610ade57610add610ab2565b5b80840192508235915067ffffffffffffffff821115610b0057610aff610ab7565b5b602083019250600182023603831315610b1c57610b1b610abc565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610b618385610b24565b9350610b6e838584610b35565b610b7783610b44565b840190509392505050565b6000819050919050565b610b9581610b82565b82525050565b60006080820190508181036000830152610bb681898b610b55565b90508181036020830152610bcb818789610b55565b90508181036040830152610be0818587610b55565b9050610bef6060830184610b8c565b98975050505050505050565b60006040820190508181036000830152610c16818688610b55565b90508181036020830152610c2b818486610b55565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610c70826105a8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ca257610ca1610c36565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000610ce7826105dc565b9050919050565b610cf781610cdc565b82525050565b6000604082019050610d126000830185610cee565b610d1f60208301846105b2565b9392505050565b6000610d31826105a8565b9150610d3c836105a8565b9250828202610d4a816105a8565b91508282048414831517610d6157610d60610c36565b5b5092915050565b6000610d73826105a8565b9150610d7e836105a8565b9250828201905080821115610d9657610d95610c36565b5b92915050565b6000610da7826105a8565b9150610db2836105a8565b9250828203905081811115610dca57610dc9610c36565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000610e06601d83610824565b9150610e1182610dd0565b602082019050919050565b60006020820190508181036000830152610e3581610df9565b9050919050565b600081905092915050565b50565b6000610e57600083610e3c565b9150610e6282610e47565b600082019050919050565b6000610e7882610e4a565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000610ede603a83610824565b9150610ee982610e82565b604082019050919050565b60006020820190508181036000830152610f0d81610ed1565b905091905056fea2646970667358221220459a1698fc7eea8aa52de50d5e7a62c09a58a1ac487eb5976ad9f0473d89f95964736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004242424242424242424242424242424242424242
-----Decoded View---------------
Arg [0] : deposit_contract_address (address): 0x4242424242424242424242424242424242424242
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004242424242424242424242424242424242424242
Deployed Bytecode Sourcemap
240:2704:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;395:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1345:1597;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;340:49;381:8;340:49;:::o;395:42::-;;;:::o;1345:1597::-;1606:22;;:29;;1588:7;;:14;;:47;:98;;;;;1669:10;;:17;;1651:7;;:14;;:35;1588:98;:157;;;;;1720:18;;:25;;1702:7;;:14;;:43;1588:157;1567:282;;;;;;;;;;;;:::i;:::-;;;;;;;;;1897:1;1880:7;;:14;;:18;1859:154;;;;;;;;;;;;:::i;:::-;;;;;;;;;2057:34;2076:7;;:14;;381:8;2057:18;;:34;;;;:::i;:::-;2044:9;:47;;2023:198;;;;;;;;;;;;:::i;:::-;;;;;;;;;2232:17;2269:9;2264:392;2288:7;;:14;;2284:1;:18;2264:392;;;2323:16;:24;;;381:8;2388:7;;2396:1;2388:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2416:22;;2439:1;2416:25;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2459:10;;2470:1;2459:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2490:18;;2509:1;2490:21;;;;;;;:::i;:::-;;;;;;;;2323:202;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2537:53;2552:7;;2560:1;2552:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2564:22;;2587:1;2564:25;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2537:53;;;;;;;;;:::i;:::-;;;;;;;;2616:29;381:8;2616:9;:13;;:29;;;;:::i;:::-;2604:41;;2304:3;;;;;:::i;:::-;;;;2264:392;;;;2686:34;2705:7;;:14;;381:8;2686:18;;:34;;;;:::i;:::-;2673:9;:47;2666:55;;;;:::i;:::-;;2732:19;2754:24;2768:9;2754;:13;;:24;;;;:::i;:::-;2732:46;;2806:1;2792:11;:15;2788:148;;;2826:43;2845:10;2857:11;2826:43;;;;;;;:::i;:::-;;;;;;;;2874:51;2900:10;2913:11;2874:17;:51::i;:::-;2788:148;1557:1385;;1345:1597;;;;;;;;:::o;3382:96:3:-;3440:7;3470:1;3466;:5;;;;:::i;:::-;3459:12;;3382:96;;;;:::o;2672:::-;2730:7;2760:1;2756;:5;;;;:::i;:::-;2749:12;;2672:96;;;;:::o;3039:::-;3097:7;3127:1;3123;:5;;;;:::i;:::-;3116:12;;3039:96;;;;:::o;2012:312:0:-;2126:6;2101:21;:31;;2093:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2178:12;2196:9;:14;;2218:6;2196:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2177:52;;;2247:7;2239:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;2083:241;2012:312;;:::o;7:77:4:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:126::-;479:7;519:42;512:5;508:54;497:65;;442:126;;;:::o;574:60::-;602:3;623:5;616:12;;574:60;;;:::o;640:142::-;690:9;723:53;741:34;750:24;768:5;750:24;:::i;:::-;741:34;:::i;:::-;723:53;:::i;:::-;710:66;;640:142;;;:::o;788:126::-;838:9;871:37;902:5;871:37;:::i;:::-;858:50;;788:126;;;:::o;920:142::-;986:9;1019:37;1050:5;1019:37;:::i;:::-;1006:50;;920:142;;;:::o;1068:163::-;1171:53;1218:5;1171:53;:::i;:::-;1166:3;1159:66;1068:163;;:::o;1237:254::-;1346:4;1384:2;1373:9;1369:18;1361:26;;1397:87;1481:1;1470:9;1466:17;1457:6;1397:87;:::i;:::-;1237:254;;;;:::o;1578:117::-;1687:1;1684;1677:12;1701:117;1810:1;1807;1800:12;1824:117;1933:1;1930;1923:12;1947:117;2056:1;2053;2046:12;2070:117;2179:1;2176;2169:12;2208:579;2292:8;2302:6;2352:3;2345:4;2337:6;2333:17;2329:27;2319:122;;2360:79;;:::i;:::-;2319:122;2473:6;2460:20;2450:30;;2503:18;2495:6;2492:30;2489:117;;;2525:79;;:::i;:::-;2489:117;2639:4;2631:6;2627:17;2615:29;;2693:3;2685:4;2677:6;2673:17;2663:8;2659:32;2656:41;2653:128;;;2700:79;;:::i;:::-;2653:128;2208:579;;;;;:::o;2810:568::-;2883:8;2893:6;2943:3;2936:4;2928:6;2924:17;2920:27;2910:122;;2951:79;;:::i;:::-;2910:122;3064:6;3051:20;3041:30;;3094:18;3086:6;3083:30;3080:117;;;3116:79;;:::i;:::-;3080:117;3230:4;3222:6;3218:17;3206:29;;3284:3;3276:4;3268:6;3264:17;3254:8;3250:32;3247:41;3244:128;;;3291:79;;:::i;:::-;3244:128;2810:568;;;;;:::o;3384:1751::-;3611:6;3619;3627;3635;3643;3651;3659;3667;3716:3;3704:9;3695:7;3691:23;3687:33;3684:120;;;3723:79;;:::i;:::-;3684:120;3871:1;3860:9;3856:17;3843:31;3901:18;3893:6;3890:30;3887:117;;;3923:79;;:::i;:::-;3887:117;4036:91;4119:7;4110:6;4099:9;4095:22;4036:91;:::i;:::-;4018:109;;;;3814:323;4204:2;4193:9;4189:18;4176:32;4235:18;4227:6;4224:30;4221:117;;;4257:79;;:::i;:::-;4221:117;4370:91;4453:7;4444:6;4433:9;4429:22;4370:91;:::i;:::-;4352:109;;;;4147:324;4538:2;4527:9;4523:18;4510:32;4569:18;4561:6;4558:30;4555:117;;;4591:79;;:::i;:::-;4555:117;4704:91;4787:7;4778:6;4767:9;4763:22;4704:91;:::i;:::-;4686:109;;;;4481:324;4872:2;4861:9;4857:18;4844:32;4903:18;4895:6;4892:30;4889:117;;;4925:79;;:::i;:::-;4889:117;5038:80;5110:7;5101:6;5090:9;5086:22;5038:80;:::i;:::-;5020:98;;;;4815:313;3384:1751;;;;;;;;;;;:::o;5141:169::-;5225:11;5259:6;5254:3;5247:19;5299:4;5294:3;5290:14;5275:29;;5141:169;;;;:::o;5316:302::-;5456:34;5452:1;5444:6;5440:14;5433:58;5525:34;5520:2;5512:6;5508:15;5501:59;5594:16;5589:2;5581:6;5577:15;5570:41;5316:302;:::o;5624:366::-;5766:3;5787:67;5851:2;5846:3;5787:67;:::i;:::-;5780:74;;5863:93;5952:3;5863:93;:::i;:::-;5981:2;5976:3;5972:12;5965:19;;5624:366;;;:::o;5996:419::-;6162:4;6200:2;6189:9;6185:18;6177:26;;6249:9;6243:4;6239:20;6235:1;6224:9;6220:17;6213:47;6277:131;6403:4;6277:131;:::i;:::-;6269:139;;5996:419;;;:::o;6421:313::-;6561:34;6557:1;6549:6;6545:14;6538:58;6630:34;6625:2;6617:6;6613:15;6606:59;6699:27;6694:2;6686:6;6682:15;6675:52;6421:313;:::o;6740:366::-;6882:3;6903:67;6967:2;6962:3;6903:67;:::i;:::-;6896:74;;6979:93;7068:3;6979:93;:::i;:::-;7097:2;7092:3;7088:12;7081:19;;6740:366;;;:::o;7112:419::-;7278:4;7316:2;7305:9;7301:18;7293:26;;7365:9;7359:4;7355:20;7351:1;7340:9;7336:17;7329:47;7393:131;7519:4;7393:131;:::i;:::-;7385:139;;7112:419;;;:::o;7537:365::-;7677:34;7673:1;7665:6;7661:14;7654:58;7746:34;7741:2;7733:6;7729:15;7722:59;7815:34;7810:2;7802:6;7798:15;7791:59;7884:10;7879:2;7871:6;7867:15;7860:35;7537:365;:::o;7908:368::-;8050:3;8071:68;8135:3;8130;8071:68;:::i;:::-;8064:75;;8148:93;8237:3;8148:93;:::i;:::-;8266:3;8261;8257:13;8250:20;;7908:368;;;:::o;8282:419::-;8448:4;8486:2;8475:9;8471:18;8463:26;;8535:9;8529:4;8525:20;8521:1;8510:9;8506:17;8499:47;8563:131;8689:4;8563:131;:::i;:::-;8555:139;;8282:419;;;:::o;8707:180::-;8755:77;8752:1;8745:88;8852:4;8849:1;8842:15;8876:4;8873:1;8866:15;8893:117;9002:1;8999;8992:12;9016:117;9125:1;9122;9115:12;9139:117;9248:1;9245;9238:12;9262:724;9339:4;9345:6;9401:11;9388:25;9501:1;9495:4;9491:12;9480:8;9464:14;9460:29;9456:48;9436:18;9432:73;9422:168;;9509:79;;:::i;:::-;9422:168;9621:18;9611:8;9607:33;9599:41;;9673:4;9660:18;9650:28;;9701:18;9693:6;9690:30;9687:117;;;9723:79;;:::i;:::-;9687:117;9831:2;9825:4;9821:13;9813:21;;9888:4;9880:6;9876:17;9860:14;9856:38;9850:4;9846:49;9843:136;;;9898:79;;:::i;:::-;9843:136;9352:634;9262:724;;;;;:::o;9992:168::-;10075:11;10109:6;10104:3;10097:19;10149:4;10144:3;10140:14;10125:29;;9992:168;;;;:::o;10166:146::-;10263:6;10258:3;10253;10240:30;10304:1;10295:6;10290:3;10286:16;10279:27;10166:146;;;:::o;10318:102::-;10359:6;10410:2;10406:7;10401:2;10394:5;10390:14;10386:28;10376:38;;10318:102;;;:::o;10448:314::-;10544:3;10565:70;10628:6;10623:3;10565:70;:::i;:::-;10558:77;;10645:56;10694:6;10689:3;10682:5;10645:56;:::i;:::-;10726:29;10748:6;10726:29;:::i;:::-;10721:3;10717:39;10710:46;;10448:314;;;;;:::o;10768:77::-;10805:7;10834:5;10823:16;;10768:77;;;:::o;10851:118::-;10938:24;10956:5;10938:24;:::i;:::-;10933:3;10926:37;10851:118;;:::o;10975:874::-;11236:4;11274:3;11263:9;11259:19;11251:27;;11324:9;11318:4;11314:20;11310:1;11299:9;11295:17;11288:47;11352:86;11433:4;11424:6;11416;11352:86;:::i;:::-;11344:94;;11485:9;11479:4;11475:20;11470:2;11459:9;11455:18;11448:48;11513:86;11594:4;11585:6;11577;11513:86;:::i;:::-;11505:94;;11646:9;11640:4;11636:20;11631:2;11620:9;11616:18;11609:48;11674:86;11755:4;11746:6;11738;11674:86;:::i;:::-;11666:94;;11770:72;11838:2;11827:9;11823:18;11814:6;11770:72;:::i;:::-;10975:874;;;;;;;;;;:::o;11855:546::-;12032:4;12070:2;12059:9;12055:18;12047:26;;12119:9;12113:4;12109:20;12105:1;12094:9;12090:17;12083:47;12147:86;12228:4;12219:6;12211;12147:86;:::i;:::-;12139:94;;12280:9;12274:4;12270:20;12265:2;12254:9;12250:18;12243:48;12308:86;12389:4;12380:6;12372;12308:86;:::i;:::-;12300:94;;11855:546;;;;;;;:::o;12407:180::-;12455:77;12452:1;12445:88;12552:4;12549:1;12542:15;12576:4;12573:1;12566:15;12593:233;12632:3;12655:24;12673:5;12655:24;:::i;:::-;12646:33;;12701:66;12694:5;12691:77;12688:103;;12771:18;;:::i;:::-;12688:103;12818:1;12811:5;12807:13;12800:20;;12593:233;;;:::o;12832:180::-;12880:77;12877:1;12870:88;12977:4;12974:1;12967:15;13001:4;12998:1;12991:15;13018:96;13055:7;13084:24;13102:5;13084:24;:::i;:::-;13073:35;;13018:96;;;:::o;13120:118::-;13207:24;13225:5;13207:24;:::i;:::-;13202:3;13195:37;13120:118;;:::o;13244:332::-;13365:4;13403:2;13392:9;13388:18;13380:26;;13416:71;13484:1;13473:9;13469:17;13460:6;13416:71;:::i;:::-;13497:72;13565:2;13554:9;13550:18;13541:6;13497:72;:::i;:::-;13244:332;;;;;:::o;13582:410::-;13622:7;13645:20;13663:1;13645:20;:::i;:::-;13640:25;;13679:20;13697:1;13679:20;:::i;:::-;13674:25;;13734:1;13731;13727:9;13756:30;13774:11;13756:30;:::i;:::-;13745:41;;13935:1;13926:7;13922:15;13919:1;13916:22;13896:1;13889:9;13869:83;13846:139;;13965:18;;:::i;:::-;13846:139;13630:362;13582:410;;;;:::o;13998:191::-;14038:3;14057:20;14075:1;14057:20;:::i;:::-;14052:25;;14091:20;14109:1;14091:20;:::i;:::-;14086:25;;14134:1;14131;14127:9;14120:16;;14155:3;14152:1;14149:10;14146:36;;;14162:18;;:::i;:::-;14146:36;13998:191;;;;:::o;14195:194::-;14235:4;14255:20;14273:1;14255:20;:::i;:::-;14250:25;;14289:20;14307:1;14289:20;:::i;:::-;14284:25;;14333:1;14330;14326:9;14318:17;;14357:1;14351:4;14348:11;14345:37;;;14362:18;;:::i;:::-;14345:37;14195:194;;;;:::o;14395:179::-;14535:31;14531:1;14523:6;14519:14;14512:55;14395:179;:::o;14580:366::-;14722:3;14743:67;14807:2;14802:3;14743:67;:::i;:::-;14736:74;;14819:93;14908:3;14819:93;:::i;:::-;14937:2;14932:3;14928:12;14921:19;;14580:366;;;:::o;14952:419::-;15118:4;15156:2;15145:9;15141:18;15133:26;;15205:9;15199:4;15195:20;15191:1;15180:9;15176:17;15169:47;15233:131;15359:4;15233:131;:::i;:::-;15225:139;;14952:419;;;:::o;15377:147::-;15478:11;15515:3;15500:18;;15377:147;;;;:::o;15530:114::-;;:::o;15650:398::-;15809:3;15830:83;15911:1;15906:3;15830:83;:::i;:::-;15823:90;;15922:93;16011:3;15922:93;:::i;:::-;16040:1;16035:3;16031:11;16024:18;;15650:398;;;:::o;16054:379::-;16238:3;16260:147;16403:3;16260:147;:::i;:::-;16253:154;;16424:3;16417:10;;16054:379;;;:::o;16439:245::-;16579:34;16575:1;16567:6;16563:14;16556:58;16648:28;16643:2;16635:6;16631:15;16624:53;16439:245;:::o;16690:366::-;16832:3;16853:67;16917:2;16912:3;16853:67;:::i;:::-;16846:74;;16929:93;17018:3;16929:93;:::i;:::-;17047:2;17042:3;17038:12;17031:19;;16690:366;;;:::o;17062:419::-;17228:4;17266:2;17255:9;17251:18;17243:26;;17315:9;17309:4;17305:20;17301:1;17290:9;17286:17;17279:47;17343:131;17469:4;17343:131;:::i;:::-;17335:139;;17062:419;;;:::o
Swarm Source
ipfs://459a1698fc7eea8aa52de50d5e7a62c09a58a1ac487eb5976ad9f0473d89f959
Loading...
Loading
[ Download: CSV Export ]
[ 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.