Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 16 from a total of 16 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw ETH | 17339436 | 583 days ago | IN | 0 ETH | 0.0012733 | ||||
Withdraw Token | 17339436 | 583 days ago | IN | 0 ETH | 0.00119462 | ||||
Withdraw ETH | 16945733 | 639 days ago | IN | 0 ETH | 0.00138276 | ||||
Withdraw ETH | 16721942 | 670 days ago | IN | 0 ETH | 0.00144961 | ||||
Withdraw Token | 16521862 | 698 days ago | IN | 0 ETH | 0.00162482 | ||||
Withdraw ETH | 16521861 | 698 days ago | IN | 0 ETH | 0.00131622 | ||||
Withdraw Token | 16071595 | 761 days ago | IN | 0 ETH | 0.00055437 | ||||
Withdraw ETH | 16071594 | 761 days ago | IN | 0 ETH | 0.00062031 | ||||
Withdraw Token | 15654714 | 819 days ago | IN | 0 ETH | 0.00059226 | ||||
Withdraw ETH | 15654714 | 819 days ago | IN | 0 ETH | 0.00063127 | ||||
Withdraw Token | 15460520 | 848 days ago | IN | 0 ETH | 0.00065837 | ||||
Withdraw ETH | 15460518 | 848 days ago | IN | 0 ETH | 0.00061641 | ||||
Withdraw Token | 15232170 | 884 days ago | IN | 0 ETH | 0.00215749 | ||||
Withdraw ETH | 15232170 | 884 days ago | IN | 0 ETH | 0.0022996 | ||||
Withdraw Token | 15053161 | 912 days ago | IN | 0 ETH | 0.00338174 | ||||
Withdraw ETH | 15053159 | 912 days ago | IN | 0 ETH | 0.00262949 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
17608743 | 545 days ago | 0.000281 ETH | ||||
17573238 | 550 days ago | 0.0002 ETH | ||||
17573238 | 550 days ago | 0.0001595 ETH | ||||
17545917 | 554 days ago | 0.00294 ETH | ||||
17545917 | 554 days ago | 0.000235 ETH | ||||
17545917 | 554 days ago | 0.00294 ETH | ||||
17545917 | 554 days ago | 0.00019 ETH | ||||
17543829 | 554 days ago | 0.00011 ETH | ||||
17543829 | 554 days ago | 0.0018 ETH | ||||
17543829 | 554 days ago | 0.0001595 ETH | ||||
17543829 | 554 days ago | 0.00135 ETH | ||||
17543829 | 554 days ago | 0.001914 ETH | ||||
17543769 | 554 days ago | 0.000215 ETH | ||||
17543498 | 554 days ago | 0.0001 ETH | ||||
17541505 | 555 days ago | 0.00710345 ETH | ||||
17541436 | 555 days ago | 0.00084 ETH | ||||
17541418 | 555 days ago | 0.000275 ETH | ||||
17541414 | 555 days ago | 0.01090166 ETH | ||||
17538567 | 555 days ago | 0.0000845 ETH | ||||
17488326 | 562 days ago | 0.0036 ETH | ||||
17460619 | 566 days ago | 0.000055 ETH | ||||
17453746 | 567 days ago | 0.000055 ETH | ||||
17453746 | 567 days ago | 0.000055 ETH | ||||
17452650 | 567 days ago | 0.00005 ETH | ||||
17452650 | 567 days ago | 0.0012 ETH |
Loading...
Loading
Contract Name:
AikoPaymentSplitter
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-06-26 */ // 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; // solhint-disable-next-line no-inline-assembly 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"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (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"); // solhint-disable-next-line avoid-low-level-calls (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"); // solhint-disable-next-line avoid-low-level-calls (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"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private 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 // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20Upgradeable { /** * @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); } library SafeERC20Upgradeable { using Address for address; function safeTransfer(IERC20Upgradeable token, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20Upgradeable token, address from, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function _callOptionalReturn(IERC20Upgradeable token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that // the target address contains contract code and also asserts for success in the low-level call. bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } contract AikoPaymentSplitter { using SafeERC20Upgradeable for IERC20Upgradeable; address constant AIKO_TREASURY = 0xBa89826aE052da88962c0fB23bF3840F594d630E; address constant UWU_LABS = 0x354A70969F0b4a4C994403051A81C2ca45db3615; /** * @dev The Ether received will be logged with {PaymentReceived} events. Note that these events are not fully * reliable: it's possible for a contract to receive Ether without triggering this function. This only affects the * reliability of the events, and not the actual splitting of Ether. * * To learn more about this see the Solidity documentation for * https://solidity.readthedocs.io/en/latest/contracts.html#fallback-function[fallback * functions]. */ receive() external payable virtual { } 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"); } function withdrawETH() external { withdrawToken(address(0)); } function withdrawToken(address token) public { if (token == address(0)) { uint256 uwulabs = (0.1 gwei*address(this).balance)/1 gwei; sendValue(payable(UWU_LABS), uwulabs); sendValue(payable(AIKO_TREASURY), address(this).balance); } else { uint256 balance = IERC20Upgradeable(token).balanceOf(address(this)); uint256 uwulabs = (0.1 gwei*balance)/1 gwei; IERC20Upgradeable(token).safeTransfer(payable(UWU_LABS), uwulabs); IERC20Upgradeable(token).safeTransfer(payable(AIKO_TREASURY), IERC20Upgradeable(token).balanceOf(address(this))); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b50610d6c806100206000396000f3fe60806040526004361061002d5760003560e01c80638947606914610039578063e086e5ec1461006257610034565b3661003457005b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190610701565b610079565b005b34801561006e57600080fd5b506100776102cf565b005b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610113576000633b9aca00476305f5e1006100c59190610a6b565b6100cf9190610a3a565b90506100ef73354a70969f0b4a4c994403051a81c2ca45db3615826102db565b61010d73ba89826ae052da88962c0fb23bf3840f594d630e476102db565b506102cc565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161014e9190610902565b60206040518083038186803b15801561016657600080fd5b505afa15801561017a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019e9190610753565b90506000633b9aca00826305f5e1006101b79190610a6b565b6101c19190610a3a565b905061020273354a70969f0b4a4c994403051a81c2ca45db3615828573ffffffffffffffffffffffffffffffffffffffff166103cf9092919063ffffffff16565b6102c973ba89826ae052da88962c0fb23bf3840f594d630e8473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016102539190610902565b60206040518083038186803b15801561026b57600080fd5b505afa15801561027f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a39190610753565b8573ffffffffffffffffffffffffffffffffffffffff166103cf9092919063ffffffff16565b50505b50565b6102d96000610079565b565b8047101561031e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031590610988565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051610344906108ed565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b50509050806103ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c190610968565b60405180910390fd5b505050565b6104508363a9059cbb60e01b84846040516024016103ee92919061091d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610455565b505050565b60006104b7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661051c9092919063ffffffff16565b905060008151111561051757808060200190518101906104d7919061072a565b610516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050d906109e8565b60405180910390fd5b5b505050565b606061052b8484600085610534565b90509392505050565b606082471015610579576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610570906109a8565b60405180910390fd5b61058285610648565b6105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8906109c8565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516105ea91906108d6565b60006040518083038185875af1925050503d8060008114610627576040519150601f19603f3d011682016040523d82523d6000602084013e61062c565b606091505b509150915061063c82828661065b565b92505050949350505050565b600080823b905060008111915050919050565b6060831561066b578290506106bb565b60008351111561067e5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b29190610946565b60405180910390fd5b9392505050565b6000813590506106d181610cf1565b92915050565b6000815190506106e681610d08565b92915050565b6000815190506106fb81610d1f565b92915050565b60006020828403121561071357600080fd5b6000610721848285016106c2565b91505092915050565b60006020828403121561073c57600080fd5b600061074a848285016106d7565b91505092915050565b60006020828403121561076557600080fd5b6000610773848285016106ec565b91505092915050565b61078581610ac5565b82525050565b600061079682610a08565b6107a08185610a1e565b93506107b0818560208601610b0d565b80840191505092915050565b60006107c782610a13565b6107d18185610a29565b93506107e1818560208601610b0d565b6107ea81610b9e565b840191505092915050565b6000610802603a83610a29565b915061080d82610baf565b604082019050919050565b6000610825601d83610a29565b915061083082610bfe565b602082019050919050565b6000610848602683610a29565b915061085382610c27565b604082019050919050565b600061086b600083610a1e565b915061087682610c76565b600082019050919050565b600061088e601d83610a29565b915061089982610c79565b602082019050919050565b60006108b1602a83610a29565b91506108bc82610ca2565b604082019050919050565b6108d081610b03565b82525050565b60006108e2828461078b565b915081905092915050565b60006108f88261085e565b9150819050919050565b6000602082019050610917600083018461077c565b92915050565b6000604082019050610932600083018561077c565b61093f60208301846108c7565b9392505050565b6000602082019050818103600083015261096081846107bc565b905092915050565b60006020820190508181036000830152610981816107f5565b9050919050565b600060208201905081810360008301526109a181610818565b9050919050565b600060208201905081810360008301526109c18161083b565b9050919050565b600060208201905081810360008301526109e181610881565b9050919050565b60006020820190508181036000830152610a01816108a4565b9050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610a4582610b03565b9150610a5083610b03565b925082610a6057610a5f610b6f565b5b828204905092915050565b6000610a7682610b03565b9150610a8183610b03565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610aba57610ab9610b40565b5b828202905092915050565b6000610ad082610ae3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610b2b578082015181840152602081019050610b10565b83811115610b3a576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610cfa81610ac5565b8114610d0557600080fd5b50565b610d1181610ad7565b8114610d1c57600080fd5b50565b610d2881610b03565b8114610d3357600080fd5b5056fea2646970667358221220baab32f1f37e193fd4c0696f002ab27ec62fdb0c18a2ff3e2bbd86500b5ff84b64736f6c63430008040033
Deployed Bytecode
0x60806040526004361061002d5760003560e01c80638947606914610039578063e086e5ec1461006257610034565b3661003457005b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190610701565b610079565b005b34801561006e57600080fd5b506100776102cf565b005b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610113576000633b9aca00476305f5e1006100c59190610a6b565b6100cf9190610a3a565b90506100ef73354a70969f0b4a4c994403051a81c2ca45db3615826102db565b61010d73ba89826ae052da88962c0fb23bf3840f594d630e476102db565b506102cc565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161014e9190610902565b60206040518083038186803b15801561016657600080fd5b505afa15801561017a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019e9190610753565b90506000633b9aca00826305f5e1006101b79190610a6b565b6101c19190610a3a565b905061020273354a70969f0b4a4c994403051a81c2ca45db3615828573ffffffffffffffffffffffffffffffffffffffff166103cf9092919063ffffffff16565b6102c973ba89826ae052da88962c0fb23bf3840f594d630e8473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016102539190610902565b60206040518083038186803b15801561026b57600080fd5b505afa15801561027f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a39190610753565b8573ffffffffffffffffffffffffffffffffffffffff166103cf9092919063ffffffff16565b50505b50565b6102d96000610079565b565b8047101561031e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031590610988565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051610344906108ed565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b50509050806103ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c190610968565b60405180910390fd5b505050565b6104508363a9059cbb60e01b84846040516024016103ee92919061091d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610455565b505050565b60006104b7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661051c9092919063ffffffff16565b905060008151111561051757808060200190518101906104d7919061072a565b610516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050d906109e8565b60405180910390fd5b5b505050565b606061052b8484600085610534565b90509392505050565b606082471015610579576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610570906109a8565b60405180910390fd5b61058285610648565b6105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8906109c8565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516105ea91906108d6565b60006040518083038185875af1925050503d8060008114610627576040519150601f19603f3d011682016040523d82523d6000602084013e61062c565b606091505b509150915061063c82828661065b565b92505050949350505050565b600080823b905060008111915050919050565b6060831561066b578290506106bb565b60008351111561067e5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b29190610946565b60405180910390fd5b9392505050565b6000813590506106d181610cf1565b92915050565b6000815190506106e681610d08565b92915050565b6000815190506106fb81610d1f565b92915050565b60006020828403121561071357600080fd5b6000610721848285016106c2565b91505092915050565b60006020828403121561073c57600080fd5b600061074a848285016106d7565b91505092915050565b60006020828403121561076557600080fd5b6000610773848285016106ec565b91505092915050565b61078581610ac5565b82525050565b600061079682610a08565b6107a08185610a1e565b93506107b0818560208601610b0d565b80840191505092915050565b60006107c782610a13565b6107d18185610a29565b93506107e1818560208601610b0d565b6107ea81610b9e565b840191505092915050565b6000610802603a83610a29565b915061080d82610baf565b604082019050919050565b6000610825601d83610a29565b915061083082610bfe565b602082019050919050565b6000610848602683610a29565b915061085382610c27565b604082019050919050565b600061086b600083610a1e565b915061087682610c76565b600082019050919050565b600061088e601d83610a29565b915061089982610c79565b602082019050919050565b60006108b1602a83610a29565b91506108bc82610ca2565b604082019050919050565b6108d081610b03565b82525050565b60006108e2828461078b565b915081905092915050565b60006108f88261085e565b9150819050919050565b6000602082019050610917600083018461077c565b92915050565b6000604082019050610932600083018561077c565b61093f60208301846108c7565b9392505050565b6000602082019050818103600083015261096081846107bc565b905092915050565b60006020820190508181036000830152610981816107f5565b9050919050565b600060208201905081810360008301526109a181610818565b9050919050565b600060208201905081810360008301526109c18161083b565b9050919050565b600060208201905081810360008301526109e181610881565b9050919050565b60006020820190508181036000830152610a01816108a4565b9050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610a4582610b03565b9150610a5083610b03565b925082610a6057610a5f610b6f565b5b828204905092915050565b6000610a7682610b03565b9150610a8183610b03565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610aba57610ab9610b40565b5b828202905092915050565b6000610ad082610ae3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610b2b578082015181840152602081019050610b10565b83811115610b3a576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610cfa81610ac5565b8114610d0557600080fd5b50565b610d1181610ad7565b8114610d1c57600080fd5b50565b610d2881610b03565b8114610d3357600080fd5b5056fea2646970667358221220baab32f1f37e193fd4c0696f002ab27ec62fdb0c18a2ff3e2bbd86500b5ff84b64736f6c63430008040033
Deployed Bytecode Sourcemap
11888:1902:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13127:660;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13043:76;;;;;;;;;;;;;:::i;:::-;;13127:660;13204:1;13187:19;;:5;:19;;;13183:597;;;13223:15;13274:6;13251:21;13242:8;:30;;;;:::i;:::-;13241:39;;;;:::i;:::-;13223:57;;13295:37;12092:42;13324:7;13295:9;:37::i;:::-;13347:56;12014:42;13381:21;13347:9;:56::i;:::-;13183:597;;;;13436:15;13472:5;13454:34;;;13497:4;13454:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13436:67;;13518:15;13555:6;13546:7;13537:8;:16;;;;:::i;:::-;13536:25;;;;:::i;:::-;13518:43;;13576:65;12092:42;13633:7;13594:5;13576:37;;;;:65;;;;;:::i;:::-;13656:112;12014:42;13736:5;13718:34;;;13761:4;13718:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13674:5;13656:37;;;;:112;;;;;:::i;:::-;13183:597;;;13127:660;:::o;13043:76::-;13086:25;13108:1;13086:13;:25::i;:::-;13043:76::o;12716:317::-;12831:6;12806:21;:31;;12798:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;12885:12;12903:9;:14;;12925:6;12903:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12884:52;;;12955:7;12947:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;12716:317;;;:::o;10306:188::-;10400:86;10420:5;10450:23;;;10475:2;10479:5;10427:58;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10400:19;:86::i;:::-;10306:188;;;:::o;11109:772::-;11544:23;11570:69;11598:4;11570:69;;;;;;;;;;;;;;;;;11578:5;11570:27;;;;:69;;;;;:::i;:::-;11544:95;;11674:1;11654:10;:17;:21;11650:224;;;11796:10;11785:30;;;;;;;;;;;;:::i;:::-;11777:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11650:224;11109:772;;;:::o;3663:195::-;3766:12;3798:52;3820:6;3828:4;3834:1;3837:12;3798:21;:52::i;:::-;3791:59;;3663:195;;;;;:::o;4715:530::-;4842:12;4900:5;4875:21;:30;;4867:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;4967:18;4978:6;4967:10;:18::i;:::-;4959:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;5093:12;5107:23;5134:6;:11;;5154:5;5162:4;5134:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5092:75;;;;5185:52;5203:7;5212:10;5224:12;5185:17;:52::i;:::-;5178:59;;;;4715:530;;;;;;:::o;745:422::-;805:4;1013:12;1124:7;1112:20;1104:28;;1158:1;1151:4;:8;1144:15;;;745:422;;;:::o;7255:742::-;7370:12;7399:7;7395:595;;;7430:10;7423:17;;;;7395:595;7564:1;7544:10;:17;:21;7540:439;;;7807:10;7801:17;7868:15;7855:10;7851:2;7847:19;7840:44;7755:148;7950:12;7943:20;;;;;;;;;;;:::i;:::-;;;;;;;;7255:742;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:137::-;206:5;237:6;231:13;222:22;;253:30;277:5;253:30;:::i;:::-;212:77;;;;:::o;295:143::-;352:5;383:6;377:13;368:22;;399:33;426:5;399:33;:::i;:::-;358:80;;;;:::o;444:262::-;503:6;552:2;540:9;531:7;527:23;523:32;520:2;;;568:1;565;558:12;520:2;611:1;636:53;681:7;672:6;661:9;657:22;636:53;:::i;:::-;626:63;;582:117;510:196;;;;:::o;712:278::-;779:6;828:2;816:9;807:7;803:23;799:32;796:2;;;844:1;841;834:12;796:2;887:1;912:61;965:7;956:6;945:9;941:22;912:61;:::i;:::-;902:71;;858:125;786:204;;;;:::o;996:284::-;1066:6;1115:2;1103:9;1094:7;1090:23;1086:32;1083:2;;;1131:1;1128;1121:12;1083:2;1174:1;1199:64;1255:7;1246:6;1235:9;1231:22;1199:64;:::i;:::-;1189:74;;1145:128;1073:207;;;;:::o;1286:118::-;1373:24;1391:5;1373:24;:::i;:::-;1368:3;1361:37;1351:53;;:::o;1410:373::-;1514:3;1542:38;1574:5;1542:38;:::i;:::-;1596:88;1677:6;1672:3;1596:88;:::i;:::-;1589:95;;1693:52;1738:6;1733:3;1726:4;1719:5;1715:16;1693:52;:::i;:::-;1770:6;1765:3;1761:16;1754:23;;1518:265;;;;;:::o;1789:364::-;1877:3;1905:39;1938:5;1905:39;:::i;:::-;1960:71;2024:6;2019:3;1960:71;:::i;:::-;1953:78;;2040:52;2085:6;2080:3;2073:4;2066:5;2062:16;2040:52;:::i;:::-;2117:29;2139:6;2117:29;:::i;:::-;2112:3;2108:39;2101:46;;1881:272;;;;;:::o;2159:366::-;2301:3;2322:67;2386:2;2381:3;2322:67;:::i;:::-;2315:74;;2398:93;2487:3;2398:93;:::i;:::-;2516:2;2511:3;2507:12;2500:19;;2305:220;;;:::o;2531:366::-;2673:3;2694:67;2758:2;2753:3;2694:67;:::i;:::-;2687:74;;2770:93;2859:3;2770:93;:::i;:::-;2888:2;2883:3;2879:12;2872:19;;2677:220;;;:::o;2903:366::-;3045:3;3066:67;3130:2;3125:3;3066:67;:::i;:::-;3059:74;;3142:93;3231:3;3142:93;:::i;:::-;3260:2;3255:3;3251:12;3244:19;;3049:220;;;:::o;3275:398::-;3434:3;3455:83;3536:1;3531:3;3455:83;:::i;:::-;3448:90;;3547:93;3636:3;3547:93;:::i;:::-;3665:1;3660:3;3656:11;3649:18;;3438:235;;;:::o;3679:366::-;3821:3;3842:67;3906:2;3901:3;3842:67;:::i;:::-;3835:74;;3918:93;4007:3;3918:93;:::i;:::-;4036:2;4031:3;4027:12;4020:19;;3825:220;;;:::o;4051:366::-;4193:3;4214:67;4278:2;4273:3;4214:67;:::i;:::-;4207:74;;4290:93;4379:3;4290:93;:::i;:::-;4408:2;4403:3;4399:12;4392:19;;4197:220;;;:::o;4423:118::-;4510:24;4528:5;4510:24;:::i;:::-;4505:3;4498:37;4488:53;;:::o;4547:271::-;4677:3;4699:93;4788:3;4779:6;4699:93;:::i;:::-;4692:100;;4809:3;4802:10;;4681:137;;;;:::o;4824:379::-;5008:3;5030:147;5173:3;5030:147;:::i;:::-;5023:154;;5194:3;5187:10;;5012:191;;;:::o;5209:222::-;5302:4;5340:2;5329:9;5325:18;5317:26;;5353:71;5421:1;5410:9;5406:17;5397:6;5353:71;:::i;:::-;5307:124;;;;:::o;5437:332::-;5558:4;5596:2;5585:9;5581:18;5573:26;;5609:71;5677:1;5666:9;5662:17;5653:6;5609:71;:::i;:::-;5690:72;5758:2;5747:9;5743:18;5734:6;5690:72;:::i;:::-;5563:206;;;;;:::o;5775:313::-;5888:4;5926:2;5915:9;5911:18;5903:26;;5975:9;5969:4;5965:20;5961:1;5950:9;5946:17;5939:47;6003:78;6076:4;6067:6;6003:78;:::i;:::-;5995:86;;5893:195;;;;:::o;6094:419::-;6260:4;6298:2;6287:9;6283:18;6275:26;;6347:9;6341:4;6337:20;6333:1;6322:9;6318:17;6311:47;6375:131;6501:4;6375:131;:::i;:::-;6367:139;;6265:248;;;:::o;6519:419::-;6685:4;6723:2;6712:9;6708:18;6700:26;;6772:9;6766:4;6762:20;6758:1;6747:9;6743:17;6736:47;6800:131;6926:4;6800:131;:::i;:::-;6792:139;;6690:248;;;:::o;6944:419::-;7110:4;7148:2;7137:9;7133:18;7125:26;;7197:9;7191:4;7187:20;7183:1;7172:9;7168:17;7161:47;7225:131;7351:4;7225:131;:::i;:::-;7217:139;;7115:248;;;:::o;7369:419::-;7535:4;7573:2;7562:9;7558:18;7550:26;;7622:9;7616:4;7612:20;7608:1;7597:9;7593:17;7586:47;7650:131;7776:4;7650:131;:::i;:::-;7642:139;;7540:248;;;:::o;7794:419::-;7960:4;7998:2;7987:9;7983:18;7975:26;;8047:9;8041:4;8037:20;8033:1;8022:9;8018:17;8011:47;8075:131;8201:4;8075:131;:::i;:::-;8067:139;;7965:248;;;:::o;8219:98::-;8270:6;8304:5;8298:12;8288:22;;8277:40;;;:::o;8323:99::-;8375:6;8409:5;8403:12;8393:22;;8382:40;;;:::o;8428:147::-;8529:11;8566:3;8551:18;;8541:34;;;;:::o;8581:169::-;8665:11;8699:6;8694:3;8687:19;8739:4;8734:3;8730:14;8715:29;;8677:73;;;;:::o;8756:185::-;8796:1;8813:20;8831:1;8813:20;:::i;:::-;8808:25;;8847:20;8865:1;8847:20;:::i;:::-;8842:25;;8886:1;8876:2;;8891:18;;:::i;:::-;8876:2;8933:1;8930;8926:9;8921:14;;8798:143;;;;:::o;8947:348::-;8987:7;9010:20;9028:1;9010:20;:::i;:::-;9005:25;;9044:20;9062:1;9044:20;:::i;:::-;9039:25;;9232:1;9164:66;9160:74;9157:1;9154:81;9149:1;9142:9;9135:17;9131:105;9128:2;;;9239:18;;:::i;:::-;9128:2;9287:1;9284;9280:9;9269:20;;8995:300;;;;:::o;9301:96::-;9338:7;9367:24;9385:5;9367:24;:::i;:::-;9356:35;;9346:51;;;:::o;9403:90::-;9437:7;9480:5;9473:13;9466:21;9455:32;;9445:48;;;:::o;9499:126::-;9536:7;9576:42;9569:5;9565:54;9554:65;;9544:81;;;:::o;9631:77::-;9668:7;9697:5;9686:16;;9676:32;;;:::o;9714:307::-;9782:1;9792:113;9806:6;9803:1;9800:13;9792:113;;;9891:1;9886:3;9882:11;9876:18;9872:1;9867:3;9863:11;9856:39;9828:2;9825:1;9821:10;9816:15;;9792:113;;;9923:6;9920:1;9917:13;9914:2;;;10003:1;9994:6;9989:3;9985:16;9978:27;9914:2;9763:258;;;;:::o;10027:180::-;10075:77;10072:1;10065:88;10172:4;10169:1;10162:15;10196:4;10193:1;10186:15;10213:180;10261:77;10258:1;10251:88;10358:4;10355:1;10348:15;10382:4;10379:1;10372:15;10399:102;10440:6;10491:2;10487:7;10482:2;10475:5;10471:14;10467:28;10457:38;;10447:54;;;:::o;10507:245::-;10647:34;10643:1;10635:6;10631:14;10624:58;10716:28;10711:2;10703:6;10699:15;10692:53;10613:139;:::o;10758:179::-;10898:31;10894:1;10886:6;10882:14;10875:55;10864:73;:::o;10943:225::-;11083:34;11079:1;11071:6;11067:14;11060:58;11152:8;11147:2;11139:6;11135:15;11128:33;11049:119;:::o;11174:114::-;11280:8;:::o;11294:179::-;11434:31;11430:1;11422:6;11418:14;11411:55;11400:73;:::o;11479:229::-;11619:34;11615:1;11607:6;11603:14;11596:58;11688:12;11683:2;11675:6;11671:15;11664:37;11585:123;:::o;11714:122::-;11787:24;11805:5;11787:24;:::i;:::-;11780:5;11777:35;11767:2;;11826:1;11823;11816:12;11767:2;11757:79;:::o;11842:116::-;11912:21;11927:5;11912:21;:::i;:::-;11905:5;11902:32;11892:2;;11948:1;11945;11938:12;11892:2;11882:76;:::o;11964:122::-;12037:24;12055:5;12037:24;:::i;:::-;12030:5;12027:35;12017:2;;12076:1;12073;12066:12;12017:2;12007:79;:::o
Swarm Source
ipfs://baab32f1f37e193fd4c0696f002ab27ec62fdb0c18a2ff3e2bbd86500b5ff84b
Loading...
Loading
Loading...
Loading
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.