More Info
Private Name Tags
ContractCreator
Latest 14 from a total of 14 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw ETH | 18215980 | 389 days ago | IN | 0 ETH | 0.00045195 | ||||
Withdraw Token | 18215979 | 389 days ago | IN | 0 ETH | 0.00057758 | ||||
Withdraw ETH | 15654710 | 748 days ago | IN | 0 ETH | 0.000648 | ||||
Transfer | 15282582 | 805 days ago | IN | 0.036916 ETH | 0.0002761 | ||||
Transfer | 14920132 | 864 days ago | IN | 0.03664 ETH | 0.00065291 | ||||
Transfer | 14818269 | 881 days ago | IN | 0.04228 ETH | 0.00042545 | ||||
Transfer | 14717847 | 897 days ago | IN | 0.03666968 ETH | 0.00155871 | ||||
Transfer | 14648219 | 908 days ago | IN | 0.041232 ETH | 0.00080904 | ||||
Transfer | 14612366 | 913 days ago | IN | 0.041876 ETH | 0.00062605 | ||||
Transfer | 14570333 | 920 days ago | IN | 0.03312 ETH | 0.00072314 | ||||
Transfer | 14537533 | 925 days ago | IN | 0.020384 ETH | 0.00098035 | ||||
Transfer | 14494163 | 932 days ago | IN | 0.03352 ETH | 0.00072751 | ||||
Transfer | 14470239 | 936 days ago | IN | 0.055788 ETH | 0.00114241 | ||||
0x60806040 | 14426388 | 942 days ago | IN | 0 ETH | 0.01382708 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20509086 | 67 days ago | 0.00004999 ETH | ||||
20194616 | 111 days ago | 0.000492 ETH | ||||
20194611 | 111 days ago | 0.0004 ETH | ||||
20079489 | 127 days ago | 0.000996 ETH | ||||
19605744 | 194 days ago | 0.00048 ETH | ||||
19522925 | 205 days ago | 0.000388 ETH | ||||
19477637 | 212 days ago | 0.000384 ETH | ||||
18892441 | 294 days ago | 0.002 ETH | ||||
18892436 | 294 days ago | 0.002 ETH | ||||
18887137 | 295 days ago | 0.002 ETH | ||||
18653292 | 327 days ago | 0.00028342 ETH | ||||
18331747 | 372 days ago | 0.003663 ETH | ||||
18260034 | 382 days ago | 0.0003795 ETH | ||||
18215980 | 389 days ago | 0.10302205 ETH | ||||
18215980 | 389 days ago | 0.10302205 ETH | ||||
18197513 | 391 days ago | 0.00006499 ETH | ||||
18195301 | 391 days ago | 0.000524 ETH | ||||
18067039 | 409 days ago | 0.000072 ETH | ||||
18017719 | 416 days ago | 0.000095 ETH | ||||
17908750 | 432 days ago | 0.004 ETH | ||||
17838466 | 441 days ago | 0.000384 ETH | ||||
17811479 | 445 days ago | 0.000115 ETH | ||||
17802934 | 446 days ago | 0.000098 ETH | ||||
17799417 | 447 days ago | 0.0002345 ETH | ||||
17799392 | 447 days ago | 0.000788 ETH |
Loading...
Loading
Contract Name:
waifusionSplitter
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-23 */ // File: contracts/waifusionSplitter.sol 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); } 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 waifusionSplitter { using SafeERC20Upgradeable for IERC20Upgradeable; address payable constant UWULABS = payable(0x354A70969F0b4a4C994403051A81C2ca45db3615); address payable constant FUTURE_WAIFUSION = payable(0xbF05BeEE15C2977E56e07e506Fc63b295677fc69); /** * @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 percentOfTotal(uint256 total, uint256 percentInGwei) internal pure returns (uint256) { return (total * percentInGwei) / 1 gwei; } 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 totalBalance = address(this).balance; sendValue(FUTURE_WAIFUSION, percentOfTotal(totalBalance, 0.5 gwei)); // 2%/4% - 50% of royalties sendValue(UWULABS, address(this).balance); // 2%/4% - 50% of royalties } else { uint256 totalBalance = IERC20Upgradeable(token).balanceOf(address(this)); IERC20Upgradeable(token).safeTransfer(FUTURE_WAIFUSION, percentOfTotal(totalBalance, 0.5 gwei)); // 2%/4% - 50% of royalties IERC20Upgradeable(token).safeTransfer(UWULABS, IERC20Upgradeable(token).balanceOf(address(this))); // 2%/4% - 50% of royalties } } }
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
608060405234801561001057600080fd5b50610d7a806100206000396000f3fe60806040526004361061002d5760003560e01c80638947606914610039578063e086e5ec1461006257610034565b3661003457005b600080fd5b34801561004557600080fd5b50610060600480360381019061005b91906106fe565b610079565b005b34801561006e57600080fd5b506100776102a7565b005b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101025760004790506100de73bf05beee15c2977e56e07e506fc63b295677fc696100d983631dcd65006102b3565b6102d8565b6100fc73354a70969f0b4a4c994403051a81c2ca45db3615476102d8565b506102a4565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161013d919061090b565b60206040518083038186803b15801561015557600080fd5b505afa158015610169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018d9190610758565b90506101db73bf05beee15c2977e56e07e506fc63b295677fc696101b583631dcd65006102b3565b8473ffffffffffffffffffffffffffffffffffffffff166103cc9092919063ffffffff16565b6102a273354a70969f0b4a4c994403051a81c2ca45db36158373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161022c919061090b565b60206040518083038186803b15801561024457600080fd5b505afa158015610258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027c9190610758565b8473ffffffffffffffffffffffffffffffffffffffff166103cc9092919063ffffffff16565b505b50565b6102b16000610079565b565b6000633b9aca0082846102c69190610a74565b6102d09190610a43565b905092915050565b8047101561031b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031290610991565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051610341906108f6565b60006040518083038185875af1925050503d806000811461037e576040519150601f19603f3d011682016040523d82523d6000602084013e610383565b606091505b50509050806103c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103be90610971565b60405180910390fd5b505050565b61044d8363a9059cbb60e01b84846040516024016103eb929190610926565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610452565b505050565b60006104b4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166105199092919063ffffffff16565b905060008151111561051457808060200190518101906104d4919061072b565b610513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050a906109f1565b60405180910390fd5b5b505050565b60606105288484600085610531565b90509392505050565b606082471015610576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056d906109b1565b60405180910390fd5b61057f85610645565b6105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b5906109d1565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516105e791906108df565b60006040518083038185875af1925050503d8060008114610624576040519150601f19603f3d011682016040523d82523d6000602084013e610629565b606091505b5091509150610639828286610658565b92505050949350505050565b600080823b905060008111915050919050565b60608315610668578290506106b8565b60008351111561067b5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af919061094f565b60405180910390fd5b9392505050565b6000813590506106ce81610cff565b92915050565b6000815190506106e381610d16565b92915050565b6000815190506106f881610d2d565b92915050565b60006020828403121561071457610713610ba7565b5b6000610722848285016106bf565b91505092915050565b60006020828403121561074157610740610ba7565b5b600061074f848285016106d4565b91505092915050565b60006020828403121561076e5761076d610ba7565b5b600061077c848285016106e9565b91505092915050565b61078e81610ace565b82525050565b600061079f82610a11565b6107a98185610a27565b93506107b9818560208601610b16565b80840191505092915050565b60006107d082610a1c565b6107da8185610a32565b93506107ea818560208601610b16565b6107f381610bac565b840191505092915050565b600061080b603a83610a32565b915061081682610bbd565b604082019050919050565b600061082e601d83610a32565b915061083982610c0c565b602082019050919050565b6000610851602683610a32565b915061085c82610c35565b604082019050919050565b6000610874600083610a27565b915061087f82610c84565b600082019050919050565b6000610897601d83610a32565b91506108a282610c87565b602082019050919050565b60006108ba602a83610a32565b91506108c582610cb0565b604082019050919050565b6108d981610b0c565b82525050565b60006108eb8284610794565b915081905092915050565b600061090182610867565b9150819050919050565b60006020820190506109206000830184610785565b92915050565b600060408201905061093b6000830185610785565b61094860208301846108d0565b9392505050565b6000602082019050818103600083015261096981846107c5565b905092915050565b6000602082019050818103600083015261098a816107fe565b9050919050565b600060208201905081810360008301526109aa81610821565b9050919050565b600060208201905081810360008301526109ca81610844565b9050919050565b600060208201905081810360008301526109ea8161088a565b9050919050565b60006020820190508181036000830152610a0a816108ad565b9050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610a4e82610b0c565b9150610a5983610b0c565b925082610a6957610a68610b78565b5b828204905092915050565b6000610a7f82610b0c565b9150610a8a83610b0c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610ac357610ac2610b49565b5b828202905092915050565b6000610ad982610aec565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610b34578082015181840152602081019050610b19565b83811115610b43576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610d0881610ace565b8114610d1357600080fd5b50565b610d1f81610ae0565b8114610d2a57600080fd5b50565b610d3681610b0c565b8114610d4157600080fd5b5056fea2646970667358221220fd1e66b6e3f28744e5c047f3bff25de2b1d420164d2a59e27dc795746b33a7cb64736f6c63430008070033
Deployed Bytecode
0x60806040526004361061002d5760003560e01c80638947606914610039578063e086e5ec1461006257610034565b3661003457005b600080fd5b34801561004557600080fd5b50610060600480360381019061005b91906106fe565b610079565b005b34801561006e57600080fd5b506100776102a7565b005b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101025760004790506100de73bf05beee15c2977e56e07e506fc63b295677fc696100d983631dcd65006102b3565b6102d8565b6100fc73354a70969f0b4a4c994403051a81c2ca45db3615476102d8565b506102a4565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161013d919061090b565b60206040518083038186803b15801561015557600080fd5b505afa158015610169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018d9190610758565b90506101db73bf05beee15c2977e56e07e506fc63b295677fc696101b583631dcd65006102b3565b8473ffffffffffffffffffffffffffffffffffffffff166103cc9092919063ffffffff16565b6102a273354a70969f0b4a4c994403051a81c2ca45db36158373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161022c919061090b565b60206040518083038186803b15801561024457600080fd5b505afa158015610258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027c9190610758565b8473ffffffffffffffffffffffffffffffffffffffff166103cc9092919063ffffffff16565b505b50565b6102b16000610079565b565b6000633b9aca0082846102c69190610a74565b6102d09190610a43565b905092915050565b8047101561031b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031290610991565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051610341906108f6565b60006040518083038185875af1925050503d806000811461037e576040519150601f19603f3d011682016040523d82523d6000602084013e610383565b606091505b50509050806103c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103be90610971565b60405180910390fd5b505050565b61044d8363a9059cbb60e01b84846040516024016103eb929190610926565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610452565b505050565b60006104b4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166105199092919063ffffffff16565b905060008151111561051457808060200190518101906104d4919061072b565b610513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050a906109f1565b60405180910390fd5b5b505050565b60606105288484600085610531565b90509392505050565b606082471015610576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056d906109b1565b60405180910390fd5b61057f85610645565b6105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b5906109d1565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516105e791906108df565b60006040518083038185875af1925050503d8060008114610624576040519150601f19603f3d011682016040523d82523d6000602084013e610629565b606091505b5091509150610639828286610658565b92505050949350505050565b600080823b905060008111915050919050565b60608315610668578290506106b8565b60008351111561067b5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af919061094f565b60405180910390fd5b9392505050565b6000813590506106ce81610cff565b92915050565b6000815190506106e381610d16565b92915050565b6000815190506106f881610d2d565b92915050565b60006020828403121561071457610713610ba7565b5b6000610722848285016106bf565b91505092915050565b60006020828403121561074157610740610ba7565b5b600061074f848285016106d4565b91505092915050565b60006020828403121561076e5761076d610ba7565b5b600061077c848285016106e9565b91505092915050565b61078e81610ace565b82525050565b600061079f82610a11565b6107a98185610a27565b93506107b9818560208601610b16565b80840191505092915050565b60006107d082610a1c565b6107da8185610a32565b93506107ea818560208601610b16565b6107f381610bac565b840191505092915050565b600061080b603a83610a32565b915061081682610bbd565b604082019050919050565b600061082e601d83610a32565b915061083982610c0c565b602082019050919050565b6000610851602683610a32565b915061085c82610c35565b604082019050919050565b6000610874600083610a27565b915061087f82610c84565b600082019050919050565b6000610897601d83610a32565b91506108a282610c87565b602082019050919050565b60006108ba602a83610a32565b91506108c582610cb0565b604082019050919050565b6108d981610b0c565b82525050565b60006108eb8284610794565b915081905092915050565b600061090182610867565b9150819050919050565b60006020820190506109206000830184610785565b92915050565b600060408201905061093b6000830185610785565b61094860208301846108d0565b9392505050565b6000602082019050818103600083015261096981846107c5565b905092915050565b6000602082019050818103600083015261098a816107fe565b9050919050565b600060208201905081810360008301526109aa81610821565b9050919050565b600060208201905081810360008301526109ca81610844565b9050919050565b600060208201905081810360008301526109ea8161088a565b9050919050565b60006020820190508181036000830152610a0a816108ad565b9050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610a4e82610b0c565b9150610a5983610b0c565b925082610a6957610a68610b78565b5b828204905092915050565b6000610a7f82610b0c565b9150610a8a83610b0c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610ac357610ac2610b49565b5b828202905092915050565b6000610ad982610aec565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610b34578082015181840152602081019050610b19565b83811115610b43576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610d0881610ace565b8114610d1357600080fd5b50565b610d1f81610ae0565b8114610d2a57600080fd5b50565b610d3681610b0c565b8114610d4157600080fd5b5056fea2646970667358221220fd1e66b6e3f28744e5c047f3bff25de2b1d420164d2a59e27dc795746b33a7cb64736f6c63430008070033
Deployed Bytecode Sourcemap
9903:2162:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11326:736;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11242:76;;;;;;;;;;;;;:::i;:::-;;11326:736;11403:1;11386:19;;:5;:19;;;11382:673;;;11422:20;11445:21;11422:44;;11481:67;10139:42;11509:38;11524:12;11538:8;11509:14;:38::i;:::-;11481:9;:67::i;:::-;11591:41;10037:42;11610:21;11591:9;:41::i;:::-;11407:265;11382:673;;;11693:20;11734:5;11716:34;;;11759:4;11716:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11693:72;;11780:95;10139:42;11836:38;11851:12;11865:8;11836:14;:38::i;:::-;11798:5;11780:37;;;;:95;;;;;:::i;:::-;11918:97;10037:42;11983:5;11965:34;;;12008:4;11965:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11936:5;11918:37;;;;:97;;;;;:::i;:::-;11678:377;11382:673;11326:736;:::o;11242:76::-;11285:25;11307:1;11285:13;:25::i;:::-;11242:76::o;10757:152::-;10842:7;10895:6;10878:13;10870:5;:21;;;;:::i;:::-;10869:32;;;;:::i;:::-;10862:39;;10757:152;;;;:::o;10917:317::-;11032:6;11007:21;:31;;10999:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;11086:12;11104:9;:14;;11126:6;11104:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11085:52;;;11156:7;11148:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;10988:246;10917:317;;:::o;8321:188::-;8415:86;8435:5;8465:23;;;8490:2;8494:5;8442:58;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8415:19;:86::i;:::-;8321:188;;;:::o;9124:772::-;9559:23;9585:69;9613:4;9585:69;;;;;;;;;;;;;;;;;9593:5;9585:27;;;;:69;;;;;:::i;:::-;9559:95;;9689:1;9669:10;:17;:21;9665:224;;;9811:10;9800:30;;;;;;;;;;;;:::i;:::-;9792:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9665:224;9205:691;9124:772;;:::o;3676:195::-;3779:12;3811:52;3833:6;3841:4;3847:1;3850:12;3811:21;:52::i;:::-;3804:59;;3676:195;;;;;:::o;4728:530::-;4855:12;4913:5;4888:21;:30;;4880:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;4980:18;4991:6;4980:10;:18::i;:::-;4972:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;5106:12;5120:23;5147:6;:11;;5167:5;5175:4;5147:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5105:75;;;;5198:52;5216:7;5225:10;5237:12;5198:17;:52::i;:::-;5191:59;;;;4728:530;;;;;;:::o;758:422::-;818:4;1026:12;1137:7;1125:20;1117:28;;1171:1;1164:4;:8;1157:15;;;758:422;;;:::o;5270:742::-;5385:12;5414:7;5410:595;;;5445:10;5438:17;;;;5410:595;5579:1;5559:10;:17;:21;5555:439;;;5822:10;5816:17;5883:15;5870:10;5866:2;5862:19;5855:44;5555:439;5965:12;5958:20;;;;;;;;;;;:::i;:::-;;;;;;;;5270:742;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:137::-;206:5;237:6;231:13;222:22;;253:30;277:5;253:30;:::i;:::-;152:137;;;;:::o;295:143::-;352:5;383:6;377:13;368:22;;399:33;426:5;399:33;:::i;:::-;295:143;;;;:::o;444:329::-;503:6;552:2;540:9;531:7;527:23;523:32;520:119;;;558:79;;:::i;:::-;520:119;678:1;703:53;748:7;739:6;728:9;724:22;703:53;:::i;:::-;693:63;;649:117;444:329;;;;:::o;779:345::-;846:6;895:2;883:9;874:7;870:23;866:32;863:119;;;901:79;;:::i;:::-;863:119;1021:1;1046:61;1099:7;1090:6;1079:9;1075:22;1046:61;:::i;:::-;1036:71;;992:125;779:345;;;;:::o;1130:351::-;1200:6;1249:2;1237:9;1228:7;1224:23;1220:32;1217:119;;;1255:79;;:::i;:::-;1217:119;1375:1;1400:64;1456:7;1447:6;1436:9;1432:22;1400:64;:::i;:::-;1390:74;;1346:128;1130:351;;;;:::o;1487:118::-;1574:24;1592:5;1574:24;:::i;:::-;1569:3;1562:37;1487:118;;:::o;1611:373::-;1715:3;1743:38;1775:5;1743:38;:::i;:::-;1797:88;1878:6;1873:3;1797:88;:::i;:::-;1790:95;;1894:52;1939:6;1934:3;1927:4;1920:5;1916:16;1894:52;:::i;:::-;1971:6;1966:3;1962:16;1955:23;;1719:265;1611:373;;;;:::o;1990:364::-;2078:3;2106:39;2139:5;2106:39;:::i;:::-;2161:71;2225:6;2220:3;2161:71;:::i;:::-;2154:78;;2241:52;2286:6;2281:3;2274:4;2267:5;2263:16;2241:52;:::i;:::-;2318:29;2340:6;2318:29;:::i;:::-;2313:3;2309:39;2302:46;;2082:272;1990:364;;;;:::o;2360:366::-;2502:3;2523:67;2587:2;2582:3;2523:67;:::i;:::-;2516:74;;2599:93;2688:3;2599:93;:::i;:::-;2717:2;2712:3;2708:12;2701:19;;2360:366;;;:::o;2732:::-;2874:3;2895:67;2959:2;2954:3;2895:67;:::i;:::-;2888:74;;2971:93;3060:3;2971:93;:::i;:::-;3089:2;3084:3;3080:12;3073:19;;2732:366;;;:::o;3104:::-;3246:3;3267:67;3331:2;3326:3;3267:67;:::i;:::-;3260:74;;3343:93;3432:3;3343:93;:::i;:::-;3461:2;3456:3;3452:12;3445:19;;3104:366;;;:::o;3476:398::-;3635:3;3656:83;3737:1;3732:3;3656:83;:::i;:::-;3649:90;;3748:93;3837:3;3748:93;:::i;:::-;3866:1;3861:3;3857:11;3850:18;;3476:398;;;:::o;3880:366::-;4022:3;4043:67;4107:2;4102:3;4043:67;:::i;:::-;4036:74;;4119:93;4208:3;4119:93;:::i;:::-;4237:2;4232:3;4228:12;4221:19;;3880:366;;;:::o;4252:::-;4394:3;4415:67;4479:2;4474:3;4415:67;:::i;:::-;4408:74;;4491:93;4580:3;4491:93;:::i;:::-;4609:2;4604:3;4600:12;4593:19;;4252:366;;;:::o;4624:118::-;4711:24;4729:5;4711:24;:::i;:::-;4706:3;4699:37;4624:118;;:::o;4748:271::-;4878:3;4900:93;4989:3;4980:6;4900:93;:::i;:::-;4893:100;;5010:3;5003:10;;4748:271;;;;:::o;5025:379::-;5209:3;5231:147;5374:3;5231:147;:::i;:::-;5224:154;;5395:3;5388:10;;5025:379;;;:::o;5410:222::-;5503:4;5541:2;5530:9;5526:18;5518:26;;5554:71;5622:1;5611:9;5607:17;5598:6;5554:71;:::i;:::-;5410:222;;;;:::o;5638:332::-;5759:4;5797:2;5786:9;5782:18;5774:26;;5810:71;5878:1;5867:9;5863:17;5854:6;5810:71;:::i;:::-;5891:72;5959:2;5948:9;5944:18;5935:6;5891:72;:::i;:::-;5638:332;;;;;:::o;5976:313::-;6089:4;6127:2;6116:9;6112:18;6104:26;;6176:9;6170:4;6166:20;6162:1;6151:9;6147:17;6140:47;6204:78;6277:4;6268:6;6204:78;:::i;:::-;6196:86;;5976:313;;;;:::o;6295:419::-;6461:4;6499:2;6488:9;6484:18;6476:26;;6548:9;6542:4;6538:20;6534:1;6523:9;6519:17;6512:47;6576:131;6702:4;6576:131;:::i;:::-;6568:139;;6295:419;;;:::o;6720:::-;6886:4;6924:2;6913:9;6909:18;6901:26;;6973:9;6967:4;6963:20;6959:1;6948:9;6944:17;6937:47;7001:131;7127:4;7001:131;:::i;:::-;6993:139;;6720:419;;;:::o;7145:::-;7311:4;7349:2;7338:9;7334:18;7326:26;;7398:9;7392:4;7388:20;7384:1;7373:9;7369:17;7362:47;7426:131;7552:4;7426:131;:::i;:::-;7418:139;;7145:419;;;:::o;7570:::-;7736:4;7774:2;7763:9;7759:18;7751:26;;7823:9;7817:4;7813:20;7809:1;7798:9;7794:17;7787:47;7851:131;7977:4;7851:131;:::i;:::-;7843:139;;7570:419;;;:::o;7995:::-;8161:4;8199:2;8188:9;8184:18;8176:26;;8248:9;8242:4;8238:20;8234:1;8223:9;8219:17;8212:47;8276:131;8402:4;8276:131;:::i;:::-;8268:139;;7995:419;;;:::o;8501:98::-;8552:6;8586:5;8580:12;8570:22;;8501:98;;;:::o;8605:99::-;8657:6;8691:5;8685:12;8675:22;;8605:99;;;:::o;8710:147::-;8811:11;8848:3;8833:18;;8710:147;;;;:::o;8863:169::-;8947:11;8981:6;8976:3;8969:19;9021:4;9016:3;9012:14;8997:29;;8863:169;;;;:::o;9038:185::-;9078:1;9095:20;9113:1;9095:20;:::i;:::-;9090:25;;9129:20;9147:1;9129:20;:::i;:::-;9124:25;;9168:1;9158:35;;9173:18;;:::i;:::-;9158:35;9215:1;9212;9208:9;9203:14;;9038:185;;;;:::o;9229:348::-;9269:7;9292:20;9310:1;9292:20;:::i;:::-;9287:25;;9326:20;9344:1;9326:20;:::i;:::-;9321:25;;9514:1;9446:66;9442:74;9439:1;9436:81;9431:1;9424:9;9417:17;9413:105;9410:131;;;9521:18;;:::i;:::-;9410:131;9569:1;9566;9562:9;9551:20;;9229:348;;;;:::o;9583:96::-;9620:7;9649:24;9667:5;9649:24;:::i;:::-;9638:35;;9583:96;;;:::o;9685:90::-;9719:7;9762:5;9755:13;9748:21;9737:32;;9685:90;;;:::o;9781:126::-;9818:7;9858:42;9851:5;9847:54;9836:65;;9781:126;;;:::o;9913:77::-;9950:7;9979:5;9968:16;;9913:77;;;:::o;9996:307::-;10064:1;10074:113;10088:6;10085:1;10082:13;10074:113;;;10173:1;10168:3;10164:11;10158:18;10154:1;10149:3;10145:11;10138:39;10110:2;10107:1;10103:10;10098:15;;10074:113;;;10205:6;10202:1;10199:13;10196:101;;;10285:1;10276:6;10271:3;10267:16;10260:27;10196:101;10045:258;9996:307;;;:::o;10309:180::-;10357:77;10354:1;10347:88;10454:4;10451:1;10444:15;10478:4;10475:1;10468:15;10495:180;10543:77;10540:1;10533:88;10640:4;10637:1;10630:15;10664:4;10661:1;10654:15;10804:117;10913:1;10910;10903:12;10927:102;10968:6;11019:2;11015:7;11010:2;11003:5;10999:14;10995:28;10985:38;;10927:102;;;:::o;11035:245::-;11175:34;11171:1;11163:6;11159:14;11152:58;11244:28;11239:2;11231:6;11227:15;11220:53;11035:245;:::o;11286:179::-;11426:31;11422:1;11414:6;11410:14;11403:55;11286:179;:::o;11471:225::-;11611:34;11607:1;11599:6;11595:14;11588:58;11680:8;11675:2;11667:6;11663:15;11656:33;11471:225;:::o;11702:114::-;;:::o;11822:179::-;11962:31;11958:1;11950:6;11946:14;11939:55;11822:179;:::o;12007:229::-;12147:34;12143:1;12135:6;12131:14;12124:58;12216:12;12211:2;12203:6;12199:15;12192:37;12007:229;:::o;12242:122::-;12315:24;12333:5;12315:24;:::i;:::-;12308:5;12305:35;12295:63;;12354:1;12351;12344:12;12295:63;12242:122;:::o;12370:116::-;12440:21;12455:5;12440:21;:::i;:::-;12433:5;12430:32;12420:60;;12476:1;12473;12466:12;12420:60;12370:116;:::o;12492:122::-;12565:24;12583:5;12565:24;:::i;:::-;12558:5;12555:35;12545:63;;12604:1;12601;12594:12;12545:63;12492:122;:::o
Swarm Source
ipfs://fd1e66b6e3f28744e5c047f3bff25de2b1d420164d2a59e27dc795746b33a7cb
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.