Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw Blur Po... | 17793358 | 553 days ago | IN | 0 ETH | 0.00312829 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21749945 | 6 hrs ago | 0.00033 ETH | ||||
21748373 | 12 hrs ago | 0.00033 ETH | ||||
21748343 | 12 hrs ago | 0.00033 ETH | ||||
21748022 | 13 hrs ago | 0.00033 ETH | ||||
21747850 | 13 hrs ago | 0.00033 ETH | ||||
21747673 | 14 hrs ago | 0.00033 ETH | ||||
21682443 | 9 days ago | 0.0009 ETH | ||||
21682341 | 9 days ago | 0.00036 ETH | ||||
21682259 | 9 days ago | 0.000414 ETH | ||||
21682206 | 9 days ago | 0.00033 ETH | ||||
21455036 | 41 days ago | 0.0012 ETH | ||||
21359222 | 54 days ago | 0.00006054 ETH | ||||
21341840 | 57 days ago | 0.00040196 ETH | ||||
21341840 | 57 days ago | 0.003462 ETH | ||||
21119067 | 88 days ago | 0.000128 ETH | ||||
20995731 | 105 days ago | 0.00004999 ETH | ||||
20977111 | 108 days ago | 0.00004439 ETH | ||||
20967840 | 109 days ago | 0.00096 ETH | ||||
20966758 | 109 days ago | 0.00003749 ETH | ||||
20966758 | 109 days ago | 0.00045 ETH | ||||
20966572 | 109 days ago | 0.00000088 ETH | ||||
20959865 | 110 days ago | 0.001014 ETH | ||||
20792455 | 133 days ago | 0.000075 ETH | ||||
20776309 | 136 days ago | 0.000155 ETH | ||||
20768192 | 137 days ago | 0.00054 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
AikoPaymentSplitter
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-25 */ // 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"); } } } interface IBlurPool { function balanceOf(address user) external view returns (uint256); function withdraw(uint256 amount) external; } contract AikoPaymentSplitter { using SafeERC20Upgradeable for IERC20Upgradeable; address constant AIKO_TREASURY = 0xBa89826aE052da88962c0fB23bF3840F594d630E; address constant UWU_LABS = 0xFe2875DcACD1D92Ca755C0a3DEF4a8debd970643; IBlurPool constant BLURPOOL = IBlurPool(0x0000000000A39bb272e79075ade125fd351887Ac); /** * @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 withdrawWrappedETH() external { withdrawToken(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); } function withdrawToken(address token) public { if (token == address(0)) { uint256 uwulabs = (0.08333 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.08333 gwei*balance)/1 gwei; IERC20Upgradeable(token).safeTransfer(payable(UWU_LABS), uwulabs); IERC20Upgradeable(token).safeTransfer(payable(AIKO_TREASURY), IERC20Upgradeable(token).balanceOf(address(this))); } } function withdrawBlurPool() public { if (BLURPOOL.balanceOf(address(this)) > 0) { BLURPOOL.withdraw(BLURPOOL.balanceOf(address(this))); } withdrawToken(address(0)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"name":"withdrawBlurPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawWrappedETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b5061096c806100206000396000f3fe6080604052600436106100435760003560e01c80630f84a8171461004f5780638947606914610066578063d5f2580414610086578063e086e5ec1461009b57600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b506100646100b0565b005b34801561007257600080fd5b5061006461008136600461080d565b610218565b34801561009257600080fd5b506100646103f3565b3480156100a757600080fd5b5061006461020c565b6040516370a0823160e01b81523060048201526000906ea39bb272e79075ade125fd351887ac906370a082319060240160206040518083038186803b1580156100f857600080fd5b505afa15801561010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101309190610854565b111561020c576040516370a0823160e01b81523060048201526ea39bb272e79075ade125fd351887ac90632e1a7d4d9082906370a082319060240160206040518083038186803b15801561018357600080fd5b505afa158015610197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101bb9190610854565b6040518263ffffffff1660e01b81526004016101d991815260200190565b600060405180830381600087803b1580156101f357600080fd5b505af1158015610207573d6000803e3d6000fd5b505050505b6102166000610218565b565b6001600160a01b038116610287576000633b9aca0061023b476304f783d06108db565b61024591906108bb565b905061026573fe2875dcacd1d92ca755c0a3def4a8debd97064382610410565b61028373ba89826ae052da88962c0fb23bf3840f594d630e47610410565b5050565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b1580156102c957600080fd5b505afa1580156102dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103019190610854565b90506000633b9aca00610318836304f783d06108db565b61032291906108bb565b905061034c6001600160a01b03841673fe2875dcacd1d92ca755c0a3def4a8debd9706438361052e565b6040516370a0823160e01b81523060048201526103ee9073ba89826ae052da88962c0fb23bf3840f594d630e906001600160a01b038616906370a082319060240160206040518083038186803b1580156103a557600080fd5b505afa1580156103b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103dd9190610854565b6001600160a01b038616919061052e565b505050565b61021673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610218565b804710156104655760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146104b2576040519150601f19603f3d011682016040523d82523d6000602084013e6104b7565b606091505b50509050806103ee5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161045c565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526103ee928692916000916105ec91851690849061067c565b8051909150156103ee578080602001905181019061060a9190610834565b6103ee5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161045c565b606061068b8484600085610695565b90505b9392505050565b60608247101561070d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161045c565b843b61075b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161045c565b600080866001600160a01b03168587604051610777919061086c565b60006040518083038185875af1925050503d80600081146107b4576040519150601f19603f3d011682016040523d82523d6000602084013e6107b9565b606091505b50915091506107c98282866107d4565b979650505050505050565b606083156107e357508161068e565b8251156107f35782518084602001fd5b8160405162461bcd60e51b815260040161045c9190610888565b60006020828403121561081e578081fd5b81356001600160a01b038116811461068e578182fd5b600060208284031215610845578081fd5b8151801515811461068e578182fd5b600060208284031215610865578081fd5b5051919050565b6000825161087e818460208701610906565b9190910192915050565b60208152600082518060208401526108a7816040850160208701610906565b601f01601f19169190910160400192915050565b6000826108d657634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561090157634e487b7160e01b81526011600452602481fd5b500290565b60005b83811015610921578181015183820152602001610909565b83811115610930576000848401525b5050505056fea2646970667358221220eeca167d6a871ba25efe71983695db17847702ff19a901ea2e17c7f1d90c1a5764736f6c63430008040033
Deployed Bytecode
0x6080604052600436106100435760003560e01c80630f84a8171461004f5780638947606914610066578063d5f2580414610086578063e086e5ec1461009b57600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b506100646100b0565b005b34801561007257600080fd5b5061006461008136600461080d565b610218565b34801561009257600080fd5b506100646103f3565b3480156100a757600080fd5b5061006461020c565b6040516370a0823160e01b81523060048201526000906ea39bb272e79075ade125fd351887ac906370a082319060240160206040518083038186803b1580156100f857600080fd5b505afa15801561010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101309190610854565b111561020c576040516370a0823160e01b81523060048201526ea39bb272e79075ade125fd351887ac90632e1a7d4d9082906370a082319060240160206040518083038186803b15801561018357600080fd5b505afa158015610197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101bb9190610854565b6040518263ffffffff1660e01b81526004016101d991815260200190565b600060405180830381600087803b1580156101f357600080fd5b505af1158015610207573d6000803e3d6000fd5b505050505b6102166000610218565b565b6001600160a01b038116610287576000633b9aca0061023b476304f783d06108db565b61024591906108bb565b905061026573fe2875dcacd1d92ca755c0a3def4a8debd97064382610410565b61028373ba89826ae052da88962c0fb23bf3840f594d630e47610410565b5050565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b1580156102c957600080fd5b505afa1580156102dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103019190610854565b90506000633b9aca00610318836304f783d06108db565b61032291906108bb565b905061034c6001600160a01b03841673fe2875dcacd1d92ca755c0a3def4a8debd9706438361052e565b6040516370a0823160e01b81523060048201526103ee9073ba89826ae052da88962c0fb23bf3840f594d630e906001600160a01b038616906370a082319060240160206040518083038186803b1580156103a557600080fd5b505afa1580156103b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103dd9190610854565b6001600160a01b038616919061052e565b505050565b61021673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610218565b804710156104655760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146104b2576040519150601f19603f3d011682016040523d82523d6000602084013e6104b7565b606091505b50509050806103ee5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161045c565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526103ee928692916000916105ec91851690849061067c565b8051909150156103ee578080602001905181019061060a9190610834565b6103ee5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161045c565b606061068b8484600085610695565b90505b9392505050565b60608247101561070d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161045c565b843b61075b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161045c565b600080866001600160a01b03168587604051610777919061086c565b60006040518083038185875af1925050503d80600081146107b4576040519150601f19603f3d011682016040523d82523d6000602084013e6107b9565b606091505b50915091506107c98282866107d4565b979650505050505050565b606083156107e357508161068e565b8251156107f35782518084602001fd5b8160405162461bcd60e51b815260040161045c9190610888565b60006020828403121561081e578081fd5b81356001600160a01b038116811461068e578182fd5b600060208284031215610845578081fd5b8151801515811461068e578182fd5b600060208284031215610865578081fd5b5051919050565b6000825161087e818460208701610906565b9190910192915050565b60208152600082518060208401526108a7816040850160208701610906565b601f01601f19169190910160400192915050565b6000826108d657634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561090157634e487b7160e01b81526011600452602481fd5b500290565b60005b83811015610921578181015183820152602001610909565b83811115610930576000848401525b5050505056fea2646970667358221220eeca167d6a871ba25efe71983695db17847702ff19a901ea2e17c7f1d90c1a5764736f6c63430008040033
Deployed Bytecode Sourcemap
12036:2341:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14163:211;;;;;;;;;;;;;:::i;:::-;;13487:668;;;;;;;;;;-1:-1:-1;13487:668:0;;;;;:::i;:::-;;:::i;13364:115::-;;;;;;;;;;;;;:::i;13280:76::-;;;;;;;;;;;;;:::i;14163:211::-;14213:33;;-1:-1:-1;;;14213:33:0;;14240:4;14213:33;;;1484:74:1;14249:1:0;;12331:42;;14213:18;;1457::1;;14213:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:37;14209:122;;;14285:33;;-1:-1:-1;;;14285:33:0;;14312:4;14285:33;;;1484:74:1;12331:42:0;;14267:17;;12331:42;;14285:18;;1457::1;;14285:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14267:52;;;;;;;;;;;;;4366:25:1;;4354:2;4339:18;;4321:76;14267:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14209:122;14341:25;14363:1;14341:13;:25::i;:::-;14163:211::o;13487:668::-;-1:-1:-1;;;;;13547:19:0;;13543:605;;13583:15;13638:6;13602:34;13615:21;13602:12;:34;:::i;:::-;13601:43;;;;:::i;:::-;13583:61;;13659:37;12240:42;13688:7;13659:9;:37::i;:::-;13711:56;12162:42;13745:21;13711:9;:56::i;:::-;13543:605;13487:668;:::o;13543:605::-;13818:49;;-1:-1:-1;;;13818:49:0;;13861:4;13818:49;;;1484:74:1;13800:15:0;;-1:-1:-1;;;;;13818:34:0;;;;;1457:18:1;;13818:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13800:67;-1:-1:-1;13882:15:0;13923:6;13901:20;13800:67;13901:12;:20;:::i;:::-;13900:29;;;;:::i;:::-;13882:47;-1:-1:-1;13944:65:0;-1:-1:-1;;;;;13944:37:0;;12240:42;13882:47;13944:37;:65::i;:::-;14086:49;;-1:-1:-1;;;14086:49:0;;14129:4;14086:49;;;1484:74:1;14024:112:0;;12162:42;;-1:-1:-1;;;;;14086:34:0;;;;;1457:18:1;;14086:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14024:37:0;;;:112;:37;:112::i;:::-;13543:605;;13487:668;:::o;13364:115::-;13414:57;13428:42;13414:13;:57::i;12955:317::-;13070:6;13045:21;:31;;13037:73;;;;-1:-1:-1;;;13037:73:0;;2888:2:1;13037:73:0;;;2870:21:1;2927:2;2907:18;;;2900:30;2966:31;2946:18;;;2939:59;3015:18;;13037:73:0;;;;;;;;;13124:12;13142:9;-1:-1:-1;;;;;13142:14:0;13164:6;13142:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13123:52;;;13194:7;13186:78;;;;-1:-1:-1;;;13186:78:0;;2461:2:1;13186:78:0;;;2443:21:1;2500:2;2480:18;;;2473:30;2539:34;2519:18;;;2512:62;2610:28;2590:18;;;2583:56;2656:19;;13186:78:0;2433:248:1;10306:188:0;10427:58;;;-1:-1:-1;;;;;1761:55:1;;;10427:58:0;;;1743:74:1;1833:18;;;;1826:34;;;10427:58:0;;;;;;;;;;1716:18:1;;;;10427:58:0;;;;;;;;;;10450:23;10427:58;;;11570:69;;;;;;;;;;;;;;;;10400:86;;10420:5;;10427:58;-1:-1:-1;;11570:69:0;;:27;;;10427:58;;11570:27;:69::i;:::-;11654:17;;11544:95;;-1:-1:-1;11654:21:0;11650:224;;11796:10;11785:30;;;;;;;;;;;;:::i;:::-;11777:85;;;;-1:-1:-1;;;11777:85:0;;4011:2:1;11777:85:0;;;3993:21:1;4050:2;4030:18;;;4023:30;4089:34;4069:18;;;4062:62;4160:12;4140:18;;;4133:40;4190:19;;11777:85:0;3983:232:1;3663:195:0;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;;;;-1:-1:-1;;;4867:81:0;;3246:2:1;4867:81:0;;;3228:21:1;3285:2;3265:18;;;3258:30;3324:34;3304:18;;;3297:62;3395:8;3375:18;;;3368:36;3421:19;;4867:81:0;3218:228:1;4867:81:0;1112:20;;4959:60;;;;-1:-1:-1;;;4959:60:0;;3653:2:1;4959:60:0;;;3635:21:1;3692:2;3672:18;;;3665:30;3731:31;3711:18;;;3704:59;3780:18;;4959:60:0;3625:179:1;4959:60:0;5093:12;5107:23;5134:6;-1:-1:-1;;;;;5134:11:0;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;-1:-1:-1;;;;;;;4715:530:0:o;7255:742::-;7370:12;7399:7;7395:595;;;-1:-1:-1;7430:10:0;7423:17;;7395:595;7544:17;;:21;7540:439;;7807:10;7801:17;7868:15;7855:10;7851:2;7847:19;7840:44;7755:148;7950:12;7943:20;;-1:-1:-1;;;7943:20:0;;;;;;;;:::i;14:329:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;-1:-1:-1;;;;;234:5:1;230:54;223:5;220:65;210:2;;304:6;296;289:22;348:297;415:6;468:2;456:9;447:7;443:23;439:32;436:2;;;489:6;481;474:22;436:2;526:9;520:16;579:5;572:13;565:21;558:5;555:32;545:2;;606:6;598;591:22;650:194;720:6;773:2;761:9;752:7;748:23;744:32;741:2;;;794:6;786;779:22;741:2;-1:-1:-1;822:16:1;;731:113;-1:-1:-1;731:113:1:o;849:274::-;978:3;1016:6;1010:13;1032:53;1078:6;1073:3;1066:4;1058:6;1054:17;1032:53;:::i;:::-;1101:16;;;;;986:137;-1:-1:-1;;986:137:1:o;1871:383::-;2020:2;2009:9;2002:21;1983:4;2052:6;2046:13;2095:6;2090:2;2079:9;2075:18;2068:34;2111:66;2170:6;2165:2;2154:9;2150:18;2145:2;2137:6;2133:15;2111:66;:::i;:::-;2238:2;2217:15;-1:-1:-1;;2213:29:1;2198:45;;;;2245:2;2194:54;;1992:262;-1:-1:-1;;1992:262:1:o;4402:274::-;4442:1;4468;4458:2;;-1:-1:-1;;;4500:1:1;4493:88;4604:4;4601:1;4594:15;4632:4;4629:1;4622:15;4458:2;-1:-1:-1;4661:9:1;;4448:228::o;4681:334::-;4721:7;4787:1;4783;4779:6;4775:14;4772:1;4769:21;4764:1;4757:9;4750:17;4746:45;4743:2;;;-1:-1:-1;;;4821:7:1;4814:94;4931:4;4928:1;4921:15;4965:4;4956:7;4949:21;4743:2;-1:-1:-1;5000:9:1;;4733:282::o;5020:258::-;5092:1;5102:113;5116:6;5113:1;5110:13;5102:113;;;5192:11;;;5186:18;5173:11;;;5166:39;5138:2;5131:10;5102:113;;;5233:6;5230:1;5227:13;5224:2;;;5268:1;5259:6;5254:3;5250:16;5243:27;5224:2;;5073:205;;;:::o
Swarm Source
ipfs://eeca167d6a871ba25efe71983695db17847702ff19a901ea2e17c7f1d90c1a57
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.