More Info
Private Name Tags
ContractCreator
Latest 7 from a total of 7 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Admin | 9037096 | 1866 days ago | IN | 0 ETH | 0.00060782 | ||||
Transfer Admin | 9037087 | 1866 days ago | IN | 0 ETH | 0.00090782 | ||||
Set Kyber Networ... | 7019043 | 2196 days ago | IN | 0 ETH | 0.00084154 | ||||
Claim Admin | 7019040 | 2196 days ago | IN | 0 ETH | 0.00054684 | ||||
Set Kyber Networ... | 7019033 | 2196 days ago | IN | 0 ETH | 0.00065604 | ||||
Transfer Admin | 6980518 | 2203 days ago | IN | 0 ETH | 0.00063547 | ||||
Set Kyber Networ... | 6323826 | 2311 days ago | IN | 0 ETH | 0.00150275 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21330194 | 37 days ago | 7.52162673 ETH | ||||
21330194 | 37 days ago | 7.52162673 ETH | ||||
21150159 | 62 days ago | 0.06658442 ETH | ||||
21150159 | 62 days ago | 0.06658442 ETH | ||||
21052434 | 76 days ago | 0.0325391 ETH | ||||
21052434 | 76 days ago | 0.0325391 ETH | ||||
20963337 | 88 days ago | 0.02 ETH | ||||
20963337 | 88 days ago | 0.02 ETH | ||||
20884829 | 99 days ago | 1.27739437 ETH | ||||
20884829 | 99 days ago | 1.27739437 ETH | ||||
20417379 | 164 days ago | 0.15045108 ETH | ||||
20417379 | 164 days ago | 0.15045108 ETH | ||||
19864117 | 242 days ago | 0.61107702 ETH | ||||
19864117 | 242 days ago | 0.61107702 ETH | ||||
19460290 | 298 days ago | 0.82689004 ETH | ||||
19460290 | 298 days ago | 0.82689004 ETH | ||||
19224238 | 331 days ago | 0.03799074 ETH | ||||
19224238 | 331 days ago | 0.03799074 ETH | ||||
19222406 | 332 days ago | 1.04210009 ETH | ||||
19222406 | 332 days ago | 1.04210009 ETH | ||||
18906656 | 376 days ago | 0.8706209 ETH | ||||
18906656 | 376 days ago | 0.8706209 ETH | ||||
18334135 | 456 days ago | 1.95 ETH | ||||
18334135 | 456 days ago | 1.95 ETH | ||||
17694305 | 546 days ago | 3.9216133 ETH |
Loading...
Loading
Contract Name:
KyberWethReserve
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-09-13 */ pragma solidity 0.4.18; // File: contracts/ERC20Interface.sol // https://github.com/ethereum/EIPs/issues/20 interface ERC20 { function totalSupply() public view returns (uint supply); function balanceOf(address _owner) public view returns (uint balance); function transfer(address _to, uint _value) public returns (bool success); function transferFrom(address _from, address _to, uint _value) public returns (bool success); function approve(address _spender, uint _value) public returns (bool success); function allowance(address _owner, address _spender) public view returns (uint remaining); function decimals() public view returns(uint digits); event Approval(address indexed _owner, address indexed _spender, uint _value); } // File: contracts/KyberReserveInterface.sol /// @title Kyber Reserve contract interface KyberReserveInterface { function trade( ERC20 srcToken, uint srcAmount, ERC20 destToken, address destAddress, uint conversionRate, bool validate ) public payable returns(bool); function getConversionRate(ERC20 src, ERC20 dest, uint srcQty, uint blockNumber) public view returns(uint); } // File: contracts/Utils.sol /// @title Kyber constants contract contract Utils { ERC20 constant internal ETH_TOKEN_ADDRESS = ERC20(0x00eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee); uint constant internal PRECISION = (10**18); uint constant internal MAX_QTY = (10**28); // 10B tokens uint constant internal MAX_RATE = (PRECISION * 10**6); // up to 1M tokens per ETH uint constant internal MAX_DECIMALS = 18; uint constant internal ETH_DECIMALS = 18; mapping(address=>uint) internal decimals; function setDecimals(ERC20 token) internal { if (token == ETH_TOKEN_ADDRESS) decimals[token] = ETH_DECIMALS; else decimals[token] = token.decimals(); } function getDecimals(ERC20 token) internal view returns(uint) { if (token == ETH_TOKEN_ADDRESS) return ETH_DECIMALS; // save storage access uint tokenDecimals = decimals[token]; // technically, there might be token with decimals 0 // moreover, very possible that old tokens have decimals 0 // these tokens will just have higher gas fees. if(tokenDecimals == 0) return token.decimals(); return tokenDecimals; } function calcDstQty(uint srcQty, uint srcDecimals, uint dstDecimals, uint rate) internal pure returns(uint) { require(srcQty <= MAX_QTY); require(rate <= MAX_RATE); if (dstDecimals >= srcDecimals) { require((dstDecimals - srcDecimals) <= MAX_DECIMALS); return (srcQty * rate * (10**(dstDecimals - srcDecimals))) / PRECISION; } else { require((srcDecimals - dstDecimals) <= MAX_DECIMALS); return (srcQty * rate) / (PRECISION * (10**(srcDecimals - dstDecimals))); } } function calcSrcQty(uint dstQty, uint srcDecimals, uint dstDecimals, uint rate) internal pure returns(uint) { require(dstQty <= MAX_QTY); require(rate <= MAX_RATE); //source quantity is rounded up. to avoid dest quantity being too low. uint numerator; uint denominator; if (srcDecimals >= dstDecimals) { require((srcDecimals - dstDecimals) <= MAX_DECIMALS); numerator = (PRECISION * dstQty * (10**(srcDecimals - dstDecimals))); denominator = rate; } else { require((dstDecimals - srcDecimals) <= MAX_DECIMALS); numerator = (PRECISION * dstQty); denominator = (rate * (10**(dstDecimals - srcDecimals))); } return (numerator + denominator - 1) / denominator; //avoid rounding down errors } } // File: contracts/Utils2.sol contract Utils2 is Utils { /// @dev get the balance of a user. /// @param token The token type /// @return The balance function getBalance(ERC20 token, address user) public view returns(uint) { if (token == ETH_TOKEN_ADDRESS) return user.balance; else return token.balanceOf(user); } function getDecimalsSafe(ERC20 token) internal returns(uint) { if (decimals[token] == 0) { setDecimals(token); } return decimals[token]; } function calcDestAmount(ERC20 src, ERC20 dest, uint srcAmount, uint rate) internal view returns(uint) { return calcDstQty(srcAmount, getDecimals(src), getDecimals(dest), rate); } function calcSrcAmount(ERC20 src, ERC20 dest, uint destAmount, uint rate) internal view returns(uint) { return calcSrcQty(destAmount, getDecimals(src), getDecimals(dest), rate); } function calcRateFromQty(uint srcAmount, uint destAmount, uint srcDecimals, uint dstDecimals) internal pure returns(uint) { require(srcAmount <= MAX_QTY); require(destAmount <= MAX_QTY); if (dstDecimals >= srcDecimals) { require((dstDecimals - srcDecimals) <= MAX_DECIMALS); return (destAmount * PRECISION / ((10 ** (dstDecimals - srcDecimals)) * srcAmount)); } else { require((srcDecimals - dstDecimals) <= MAX_DECIMALS); return (destAmount * PRECISION * (10 ** (srcDecimals - dstDecimals)) / srcAmount); } } } // File: contracts/PermissionGroups.sol contract PermissionGroups { address public admin; address public pendingAdmin; mapping(address=>bool) internal operators; mapping(address=>bool) internal alerters; address[] internal operatorsGroup; address[] internal alertersGroup; uint constant internal MAX_GROUP_SIZE = 50; function PermissionGroups() public { admin = msg.sender; } modifier onlyAdmin() { require(msg.sender == admin); _; } modifier onlyOperator() { require(operators[msg.sender]); _; } modifier onlyAlerter() { require(alerters[msg.sender]); _; } function getOperators () external view returns(address[]) { return operatorsGroup; } function getAlerters () external view returns(address[]) { return alertersGroup; } event TransferAdminPending(address pendingAdmin); /** * @dev Allows the current admin to set the pendingAdmin address. * @param newAdmin The address to transfer ownership to. */ function transferAdmin(address newAdmin) public onlyAdmin { require(newAdmin != address(0)); TransferAdminPending(pendingAdmin); pendingAdmin = newAdmin; } /** * @dev Allows the current admin to set the admin in one tx. Useful initial deployment. * @param newAdmin The address to transfer ownership to. */ function transferAdminQuickly(address newAdmin) public onlyAdmin { require(newAdmin != address(0)); TransferAdminPending(newAdmin); AdminClaimed(newAdmin, admin); admin = newAdmin; } event AdminClaimed( address newAdmin, address previousAdmin); /** * @dev Allows the pendingAdmin address to finalize the change admin process. */ function claimAdmin() public { require(pendingAdmin == msg.sender); AdminClaimed(pendingAdmin, admin); admin = pendingAdmin; pendingAdmin = address(0); } event AlerterAdded (address newAlerter, bool isAdd); function addAlerter(address newAlerter) public onlyAdmin { require(!alerters[newAlerter]); // prevent duplicates. require(alertersGroup.length < MAX_GROUP_SIZE); AlerterAdded(newAlerter, true); alerters[newAlerter] = true; alertersGroup.push(newAlerter); } function removeAlerter (address alerter) public onlyAdmin { require(alerters[alerter]); alerters[alerter] = false; for (uint i = 0; i < alertersGroup.length; ++i) { if (alertersGroup[i] == alerter) { alertersGroup[i] = alertersGroup[alertersGroup.length - 1]; alertersGroup.length--; AlerterAdded(alerter, false); break; } } } event OperatorAdded(address newOperator, bool isAdd); function addOperator(address newOperator) public onlyAdmin { require(!operators[newOperator]); // prevent duplicates. require(operatorsGroup.length < MAX_GROUP_SIZE); OperatorAdded(newOperator, true); operators[newOperator] = true; operatorsGroup.push(newOperator); } function removeOperator (address operator) public onlyAdmin { require(operators[operator]); operators[operator] = false; for (uint i = 0; i < operatorsGroup.length; ++i) { if (operatorsGroup[i] == operator) { operatorsGroup[i] = operatorsGroup[operatorsGroup.length - 1]; operatorsGroup.length -= 1; OperatorAdded(operator, false); break; } } } } // File: contracts/Withdrawable.sol /** * @title Contracts that should be able to recover tokens or ethers * @author Ilan Doron * @dev This allows to recover any tokens or Ethers received in a contract. * This will prevent any accidental loss of tokens. */ contract Withdrawable is PermissionGroups { event TokenWithdraw(ERC20 token, uint amount, address sendTo); /** * @dev Withdraw all ERC20 compatible tokens * @param token ERC20 The address of the token contract */ function withdrawToken(ERC20 token, uint amount, address sendTo) external onlyAdmin { require(token.transfer(sendTo, amount)); TokenWithdraw(token, amount, sendTo); } event EtherWithdraw(uint amount, address sendTo); /** * @dev Withdraw Ethers */ function withdrawEther(uint amount, address sendTo) external onlyAdmin { sendTo.transfer(amount); EtherWithdraw(amount, sendTo); } } // File: contracts/wethContracts/KyberWethReserve.sol contract WethInterface is ERC20 { function deposit() public payable; function withdraw(uint) public; } contract KyberWethReserve is KyberReserveInterface, Withdrawable, Utils2 { uint constant internal COMMON_DECIMALS = 18; address public sanityRatesContract = 0; address public kyberNetwork; WethInterface public wethToken; bool public tradeEnabled; function KyberWethReserve(address _kyberNetwork, WethInterface _wethToken, address _admin) public { require(_admin != address(0)); require(_kyberNetwork != address(0)); require(_wethToken != address(0)); require(getDecimals(_wethToken) == COMMON_DECIMALS); kyberNetwork = _kyberNetwork; wethToken = _wethToken; tradeEnabled = true; admin = _admin; } function() public payable { require(msg.sender == address(wethToken)); } event TradeExecute( address indexed sender, address src, uint srcAmount, address destToken, uint destAmount, address destAddress ); function trade( ERC20 srcToken, uint srcAmount, ERC20 destToken, address destAddress, uint conversionRate, bool validate ) public payable returns(bool) { require(tradeEnabled); require(msg.sender == kyberNetwork); require(doTrade(srcToken, srcAmount, destToken, destAddress, conversionRate, validate)); return true; } event TradeEnabled(bool enable); function enableTrade() public onlyAdmin returns(bool) { tradeEnabled = true; TradeEnabled(true); return true; } function disableTrade() public onlyAlerter returns(bool) { tradeEnabled = false; TradeEnabled(false); return true; } event KyberNetworkSet(address kyberNetwork); function setKyberNetwork(address _kyberNetwork) public onlyAdmin { require(_kyberNetwork != address(0)); kyberNetwork = _kyberNetwork; KyberNetworkSet(kyberNetwork); } function getConversionRate(ERC20 src, ERC20 dest, uint srcQty, uint blockNumber) public view returns(uint) { srcQty; blockNumber; if (!tradeEnabled) return 0; if ((wethToken != src) && (wethToken != dest)) return 0; if ((ETH_TOKEN_ADDRESS != src) && (ETH_TOKEN_ADDRESS != dest)) return 0; return 1 * PRECISION; } function doTrade( ERC20 srcToken, uint srcAmount, ERC20 destToken, address destAddress, uint conversionRate, bool validate ) internal returns(bool) { require((ETH_TOKEN_ADDRESS == srcToken) || (ETH_TOKEN_ADDRESS == destToken)); require((wethToken == srcToken) || (wethToken == destToken)); // can skip validation if done at kyber network level if (validate) { require(conversionRate > 0); if (srcToken == ETH_TOKEN_ADDRESS) require(msg.value == srcAmount); else require(msg.value == 0); } uint dstAmount = calcDstQty(srcAmount, COMMON_DECIMALS, COMMON_DECIMALS, conversionRate); require(dstAmount > 0); // sanity check if (srcToken == ETH_TOKEN_ADDRESS) { wethToken.deposit.value(srcAmount)(); require(wethToken.transfer(destAddress, dstAmount)); } else { require(srcToken.transferFrom(msg.sender, this, srcAmount)); wethToken.withdraw(dstAmount); destAddress.transfer(dstAmount); } TradeExecute(msg.sender, srcToken, srcAmount, destToken, dstAmount, destAddress); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"enableTrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"alerter","type":"address"}],"name":"removeAlerter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOperators","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"},{"name":"sendTo","type":"address"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAlerter","type":"address"}],"name":"addAlerter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sanityRatesContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wethToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_kyberNetwork","type":"address"}],"name":"setKyberNetwork","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"disableTrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"srcToken","type":"address"},{"name":"srcAmount","type":"uint256"},{"name":"destToken","type":"address"},{"name":"destAddress","type":"address"},{"name":"conversionRate","type":"uint256"},{"name":"validate","type":"bool"}],"name":"trade","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"transferAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"transferAdminQuickly","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAlerters","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"},{"name":"dest","type":"address"},{"name":"srcQty","type":"uint256"},{"name":"blockNumber","type":"uint256"}],"name":"getConversionRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOperator","type":"address"}],"name":"addOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kyberNetwork","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"sendTo","type":"address"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"token","type":"address"},{"name":"user","type":"address"}],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tradeEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_kyberNetwork","type":"address"},{"name":"_wethToken","type":"address"},{"name":"_admin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"src","type":"address"},{"indexed":false,"name":"srcAmount","type":"uint256"},{"indexed":false,"name":"destToken","type":"address"},{"indexed":false,"name":"destAmount","type":"uint256"},{"indexed":false,"name":"destAddress","type":"address"}],"name":"TradeExecute","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"enable","type":"bool"}],"name":"TradeEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"kyberNetwork","type":"address"}],"name":"KyberNetworkSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"sendTo","type":"address"}],"name":"TokenWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"sendTo","type":"address"}],"name":"EtherWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"pendingAdmin","type":"address"}],"name":"TransferAdminPending","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAdmin","type":"address"},{"indexed":false,"name":"previousAdmin","type":"address"}],"name":"AdminClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAlerter","type":"address"},{"indexed":false,"name":"isAdd","type":"bool"}],"name":"AlerterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOperator","type":"address"},{"indexed":false,"name":"isAdd","type":"bool"}],"name":"OperatorAdded","type":"event"}]
Contract Creation Code
606060405260078054600160a060020a031916905534156200002057600080fd5b6040516060806200189b83398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559092508216151590506200007657600080fd5b600160a060020a03831615156200008c57600080fd5b600160a060020a0382161515620000a257600080fd5b6012620000bd836401000000006200158c6200012c82021704565b14620000c857600080fd5b60088054600160a060020a03948516600160a060020a0319918216179091556009805460a060020a60ff021994861690831617939093167401000000000000000000000000000000000000000017909255600080549190931691161790556200020f565b600080600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156200015f576012915062000209565b50600160a060020a038216600090815260066020526040902054801515620002055782600160a060020a031663313ce5676000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515620001e157600080fd5b6102c65a03f11515620001f357600080fd5b50505060405180519050915062000209565b8091505b50919050565b61167c806200021f6000396000f3006060604052600436106101185763ffffffff60e060020a60003504166299d386811461013557806301a12fd31461015c578063267822471461017b57806327a099d8146101aa5780633ccdbb2814610210578063408ee7fe1461023957806347e6924f146102585780634b57b0be1461026b57806354a325a61461027e5780636940030f1461029d5780636cf69811146102b057806375829def146102dc57806377f50f97146102fb5780637acc86781461030e5780637c423f541461032d5780637cd44272146103405780639870d7fe1461037d578063ac8a584a1461039c578063b78b842d146103bb578063ce56c454146103ce578063d4fac45d146103f0578063d621e81314610415578063f851a44014610428575b60095433600160a060020a0390811691161461013357600080fd5b005b341561014057600080fd5b61014861043b565b604051901515815260200160405180910390f35b341561016757600080fd5b610133600160a060020a03600435166104b8565b341561018657600080fd5b61018e610628565b604051600160a060020a03909116815260200160405180910390f35b34156101b557600080fd5b6101bd610637565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156101fc5780820151838201526020016101e4565b505050509050019250505060405180910390f35b341561021b57600080fd5b610133600160a060020a03600435811690602435906044351661069f565b341561024457600080fd5b610133600160a060020a0360043516610796565b341561026357600080fd5b61018e610892565b341561027657600080fd5b61018e6108a1565b341561028957600080fd5b610133600160a060020a03600435166108b0565b34156102a857600080fd5b610148610942565b610148600160a060020a03600435811690602435906044358116906064351660843560a43515156109c3565b34156102e757600080fd5b610133600160a060020a0360043516610a1f565b341561030657600080fd5b610133610aba565b341561031957600080fd5b610133600160a060020a0360043516610b54565b341561033857600080fd5b6101bd610c36565b341561034b57600080fd5b61036b600160a060020a0360043581169060243516604435606435610c9c565b60405190815260200160405180910390f35b341561038857600080fd5b610133600160a060020a0360043516610d5d565b34156103a757600080fd5b610133600160a060020a0360043516610e2d565b34156103c657600080fd5b61018e610f99565b34156103d957600080fd5b610133600435600160a060020a0360243516610fa8565b34156103fb57600080fd5b61036b600160a060020a036004358116906024351661103b565b341561042057600080fd5b6101486110ed565b341561043357600080fd5b61018e6110fd565b6000805433600160a060020a0390811691161461045757600080fd5b6009805474ff0000000000000000000000000000000000000000191660a060020a1790557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356001604051901515815260200160405180910390a15060015b90565b6000805433600160a060020a039081169116146104d457600080fd5b600160a060020a03821660009081526003602052604090205460ff1615156104fb57600080fd5b50600160a060020a0381166000908152600360205260408120805460ff191690555b6005548110156106245781600160a060020a031660058281548110151561054057fe5b600091825260209091200154600160a060020a0316141561061c5760058054600019810190811061056d57fe5b60009182526020909120015460058054600160a060020a03909216918390811061059357fe5b60009182526020909120018054600160a060020a031916600160a060020a039290921691909117905560058054906105cf906000198301611533565b507f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762826000604051600160a060020a039092168252151560208201526040908101905180910390a1610624565b60010161051d565b5050565b600154600160a060020a031681565b61063f61155c565b600480548060200260200160405190810160405280929190818152602001828054801561069557602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610677575b5050505050905090565b60005433600160a060020a039081169116146106ba57600080fd5b82600160a060020a031663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561071757600080fd5b6102c65a03f1151561072857600080fd5b50505060405180519050151561073d57600080fd5b7f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e6838383604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a039081169116146107b157600080fd5b600160a060020a03811660009081526003602052604090205460ff16156107d757600080fd5b600554603290106107e757600080fd5b7f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600360205260409020805460ff1916600190811790915560058054909181016108668382611533565b5060009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055565b600754600160a060020a031681565b600954600160a060020a031681565b60005433600160a060020a039081169116146108cb57600080fd5b600160a060020a03811615156108e057600080fd5b60088054600160a060020a031916600160a060020a0383811691909117918290557f38622430bb6defd4452b087e8d0b4a6d1c4d35c179c2d7d875d4abb272b9d88b9116604051600160a060020a03909116815260200160405180910390a150565b600160a060020a03331660009081526003602052604081205460ff16151561096957600080fd5b6009805474ff0000000000000000000000000000000000000000191690557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356000604051901515815260200160405180910390a150600190565b60095460009060a060020a900460ff1615156109de57600080fd5b60085433600160a060020a039081169116146109f957600080fd5b610a0787878787878761110c565b1515610a1257600080fd5b5060019695505050505050565b60005433600160a060020a03908116911614610a3a57600080fd5b600160a060020a0381161515610a4f57600080fd5b6001547f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4090600160a060020a0316604051600160a060020a03909116815260200160405180910390a160018054600160a060020a031916600160a060020a0392909216919091179055565b60015433600160a060020a03908116911614610ad557600080fd5b6001546000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b60005433600160a060020a03908116911614610b6f57600080fd5b600160a060020a0381161515610b8457600080fd5b7f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4081604051600160a060020a03909116815260200160405180910390a16000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed908290600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a160008054600160a060020a031916600160a060020a0392909216919091179055565b610c3e61155c565b600580548060200260200160405190810160405280929190818152602001828054801561069557602002820191906000526020600020908154600160a060020a03168152600190910190602001808311610677575050505050905090565b60095460009060a060020a900460ff161515610cba57506000610d55565b600954600160a060020a03868116911614801590610ce65750600954600160a060020a03858116911614155b15610cf357506000610d55565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a03861614801590610d3d575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a03851614155b15610d4a57506000610d55565b50670de0b6b3a76400005b949350505050565b60005433600160a060020a03908116911614610d7857600080fd5b600160a060020a03811660009081526002602052604090205460ff1615610d9e57600080fd5b60045460329010610dae57600080fd5b7f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600260205260409020805460ff1916600190811790915560048054909181016108668382611533565b6000805433600160a060020a03908116911614610e4957600080fd5b600160a060020a03821660009081526002602052604090205460ff161515610e7057600080fd5b50600160a060020a0381166000908152600260205260408120805460ff191690555b6004548110156106245781600160a060020a0316600482815481101515610eb557fe5b600091825260209091200154600160a060020a03161415610f9157600480546000198101908110610ee257fe5b60009182526020909120015460048054600160a060020a039092169183908110610f0857fe5b60009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055600480546000190190610f449082611533565b507f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b826000604051600160a060020a039092168252151560208201526040908101905180910390a1610624565b600101610e92565b600854600160a060020a031681565b60005433600160a060020a03908116911614610fc357600080fd5b600160a060020a03811682156108fc0283604051600060405180830381858888f193505050501515610ff457600080fd5b7fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de8282604051918252600160a060020a031660208201526040908101905180910390a15050565b6000600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156110735750600160a060020a038116316110e7565b82600160a060020a03166370a082318360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156110ca57600080fd5b6102c65a03f115156110db57600080fd5b50505060405180519150505b92915050565b60095460a060020a900460ff1681565b600054600160a060020a031681565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a0389161480611156575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a038716145b151561116157600080fd5b600954600160a060020a038981169116148061118a5750600954600160a060020a038781169116145b151561119557600080fd5b82156111e957600084116111a857600080fd5b600160a060020a03881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156111de573487146111d957600080fd5b6111e9565b34156111e957600080fd5b6111f687601280876114a2565b90506000811161120557600080fd5b600160a060020a03881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561130a57600954600160a060020a031663d0e30db0886040518263ffffffff1660e060020a0281526004016000604051808303818588803b151561126957600080fd5b6125ee5a03f1151561127a57600080fd5b5050600954600160a060020a0316915063a9059cbb9050868360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156112df57600080fd5b6102c65a03f115156112f057600080fd5b50505060405180519050151561130557600080fd5b611427565b87600160a060020a03166323b872dd33308a60006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561137457600080fd5b6102c65a03f1151561138557600080fd5b50505060405180519050151561139a57600080fd5b600954600160a060020a0316632e1a7d4d8260405160e060020a63ffffffff84160281526004810191909152602401600060405180830381600087803b15156113e257600080fd5b6102c65a03f115156113f357600080fd5b505050600160a060020a0385166108fc82150282604051600060405180830381858888f19350505050151561142757600080fd5b33600160a060020a03167fea9415385bae08fe9f6dc457b02577166790cde83bb18cc340aac6cb81b824de898989858a604051600160a060020a039586168152602081019490945291841660408085019190915260608401919091529216608082015260a001905180910390a2506001979650505050505050565b60006b204fce5e3e250261100000008511156114bd57600080fd5b69d3c21bcecceda10000008211156114d457600080fd5b83831061150757601284840311156114eb57600080fd5b670de0b6b3a7640000858302858503600a0a025b049050610d55565b6012838503111561151757600080fd5b828403600a0a670de0b6b3a7640000028286028115156114ff57fe5b8154818355818115116115575760008381526020902061155791810190830161156e565b505050565b60206040519081016040526000815290565b6104b591905b808211156115885760008155600101611574565b5090565b600080600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156115bd576012915061164a565b50600160a060020a0382166000908152600660205260409020548015156116465782600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561162457600080fd5b6102c65a03f1151561163557600080fd5b50505060405180519050915061164a565b8091505b509190505600a165627a7a72305820f6783422e0860c56f85fa84b9ef37f379639154f4e5c535f1cc907151e9d7c7d0029000000000000000000000000706abce058db29eb36578c463cf295f180a1fe9c000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f9ef59db62f56af114380a7496fd51172dafd41d
Deployed Bytecode
0x6060604052600436106101185763ffffffff60e060020a60003504166299d386811461013557806301a12fd31461015c578063267822471461017b57806327a099d8146101aa5780633ccdbb2814610210578063408ee7fe1461023957806347e6924f146102585780634b57b0be1461026b57806354a325a61461027e5780636940030f1461029d5780636cf69811146102b057806375829def146102dc57806377f50f97146102fb5780637acc86781461030e5780637c423f541461032d5780637cd44272146103405780639870d7fe1461037d578063ac8a584a1461039c578063b78b842d146103bb578063ce56c454146103ce578063d4fac45d146103f0578063d621e81314610415578063f851a44014610428575b60095433600160a060020a0390811691161461013357600080fd5b005b341561014057600080fd5b61014861043b565b604051901515815260200160405180910390f35b341561016757600080fd5b610133600160a060020a03600435166104b8565b341561018657600080fd5b61018e610628565b604051600160a060020a03909116815260200160405180910390f35b34156101b557600080fd5b6101bd610637565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156101fc5780820151838201526020016101e4565b505050509050019250505060405180910390f35b341561021b57600080fd5b610133600160a060020a03600435811690602435906044351661069f565b341561024457600080fd5b610133600160a060020a0360043516610796565b341561026357600080fd5b61018e610892565b341561027657600080fd5b61018e6108a1565b341561028957600080fd5b610133600160a060020a03600435166108b0565b34156102a857600080fd5b610148610942565b610148600160a060020a03600435811690602435906044358116906064351660843560a43515156109c3565b34156102e757600080fd5b610133600160a060020a0360043516610a1f565b341561030657600080fd5b610133610aba565b341561031957600080fd5b610133600160a060020a0360043516610b54565b341561033857600080fd5b6101bd610c36565b341561034b57600080fd5b61036b600160a060020a0360043581169060243516604435606435610c9c565b60405190815260200160405180910390f35b341561038857600080fd5b610133600160a060020a0360043516610d5d565b34156103a757600080fd5b610133600160a060020a0360043516610e2d565b34156103c657600080fd5b61018e610f99565b34156103d957600080fd5b610133600435600160a060020a0360243516610fa8565b34156103fb57600080fd5b61036b600160a060020a036004358116906024351661103b565b341561042057600080fd5b6101486110ed565b341561043357600080fd5b61018e6110fd565b6000805433600160a060020a0390811691161461045757600080fd5b6009805474ff0000000000000000000000000000000000000000191660a060020a1790557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356001604051901515815260200160405180910390a15060015b90565b6000805433600160a060020a039081169116146104d457600080fd5b600160a060020a03821660009081526003602052604090205460ff1615156104fb57600080fd5b50600160a060020a0381166000908152600360205260408120805460ff191690555b6005548110156106245781600160a060020a031660058281548110151561054057fe5b600091825260209091200154600160a060020a0316141561061c5760058054600019810190811061056d57fe5b60009182526020909120015460058054600160a060020a03909216918390811061059357fe5b60009182526020909120018054600160a060020a031916600160a060020a039290921691909117905560058054906105cf906000198301611533565b507f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762826000604051600160a060020a039092168252151560208201526040908101905180910390a1610624565b60010161051d565b5050565b600154600160a060020a031681565b61063f61155c565b600480548060200260200160405190810160405280929190818152602001828054801561069557602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610677575b5050505050905090565b60005433600160a060020a039081169116146106ba57600080fd5b82600160a060020a031663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561071757600080fd5b6102c65a03f1151561072857600080fd5b50505060405180519050151561073d57600080fd5b7f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e6838383604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a039081169116146107b157600080fd5b600160a060020a03811660009081526003602052604090205460ff16156107d757600080fd5b600554603290106107e757600080fd5b7f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600360205260409020805460ff1916600190811790915560058054909181016108668382611533565b5060009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055565b600754600160a060020a031681565b600954600160a060020a031681565b60005433600160a060020a039081169116146108cb57600080fd5b600160a060020a03811615156108e057600080fd5b60088054600160a060020a031916600160a060020a0383811691909117918290557f38622430bb6defd4452b087e8d0b4a6d1c4d35c179c2d7d875d4abb272b9d88b9116604051600160a060020a03909116815260200160405180910390a150565b600160a060020a03331660009081526003602052604081205460ff16151561096957600080fd5b6009805474ff0000000000000000000000000000000000000000191690557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356000604051901515815260200160405180910390a150600190565b60095460009060a060020a900460ff1615156109de57600080fd5b60085433600160a060020a039081169116146109f957600080fd5b610a0787878787878761110c565b1515610a1257600080fd5b5060019695505050505050565b60005433600160a060020a03908116911614610a3a57600080fd5b600160a060020a0381161515610a4f57600080fd5b6001547f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4090600160a060020a0316604051600160a060020a03909116815260200160405180910390a160018054600160a060020a031916600160a060020a0392909216919091179055565b60015433600160a060020a03908116911614610ad557600080fd5b6001546000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b60005433600160a060020a03908116911614610b6f57600080fd5b600160a060020a0381161515610b8457600080fd5b7f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4081604051600160a060020a03909116815260200160405180910390a16000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed908290600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a160008054600160a060020a031916600160a060020a0392909216919091179055565b610c3e61155c565b600580548060200260200160405190810160405280929190818152602001828054801561069557602002820191906000526020600020908154600160a060020a03168152600190910190602001808311610677575050505050905090565b60095460009060a060020a900460ff161515610cba57506000610d55565b600954600160a060020a03868116911614801590610ce65750600954600160a060020a03858116911614155b15610cf357506000610d55565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a03861614801590610d3d575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a03851614155b15610d4a57506000610d55565b50670de0b6b3a76400005b949350505050565b60005433600160a060020a03908116911614610d7857600080fd5b600160a060020a03811660009081526002602052604090205460ff1615610d9e57600080fd5b60045460329010610dae57600080fd5b7f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600260205260409020805460ff1916600190811790915560048054909181016108668382611533565b6000805433600160a060020a03908116911614610e4957600080fd5b600160a060020a03821660009081526002602052604090205460ff161515610e7057600080fd5b50600160a060020a0381166000908152600260205260408120805460ff191690555b6004548110156106245781600160a060020a0316600482815481101515610eb557fe5b600091825260209091200154600160a060020a03161415610f9157600480546000198101908110610ee257fe5b60009182526020909120015460048054600160a060020a039092169183908110610f0857fe5b60009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055600480546000190190610f449082611533565b507f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b826000604051600160a060020a039092168252151560208201526040908101905180910390a1610624565b600101610e92565b600854600160a060020a031681565b60005433600160a060020a03908116911614610fc357600080fd5b600160a060020a03811682156108fc0283604051600060405180830381858888f193505050501515610ff457600080fd5b7fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de8282604051918252600160a060020a031660208201526040908101905180910390a15050565b6000600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156110735750600160a060020a038116316110e7565b82600160a060020a03166370a082318360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156110ca57600080fd5b6102c65a03f115156110db57600080fd5b50505060405180519150505b92915050565b60095460a060020a900460ff1681565b600054600160a060020a031681565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a0389161480611156575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a038716145b151561116157600080fd5b600954600160a060020a038981169116148061118a5750600954600160a060020a038781169116145b151561119557600080fd5b82156111e957600084116111a857600080fd5b600160a060020a03881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156111de573487146111d957600080fd5b6111e9565b34156111e957600080fd5b6111f687601280876114a2565b90506000811161120557600080fd5b600160a060020a03881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561130a57600954600160a060020a031663d0e30db0886040518263ffffffff1660e060020a0281526004016000604051808303818588803b151561126957600080fd5b6125ee5a03f1151561127a57600080fd5b5050600954600160a060020a0316915063a9059cbb9050868360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156112df57600080fd5b6102c65a03f115156112f057600080fd5b50505060405180519050151561130557600080fd5b611427565b87600160a060020a03166323b872dd33308a60006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561137457600080fd5b6102c65a03f1151561138557600080fd5b50505060405180519050151561139a57600080fd5b600954600160a060020a0316632e1a7d4d8260405160e060020a63ffffffff84160281526004810191909152602401600060405180830381600087803b15156113e257600080fd5b6102c65a03f115156113f357600080fd5b505050600160a060020a0385166108fc82150282604051600060405180830381858888f19350505050151561142757600080fd5b33600160a060020a03167fea9415385bae08fe9f6dc457b02577166790cde83bb18cc340aac6cb81b824de898989858a604051600160a060020a039586168152602081019490945291841660408085019190915260608401919091529216608082015260a001905180910390a2506001979650505050505050565b60006b204fce5e3e250261100000008511156114bd57600080fd5b69d3c21bcecceda10000008211156114d457600080fd5b83831061150757601284840311156114eb57600080fd5b670de0b6b3a7640000858302858503600a0a025b049050610d55565b6012838503111561151757600080fd5b828403600a0a670de0b6b3a7640000028286028115156114ff57fe5b8154818355818115116115575760008381526020902061155791810190830161156e565b505050565b60206040519081016040526000815290565b6104b591905b808211156115885760008155600101611574565b5090565b600080600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156115bd576012915061164a565b50600160a060020a0382166000908152600660205260409020548015156116465782600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561162457600080fd5b6102c65a03f1151561163557600080fd5b50505060405180519050915061164a565b8091505b509190505600a165627a7a72305820f6783422e0860c56f85fa84b9ef37f379639154f4e5c535f1cc907151e9d7c7d0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000706abce058db29eb36578c463cf295f180a1fe9c000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f9ef59db62f56af114380a7496fd51172dafd41d
-----Decoded View---------------
Arg [0] : _kyberNetwork (address): 0x706aBcE058DB29eB36578c463cf295F180a1Fe9C
Arg [1] : _wethToken (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
Arg [2] : _admin (address): 0xF9eF59dB62f56aF114380A7496Fd51172dafD41d
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000706abce058db29eb36578c463cf295f180a1fe9c
Arg [1] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Arg [2] : 000000000000000000000000f9ef59db62f56af114380a7496fd51172dafd41d
Swarm Source
bzzr://f6783422e0860c56f85fa84b9ef37f379639154f4e5c535f1cc907151e9d7c7d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.