Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
- | 10701782 | 1664 days ago | 86.45918854 ETH | ||||
- | 10701782 | 1664 days ago | 86.45918854 ETH | ||||
- | 10665009 | 1669 days ago | 1.995 ETH | ||||
- | 10665009 | 1669 days ago | 1.995 ETH | ||||
- | 10664985 | 1669 days ago | 4.9875 ETH | ||||
- | 10664985 | 1669 days ago | 4.9875 ETH | ||||
- | 10639653 | 1673 days ago | 1.54679908 ETH | ||||
- | 10639653 | 1673 days ago | 1.54679908 ETH | ||||
- | 10629022 | 1675 days ago | 2.6649395 ETH | ||||
- | 10629022 | 1675 days ago | 2.6649395 ETH | ||||
- | 10629007 | 1675 days ago | 3.92692073 ETH | ||||
- | 10629007 | 1675 days ago | 3.92692073 ETH | ||||
- | 10628124 | 1675 days ago | 9.5 ETH | ||||
- | 10628124 | 1675 days ago | 9.5 ETH | ||||
- | 10591853 | 1681 days ago | 28.00000027 ETH | ||||
- | 10591853 | 1681 days ago | 28.00000027 ETH | ||||
- | 10586942 | 1682 days ago | 14.9698077 ETH | ||||
- | 10586942 | 1682 days ago | 14.9698077 ETH | ||||
- | 10581339 | 1682 days ago | 15 ETH | ||||
- | 10581339 | 1682 days ago | 15 ETH | ||||
- | 10576833 | 1683 days ago | 11.75 ETH | ||||
- | 10576833 | 1683 days ago | 11.75 ETH | ||||
- | 10565208 | 1685 days ago | 44.8875 ETH | ||||
- | 10565208 | 1685 days ago | 44.8875 ETH | ||||
- | 10557949 | 1686 days ago | 2.9925 ETH |
Loading...
Loading
Contract Name:
KyberWrapper
Compiler Version
v0.6.10+commit.00c0fcaf
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-06-19 */ pragma solidity ^0.6.0; interface ERC20 { function totalSupply() external view returns (uint supply); function balanceOf(address _owner) external view returns (uint balance); function transfer(address _to, uint _value) external returns (bool success); function transferFrom(address _from, address _to, uint _value) external returns (bool success); function approve(address _spender, uint _value) external returns (bool success); function allowance(address _owner, address _spender) external view returns (uint remaining); function decimals() external view returns(uint digits); event Approval(address indexed _owner, address indexed _spender, uint _value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // 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 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } 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"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } 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"); } 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"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); 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); } } } } library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(ERC20 token, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } /** * @dev Deprecated. This function has issues similar to the ones found in * {IERC20-approve}, and its usage is discouraged. */ function safeApprove(ERC20 token, address spender, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance(ERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).add(value); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance(ERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero"); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function _callOptionalReturn(ERC20 token, bytes memory data) private { 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"); } } } abstract contract KyberNetworkProxyInterface { function maxGasPrice() external virtual view returns(uint); function getUserCapInWei(address user) external virtual view returns(uint); function getUserCapInTokenWei(address user, ERC20 token) external virtual view returns(uint); function enabled() external virtual view returns(bool); function info(bytes32 id) external virtual view returns(uint); function getExpectedRate(ERC20 src, ERC20 dest, uint srcQty) public view virtual returns (uint expectedRate, uint slippageRate); function tradeWithHint(ERC20 src, uint srcAmount, ERC20 dest, address destAddress, uint maxDestAmount, uint minConversionRate, address walletId, bytes memory hint) public virtual payable returns(uint); function trade(ERC20 src, uint srcAmount, ERC20 dest, address destAddress, uint maxDestAmount, uint minConversionRate, address walletId) public virtual payable returns(uint); function swapEtherToToken(ERC20 token, uint minConversionRate) external virtual payable returns(uint); function swapTokenToEther(ERC20 token, uint tokenQty, uint minRate) external virtual payable returns(uint); function swapTokenToToken(ERC20 src, uint srcAmount, ERC20 dest, uint minConversionRate) public virtual returns(uint); } interface ExchangeInterface { function swapEtherToToken (uint _ethAmount, address _tokenAddress, uint _maxAmount) payable external returns(uint, uint); function swapTokenToEther (address _tokenAddress, uint _amount, uint _maxAmount) external returns(uint); function swapTokenToToken(address _src, address _dest, uint _amount) external payable returns(uint); function getExpectedRate(address src, address dest, uint srcQty) external view returns (uint expectedRate, uint slippageRate); } contract ConstantAddressesMainnet { address public constant MAKER_DAI_ADDRESS = 0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359; address public constant IDAI_ADDRESS = 0x14094949152EDDBFcd073717200DA82fEd8dC960; address public constant SOLO_MARGIN_ADDRESS = 0x1E0447b19BB6EcFdAe1e4AE1694b0C3659614e4e; address public constant CDAI_ADDRESS = 0xF5DCe57282A584D2746FaF1593d3121Fcac444dC; address public constant KYBER_ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; address public constant MKR_ADDRESS = 0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2; address public constant WETH_ADDRESS = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address public constant VOX_ADDRESS = 0x9B0F70Df76165442ca6092939132bBAEA77f2d7A; address public constant PETH_ADDRESS = 0xf53AD2c6851052A81B42133467480961B2321C09; address public constant TUB_ADDRESS = 0x448a5065aeBB8E423F0896E6c5D525C040f59af3; address payable public constant WALLET_ID = 0x322d58b9E75a6918f7e7849AEe0fF09369977e08; address public constant LOGGER_ADDRESS = 0xeCf88e1ceC2D2894A0295DB3D86Fe7CE4991E6dF; address public constant OTC_ADDRESS = 0x39755357759cE0d7f32dC8dC45414CCa409AE24e; address public constant DISCOUNT_ADDRESS = 0x1b14E8D511c9A4395425314f849bD737BAF8208F; address public constant KYBER_WRAPPER = 0x02280CC7aFd957dD6B31372D266Ae61F6ffd885A; address public constant UNISWAP_WRAPPER = 0x6c259ea1fCa0D1883e3FFFdDeb8a0719E1D7265f; address public constant ETH2DAI_WRAPPER = 0xd7BBB1777E13b6F535Dec414f575b858ed300baF; address public constant OASIS_WRAPPER = 0x50132909046DAfE8Ac4A797c532fB4d36CA7C619; address public constant KYBER_INTERFACE = 0x818E6FECD516Ecc3849DAf6845e3EC868087B755; address public constant UNISWAP_FACTORY = 0xc0a47dFe034B400B47bDaD5FecDa2621de6c4d95; address public constant FACTORY_ADDRESS = 0x5a15566417e6C1c9546523066500bDDBc53F88C7; address public constant PIP_INTERFACE_ADDRESS = 0x729D19f657BD0614b4985Cf1D82531c67569197B; address public constant PROXY_REGISTRY_INTERFACE_ADDRESS = 0x4678f0a6958e4D2Bc4F1BAF7Bc52E8F3564f3fE4; address public constant GAS_TOKEN_INTERFACE_ADDRESS = 0x0000000000b3F879cb30FE243b4Dfee438691c04; address public constant SAVINGS_LOGGER_ADDRESS = 0x89b3635BD2bAD145C6f92E82C9e83f06D5654984; address public constant COMPOUND_DAI_ADDRESS = 0x25a01a05C188DaCBCf1D61Af55D4a5B4021F7eeD; address public constant STUPID_EXCHANGE = 0x863E41FE88288ebf3fcd91d8Dbb679fb83fdfE17; } contract ConstantAddressesKovan { address public constant KYBER_ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; address public constant WETH_ADDRESS = 0xd0A1E359811322d97991E03f863a0C30C2cF029C; address public constant MAKER_DAI_ADDRESS = 0xC4375B7De8af5a38a93548eb8453a498222C4fF2; address public constant MKR_ADDRESS = 0xAaF64BFCC32d0F15873a02163e7E500671a4ffcD; address public constant VOX_ADDRESS = 0xBb4339c0aB5B1d9f14Bd6e3426444A1e9d86A1d9; address public constant PETH_ADDRESS = 0xf4d791139cE033Ad35DB2B2201435fAd668B1b64; address public constant TUB_ADDRESS = 0xa71937147b55Deb8a530C7229C442Fd3F31b7db2; address public constant LOGGER_ADDRESS = 0x32d0e18f988F952Eb3524aCE762042381a2c39E5; address payable public constant WALLET_ID = 0x54b44C6B18fc0b4A1010B21d524c338D1f8065F6; address public constant OTC_ADDRESS = 0x4A6bC4e803c62081ffEbCc8d227B5a87a58f1F8F; address public constant COMPOUND_DAI_ADDRESS = 0x25a01a05C188DaCBCf1D61Af55D4a5B4021F7eeD; address public constant SOLO_MARGIN_ADDRESS = 0x4EC3570cADaAEE08Ae384779B0f3A45EF85289DE; address public constant IDAI_ADDRESS = 0xA1e58F3B1927743393b25f261471E1f2D3D9f0F6; address public constant CDAI_ADDRESS = 0xb6b09fBffBa6A5C4631e5F7B2e3Ee183aC259c0d; address public constant STUPID_EXCHANGE = 0x863E41FE88288ebf3fcd91d8Dbb679fb83fdfE17; address public constant DISCOUNT_ADDRESS = 0x1297c1105FEDf45E0CF6C102934f32C4EB780929; address public constant KYBER_WRAPPER = 0xABa933D6fD54BE2905d04f44eC8223B5DB4A6250; address public constant UNISWAP_WRAPPER = 0x5595930d576Aedf13945C83cE5aaD827529A1310; address public constant ETH2DAI_WRAPPER = 0x823cde416973a19f98Bb9C96d97F4FE6C9A7238B; address public constant OASIS_WRAPPER = 0xB9D22CC741a204a843525e7D028b6e513346f618; address public constant FACTORY_ADDRESS = 0xc72E74E474682680a414b506699bBcA44ab9a930; address public constant PIP_INTERFACE_ADDRESS = 0xA944bd4b25C9F186A846fd5668941AA3d3B8425F; address public constant PROXY_REGISTRY_INTERFACE_ADDRESS = 0x64A436ae831C1672AE81F674CAb8B6775df3475C; address public constant GAS_TOKEN_INTERFACE_ADDRESS = 0x0000000000170CcC93903185bE5A2094C870Df62; address public constant KYBER_INTERFACE = 0x692f391bCc85cefCe8C237C01e1f636BbD70EA4D; address public constant SAVINGS_LOGGER_ADDRESS = 0xA6E5d5F489b1c00d9C11E1caF45BAb6e6e26443d; address public constant UNISWAP_FACTORY = 0xf5D915570BC477f9B8D6C0E980aA81757A3AaC36; } contract ConstantAddresses is ConstantAddressesMainnet { } contract KyberWrapper is ExchangeInterface, ConstantAddresses { using SafeERC20 for ERC20; function swapTokenToToken(address _src, address _dest, uint _amount) external override payable returns(uint) { require(_src != KYBER_ETH_ADDRESS && _dest != KYBER_ETH_ADDRESS); uint minRate; uint destAmount; ERC20 SRC_TOKEN = ERC20(_src); ERC20 DEST_TOKEN = ERC20(_dest); KyberNetworkProxyInterface _kyberNetworkProxy = KyberNetworkProxyInterface(KYBER_INTERFACE); (, minRate) = _kyberNetworkProxy.getExpectedRate(SRC_TOKEN, DEST_TOKEN, _amount); SRC_TOKEN.safeApprove(address(_kyberNetworkProxy), 0); SRC_TOKEN.safeApprove(address(_kyberNetworkProxy), _amount); destAmount = _kyberNetworkProxy.trade( SRC_TOKEN, _amount, DEST_TOKEN, msg.sender, uint(-1), minRate, WALLET_ID ); return destAmount; } function swapEtherToToken(uint _ethAmount, address _tokenAddress, uint _maxAmount) external override payable returns(uint, uint) { uint minRate; ERC20 ETH_TOKEN_ADDRESS = ERC20(KYBER_ETH_ADDRESS); ERC20 token = ERC20(_tokenAddress); KyberNetworkProxyInterface _kyberNetworkProxy = KyberNetworkProxyInterface(KYBER_INTERFACE); (, minRate) = _kyberNetworkProxy.getExpectedRate(ETH_TOKEN_ADDRESS, token, _ethAmount); uint destAmount = _kyberNetworkProxy.trade.value(_ethAmount)( ETH_TOKEN_ADDRESS, _ethAmount, token, msg.sender, _maxAmount, minRate, WALLET_ID ); uint balance = address(this).balance; msg.sender.transfer(balance); return (destAmount, balance); } function swapTokenToEther(address _tokenAddress, uint _amount, uint _maxAmount) external override returns(uint) { uint minRate; ERC20 ETH_TOKEN_ADDRESS = ERC20(KYBER_ETH_ADDRESS); ERC20 token = ERC20(_tokenAddress); KyberNetworkProxyInterface _kyberNetworkProxy = KyberNetworkProxyInterface(KYBER_INTERFACE); (, minRate) = _kyberNetworkProxy.getExpectedRate(token, ETH_TOKEN_ADDRESS, _amount); token.safeApprove(address(_kyberNetworkProxy), 0); token.safeApprove(address(_kyberNetworkProxy), _amount); uint destAmount = _kyberNetworkProxy.trade( token, _amount, ETH_TOKEN_ADDRESS, msg.sender, _maxAmount, minRate, WALLET_ID ); return destAmount; } function getExpectedRate(address _src, address _dest, uint _srcQty) public view override returns (uint, uint) { return KyberNetworkProxyInterface(KYBER_INTERFACE).getExpectedRate(ERC20(_src), ERC20(_dest), _srcQty); } receive() payable external { } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"name":"CDAI_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COMPOUND_DAI_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DISCOUNT_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ETH2DAI_WRAPPER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FACTORY_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAS_TOKEN_INTERFACE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"IDAI_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"KYBER_ETH_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"KYBER_INTERFACE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"KYBER_WRAPPER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LOGGER_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAKER_DAI_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MKR_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OASIS_WRAPPER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OTC_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PETH_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PIP_INTERFACE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROXY_REGISTRY_INTERFACE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SAVINGS_LOGGER_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SOLO_MARGIN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STUPID_EXCHANGE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TUB_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_WRAPPER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VOX_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WALLET_ID","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_src","type":"address"},{"internalType":"address","name":"_dest","type":"address"},{"internalType":"uint256","name":"_srcQty","type":"uint256"}],"name":"getExpectedRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethAmount","type":"uint256"},{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_maxAmount","type":"uint256"}],"name":"swapEtherToToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_maxAmount","type":"uint256"}],"name":"swapTokenToEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_src","type":"address"},{"internalType":"address","name":"_dest","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"swapTokenToToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b506110f5806100206000396000f3fe6080604052600436106101dc5760003560e01c8063809a9e5511610102578063c74c0fac11610095578063d3661fa511610064578063d3661fa5146104fc578063d36b907d14610511578063ddaa293c14610526578063f0d405e51461053b576101e3565b8063c74c0fac146104a8578063c917c2d3146104bd578063c9fde270146104d2578063ce9bde1d146104e7576101e3565b80639da779e9116100d15780639da779e914610454578063a46a66c914610469578063b175afa11461047e578063c16921b714610493576101e3565b8063809a9e55146103d2578063825ffd92146104155780638823151b1461042a57806394bfbe741461043f576101e3565b80632d5eeb3f1161017a57806343ac1dc61161014957806343ac1dc61461034857806343fb75e814610393578063502237d7146103a8578063728c0092146103bd576101e3565b80632d5eeb3f146102ca57806332ac5cd2146102df57806336e6da11146102f45780633bba21dc14610309576101e3565b806313712c9f116101b657806313712c9f146102435780631dab52b01461028b57806329f7fc9e146102a05780632a441f05146102b5576101e3565b8063040141e5146101e85780630531b2ad1461021957806308204ea31461022e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610550565b604080516001600160a01b039092168252519081900360200190f35b34801561022557600080fd5b506101fd610568565b34801561023a57600080fd5b506101fd610580565b6102796004803603606081101561025957600080fd5b506001600160a01b03813581169160208101359091169060400135610598565b60408051918252519081900360200190f35b34801561029757600080fd5b506101fd610788565b3480156102ac57600080fd5b506101fd6107a0565b3480156102c157600080fd5b506101fd6107b8565b3480156102d657600080fd5b506101fd6107d0565b3480156102eb57600080fd5b506101fd6107e8565b34801561030057600080fd5b506101fd6107fb565b34801561031557600080fd5b506102796004803603606081101561032c57600080fd5b506001600160a01b038135169060208101359060400135610813565b61037a6004803603606081101561035e57600080fd5b508035906001600160a01b036020820135169060400135610984565b6040805192835260208301919091528051918290030190f35b34801561039f57600080fd5b506101fd610b37565b3480156103b457600080fd5b506101fd610b4f565b3480156103c957600080fd5b506101fd610b67565b3480156103de57600080fd5b5061037a600480360360608110156103f557600080fd5b506001600160a01b03813581169160208101359091169060400135610b7f565b34801561042157600080fd5b506101fd610c2a565b34801561043657600080fd5b506101fd610c42565b34801561044b57600080fd5b506101fd610c5a565b34801561046057600080fd5b506101fd610c72565b34801561047557600080fd5b506101fd610c8a565b34801561048a57600080fd5b506101fd610ca2565b34801561049f57600080fd5b506101fd610cba565b3480156104b457600080fd5b506101fd610cd2565b3480156104c957600080fd5b506101fd610cea565b3480156104de57600080fd5b506101fd610d02565b3480156104f357600080fd5b506101fd610d1a565b34801561050857600080fd5b506101fd610d32565b34801561051d57600080fd5b506101fd610d4a565b34801561053257600080fd5b506101fd610d62565b34801561054757600080fd5b506101fd610d7a565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b73f5dce57282a584d2746faf1593d3121fcac444dc81565b7389b3635bd2bad145c6f92e82c9e83f06d565498481565b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906105e457506001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14155b6105ed57600080fd5b6040805163809a9e5560e01b81526001600160a01b0380871660048301528516602482015260448101849052815160009283928892889273818e6fecd516ecc3849daf6845e3ec868087b75592839263809a9e5592606480840193919291829003018186803b15801561065f57600080fd5b505afa158015610673573d6000803e3d6000fd5b505050506040513d604081101561068957600080fd5b506020015194506106ab6001600160a01b03841682600063ffffffff610d9216565b6106c56001600160a01b038416828963ffffffff610d9216565b6040805163cb3c28c760e01b81526001600160a01b038581166004830152602482018a90528481166044830152336064830152600019608483015260a4820188905273322d58b9e75a6918f7e7849aee0ff09369977e0860c483015291519183169163cb3c28c79160e4808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b50519998505050505050505050565b73729d19f657bd0614b4985cf1d82531c67569197b81565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b7339755357759ce0d7f32dc8dc45414cca409ae24e81565b7314094949152eddbfcd073717200da82fed8dc96081565b6eb3f879cb30fe243b4dfee438691c0481565b739b0f70df76165442ca6092939132bbaea77f2d7a81565b6040805163809a9e5560e01b81526001600160a01b038516600482015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee602482018190526044820185905282516000938493889273818e6fecd516ecc3849daf6845e3ec868087b75592839263809a9e559260648083019392829003018186803b15801561089557600080fd5b505afa1580156108a9573d6000803e3d6000fd5b505050506040513d60408110156108bf57600080fd5b506020015193506108e16001600160a01b03831682600063ffffffff610d9216565b6108fb6001600160a01b038316828963ffffffff610d9216565b6040805163cb3c28c760e01b81526001600160a01b038481166004830152602482018a905285811660448301523360648301526084820189905260a4820187905273322d58b9e75a6918f7e7849aee0ff09369977e0860c4830152915160009284169163cb3c28c79160e480830192602092919082900301818787803b15801561074f57600080fd5b6040805163809a9e5560e01b815273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600482018190526001600160a01b03851660248301526044820186905282516000938493849392889273818e6fecd516ecc3849daf6845e3ec868087b75592839263809a9e5592606480840193919291829003018186803b158015610a0b57600080fd5b505afa158015610a1f573d6000803e3d6000fd5b505050506040513d6040811015610a3557600080fd5b506020908101516040805163cb3c28c760e01b81526001600160a01b038781166004830152602482018e90528681166044830152336064830152608482018c905260a4820184905273322d58b9e75a6918f7e7849aee0ff09369977e0860c483015291519297506000939185169263cb3c28c7928e9260e4808201939182900301818588803b158015610ac757600080fd5b505af1158015610adb573d6000803e3d6000fd5b50505050506040513d6020811015610af257600080fd5b50516040519091504790339082156108fc029083906000818181858888f19350505050158015610b26573d6000803e3d6000fd5b50909a909950975050505050505050565b73d7bbb1777e13b6f535dec414f575b858ed300baf81565b73863e41fe88288ebf3fcd91d8dbb679fb83fdfe1781565b734678f0a6958e4d2bc4f1baf7bc52e8f3564f3fe481565b6040805163809a9e5560e01b81526001600160a01b03858116600483015284166024820152604481018390528151600092839273818e6fecd516ecc3849daf6845e3ec868087b7559263809a9e5592606480840193919291829003018186803b158015610beb57600080fd5b505afa158015610bff573d6000803e3d6000fd5b505050506040513d6040811015610c1557600080fd5b50805160209091015190969095509350505050565b739f8f72aa9304c8b593d555f12ef6589cc3a579a281565b735a15566417e6c1c9546523066500bddbc53f88c781565b73ecf88e1cec2d2894a0295db3d86fe7ce4991e6df81565b7389d24a6b4ccb1b6faa2625fe562bdd9a2326035981565b731b14e8d511c9a4395425314f849bd737baf8208f81565b7302280cc7afd957dd6b31372d266ae61f6ffd885a81565b7325a01a05c188dacbcf1d61af55d4a5b4021f7eed81565b73c0a47dfe034b400b47bdad5fecda2621de6c4d9581565b7350132909046dafe8ac4a797c532fb4d36ca7c61981565b73f53ad2c6851052a81b42133467480961b2321c0981565b73818e6fecd516ecc3849daf6845e3ec868087b75581565b73322d58b9e75a6918f7e7849aee0ff09369977e0881565b731e0447b19bb6ecfdae1e4ae1694b0c3659614e4e81565b736c259ea1fca0d1883e3fffddeb8a0719e1d7265f81565b73448a5065aebb8e423f0896e6c5d525c040f59af381565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610de4908490610de9565b505050565b6060610e3e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e9a9092919063ffffffff16565b805190915015610de457808060200190516020811015610e5d57600080fd5b5051610de45760405162461bcd60e51b815260040180806020018281038252602a815260200180611096602a913960400191505060405180910390fd5b6060610ea98484600085610eb1565b949350505050565b6060610ebc8561105c565b610f0d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610f4c5780518252601f199092019160209182019101610f2d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610fae576040519150601f19603f3d011682016040523d82523d6000602084013e610fb3565b606091505b50915091508115610fc7579150610ea99050565b805115610fd75780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611021578181015183820152602001611009565b50505050905090810190601f16801561104e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610ea957505015159291505056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220f5107ce3535eb5a560f3e5b44aa66f46dcc7e301980ba4a83ac9f58a880802eb64736f6c634300060a0033
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c8063809a9e5511610102578063c74c0fac11610095578063d3661fa511610064578063d3661fa5146104fc578063d36b907d14610511578063ddaa293c14610526578063f0d405e51461053b576101e3565b8063c74c0fac146104a8578063c917c2d3146104bd578063c9fde270146104d2578063ce9bde1d146104e7576101e3565b80639da779e9116100d15780639da779e914610454578063a46a66c914610469578063b175afa11461047e578063c16921b714610493576101e3565b8063809a9e55146103d2578063825ffd92146104155780638823151b1461042a57806394bfbe741461043f576101e3565b80632d5eeb3f1161017a57806343ac1dc61161014957806343ac1dc61461034857806343fb75e814610393578063502237d7146103a8578063728c0092146103bd576101e3565b80632d5eeb3f146102ca57806332ac5cd2146102df57806336e6da11146102f45780633bba21dc14610309576101e3565b806313712c9f116101b657806313712c9f146102435780631dab52b01461028b57806329f7fc9e146102a05780632a441f05146102b5576101e3565b8063040141e5146101e85780630531b2ad1461021957806308204ea31461022e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610550565b604080516001600160a01b039092168252519081900360200190f35b34801561022557600080fd5b506101fd610568565b34801561023a57600080fd5b506101fd610580565b6102796004803603606081101561025957600080fd5b506001600160a01b03813581169160208101359091169060400135610598565b60408051918252519081900360200190f35b34801561029757600080fd5b506101fd610788565b3480156102ac57600080fd5b506101fd6107a0565b3480156102c157600080fd5b506101fd6107b8565b3480156102d657600080fd5b506101fd6107d0565b3480156102eb57600080fd5b506101fd6107e8565b34801561030057600080fd5b506101fd6107fb565b34801561031557600080fd5b506102796004803603606081101561032c57600080fd5b506001600160a01b038135169060208101359060400135610813565b61037a6004803603606081101561035e57600080fd5b508035906001600160a01b036020820135169060400135610984565b6040805192835260208301919091528051918290030190f35b34801561039f57600080fd5b506101fd610b37565b3480156103b457600080fd5b506101fd610b4f565b3480156103c957600080fd5b506101fd610b67565b3480156103de57600080fd5b5061037a600480360360608110156103f557600080fd5b506001600160a01b03813581169160208101359091169060400135610b7f565b34801561042157600080fd5b506101fd610c2a565b34801561043657600080fd5b506101fd610c42565b34801561044b57600080fd5b506101fd610c5a565b34801561046057600080fd5b506101fd610c72565b34801561047557600080fd5b506101fd610c8a565b34801561048a57600080fd5b506101fd610ca2565b34801561049f57600080fd5b506101fd610cba565b3480156104b457600080fd5b506101fd610cd2565b3480156104c957600080fd5b506101fd610cea565b3480156104de57600080fd5b506101fd610d02565b3480156104f357600080fd5b506101fd610d1a565b34801561050857600080fd5b506101fd610d32565b34801561051d57600080fd5b506101fd610d4a565b34801561053257600080fd5b506101fd610d62565b34801561054757600080fd5b506101fd610d7a565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b73f5dce57282a584d2746faf1593d3121fcac444dc81565b7389b3635bd2bad145c6f92e82c9e83f06d565498481565b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906105e457506001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14155b6105ed57600080fd5b6040805163809a9e5560e01b81526001600160a01b0380871660048301528516602482015260448101849052815160009283928892889273818e6fecd516ecc3849daf6845e3ec868087b75592839263809a9e5592606480840193919291829003018186803b15801561065f57600080fd5b505afa158015610673573d6000803e3d6000fd5b505050506040513d604081101561068957600080fd5b506020015194506106ab6001600160a01b03841682600063ffffffff610d9216565b6106c56001600160a01b038416828963ffffffff610d9216565b6040805163cb3c28c760e01b81526001600160a01b038581166004830152602482018a90528481166044830152336064830152600019608483015260a4820188905273322d58b9e75a6918f7e7849aee0ff09369977e0860c483015291519183169163cb3c28c79160e4808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b50519998505050505050505050565b73729d19f657bd0614b4985cf1d82531c67569197b81565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b7339755357759ce0d7f32dc8dc45414cca409ae24e81565b7314094949152eddbfcd073717200da82fed8dc96081565b6eb3f879cb30fe243b4dfee438691c0481565b739b0f70df76165442ca6092939132bbaea77f2d7a81565b6040805163809a9e5560e01b81526001600160a01b038516600482015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee602482018190526044820185905282516000938493889273818e6fecd516ecc3849daf6845e3ec868087b75592839263809a9e559260648083019392829003018186803b15801561089557600080fd5b505afa1580156108a9573d6000803e3d6000fd5b505050506040513d60408110156108bf57600080fd5b506020015193506108e16001600160a01b03831682600063ffffffff610d9216565b6108fb6001600160a01b038316828963ffffffff610d9216565b6040805163cb3c28c760e01b81526001600160a01b038481166004830152602482018a905285811660448301523360648301526084820189905260a4820187905273322d58b9e75a6918f7e7849aee0ff09369977e0860c4830152915160009284169163cb3c28c79160e480830192602092919082900301818787803b15801561074f57600080fd5b6040805163809a9e5560e01b815273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600482018190526001600160a01b03851660248301526044820186905282516000938493849392889273818e6fecd516ecc3849daf6845e3ec868087b75592839263809a9e5592606480840193919291829003018186803b158015610a0b57600080fd5b505afa158015610a1f573d6000803e3d6000fd5b505050506040513d6040811015610a3557600080fd5b506020908101516040805163cb3c28c760e01b81526001600160a01b038781166004830152602482018e90528681166044830152336064830152608482018c905260a4820184905273322d58b9e75a6918f7e7849aee0ff09369977e0860c483015291519297506000939185169263cb3c28c7928e9260e4808201939182900301818588803b158015610ac757600080fd5b505af1158015610adb573d6000803e3d6000fd5b50505050506040513d6020811015610af257600080fd5b50516040519091504790339082156108fc029083906000818181858888f19350505050158015610b26573d6000803e3d6000fd5b50909a909950975050505050505050565b73d7bbb1777e13b6f535dec414f575b858ed300baf81565b73863e41fe88288ebf3fcd91d8dbb679fb83fdfe1781565b734678f0a6958e4d2bc4f1baf7bc52e8f3564f3fe481565b6040805163809a9e5560e01b81526001600160a01b03858116600483015284166024820152604481018390528151600092839273818e6fecd516ecc3849daf6845e3ec868087b7559263809a9e5592606480840193919291829003018186803b158015610beb57600080fd5b505afa158015610bff573d6000803e3d6000fd5b505050506040513d6040811015610c1557600080fd5b50805160209091015190969095509350505050565b739f8f72aa9304c8b593d555f12ef6589cc3a579a281565b735a15566417e6c1c9546523066500bddbc53f88c781565b73ecf88e1cec2d2894a0295db3d86fe7ce4991e6df81565b7389d24a6b4ccb1b6faa2625fe562bdd9a2326035981565b731b14e8d511c9a4395425314f849bd737baf8208f81565b7302280cc7afd957dd6b31372d266ae61f6ffd885a81565b7325a01a05c188dacbcf1d61af55d4a5b4021f7eed81565b73c0a47dfe034b400b47bdad5fecda2621de6c4d9581565b7350132909046dafe8ac4a797c532fb4d36ca7c61981565b73f53ad2c6851052a81b42133467480961b2321c0981565b73818e6fecd516ecc3849daf6845e3ec868087b75581565b73322d58b9e75a6918f7e7849aee0ff09369977e0881565b731e0447b19bb6ecfdae1e4ae1694b0c3659614e4e81565b736c259ea1fca0d1883e3fffddeb8a0719e1d7265f81565b73448a5065aebb8e423f0896e6c5d525c040f59af381565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610de4908490610de9565b505050565b6060610e3e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e9a9092919063ffffffff16565b805190915015610de457808060200190516020811015610e5d57600080fd5b5051610de45760405162461bcd60e51b815260040180806020018281038252602a815260200180611096602a913960400191505060405180910390fd5b6060610ea98484600085610eb1565b949350505050565b6060610ebc8561105c565b610f0d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610f4c5780518252601f199092019160209182019101610f2d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610fae576040519150601f19603f3d011682016040523d82523d6000602084013e610fb3565b606091505b50915091508115610fc7579150610ea99050565b805115610fd75780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611021578181015183820152602001611009565b50505050905090810190601f16801561104e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610ea957505015159291505056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220f5107ce3535eb5a560f3e5b44aa66f46dcc7e301980ba4a83ac9f58a880802eb64736f6c634300060a0033
Deployed Bytecode Sourcemap
14353:3070:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9792:81;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;9792:81:0;;;;;;;;;;;;;;9524;;;;;;;;;;;;;:::i;11453:91::-;;;;;;;;;;;;;:::i;14462:936::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14462:936:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;11141:90;;;;;;;;;;;;;:::i;9612:86::-;;;;;;;;;;;;;:::i;10325:80::-;;;;;;;;;;;;;:::i;9341:81::-;;;;;;;;;;;;;:::i;11348:96::-;;;;;;;;;;;;;:::i;9880:80::-;;;;;;;;;;;;;:::i;16273:865::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16273:865:0;;;;;;;;;;;;;:::i;15408:857::-;;;;;;;;;;;;;;;;-1:-1:-1;15408:857:0;;;-1:-1:-1;;;;;15408:857:0;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10686:84;;;;;;;;;;;;;:::i;11655:::-;;;;;;;;;;;;;:::i;11240:101::-;;;;;;;;;;;;;:::i;17146:231::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17146:231:0;;;;;;;;;;;;;;;;;:::i;9705:80::-;;;;;;;;;;;;;:::i;11050:84::-;;;;;;;;;;;;;:::i;10235:83::-;;;;;;;;;;;;;:::i;9248:86::-;;;;;;;;;;;;;:::i;10412:85::-;;;;;;;;;;;;;:::i;10506:82::-;;;;;;;;;;;;;:::i;11559:89::-;;;;;;;;;;;;;:::i;10959:84::-;;;;;;;;;;;;;:::i;10777:82::-;;;;;;;;;;;;;:::i;9967:81::-;;;;;;;;;;;;;:::i;10868:84::-;;;;;;;;;;;;;:::i;10142:86::-;;;;;;;;;;;;;:::i;9429:88::-;;;;;;;;;;;;;:::i;10595:84::-;;;;;;;;;;;;;:::i;10055:80::-;;;;;;;;;;;;;:::i;9792:81::-;9831:42;9792:81;:::o;9524:::-;9563:42;9524:81;:::o;11453:91::-;11502:42;11453:91;:::o;14462:936::-;14565:4;-1:-1:-1;;;;;14590:25:0;;9656:42;14590:25;;;;:55;;-1:-1:-1;;;;;;14619:26:0;;9656:42;14619:26;;14590:55;14582:64;;;;;;14910:66;;;-1:-1:-1;;;14910:66:0;;-1:-1:-1;;;;;14910:66:0;;;;;;;;;;;;;;;;;;;;;14659:12;;;;14732:4;;14773:5;;10910:42;;;;14910:34;;:66;;;;;;;;;;;;;10910:42;14910:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14910:66:0;;;;-1:-1:-1;14999:53:0;-1:-1:-1;;;;;14999:21:0;;15029:18;15050:1;14999:53;:21;:53;:::i;:::-;15073:59;-1:-1:-1;;;;;15073:21:0;;15103:18;15124:7;15073:59;:21;:59;:::i;:::-;15158:200;;;-1:-1:-1;;;15158:200:0;;-1:-1:-1;;;;;15158:200:0;;;;;;;;;;;;;;;;;;;;15268:10;15158:200;;;;-1:-1:-1;;15158:200:0;;;;;;;;;;10186:42;15158:200;;;;;;:24;;;;;;:200;;;;;;;;;;;;;;;-1:-1:-1;15158:24:0;:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15158:200:0;;14462:936;-1:-1:-1;;;;;;;;;14462:936:0:o;11141:90::-;11189:42;11141:90;:::o;9612:86::-;9656:42;9612:86;:::o;10325:80::-;10363:42;10325:80;:::o;9341:81::-;9380:42;9341:81;:::o;11348:96::-;11402:42;11348:96;:::o;9880:80::-;9918:42;9880:80;:::o;16273:865::-;16645:69;;;-1:-1:-1;;;16645:69:0;;-1:-1:-1;;;;;16645:69:0;;;;;;9656:42;16645:69;;;;;;;;;;;;;;16379:4;;;;16500:13;;10910:42;;;;16645:34;;:69;;;;;;;;;;;10910:42;16645:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16645:69:0;;;;-1:-1:-1;16737:49:0;-1:-1:-1;;;;;16737:17:0;;16763:18;16784:1;16737:49;:17;:49;:::i;:::-;16809:55;-1:-1:-1;;;;;16809:17:0;;16835:18;16856:7;16809:55;:17;:55;:::i;:::-;16895:205;;;-1:-1:-1;;;16895:205:0;;-1:-1:-1;;;;;16895:205:0;;;;;;;;;;;;;;;;;;;;17008:10;16895:205;;;;;;;;;;;;;;;;10186:42;16895:205;;;;;;16877:15;;16895:24;;;;;:205;;;;;;;;;;;;;;16877:15;16895:24;:205;;;;;;;;;;15408:857;15797:72;;;-1:-1:-1;;;15797:72:0;;9656:42;15797:72;;;;;;-1:-1:-1;;;;;15797:72:0;;;;;;;;;;;;;;15525:4;;;;;;9656:42;15652:13;;10910:42;;;;15797:34;;:72;;;;;;;;;;;;;10910:42;15797:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15797:72:0;;;;;;15900:226;;-1:-1:-1;;;15900:226:0;;-1:-1:-1;;;;;15900:226:0;;;;;;;;;;;;;;;;;;;;16034:10;15900:226;;;;;;;;;;;;;;;;10186:42;15900:226;;;;;;15797:72;;-1:-1:-1;15882:15:0;;15900:24;;;;;;15931:10;;15900:226;;;;;;;;;;;15931:10;15900:24;:226;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15900:226:0;16188:28;;15900:226;;-1:-1:-1;16154:21:0;;16188:10;;:28;;;;;16154:21;;16139:12;16188:28;16139:12;16188:28;16154:21;16188:10;:28;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16237:10:0;;;;-1:-1:-1;15408:857:0;-1:-1:-1;;;;;;;;15408:857:0:o;10686:84::-;10728:42;10686:84;:::o;11655:::-;11697:42;11655:84;:::o;11240:101::-;11299:42;11240:101;:::o;17146:231::-;17274:95;;;-1:-1:-1;;;17274:95:0;;-1:-1:-1;;;;;17274:95:0;;;;;;;;;;;;;;;;;;;;;17244:4;;;;10910:42;;17274:59;;:95;;;;;;;;;;;;;10910:42;17274:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17274:95:0;;;;;;;;;;;-1:-1:-1;17146:231:0;-1:-1:-1;;;;17146:231:0:o;9705:80::-;9743:42;9705:80;:::o;11050:84::-;11092:42;11050:84;:::o;10235:83::-;10276:42;10235:83;:::o;9248:86::-;9292:42;9248:86;:::o;10412:85::-;10455:42;10412:85;:::o;10506:82::-;10546:42;10506:82;:::o;11559:89::-;11606:42;11559:89;:::o;10959:84::-;11001:42;10959:84;:::o;10777:82::-;10817:42;10777:82;:::o;9967:81::-;10006:42;9967:81;:::o;10868:84::-;10910:42;10868:84;:::o;10142:86::-;10186:42;10142:86;:::o;9429:88::-;9475:42;9429:88;:::o;10595:84::-;10637:42;10595:84;:::o;10055:80::-;10093:42;10055:80;:::o;6104:184::-;6217:62;;;-1:-1:-1;;;;;6217:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6217:62:0;-1:-1:-1;;;6217:62:0;;;6190:90;;6210:5;;6190:19;:90::i;:::-;6104:184;;;:::o;6927:419::-;7009:23;7035:69;7063:4;7035:69;;;;;;;;;;;;;;;;;7043:5;-1:-1:-1;;;;;7035:27:0;;;:69;;;;;:::i;:::-;7119:17;;7009:95;;-1:-1:-1;7119:21:0;7115:224;;7261:10;7250:30;;;;;;;;;;;;;;;-1:-1:-1;7250:30:0;7242:85;;;;-1:-1:-1;;;7242:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3715:196;3818:12;3850:53;3873:6;3881:4;3887:1;3890:12;3850:22;:53::i;:::-;3843:60;3715:196;-1:-1:-1;;;;3715:196:0:o;4477:979::-;4607:12;4640:18;4651:6;4640:10;:18::i;:::-;4632:60;;;;;-1:-1:-1;;;4632:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4766:12;4780:23;4807:6;-1:-1:-1;;;;;4807:11:0;4827:8;4838:4;4807:36;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4807:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4765:78;;;;4858:7;4854:595;;;4889:10;-1:-1:-1;4882:17:0;;-1:-1:-1;4882:17:0;4854:595;5003:17;;:21;4999:439;;5266:10;5260:17;5327:15;5314:10;5310:2;5306:19;5299:44;5214:148;5409:12;5402:20;;-1:-1:-1;;;5402:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2502:619;2562:4;3030:20;;2873:66;3070:23;;;;;;:42;;-1:-1:-1;;3097:15:0;;;3062:51;-1:-1:-1;;2502:619:0:o
Swarm Source
ipfs://f5107ce3535eb5a560f3e5b44aa66f46dcc7e301980ba4a83ac9f58a880802eb
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.