Overview
ETH Balance
0.030687669700535798 ETH
ETH Value
$118.62 (@ $3,865.37/ETH)Token Holdings
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 13,546 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw ETH | 124537063 | 101 days ago | IN | 0 ETH | 0.000000054181 | ||||
Withdraw | 124524939 | 102 days ago | IN | 0 ETH | 0.000000080594 | ||||
Withdraw | 124524865 | 102 days ago | IN | 0 ETH | 0.000000074524 | ||||
Withdraw | 124524770 | 102 days ago | IN | 0 ETH | 0.000000067815 | ||||
Withdraw | 124524555 | 102 days ago | IN | 0 ETH | 0.000000072908 | ||||
Withdraw | 124524437 | 102 days ago | IN | 0 ETH | 0.000000066715 | ||||
Withdraw | 123997798 | 114 days ago | IN | 0 ETH | 0.000000066548 | ||||
Withdraw | 123824922 | 118 days ago | IN | 0 ETH | 0.000000062037 | ||||
Withdraw | 123646025 | 122 days ago | IN | 0 ETH | 0.000002796199 | ||||
Withdraw | 123582306 | 124 days ago | IN | 0 ETH | 0.000000068217 | ||||
Withdraw ETH | 123524361 | 125 days ago | IN | 0 ETH | 0.000000088358 | ||||
Withdraw | 123306743 | 130 days ago | IN | 0 ETH | 0.000000086607 | ||||
Withdraw | 123209187 | 132 days ago | IN | 0 ETH | 0.000000096086 | ||||
Withdraw | 123019214 | 137 days ago | IN | 0 ETH | 0.000004259921 | ||||
Withdraw ETH | 123017554 | 137 days ago | IN | 0 ETH | 0.000002441255 | ||||
Withdraw ETH | 123017528 | 137 days ago | IN | 0 ETH | 0.000002441377 | ||||
Withdraw | 123013600 | 137 days ago | IN | 0 ETH | 0.00000312333 | ||||
Withdraw | 123011178 | 137 days ago | IN | 0 ETH | 0.000003499845 | ||||
Withdraw | 123010290 | 137 days ago | IN | 0 ETH | 0.000003132374 | ||||
Swap Eth | 123009713 | 137 days ago | IN | 0.0145 ETH | 0.000002377388 | ||||
Transfer | 123004153 | 137 days ago | IN | 0.031 ETH | 0.000001320052 | ||||
Withdraw | 122998021 | 137 days ago | IN | 0 ETH | 0.000004426347 | ||||
Withdraw | 122995316 | 137 days ago | IN | 0 ETH | 0.000003899433 | ||||
Transfer | 122994553 | 137 days ago | IN | 0.066 ETH | 0.000001432162 | ||||
Withdraw | 122989763 | 137 days ago | IN | 0 ETH | 0.000004885863 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
128894992 | 26 hrs ago | 0.01574263 ETH | ||||
128291674 | 15 days ago | 0.01494503 ETH | ||||
124537063 | 101 days ago | 1.52479023 ETH | ||||
123633153 | 122 days ago | 0.142512048563759 ETH | ||||
123623296 | 123 days ago | 0.167955407119743 ETH | ||||
123621519 | 123 days ago | 0.008 ETH | ||||
123620929 | 123 days ago | 0.230042449837142 ETH | ||||
123620802 | 123 days ago | 0.226615510673852 ETH | ||||
123620757 | 123 days ago | 0.272927272697736 ETH | ||||
123617004 | 123 days ago | 0.238278325863475 ETH | ||||
123611080 | 123 days ago | 0.0466 ETH | ||||
123598803 | 123 days ago | 0.036605842298488 ETH | ||||
123594173 | 123 days ago | 0.005 ETH | ||||
123593824 | 123 days ago | 0.0999 ETH | ||||
123593337 | 123 days ago | 0.0129 ETH | ||||
123593220 | 123 days ago | 0.018787543936782 ETH | ||||
123592343 | 123 days ago | 0.021978 ETH | ||||
123592262 | 123 days ago | 0.0713090970225 ETH | ||||
123524361 | 125 days ago | 1.5 ETH | ||||
123497875 | 126 days ago | 0.012 ETH | ||||
123471832 | 126 days ago | 0.020243471265 ETH | ||||
123471792 | 126 days ago | 0.028032857442462 ETH | ||||
123467188 | 126 days ago | 0.028356636610693 ETH | ||||
123459441 | 126 days ago | 0.312271326052 ETH | ||||
123459407 | 126 days ago | 0.0899 ETH |
Loading...
Loading
Contract Name:
SwftSwap
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at optimistic.etherscan.io on 2022-10-09 */ // File: lib/TransferHelper.sol pragma solidity >=0.8.0; library TransferHelper { function safeApprove(address token, address to, uint value) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: APPROVE_FAILED'); } function safeTransfer(address token, address to, uint value) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FAILED'); } function safeTransferFrom(address token, address from, address to, uint value) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FROM_FAILED'); } function safeTransferETH(address to, uint value) internal { (bool success,) = to.call{value:value}(new bytes(0)); require(success, 'TransferHelper: ETH_TRANSFER_FAILED'); } } // File: @openzeppelin/contracts/utils/math/SafeMath.sol // OpenZeppelin Contracts (last updated v4.6.0) (utils/math/SafeMath.sol) pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the subtraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } // File: @openzeppelin/contracts/security/ReentrancyGuard.sol // OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol) pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount ) external returns (bool); } // File: SwftSwap.sol pragma solidity ^0.8.0; /// @notice swftswap contract SwftSwap is ReentrancyGuard, Ownable { using SafeMath for uint256; string public name; string public symbol; /// @notice Swap's log. /// @param fromToken token's address. /// @param toToken 兑换的目标币的名称,比如'usdt(matic)' /// @param sender Who swap /// @param destination 目标币的地址 /// @param fromAmount Input amount. /// @param minReturnAmount 用户期望的目标币的最小接收数量 event Swap( address fromToken, string toToken, address sender, string destination, uint256 fromAmount, uint256 minReturnAmount ); /// @notice SwapEth's log. /// @param toToken 兑换的目标币的名称,比如'usdt(matic)' /// @param sender Who swap /// @param destination 目标币的地址 /// @param fromAmount Input amount. /// @param minReturnAmount 用户期望的目标币的最小接收数量 event SwapEth( string toToken, address sender, string destination, uint256 fromAmount, uint256 minReturnAmount ); event WithdrawETH(uint256 amount); event Withdtraw(address token, uint256 amount); constructor() { name = "SWFT Swap1.1"; symbol = "SSwap"; } /// @notice Excute transactions. 从转入的币中扣除手续费。 /// @param fromToken token's address. 源币的合约地址 /// @param toToken 目标币的类型,比如'usdt(matic)' /// @param destination 目标币的收币地址 /// @param fromAmount 原币的数量 /// @param minReturnAmount 用户期望的目标币的最小接收数量 function swap( address fromToken, string memory toToken, string memory destination, uint256 fromAmount, uint256 minReturnAmount ) external nonReentrant { require(fromToken != address(0), "FROMTOKEN_CANT_T_BE_0"); // 源币地址不能为0 require(fromAmount > 0, "FROM_TOKEN_AMOUNT_MUST_BE_MORE_THAN_0"); uint256 _inputAmount; // 实际收到的源币的数量 uint256 _fromTokenBalanceOrigin = IERC20(fromToken).balanceOf(address(this)); TransferHelper.safeTransferFrom(fromToken, msg.sender, address(this), fromAmount); uint256 _fromTokenBalanceNew = IERC20(fromToken).balanceOf(address(this)); _inputAmount = _fromTokenBalanceNew.sub(_fromTokenBalanceOrigin); require(_inputAmount > 0, "NO_FROM_TOKEN_TRANSFER_TO_THIS_CONTRACT"); emit Swap(fromToken, toToken, msg.sender, destination, fromAmount, minReturnAmount); } /// @notice Excute transactions. 从转入的币中扣除手续费。 /// @param toToken 目标币的类型,比如'usdt(matic)' /// @param destination 目标币的收币地址 /// @param minReturnAmount 用户期望的目标币的最小接收数量 function swapEth(string memory toToken, string memory destination, uint256 minReturnAmount ) external payable nonReentrant { uint256 _ethAmount = msg.value; // 实际收到的eth的数量 require(_ethAmount > 0, "ETH_AMOUNT_MUST_BE_MORE_THAN_0"); emit SwapEth(toToken, msg.sender, destination, _ethAmount, minReturnAmount); } function withdrawETH(address destination, uint256 amount) external onlyOwner { require(destination != address(0), "DESTINATION_CANNT_BE_0_ADDRESS"); uint256 balance = address(this).balance; require(balance >= amount, "AMOUNT_CANNT_MORE_THAN_BALANCE"); TransferHelper.safeTransferETH(destination, amount); emit WithdrawETH(amount); } function withdraw(address token, address destination, uint256 amount) external onlyOwner { require(destination != address(0), "DESTINATION_CANNT_BE_0_ADDRESS"); require(token != address(0), "TOKEN_MUST_NOT_BE_0"); uint256 balance = IERC20(token).balanceOf(address(this)); require(balance >= amount, "AMOUNT_CANNT_MORE_THAN_BALANCE"); TransferHelper.safeTransfer(token, destination, amount); emit Withdtraw(token, amount); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"fromToken","type":"address"},{"indexed":false,"internalType":"string","name":"toToken","type":"string"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"string","name":"destination","type":"string"},{"indexed":false,"internalType":"uint256","name":"fromAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"minReturnAmount","type":"uint256"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"toToken","type":"string"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"string","name":"destination","type":"string"},{"indexed":false,"internalType":"uint256","name":"fromAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"minReturnAmount","type":"uint256"}],"name":"SwapEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdtraw","type":"event"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"fromToken","type":"address"},{"internalType":"string","name":"toToken","type":"string"},{"internalType":"string","name":"destination","type":"string"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"toToken","type":"string"},{"internalType":"string","name":"destination","type":"string"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"}],"name":"swapEth","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060016000819055506200003a6200002e620000dc60201b60201c565b620000e460201b60201c565b6040518060400160405280600c81526020017f535746542053776170312e3100000000000000000000000000000000000000008152506002908051906020019062000087929190620001aa565b506040518060400160405280600581526020017f535377617000000000000000000000000000000000000000000000000000000081525060039080519060200190620000d5929190620001aa565b50620002bf565b600033905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001b8906200025a565b90600052602060002090601f016020900481019282620001dc576000855562000228565b82601f10620001f757805160ff191683800117855562000228565b8280016001018555821562000228579182015b82811115620002275782518255916020019190600101906200020a565b5b5090506200023791906200023b565b5090565b5b80821115620002565760008160009055506001016200023c565b5090565b600060028204905060018216806200027357607f821691505b602082108114156200028a576200028962000290565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b611cca80620002cf6000396000f3fe60806040526004361061008a5760003560e01c80638da5cb5b116100595780638da5cb5b1461011d57806395d89b41146101485780639ddf93bb14610173578063d9caed121461019c578063f2fde38b146101c557610091565b806306fdde031461009657806316b3b4c2146100c15780634782f779146100dd578063715018a61461010657610091565b3661009157005b600080fd5b3480156100a257600080fd5b506100ab6101ee565b6040516100b891906117f0565b60405180910390f35b6100db60048036038101906100d691906111c1565b61027c565b005b3480156100e957600080fd5b5061010460048036038101906100ff919061115c565b61035f565b005b34801561011257600080fd5b5061011b610465565b005b34801561012957600080fd5b50610132610479565b60405161013f9190611706565b60405180910390f35b34801561015457600080fd5b5061015d6104a3565b60405161016a91906117f0565b60405180910390f35b34801561017f57600080fd5b5061019a600480360381019061019591906110b5565b610531565b005b3480156101a857600080fd5b506101c360048036038101906101be9190611066565b610804565b005b3480156101d157600080fd5b506101ec60048036038101906101e7919061103d565b610a06565b005b600280546101fb90611b7f565b80601f016020809104026020016040519081016040528092919081815260200182805461022790611b7f565b80156102745780601f1061024957610100808354040283529160200191610274565b820191906000526020600020905b81548152906001019060200180831161025757829003601f168201915b505050505081565b600260005414156102c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b9906119f3565b60405180910390fd5b6002600081905550600034905060008111610312576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610309906118f3565b60405180910390fd5b7f4e96fb90a89341a56db7ad2bbf04c715bbf20be6a9a9e764671f718c4697649a8433858486604051610349959493929190611812565b60405180910390a1506001600081905550505050565b610367610a8a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ce90611913565b60405180910390fd5b60004790508181101561041f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610416906118b3565b60405180910390fd5b6104298383610b08565b7f94effa14ea3a1ef396fa2fd829336d1597f1d76b548c26bfa2332869706638af826040516104589190611a13565b60405180910390a1505050565b61046d610a8a565b6104776000610c2e565b565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600380546104b090611b7f565b80601f01602080910402602001604051908101604052809291908181526020018280546104dc90611b7f565b80156105295780601f106104fe57610100808354040283529160200191610529565b820191906000526020600020905b81548152906001019060200180831161050c57829003601f168201915b505050505081565b60026000541415610577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056e906119f3565b60405180910390fd5b6002600081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e690611993565b60405180910390fd5b60008211610632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062990611893565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161066e9190611706565b60206040518083038186803b15801561068657600080fd5b505afa15801561069a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106be9190611240565b90506106cc87333087610cf4565b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107079190611706565b60206040518083038186803b15801561071f57600080fd5b505afa158015610733573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107579190611240565b905061076c8282610e2d90919063ffffffff16565b9250600083116107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a890611933565b60405180910390fd5b7f45f377f845e1cc76ae2c08f990e15d58bcb732db46f92a4852b956580c3a162f8888338989896040516107ea96959493929190611758565b60405180910390a150505060016000819055505050505050565b61080c610a8a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561087c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087390611913565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e390611973565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109279190611706565b60206040518083038186803b15801561093f57600080fd5b505afa158015610953573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109779190611240565b9050818110156109bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b3906118b3565b60405180910390fd5b6109c7848484610e43565b7f7bf0873174a9cc6b28e039b52e74903dd59d650205f32748e3c3dd6b9918ea8784836040516109f89291906117c7565b60405180910390a150505050565b610a0e610a8a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a75906118d3565b60405180910390fd5b610a8781610c2e565b50565b610a92610f79565b73ffffffffffffffffffffffffffffffffffffffff16610ab0610479565b73ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd90611953565b60405180910390fd5b565b60008273ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff811115610b63577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015610b955781602001600182028036833780820191505090505b50604051610ba391906116ef565b60006040518083038185875af1925050503d8060008114610be0576040519150601f19603f3d011682016040523d82523d6000602084013e610be5565b606091505b5050905080610c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c20906119b3565b60405180910390fd5b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808573ffffffffffffffffffffffffffffffffffffffff166323b872dd868686604051602401610d2893929190611721565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610d7691906116ef565b6000604051808303816000865af19150503d8060008114610db3576040519150601f19603f3d011682016040523d82523d6000602084013e610db8565b606091505b5091509150818015610de65750600081511480610de5575080806020019051810190610de49190611198565b5b5b610e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1c906119d3565b60405180910390fd5b505050505050565b60008183610e3b9190611ac1565b905092915050565b6000808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401610e759291906117c7565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610ec391906116ef565b6000604051808303816000865af19150503d8060008114610f00576040519150601f19603f3d011682016040523d82523d6000602084013e610f05565b606091505b5091509150818015610f335750600081511480610f32575080806020019051810190610f319190611198565b5b5b610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990611873565b60405180910390fd5b5050505050565b600033905090565b6000610f94610f8f84611a5f565b611a2e565b905082815260208101848484011115610fac57600080fd5b610fb7848285611b3d565b509392505050565b600081359050610fce81611c4f565b92915050565b600081519050610fe381611c66565b92915050565b600082601f830112610ffa57600080fd5b813561100a848260208601610f81565b91505092915050565b60008135905061102281611c7d565b92915050565b60008151905061103781611c7d565b92915050565b60006020828403121561104f57600080fd5b600061105d84828501610fbf565b91505092915050565b60008060006060848603121561107b57600080fd5b600061108986828701610fbf565b935050602061109a86828701610fbf565b92505060406110ab86828701611013565b9150509250925092565b600080600080600060a086880312156110cd57600080fd5b60006110db88828901610fbf565b955050602086013567ffffffffffffffff8111156110f857600080fd5b61110488828901610fe9565b945050604086013567ffffffffffffffff81111561112157600080fd5b61112d88828901610fe9565b935050606061113e88828901611013565b925050608061114f88828901611013565b9150509295509295909350565b6000806040838503121561116f57600080fd5b600061117d85828601610fbf565b925050602061118e85828601611013565b9150509250929050565b6000602082840312156111aa57600080fd5b60006111b884828501610fd4565b91505092915050565b6000806000606084860312156111d657600080fd5b600084013567ffffffffffffffff8111156111f057600080fd5b6111fc86828701610fe9565b935050602084013567ffffffffffffffff81111561121957600080fd5b61122586828701610fe9565b925050604061123686828701611013565b9150509250925092565b60006020828403121561125257600080fd5b600061126084828501611028565b91505092915050565b61127281611af5565b82525050565b600061128382611a8f565b61128d8185611aa5565b935061129d818560208601611b4c565b80840191505092915050565b60006112b482611a9a565b6112be8185611ab0565b93506112ce818560208601611b4c565b6112d781611c3e565b840191505092915050565b60006112ef601f83611ab0565b91507f5472616e7366657248656c7065723a205452414e534645525f4641494c4544006000830152602082019050919050565b600061132f602583611ab0565b91507f46524f4d5f544f4b454e5f414d4f554e545f4d5553545f42455f4d4f52455f5460008301527f48414e5f300000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611395601e83611ab0565b91507f414d4f554e545f43414e4e545f4d4f52455f5448414e5f42414c414e434500006000830152602082019050919050565b60006113d5602683611ab0565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061143b601e83611ab0565b91507f4554485f414d4f554e545f4d5553545f42455f4d4f52455f5448414e5f3000006000830152602082019050919050565b600061147b601e83611ab0565b91507f44455354494e4154494f4e5f43414e4e545f42455f305f4144445245535300006000830152602082019050919050565b60006114bb602783611ab0565b91507f4e4f5f46524f4d5f544f4b454e5f5452414e534645525f544f5f544849535f4360008301527f4f4e5452414354000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611521602083611ab0565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611561601383611ab0565b91507f544f4b454e5f4d5553545f4e4f545f42455f30000000000000000000000000006000830152602082019050919050565b60006115a1601583611ab0565b91507f46524f4d544f4b454e5f43414e545f545f42455f3000000000000000000000006000830152602082019050919050565b60006115e1602383611ab0565b91507f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960008301527f4c454400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611647602483611ab0565b91507f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f464160008301527f494c4544000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116ad601f83611ab0565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b6116e981611b33565b82525050565b60006116fb8284611278565b915081905092915050565b600060208201905061171b6000830184611269565b92915050565b60006060820190506117366000830186611269565b6117436020830185611269565b61175060408301846116e0565b949350505050565b600060c08201905061176d6000830189611269565b818103602083015261177f81886112a9565b905061178e6040830187611269565b81810360608301526117a081866112a9565b90506117af60808301856116e0565b6117bc60a08301846116e0565b979650505050505050565b60006040820190506117dc6000830185611269565b6117e960208301846116e0565b9392505050565b6000602082019050818103600083015261180a81846112a9565b905092915050565b600060a082019050818103600083015261182c81886112a9565b905061183b6020830187611269565b818103604083015261184d81866112a9565b905061185c60608301856116e0565b61186960808301846116e0565b9695505050505050565b6000602082019050818103600083015261188c816112e2565b9050919050565b600060208201905081810360008301526118ac81611322565b9050919050565b600060208201905081810360008301526118cc81611388565b9050919050565b600060208201905081810360008301526118ec816113c8565b9050919050565b6000602082019050818103600083015261190c8161142e565b9050919050565b6000602082019050818103600083015261192c8161146e565b9050919050565b6000602082019050818103600083015261194c816114ae565b9050919050565b6000602082019050818103600083015261196c81611514565b9050919050565b6000602082019050818103600083015261198c81611554565b9050919050565b600060208201905081810360008301526119ac81611594565b9050919050565b600060208201905081810360008301526119cc816115d4565b9050919050565b600060208201905081810360008301526119ec8161163a565b9050919050565b60006020820190508181036000830152611a0c816116a0565b9050919050565b6000602082019050611a2860008301846116e0565b92915050565b6000604051905081810181811067ffffffffffffffff82111715611a5557611a54611c0f565b5b8060405250919050565b600067ffffffffffffffff821115611a7a57611a79611c0f565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611acc82611b33565b9150611ad783611b33565b925082821015611aea57611ae9611bb1565b5b828203905092915050565b6000611b0082611b13565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015611b6a578082015181840152602081019050611b4f565b83811115611b79576000848401525b50505050565b60006002820490506001821680611b9757607f821691505b60208210811415611bab57611baa611be0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b611c5881611af5565b8114611c6357600080fd5b50565b611c6f81611b07565b8114611c7a57600080fd5b50565b611c8681611b33565b8114611c9157600080fd5b5056fea264697066735822122074b11468f55b56aa456245ebd0a5c587d059f001d005eeebfc0425caaaad84e164736f6c63430008000033
Deployed Bytecode
0x60806040526004361061008a5760003560e01c80638da5cb5b116100595780638da5cb5b1461011d57806395d89b41146101485780639ddf93bb14610173578063d9caed121461019c578063f2fde38b146101c557610091565b806306fdde031461009657806316b3b4c2146100c15780634782f779146100dd578063715018a61461010657610091565b3661009157005b600080fd5b3480156100a257600080fd5b506100ab6101ee565b6040516100b891906117f0565b60405180910390f35b6100db60048036038101906100d691906111c1565b61027c565b005b3480156100e957600080fd5b5061010460048036038101906100ff919061115c565b61035f565b005b34801561011257600080fd5b5061011b610465565b005b34801561012957600080fd5b50610132610479565b60405161013f9190611706565b60405180910390f35b34801561015457600080fd5b5061015d6104a3565b60405161016a91906117f0565b60405180910390f35b34801561017f57600080fd5b5061019a600480360381019061019591906110b5565b610531565b005b3480156101a857600080fd5b506101c360048036038101906101be9190611066565b610804565b005b3480156101d157600080fd5b506101ec60048036038101906101e7919061103d565b610a06565b005b600280546101fb90611b7f565b80601f016020809104026020016040519081016040528092919081815260200182805461022790611b7f565b80156102745780601f1061024957610100808354040283529160200191610274565b820191906000526020600020905b81548152906001019060200180831161025757829003601f168201915b505050505081565b600260005414156102c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b9906119f3565b60405180910390fd5b6002600081905550600034905060008111610312576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610309906118f3565b60405180910390fd5b7f4e96fb90a89341a56db7ad2bbf04c715bbf20be6a9a9e764671f718c4697649a8433858486604051610349959493929190611812565b60405180910390a1506001600081905550505050565b610367610a8a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ce90611913565b60405180910390fd5b60004790508181101561041f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610416906118b3565b60405180910390fd5b6104298383610b08565b7f94effa14ea3a1ef396fa2fd829336d1597f1d76b548c26bfa2332869706638af826040516104589190611a13565b60405180910390a1505050565b61046d610a8a565b6104776000610c2e565b565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600380546104b090611b7f565b80601f01602080910402602001604051908101604052809291908181526020018280546104dc90611b7f565b80156105295780601f106104fe57610100808354040283529160200191610529565b820191906000526020600020905b81548152906001019060200180831161050c57829003601f168201915b505050505081565b60026000541415610577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056e906119f3565b60405180910390fd5b6002600081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e690611993565b60405180910390fd5b60008211610632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062990611893565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161066e9190611706565b60206040518083038186803b15801561068657600080fd5b505afa15801561069a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106be9190611240565b90506106cc87333087610cf4565b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107079190611706565b60206040518083038186803b15801561071f57600080fd5b505afa158015610733573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107579190611240565b905061076c8282610e2d90919063ffffffff16565b9250600083116107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a890611933565b60405180910390fd5b7f45f377f845e1cc76ae2c08f990e15d58bcb732db46f92a4852b956580c3a162f8888338989896040516107ea96959493929190611758565b60405180910390a150505060016000819055505050505050565b61080c610a8a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561087c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087390611913565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e390611973565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109279190611706565b60206040518083038186803b15801561093f57600080fd5b505afa158015610953573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109779190611240565b9050818110156109bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b3906118b3565b60405180910390fd5b6109c7848484610e43565b7f7bf0873174a9cc6b28e039b52e74903dd59d650205f32748e3c3dd6b9918ea8784836040516109f89291906117c7565b60405180910390a150505050565b610a0e610a8a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a75906118d3565b60405180910390fd5b610a8781610c2e565b50565b610a92610f79565b73ffffffffffffffffffffffffffffffffffffffff16610ab0610479565b73ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd90611953565b60405180910390fd5b565b60008273ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff811115610b63577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015610b955781602001600182028036833780820191505090505b50604051610ba391906116ef565b60006040518083038185875af1925050503d8060008114610be0576040519150601f19603f3d011682016040523d82523d6000602084013e610be5565b606091505b5050905080610c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c20906119b3565b60405180910390fd5b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808573ffffffffffffffffffffffffffffffffffffffff166323b872dd868686604051602401610d2893929190611721565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610d7691906116ef565b6000604051808303816000865af19150503d8060008114610db3576040519150601f19603f3d011682016040523d82523d6000602084013e610db8565b606091505b5091509150818015610de65750600081511480610de5575080806020019051810190610de49190611198565b5b5b610e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1c906119d3565b60405180910390fd5b505050505050565b60008183610e3b9190611ac1565b905092915050565b6000808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401610e759291906117c7565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610ec391906116ef565b6000604051808303816000865af19150503d8060008114610f00576040519150601f19603f3d011682016040523d82523d6000602084013e610f05565b606091505b5091509150818015610f335750600081511480610f32575080806020019051810190610f319190611198565b5b5b610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990611873565b60405180910390fd5b5050505050565b600033905090565b6000610f94610f8f84611a5f565b611a2e565b905082815260208101848484011115610fac57600080fd5b610fb7848285611b3d565b509392505050565b600081359050610fce81611c4f565b92915050565b600081519050610fe381611c66565b92915050565b600082601f830112610ffa57600080fd5b813561100a848260208601610f81565b91505092915050565b60008135905061102281611c7d565b92915050565b60008151905061103781611c7d565b92915050565b60006020828403121561104f57600080fd5b600061105d84828501610fbf565b91505092915050565b60008060006060848603121561107b57600080fd5b600061108986828701610fbf565b935050602061109a86828701610fbf565b92505060406110ab86828701611013565b9150509250925092565b600080600080600060a086880312156110cd57600080fd5b60006110db88828901610fbf565b955050602086013567ffffffffffffffff8111156110f857600080fd5b61110488828901610fe9565b945050604086013567ffffffffffffffff81111561112157600080fd5b61112d88828901610fe9565b935050606061113e88828901611013565b925050608061114f88828901611013565b9150509295509295909350565b6000806040838503121561116f57600080fd5b600061117d85828601610fbf565b925050602061118e85828601611013565b9150509250929050565b6000602082840312156111aa57600080fd5b60006111b884828501610fd4565b91505092915050565b6000806000606084860312156111d657600080fd5b600084013567ffffffffffffffff8111156111f057600080fd5b6111fc86828701610fe9565b935050602084013567ffffffffffffffff81111561121957600080fd5b61122586828701610fe9565b925050604061123686828701611013565b9150509250925092565b60006020828403121561125257600080fd5b600061126084828501611028565b91505092915050565b61127281611af5565b82525050565b600061128382611a8f565b61128d8185611aa5565b935061129d818560208601611b4c565b80840191505092915050565b60006112b482611a9a565b6112be8185611ab0565b93506112ce818560208601611b4c565b6112d781611c3e565b840191505092915050565b60006112ef601f83611ab0565b91507f5472616e7366657248656c7065723a205452414e534645525f4641494c4544006000830152602082019050919050565b600061132f602583611ab0565b91507f46524f4d5f544f4b454e5f414d4f554e545f4d5553545f42455f4d4f52455f5460008301527f48414e5f300000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611395601e83611ab0565b91507f414d4f554e545f43414e4e545f4d4f52455f5448414e5f42414c414e434500006000830152602082019050919050565b60006113d5602683611ab0565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061143b601e83611ab0565b91507f4554485f414d4f554e545f4d5553545f42455f4d4f52455f5448414e5f3000006000830152602082019050919050565b600061147b601e83611ab0565b91507f44455354494e4154494f4e5f43414e4e545f42455f305f4144445245535300006000830152602082019050919050565b60006114bb602783611ab0565b91507f4e4f5f46524f4d5f544f4b454e5f5452414e534645525f544f5f544849535f4360008301527f4f4e5452414354000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611521602083611ab0565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611561601383611ab0565b91507f544f4b454e5f4d5553545f4e4f545f42455f30000000000000000000000000006000830152602082019050919050565b60006115a1601583611ab0565b91507f46524f4d544f4b454e5f43414e545f545f42455f3000000000000000000000006000830152602082019050919050565b60006115e1602383611ab0565b91507f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960008301527f4c454400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611647602483611ab0565b91507f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f464160008301527f494c4544000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116ad601f83611ab0565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b6116e981611b33565b82525050565b60006116fb8284611278565b915081905092915050565b600060208201905061171b6000830184611269565b92915050565b60006060820190506117366000830186611269565b6117436020830185611269565b61175060408301846116e0565b949350505050565b600060c08201905061176d6000830189611269565b818103602083015261177f81886112a9565b905061178e6040830187611269565b81810360608301526117a081866112a9565b90506117af60808301856116e0565b6117bc60a08301846116e0565b979650505050505050565b60006040820190506117dc6000830185611269565b6117e960208301846116e0565b9392505050565b6000602082019050818103600083015261180a81846112a9565b905092915050565b600060a082019050818103600083015261182c81886112a9565b905061183b6020830187611269565b818103604083015261184d81866112a9565b905061185c60608301856116e0565b61186960808301846116e0565b9695505050505050565b6000602082019050818103600083015261188c816112e2565b9050919050565b600060208201905081810360008301526118ac81611322565b9050919050565b600060208201905081810360008301526118cc81611388565b9050919050565b600060208201905081810360008301526118ec816113c8565b9050919050565b6000602082019050818103600083015261190c8161142e565b9050919050565b6000602082019050818103600083015261192c8161146e565b9050919050565b6000602082019050818103600083015261194c816114ae565b9050919050565b6000602082019050818103600083015261196c81611514565b9050919050565b6000602082019050818103600083015261198c81611554565b9050919050565b600060208201905081810360008301526119ac81611594565b9050919050565b600060208201905081810360008301526119cc816115d4565b9050919050565b600060208201905081810360008301526119ec8161163a565b9050919050565b60006020820190508181036000830152611a0c816116a0565b9050919050565b6000602082019050611a2860008301846116e0565b92915050565b6000604051905081810181811067ffffffffffffffff82111715611a5557611a54611c0f565b5b8060405250919050565b600067ffffffffffffffff821115611a7a57611a79611c0f565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611acc82611b33565b9150611ad783611b33565b925082821015611aea57611ae9611bb1565b5b828203905092915050565b6000611b0082611b13565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015611b6a578082015181840152602081019050611b4f565b83811115611b79576000848401525b50505050565b60006002820490506001821680611b9757607f821691505b60208210811415611bab57611baa611be0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b611c5881611af5565b8114611c6357600080fd5b50565b611c6f81611b07565b8114611c7a57600080fd5b50565b611c8681611b33565b8114611c9157600080fd5b5056fea264697066735822122074b11468f55b56aa456245ebd0a5c587d059f001d005eeebfc0425caaaad84e164736f6c63430008000033
Deployed Bytecode Sourcemap
17804:4241:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17892:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20763:362;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21133:382;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14020:103;;;;;;;;;;;;;:::i;:::-;;13372:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17919:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19528:955;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21523:482;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14278:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17892:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;20763:362::-;10297:1;10895:7;;:19;;10887:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10297:1;11028:7;:18;;;;20902::::1;20923:9;20902:30;;20995:1;20982:10;:14;20974:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;21047:70;21055:7;21064:10;21076:11;21089:10;21101:15;21047:70;;;;;;;;;;:::i;:::-;;;;;;;;11059:1;10253::::0;11207:7;:22;;;;20763:362;;;:::o;21133:382::-;13258:13;:11;:13::i;:::-;21252:1:::1;21229:25;;:11;:25;;;;21221:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21300:15;21318:21;21300:39;;21369:6;21358:7;:17;;21350:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;21421:51;21452:11;21465:6;21421:30;:51::i;:::-;21488:19;21500:6;21488:19;;;;;;:::i;:::-;;;;;;;;13282:1;21133:382:::0;;:::o;14020:103::-;13258:13;:11;:13::i;:::-;14085:30:::1;14112:1;14085:18;:30::i;:::-;14020:103::o:0;13372:87::-;13418:7;13445:6;;;;;;;;;;;13438:13;;13372:87;:::o;17919:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;19528:955::-;10297:1;10895:7;;:19;;10887:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10297:1;11028:7;:18;;;;19770:1:::1;19749:23;;:9;:23;;;;19741:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;19856:1;19843:10;:14;19835:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19910:20;19975:31:::0;20016:9:::1;20009:27;;;20045:4;20009:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19975:76;;20062:81;20094:9;20105:10;20125:4;20132:10;20062:31;:81::i;:::-;20154:28;20192:9;20185:27;;;20221:4;20185:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20154:73;;20253:49;20278:23;20253:20;:24;;:49;;;;:::i;:::-;20238:64;;20336:1;20321:12;:16;20313:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20397:78;20402:9;20413:7;20422:10;20434:11;20447:10;20459:15;20397:78;;;;;;;;;;;:::i;:::-;;;;;;;;11059:1;;;10253::::0;11207:7;:22;;;;19528:955;;;;;:::o;21523:482::-;13258:13;:11;:13::i;:::-;21654:1:::1;21631:25;;:11;:25;;;;21623:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21727:1;21710:19;;:5;:19;;;;21702:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;21764:15;21789:5;21782:23;;;21814:4;21782:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21764:56;;21850:6;21839:7;:17;;21831:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;21902:55;21930:5;21937:11;21950:6;21902:27;:55::i;:::-;21973:24;21983:5;21990:6;21973:24;;;;;;;:::i;:::-;;;;;;;;13282:1;21523:482:::0;;;:::o;14278:201::-;13258:13;:11;:13::i;:::-;14387:1:::1;14367:22;;:8;:22;;;;14359:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;14443:28;14462:8;14443:18;:28::i;:::-;14278:201:::0;:::o;13537:132::-;13612:12;:10;:12::i;:::-;13601:23;;:7;:5;:7::i;:::-;:23;;;13593:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13537:132::o;1242:195::-;1312:12;1329:2;:7;;1343:5;1360:1;1350:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1329:34;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1311:52;;;1382:7;1374:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;1242:195;;;:::o;14639:191::-;14713:16;14732:6;;;;;;;;;;;14713:25;;14758:8;14749:6;;:17;;;;;;;;;;;;;;;;;;14813:8;14782:40;;14803:8;14782:40;;;;;;;;;;;;14639:191;;:::o;832:402::-;1011:12;1025:17;1046:5;:10;;1080;1092:4;1098:2;1102:5;1057:51;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1046:63;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1010:99;;;;1128:7;:57;;;;;1155:1;1140:4;:11;:16;:44;;;;1171:4;1160:24;;;;;;;;;;;;:::i;:::-;1140:44;1128:57;1120:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;832:402;;;;;;:::o;4701:98::-;4759:7;4790:1;4786;:5;;;;:::i;:::-;4779:12;;4701:98;;;;:::o;463:361::-;612:12;626:17;647:5;:10;;681;693:2;697:5;658:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;647:57;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;611:93;;;;723:7;:57;;;;;750:1;735:4;:11;:16;:44;;;;766:4;755:24;;;;;;;;;;;;:::i;:::-;735:44;723:57;715:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;463:361;;;;;:::o;11923:98::-;11976:7;12003:10;11996:17;;11923:98;:::o;7:344:1:-;;110:65;125:49;167:6;125:49;:::i;:::-;110:65;:::i;:::-;101:74;;198:6;191:5;184:21;236:4;229:5;225:16;274:3;265:6;260:3;256:16;253:25;250:2;;;291:1;288;281:12;250:2;304:41;338:6;333:3;328;304:41;:::i;:::-;91:260;;;;;;:::o;357:139::-;;441:6;428:20;419:29;;457:33;484:5;457:33;:::i;:::-;409:87;;;;:::o;502:137::-;;587:6;581:13;572:22;;603:30;627:5;603:30;:::i;:::-;562:77;;;;:::o;659:273::-;;764:3;757:4;749:6;745:17;741:27;731:2;;782:1;779;772:12;731:2;822:6;809:20;847:79;922:3;914:6;907:4;899:6;895:17;847:79;:::i;:::-;838:88;;721:211;;;;;:::o;938:139::-;;1022:6;1009:20;1000:29;;1038:33;1065:5;1038:33;:::i;:::-;990:87;;;;:::o;1083:143::-;;1171:6;1165:13;1156:22;;1187:33;1214:5;1187:33;:::i;:::-;1146:80;;;;:::o;1232:262::-;;1340:2;1328:9;1319:7;1315:23;1311:32;1308:2;;;1356:1;1353;1346:12;1308:2;1399:1;1424:53;1469:7;1460:6;1449:9;1445:22;1424:53;:::i;:::-;1414:63;;1370:117;1298:196;;;;:::o;1500:552::-;;;;1642:2;1630:9;1621:7;1617:23;1613:32;1610:2;;;1658:1;1655;1648:12;1610:2;1701:1;1726:53;1771:7;1762:6;1751:9;1747:22;1726:53;:::i;:::-;1716:63;;1672:117;1828:2;1854:53;1899:7;1890:6;1879:9;1875:22;1854:53;:::i;:::-;1844:63;;1799:118;1956:2;1982:53;2027:7;2018:6;2007:9;2003:22;1982:53;:::i;:::-;1972:63;;1927:118;1600:452;;;;;:::o;2058:1070::-;;;;;;2254:3;2242:9;2233:7;2229:23;2225:33;2222:2;;;2271:1;2268;2261:12;2222:2;2314:1;2339:53;2384:7;2375:6;2364:9;2360:22;2339:53;:::i;:::-;2329:63;;2285:117;2469:2;2458:9;2454:18;2441:32;2500:18;2492:6;2489:30;2486:2;;;2532:1;2529;2522:12;2486:2;2560:63;2615:7;2606:6;2595:9;2591:22;2560:63;:::i;:::-;2550:73;;2412:221;2700:2;2689:9;2685:18;2672:32;2731:18;2723:6;2720:30;2717:2;;;2763:1;2760;2753:12;2717:2;2791:63;2846:7;2837:6;2826:9;2822:22;2791:63;:::i;:::-;2781:73;;2643:221;2903:2;2929:53;2974:7;2965:6;2954:9;2950:22;2929:53;:::i;:::-;2919:63;;2874:118;3031:3;3058:53;3103:7;3094:6;3083:9;3079:22;3058:53;:::i;:::-;3048:63;;3002:119;2212:916;;;;;;;;:::o;3134:407::-;;;3259:2;3247:9;3238:7;3234:23;3230:32;3227:2;;;3275:1;3272;3265:12;3227:2;3318:1;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3289:117;3445:2;3471:53;3516:7;3507:6;3496:9;3492:22;3471:53;:::i;:::-;3461:63;;3416:118;3217:324;;;;;:::o;3547:278::-;;3663:2;3651:9;3642:7;3638:23;3634:32;3631:2;;;3679:1;3676;3669:12;3631:2;3722:1;3747:61;3800:7;3791:6;3780:9;3776:22;3747:61;:::i;:::-;3737:71;;3693:125;3621:204;;;;:::o;3831:778::-;;;;3993:2;3981:9;3972:7;3968:23;3964:32;3961:2;;;4009:1;4006;3999:12;3961:2;4080:1;4069:9;4065:17;4052:31;4110:18;4102:6;4099:30;4096:2;;;4142:1;4139;4132:12;4096:2;4170:63;4225:7;4216:6;4205:9;4201:22;4170:63;:::i;:::-;4160:73;;4023:220;4310:2;4299:9;4295:18;4282:32;4341:18;4333:6;4330:30;4327:2;;;4373:1;4370;4363:12;4327:2;4401:63;4456:7;4447:6;4436:9;4432:22;4401:63;:::i;:::-;4391:73;;4253:221;4513:2;4539:53;4584:7;4575:6;4564:9;4560:22;4539:53;:::i;:::-;4529:63;;4484:118;3951:658;;;;;:::o;4615:284::-;;4734:2;4722:9;4713:7;4709:23;4705:32;4702:2;;;4750:1;4747;4740:12;4702:2;4793:1;4818:64;4874:7;4865:6;4854:9;4850:22;4818:64;:::i;:::-;4808:74;;4764:128;4692:207;;;;:::o;4905:118::-;4992:24;5010:5;4992:24;:::i;:::-;4987:3;4980:37;4970:53;;:::o;5029:373::-;;5161:38;5193:5;5161:38;:::i;:::-;5215:88;5296:6;5291:3;5215:88;:::i;:::-;5208:95;;5312:52;5357:6;5352:3;5345:4;5338:5;5334:16;5312:52;:::i;:::-;5389:6;5384:3;5380:16;5373:23;;5137:265;;;;;:::o;5408:364::-;;5524:39;5557:5;5524:39;:::i;:::-;5579:71;5643:6;5638:3;5579:71;:::i;:::-;5572:78;;5659:52;5704:6;5699:3;5692:4;5685:5;5681:16;5659:52;:::i;:::-;5736:29;5758:6;5736:29;:::i;:::-;5731:3;5727:39;5720:46;;5500:272;;;;;:::o;5778:329::-;;5941:67;6005:2;6000:3;5941:67;:::i;:::-;5934:74;;6038:33;6034:1;6029:3;6025:11;6018:54;6098:2;6093:3;6089:12;6082:19;;5924:183;;;:::o;6113:369::-;;6276:67;6340:2;6335:3;6276:67;:::i;:::-;6269:74;;6373:34;6369:1;6364:3;6360:11;6353:55;6439:7;6434:2;6429:3;6425:12;6418:29;6473:2;6468:3;6464:12;6457:19;;6259:223;;;:::o;6488:328::-;;6651:67;6715:2;6710:3;6651:67;:::i;:::-;6644:74;;6748:32;6744:1;6739:3;6735:11;6728:53;6807:2;6802:3;6798:12;6791:19;;6634:182;;;:::o;6822:370::-;;6985:67;7049:2;7044:3;6985:67;:::i;:::-;6978:74;;7082:34;7078:1;7073:3;7069:11;7062:55;7148:8;7143:2;7138:3;7134:12;7127:30;7183:2;7178:3;7174:12;7167:19;;6968:224;;;:::o;7198:328::-;;7361:67;7425:2;7420:3;7361:67;:::i;:::-;7354:74;;7458:32;7454:1;7449:3;7445:11;7438:53;7517:2;7512:3;7508:12;7501:19;;7344:182;;;:::o;7532:328::-;;7695:67;7759:2;7754:3;7695:67;:::i;:::-;7688:74;;7792:32;7788:1;7783:3;7779:11;7772:53;7851:2;7846:3;7842:12;7835:19;;7678:182;;;:::o;7866:371::-;;8029:67;8093:2;8088:3;8029:67;:::i;:::-;8022:74;;8126:34;8122:1;8117:3;8113:11;8106:55;8192:9;8187:2;8182:3;8178:12;8171:31;8228:2;8223:3;8219:12;8212:19;;8012:225;;;:::o;8243:330::-;;8406:67;8470:2;8465:3;8406:67;:::i;:::-;8399:74;;8503:34;8499:1;8494:3;8490:11;8483:55;8564:2;8559:3;8555:12;8548:19;;8389:184;;;:::o;8579:317::-;;8742:67;8806:2;8801:3;8742:67;:::i;:::-;8735:74;;8839:21;8835:1;8830:3;8826:11;8819:42;8887:2;8882:3;8878:12;8871:19;;8725:171;;;:::o;8902:319::-;;9065:67;9129:2;9124:3;9065:67;:::i;:::-;9058:74;;9162:23;9158:1;9153:3;9149:11;9142:44;9212:2;9207:3;9203:12;9196:19;;9048:173;;;:::o;9227:367::-;;9390:67;9454:2;9449:3;9390:67;:::i;:::-;9383:74;;9487:34;9483:1;9478:3;9474:11;9467:55;9553:5;9548:2;9543:3;9539:12;9532:27;9585:2;9580:3;9576:12;9569:19;;9373:221;;;:::o;9600:368::-;;9763:67;9827:2;9822:3;9763:67;:::i;:::-;9756:74;;9860:34;9856:1;9851:3;9847:11;9840:55;9926:6;9921:2;9916:3;9912:12;9905:28;9959:2;9954:3;9950:12;9943:19;;9746:222;;;:::o;9974:329::-;;10137:67;10201:2;10196:3;10137:67;:::i;:::-;10130:74;;10234:33;10230:1;10225:3;10221:11;10214:54;10294:2;10289:3;10285:12;10278:19;;10120:183;;;:::o;10309:118::-;10396:24;10414:5;10396:24;:::i;:::-;10391:3;10384:37;10374:53;;:::o;10433:271::-;;10585:93;10674:3;10665:6;10585:93;:::i;:::-;10578:100;;10695:3;10688:10;;10567:137;;;;:::o;10710:222::-;;10841:2;10830:9;10826:18;10818:26;;10854:71;10922:1;10911:9;10907:17;10898:6;10854:71;:::i;:::-;10808:124;;;;:::o;10938:442::-;;11125:2;11114:9;11110:18;11102:26;;11138:71;11206:1;11195:9;11191:17;11182:6;11138:71;:::i;:::-;11219:72;11287:2;11276:9;11272:18;11263:6;11219:72;:::i;:::-;11301;11369:2;11358:9;11354:18;11345:6;11301:72;:::i;:::-;11092:288;;;;;;:::o;11386:957::-;;11697:3;11686:9;11682:19;11674:27;;11711:71;11779:1;11768:9;11764:17;11755:6;11711:71;:::i;:::-;11829:9;11823:4;11819:20;11814:2;11803:9;11799:18;11792:48;11857:78;11930:4;11921:6;11857:78;:::i;:::-;11849:86;;11945:72;12013:2;12002:9;11998:18;11989:6;11945:72;:::i;:::-;12064:9;12058:4;12054:20;12049:2;12038:9;12034:18;12027:48;12092:78;12165:4;12156:6;12092:78;:::i;:::-;12084:86;;12180:73;12248:3;12237:9;12233:19;12224:6;12180:73;:::i;:::-;12263;12331:3;12320:9;12316:19;12307:6;12263:73;:::i;:::-;11664:679;;;;;;;;;:::o;12349:332::-;;12508:2;12497:9;12493:18;12485:26;;12521:71;12589:1;12578:9;12574:17;12565:6;12521:71;:::i;:::-;12602:72;12670:2;12659:9;12655:18;12646:6;12602:72;:::i;:::-;12475:206;;;;;:::o;12687:313::-;;12838:2;12827:9;12823:18;12815:26;;12887:9;12881:4;12877:20;12873:1;12862:9;12858:17;12851:47;12915:78;12988:4;12979:6;12915:78;:::i;:::-;12907:86;;12805:195;;;;:::o;13006:846::-;;13289:3;13278:9;13274:19;13266:27;;13339:9;13333:4;13329:20;13325:1;13314:9;13310:17;13303:47;13367:78;13440:4;13431:6;13367:78;:::i;:::-;13359:86;;13455:72;13523:2;13512:9;13508:18;13499:6;13455:72;:::i;:::-;13574:9;13568:4;13564:20;13559:2;13548:9;13544:18;13537:48;13602:78;13675:4;13666:6;13602:78;:::i;:::-;13594:86;;13690:72;13758:2;13747:9;13743:18;13734:6;13690:72;:::i;:::-;13772:73;13840:3;13829:9;13825:19;13816:6;13772:73;:::i;:::-;13256:596;;;;;;;;:::o;13858:419::-;;14062:2;14051:9;14047:18;14039:26;;14111:9;14105:4;14101:20;14097:1;14086:9;14082:17;14075:47;14139:131;14265:4;14139:131;:::i;:::-;14131:139;;14029:248;;;:::o;14283:419::-;;14487:2;14476:9;14472:18;14464:26;;14536:9;14530:4;14526:20;14522:1;14511:9;14507:17;14500:47;14564:131;14690:4;14564:131;:::i;:::-;14556:139;;14454:248;;;:::o;14708:419::-;;14912:2;14901:9;14897:18;14889:26;;14961:9;14955:4;14951:20;14947:1;14936:9;14932:17;14925:47;14989:131;15115:4;14989:131;:::i;:::-;14981:139;;14879:248;;;:::o;15133:419::-;;15337:2;15326:9;15322:18;15314:26;;15386:9;15380:4;15376:20;15372:1;15361:9;15357:17;15350:47;15414:131;15540:4;15414:131;:::i;:::-;15406:139;;15304:248;;;:::o;15558:419::-;;15762:2;15751:9;15747:18;15739:26;;15811:9;15805:4;15801:20;15797:1;15786:9;15782:17;15775:47;15839:131;15965:4;15839:131;:::i;:::-;15831:139;;15729:248;;;:::o;15983:419::-;;16187:2;16176:9;16172:18;16164:26;;16236:9;16230:4;16226:20;16222:1;16211:9;16207:17;16200:47;16264:131;16390:4;16264:131;:::i;:::-;16256:139;;16154:248;;;:::o;16408:419::-;;16612:2;16601:9;16597:18;16589:26;;16661:9;16655:4;16651:20;16647:1;16636:9;16632:17;16625:47;16689:131;16815:4;16689:131;:::i;:::-;16681:139;;16579:248;;;:::o;16833:419::-;;17037:2;17026:9;17022:18;17014:26;;17086:9;17080:4;17076:20;17072:1;17061:9;17057:17;17050:47;17114:131;17240:4;17114:131;:::i;:::-;17106:139;;17004:248;;;:::o;17258:419::-;;17462:2;17451:9;17447:18;17439:26;;17511:9;17505:4;17501:20;17497:1;17486:9;17482:17;17475:47;17539:131;17665:4;17539:131;:::i;:::-;17531:139;;17429:248;;;:::o;17683:419::-;;17887:2;17876:9;17872:18;17864:26;;17936:9;17930:4;17926:20;17922:1;17911:9;17907:17;17900:47;17964:131;18090:4;17964:131;:::i;:::-;17956:139;;17854:248;;;:::o;18108:419::-;;18312:2;18301:9;18297:18;18289:26;;18361:9;18355:4;18351:20;18347:1;18336:9;18332:17;18325:47;18389:131;18515:4;18389:131;:::i;:::-;18381:139;;18279:248;;;:::o;18533:419::-;;18737:2;18726:9;18722:18;18714:26;;18786:9;18780:4;18776:20;18772:1;18761:9;18757:17;18750:47;18814:131;18940:4;18814:131;:::i;:::-;18806:139;;18704:248;;;:::o;18958:419::-;;19162:2;19151:9;19147:18;19139:26;;19211:9;19205:4;19201:20;19197:1;19186:9;19182:17;19175:47;19239:131;19365:4;19239:131;:::i;:::-;19231:139;;19129:248;;;:::o;19383:222::-;;19514:2;19503:9;19499:18;19491:26;;19527:71;19595:1;19584:9;19580:17;19571:6;19527:71;:::i;:::-;19481:124;;;;:::o;19611:283::-;;19677:2;19671:9;19661:19;;19719:4;19711:6;19707:17;19826:6;19814:10;19811:22;19790:18;19778:10;19775:34;19772:62;19769:2;;;19837:18;;:::i;:::-;19769:2;19877:10;19873:2;19866:22;19651:243;;;;:::o;19900:332::-;;20052:18;20044:6;20041:30;20038:2;;;20074:18;;:::i;:::-;20038:2;20159:4;20155:9;20148:4;20140:6;20136:17;20132:33;20124:41;;20220:4;20214;20210:15;20202:23;;19967:265;;;:::o;20238:98::-;;20323:5;20317:12;20307:22;;20296:40;;;:::o;20342:99::-;;20428:5;20422:12;20412:22;;20401:40;;;:::o;20447:147::-;;20585:3;20570:18;;20560:34;;;;:::o;20600:169::-;;20718:6;20713:3;20706:19;20758:4;20753:3;20749:14;20734:29;;20696:73;;;;:::o;20775:191::-;;20835:20;20853:1;20835:20;:::i;:::-;20830:25;;20869:20;20887:1;20869:20;:::i;:::-;20864:25;;20908:1;20905;20902:8;20899:2;;;20913:18;;:::i;:::-;20899:2;20958:1;20955;20951:9;20943:17;;20820:146;;;;:::o;20972:96::-;;21038:24;21056:5;21038:24;:::i;:::-;21027:35;;21017:51;;;:::o;21074:90::-;;21151:5;21144:13;21137:21;21126:32;;21116:48;;;:::o;21170:126::-;;21247:42;21240:5;21236:54;21225:65;;21215:81;;;:::o;21302:77::-;;21368:5;21357:16;;21347:32;;;:::o;21385:154::-;21469:6;21464:3;21459;21446:30;21531:1;21522:6;21517:3;21513:16;21506:27;21436:103;;;:::o;21545:307::-;21613:1;21623:113;21637:6;21634:1;21631:13;21623:113;;;21722:1;21717:3;21713:11;21707:18;21703:1;21698:3;21694:11;21687:39;21659:2;21656:1;21652:10;21647:15;;21623:113;;;21754:6;21751:1;21748:13;21745:2;;;21834:1;21825:6;21820:3;21816:16;21809:27;21745:2;21594:258;;;;:::o;21858:320::-;;21939:1;21933:4;21929:12;21919:22;;21986:1;21980:4;21976:12;22007:18;21997:2;;22063:4;22055:6;22051:17;22041:27;;21997:2;22125;22117:6;22114:14;22094:18;22091:38;22088:2;;;22144:18;;:::i;:::-;22088:2;21909:269;;;;:::o;22184:180::-;22232:77;22229:1;22222:88;22329:4;22326:1;22319:15;22353:4;22350:1;22343:15;22370:180;22418:77;22415:1;22408:88;22515:4;22512:1;22505:15;22539:4;22536:1;22529:15;22556:180;22604:77;22601:1;22594:88;22701:4;22698:1;22691:15;22725:4;22722:1;22715:15;22742:102;;22834:2;22830:7;22825:2;22818:5;22814:14;22810:28;22800:38;;22790:54;;;:::o;22850:122::-;22923:24;22941:5;22923:24;:::i;:::-;22916:5;22913:35;22903:2;;22962:1;22959;22952:12;22903:2;22893:79;:::o;22978:116::-;23048:21;23063:5;23048:21;:::i;:::-;23041:5;23038:32;23028:2;;23084:1;23081;23074:12;23028:2;23018:76;:::o;23100:122::-;23173:24;23191:5;23173:24;:::i;:::-;23166:5;23163:35;23153:2;;23212:1;23209;23202:12;23153:2;23143:79;:::o
Swarm Source
ipfs://74b11468f55b56aa456245ebd0a5c587d059f001d005eeebfc0425caaaad84e1
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ARB | 26.50% | $1 | 2,001.6529 | $2,003.65 | |
ARB | 13.40% | $3,864.16 | 0.2622 | $1,013.23 | |
ARB | 0.08% | $0.99887 | 6 | $5.99 | |
ARB | <0.01% | $0.000429 | 500 | $0.2144 | |
SCROLL | 36.31% | $3,865.35 | 0.7103 | $2,745.39 | |
SCROLL | 0.01% | $1 | 0.8 | $0.8008 | |
OPBNB | 19.94% | $719.96 | 2.0935 | $1,507.21 | |
OP | Ether (ETH) | 1.57% | $3,865.37 | 0.0307 | $118.62 |
OP | 0.95% | $0.998791 | 71.5922 | $71.51 | |
OP | 0.74% | $0.999809 | 56.1984 | $56.19 | |
AVAX | 0.29% | $1 | 22.0353 | $22.05 | |
AVAX | <0.01% | $51.03 | 0.00000000872 | <$0.000001 | |
BASE | 0.20% | $3,862.9 | 0.004 | $15.45 | |
CRONOS | <0.01% | <$0.000001 | 2,901,751 | $0.1276 | |
CRONOS | <0.01% | $0.199846 | 0.000000006933 | <$0.000001 | |
POL | <0.01% | $0.679288 | 0.011 | $0.007457 | |
FTM | <0.01% | $1.29 | 0.000000005511 | <$0.000001 |
[ 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.