More Info
Private Name Tags
ContractCreator
Latest 8 from a total of 8 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw Ether | 10880137 | 1587 days ago | IN | 0 ETH | 0.0161545 | ||||
Transfer | 10840442 | 1593 days ago | IN | 0.00815321 ETH | 0.00312824 | ||||
Transfer Admin Q... | 10838861 | 1593 days ago | IN | 0 ETH | 0.00598623 | ||||
Add Alerter | 10838859 | 1593 days ago | IN | 0 ETH | 0.01382745 | ||||
Add Alerter | 10838855 | 1593 days ago | IN | 0 ETH | 0.01660245 | ||||
Add Operator | 10838853 | 1593 days ago | IN | 0 ETH | 0.01664722 | ||||
Approve Withdraw... | 10838852 | 1593 days ago | IN | 0 ETH | 0.00945757 | ||||
Approve Withdraw... | 10838850 | 1593 days ago | IN | 0 ETH | 0.02474264 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
10880137 | 1587 days ago | 0.00815321 ETH |
Loading...
Loading
Contract Name:
KyberReserve
Compiler Version
v0.4.18+commit.9cf6e910
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-08-26 */ // File: contracts/sol4/ERC20Interface.sol pragma solidity 0.4.18; // 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/sol4/Utils.sol pragma solidity 0.4.18; /// @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/sol4/PermissionGroups.sol pragma solidity 0.4.18; 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/sol4/Withdrawable.sol pragma solidity 0.4.18; /** * @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/sol4/ConversionRatesInterface.sol pragma solidity 0.4.18; interface ConversionRatesInterface { function recordImbalance( ERC20 token, int buyAmount, uint rateUpdateBlock, uint currentBlock ) public; function getRate(ERC20 token, uint currentBlockNumber, bool buy, uint qty) public view returns(uint); } // File: contracts/sol4/SanityRatesInterface.sol pragma solidity 0.4.18; interface SanityRatesInterface { function getSanityRate(ERC20 src, ERC20 dest) public view returns(uint); } // File: contracts/sol4/KyberReserveInterface.sol pragma solidity 0.4.18; /// @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/sol4/reserves/KyberReserve.sol pragma solidity 0.4.18; /// @title Kyber Reserve contract contract KyberReserve is KyberReserveInterface, Withdrawable, Utils { address public kyberNetwork; bool public tradeEnabled; ConversionRatesInterface public conversionRatesContract; SanityRatesInterface public sanityRatesContract; mapping(bytes32=>bool) public approvedWithdrawAddresses; // sha3(token,address)=>bool mapping(address=>address) public tokenWallet; function KyberReserve(address _kyberNetwork, ConversionRatesInterface _ratesContract, address _admin) public { require(_admin != address(0)); require(_ratesContract != address(0)); require(_kyberNetwork != address(0)); kyberNetwork = _kyberNetwork; conversionRatesContract = _ratesContract; admin = _admin; tradeEnabled = true; } event DepositToken(ERC20 token, uint amount); function() public payable { DepositToken(ETH_TOKEN_ADDRESS, msg.value); } event TradeExecute( address indexed origin, 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 WithdrawAddressApproved(ERC20 token, address addr, bool approve); function approveWithdrawAddress(ERC20 token, address addr, bool approve) public onlyAdmin { approvedWithdrawAddresses[keccak256(token, addr)] = approve; WithdrawAddressApproved(token, addr, approve); setDecimals(token); if ((tokenWallet[token] == address(0x0)) && (token != ETH_TOKEN_ADDRESS)) { tokenWallet[token] = this; // by default require(token.approve(this, 2 ** 255)); } } event NewTokenWallet(ERC20 token, address wallet); function setTokenWallet(ERC20 token, address wallet) public onlyAdmin { require(wallet != address(0x0)); tokenWallet[token] = wallet; NewTokenWallet(token, wallet); } event WithdrawFunds(ERC20 token, uint amount, address destination); function withdraw(ERC20 token, uint amount, address destination) public onlyOperator returns(bool) { require(approvedWithdrawAddresses[keccak256(token, destination)]); if (token == ETH_TOKEN_ADDRESS) { destination.transfer(amount); } else { require(token.transferFrom(tokenWallet[token], destination, amount)); } WithdrawFunds(token, amount, destination); return true; } event SetContractAddresses(address network, address rate, address sanity); function setContracts( address _kyberNetwork, ConversionRatesInterface _conversionRates, SanityRatesInterface _sanityRates ) public onlyAdmin { require(_kyberNetwork != address(0)); require(_conversionRates != address(0)); kyberNetwork = _kyberNetwork; conversionRatesContract = _conversionRates; sanityRatesContract = _sanityRates; SetContractAddresses(kyberNetwork, conversionRatesContract, sanityRatesContract); } //////////////////////////////////////////////////////////////////////////// /// status functions /////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// function getBalance(ERC20 token) public view returns(uint) { if (token == ETH_TOKEN_ADDRESS) return this.balance; else { address wallet = tokenWallet[token]; uint balanceOfWallet = token.balanceOf(wallet); uint allowanceOfWallet = token.allowance(wallet, this); return (balanceOfWallet < allowanceOfWallet) ? balanceOfWallet : allowanceOfWallet; } } function getDestQty(ERC20 src, ERC20 dest, uint srcQty, uint rate) public view returns(uint) { uint dstDecimals = getDecimals(dest); uint srcDecimals = getDecimals(src); return calcDstQty(srcQty, srcDecimals, dstDecimals, rate); } function getSrcQty(ERC20 src, ERC20 dest, uint dstQty, uint rate) public view returns(uint) { uint dstDecimals = getDecimals(dest); uint srcDecimals = getDecimals(src); return calcSrcQty(dstQty, srcDecimals, dstDecimals, rate); } function getConversionRate(ERC20 src, ERC20 dest, uint srcQty, uint blockNumber) public view returns(uint) { ERC20 token; bool isBuy; if (!tradeEnabled) return 0; if (ETH_TOKEN_ADDRESS == src) { isBuy = true; token = dest; } else if (ETH_TOKEN_ADDRESS == dest) { isBuy = false; token = src; } else { return 0; // pair is not listed } uint rate = conversionRatesContract.getRate(token, blockNumber, isBuy, srcQty); uint destQty = getDestQty(src, dest, srcQty, rate); if (getBalance(dest) < destQty) return 0; if (sanityRatesContract != address(0)) { uint sanityRate = sanityRatesContract.getSanityRate(src, dest); if (rate > sanityRate) return 0; } return rate; } /// @dev do a trade /// @param srcToken Src token /// @param srcAmount Amount of src token /// @param destToken Destination token /// @param destAddress Destination address to send tokens to /// @param validate If true, additional validations are applicable /// @return true iff trade is successful function doTrade( ERC20 srcToken, uint srcAmount, ERC20 destToken, address destAddress, uint conversionRate, bool validate ) internal returns(bool) { // 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 destAmount = getDestQty(srcToken, destToken, srcAmount, conversionRate); // sanity check require(destAmount > 0); // add to imbalance ERC20 token; int tradeAmount; if (srcToken == ETH_TOKEN_ADDRESS) { tradeAmount = int(destAmount); token = destToken; } else { tradeAmount = -1 * int(srcAmount); token = srcToken; } conversionRatesContract.recordImbalance( token, tradeAmount, 0, block.number ); // collect src tokens if (srcToken != ETH_TOKEN_ADDRESS) { require(srcToken.transferFrom(msg.sender, tokenWallet[srcToken], srcAmount)); } // send dest tokens if (destToken == ETH_TOKEN_ADDRESS) { destAddress.transfer(destAmount); } else { require(destToken.transferFrom(tokenWallet[destToken], destAddress, destAmount)); } TradeExecute(msg.sender, srcToken, srcAmount, destToken, destAmount, 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":false,"inputs":[{"name":"token","type":"address"},{"name":"wallet","type":"address"}],"name":"setTokenWallet","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":false,"inputs":[{"name":"token","type":"address"},{"name":"addr","type":"address"},{"name":"approve","type":"bool"}],"name":"approveWithdrawAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"},{"name":"destination","type":"address"}],"name":"withdraw","outputs":[{"name":"","type":"bool"}],"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":true,"inputs":[{"name":"src","type":"address"},{"name":"dest","type":"address"},{"name":"dstQty","type":"uint256"},{"name":"rate","type":"uint256"}],"name":"getSrcQty","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokenWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_kyberNetwork","type":"address"},{"name":"_conversionRates","type":"address"},{"name":"_sanityRates","type":"address"}],"name":"setContracts","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":"conversionRatesContract","outputs":[{"name":"","type":"address"}],"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":"","type":"bytes32"}],"name":"approvedWithdrawAddresses","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"},{"constant":true,"inputs":[{"name":"token","type":"address"}],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"},{"name":"dest","type":"address"},{"name":"srcQty","type":"uint256"},{"name":"rate","type":"uint256"}],"name":"getDestQty","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_kyberNetwork","type":"address"},{"name":"_ratesContract","type":"address"},{"name":"_admin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"DepositToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"origin","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":"token","type":"address"},{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"approve","type":"bool"}],"name":"WithdrawAddressApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"wallet","type":"address"}],"name":"NewTokenWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"destination","type":"address"}],"name":"WithdrawFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"network","type":"address"},{"indexed":false,"name":"rate","type":"address"},{"indexed":false,"name":"sanity","type":"address"}],"name":"SetContractAddresses","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
6060604052341561000f57600080fd5b60405160608061222d83398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a039081169190911790915590925082161515905061006357600080fd5b600160a060020a038216151561007857600080fd5b600160a060020a038316151561008d57600080fd5b6007805460088054600160a060020a03958616600160a060020a031991821617909155600080549486169482169490941790935560a060020a60ff02199390941691909316171674010000000000000000000000000000000000000000179055612131806100fc6000396000f3006060604052600436106101655763ffffffff60e060020a60003504166299d38681146101bf57806301a12fd3146101e65780631bc7bfec14610207578063267822471461022c57806327a099d81461025b5780633ccdbb28146102c1578063408ee7fe146102ea57806347e6924f14610309578063546dc71c1461031c57806369328dec146103465780636940030f1461036f5780636cf698111461038257806375829def146103ae57806377f50f97146103cd5780637acc8678146103e05780637c423f54146103ff5780637cd44272146104125780639870d7fe1461044f578063a7fca9531461046e578063a80cbac614610499578063ac8a584a146104b8578063b3066d49146104d7578063b78b842d14610502578063ce56c45414610515578063d5847d3314610537578063d621e8131461054a578063d7b7024d1461055d578063f851a44014610573578063f8b2cb4f14610586578063fa64dffa146105a5575b7f2d0c0a8842b9944ece1495eb61121621b5e36bd6af3bba0318c695f525aef79f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee34604051600160a060020a03909216825260208201526040908101905180910390a1005b34156101ca57600080fd5b6101d26105d0565b604051901515815260200160405180910390f35b34156101f157600080fd5b610205600160a060020a036004351661065e565b005b341561021257600080fd5b610205600160a060020a03600435811690602435166107db565b341561023757600080fd5b61023f610894565b604051600160a060020a03909116815260200160405180910390f35b341561026657600080fd5b61026e6108a3565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156102ad578082015183820152602001610295565b505050509050019250505060405180910390f35b34156102cc57600080fd5b610205600160a060020a03600435811690602435906044351661090b565b34156102f557600080fd5b610205600160a060020a0360043516610a02565b341561031457600080fd5b61023f610b0b565b341561032757600080fd5b610205600160a060020a03600435811690602435166044351515610b1a565b341561035157600080fd5b6101d2600160a060020a036004358116906024359060443516610d17565b341561037a57600080fd5b6101d2610ef6565b6101d2600160a060020a03600435811690602435906044358116906064351660843560a4351515610f77565b34156103b957600080fd5b610205600160a060020a0360043516610fe4565b34156103d857600080fd5b61020561108c565b34156103eb57600080fd5b610205600160a060020a0360043516611133565b341561040a57600080fd5b61026e611222565b341561041d57600080fd5b61043d600160a060020a0360043581169060243516604435606435611288565b60405190815260200160405180910390f35b341561045a57600080fd5b610205600160a060020a036004351661147f565b341561047957600080fd5b61043d600160a060020a036004358116906024351660443560643561154f565b34156104a457600080fd5b61023f600160a060020a0360043516611581565b34156104c357600080fd5b610205600160a060020a036004351661159c565b34156104e257600080fd5b610205600160a060020a0360043581169060243581169060443516611715565b341561050d57600080fd5b61023f611806565b341561052057600080fd5b610205600435600160a060020a0360243516611815565b341561054257600080fd5b61023f6118a8565b341561055557600080fd5b6101d26118b7565b341561056857600080fd5b6101d26004356118d8565b341561057e57600080fd5b61023f6118ed565b341561059157600080fd5b61043d600160a060020a03600435166118fc565b34156105b057600080fd5b61043d600160a060020a0360043581169060243516604435606435611a56565b6000805433600160a060020a039081169116146105ec57600080fd5b6007805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356001604051901515815260200160405180910390a15060015b90565b6000805433600160a060020a0390811691161461067a57600080fd5b600160a060020a03821660009081526003602052604090205460ff1615156106a157600080fd5b50600160a060020a0381166000908152600360205260408120805460ff191690555b6005548110156107d75781600160a060020a03166005828154811015156106e657fe5b600091825260209091200154600160a060020a031614156107cf5760058054600019810190811061071357fe5b60009182526020909120015460058054600160a060020a03909216918390811061073957fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560058054906107829060001983016120b1565b507f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762826000604051600160a060020a039092168252151560208201526040908101905180910390a16107d7565b6001016106c3565b5050565b60005433600160a060020a039081169116146107f657600080fd5b600160a060020a038116151561080b57600080fd5b600160a060020a038281166000908152600b602052604090819020805473ffffffffffffffffffffffffffffffffffffffff1916928416929092179091557f81995c7b922889ac0a81e41866106d4046268ea3a9abaae9f9e080a6ce36ee7d908390839051600160a060020a039283168152911660208201526040908101905180910390a15050565b600154600160a060020a031681565b6108ab6120d5565b600480548060200260200160405190810160405280929190818152602001828054801561090157602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116108e3575b5050505050905090565b60005433600160a060020a0390811691161461092657600080fd5b82600160a060020a031663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561098357600080fd5b6102c65a03f1151561099457600080fd5b5050506040518051905015156109a957600080fd5b7f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e6838383604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a03908116911614610a1d57600080fd5b600160a060020a03811660009081526003602052604090205460ff1615610a4357600080fd5b60055460329010610a5357600080fd5b7f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600360205260409020805460ff191660019081179091556005805490918101610ad283826120b1565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600954600160a060020a031681565b60005433600160a060020a03908116911614610b3557600080fd5b80600a600085856040516c01000000000000000000000000600160a060020a039384168102825291909216026014820152602801604051908190039020815260208101919091526040908101600020805460ff1916921515929092179091557fd5fd5351efae1f4bb760079da9f0ff9589e2c3e216337ca9d39cdff573b245c49084908490849051600160a060020a0393841681529190921660208201529015156040808301919091526060909101905180910390a1610bf483611a7d565b600160a060020a038381166000908152600b602052604090205416158015610c395750600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14155b15610d1257600160a060020a038381166000818152600b6020526040808220805473ffffffffffffffffffffffffffffffffffffffff191630958616179055919263095ea7b39290917f800000000000000000000000000000000000000000000000000000000000000091516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610cec57600080fd5b6102c65a03f11515610cfd57600080fd5b505050604051805190501515610d1257600080fd5b505050565b600160a060020a03331660009081526002602052604081205460ff161515610d3e57600080fd5b600a600085846040516c01000000000000000000000000600160a060020a039384168102825291909216026014820152602801604051908190039020815260208101919091526040016000205460ff161515610d9957600080fd5b600160a060020a03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610df457600160a060020a03821683156108fc0284604051600060405180830381858888f193505050501515610def57600080fd5b610e98565b600160a060020a038085166000818152600b60205260408082205492936323b872dd9316918691889190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610e7257600080fd5b6102c65a03f11515610e8357600080fd5b505050604051805190501515610e9857600080fd5b7fb67719fc33c1f17d31bf3a698690d62066b1e0bae28fcd3c56cf2c015c2863d6848484604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a15060019392505050565b600160a060020a03331660009081526003602052604081205460ff161515610f1d57600080fd5b6007805474ff0000000000000000000000000000000000000000191690557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356000604051901515815260200160405180910390a150600190565b60075460009074010000000000000000000000000000000000000000900460ff161515610fa357600080fd5b60075433600160a060020a03908116911614610fbe57600080fd5b610fcc878787878787611b40565b1515610fd757600080fd5b5060019695505050505050565b60005433600160a060020a03908116911614610fff57600080fd5b600160a060020a038116151561101457600080fd5b6001547f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4090600160a060020a0316604051600160a060020a03909116815260200160405180910390a16001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015433600160a060020a039081169116146110a757600080fd5b6001546000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60005433600160a060020a0390811691161461114e57600080fd5b600160a060020a038116151561116357600080fd5b7f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4081604051600160a060020a03909116815260200160405180910390a16000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed908290600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a16000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b61122a6120d5565b600580548060200260200160405190810160405280929190818152602001828054801561090157602002820191906000526020600020908154600160a060020a031681526001909101906020018083116108e3575050505050905090565b600080600080600080600760149054906101000a900460ff1615156112b05760009550611472565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a038b1614156112e1576001935088945061131b565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a038a161415611312576000935089945061131b565b60009550611472565b600854600160a060020a031663b8e9c22e8689878c60006040516020015260405160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840192909252151560448301526064820152608401602060405180830381600087803b151561138b57600080fd5b6102c65a03f1151561139c57600080fd5b5050506040518051905092506113b48a8a8a86611a56565b9150816113c08a6118fc565b10156113cf5760009550611472565b600954600160a060020a03161561146e57600954600160a060020a031663a58092b78b8b60006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561144157600080fd5b6102c65a03f1151561145257600080fd5b50505060405180519150508083111561146e5760009550611472565b8295505b5050505050949350505050565b60005433600160a060020a0390811691161461149a57600080fd5b600160a060020a03811660009081526002602052604090205460ff16156114c057600080fd5b600454603290106114d057600080fd5b7f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600260205260409020805460ff191660019081179091556004805490918101610ad283826120b1565b600080600061155d86611ead565b915061156887611ead565b905061157685828487611f71565b979650505050505050565b600b60205260009081526040902054600160a060020a031681565b6000805433600160a060020a039081169116146115b857600080fd5b600160a060020a03821660009081526002602052604090205460ff1615156115df57600080fd5b50600160a060020a0381166000908152600260205260408120805460ff191690555b6004548110156107d75781600160a060020a031660048281548110151561162457fe5b600091825260209091200154600160a060020a0316141561170d5760048054600019810190811061165157fe5b60009182526020909120015460048054600160a060020a03909216918390811061167757fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556004805460001901906116c090826120b1565b507f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b826000604051600160a060020a039092168252151560208201526040908101905180910390a16107d7565b600101611601565b60005433600160a060020a0390811691161461173057600080fd5b600160a060020a038316151561174557600080fd5b600160a060020a038216151561175a57600080fd5b60078054600160a060020a0380861673ffffffffffffffffffffffffffffffffffffffff19928316179283905560088054868316908416179081905560098054868416941693909317928390557f7a85322644a4462d8ff5482d2a841a4d231f8cfb3c9f4a50f66f8b2bd568c31c938216929082169116604051600160a060020a03938416815291831660208301529091166040808301919091526060909101905180910390a1505050565b600754600160a060020a031681565b60005433600160a060020a0390811691161461183057600080fd5b600160a060020a03811682156108fc0283604051600060405180830381858888f19350505050151561186157600080fd5b7fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de8282604051918252600160a060020a031660208201526040908101905180910390a15050565b600854600160a060020a031681565b60075474010000000000000000000000000000000000000000900460ff1681565b600a6020526000908152604090205460ff1681565b600054600160a060020a031681565b6000808080600160a060020a03851673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156119385730600160a060020a0316319350611a4e565b600160a060020a038086166000818152600b602052604080822054909316955090916370a08231918691516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156119a557600080fd5b6102c65a03f115156119b657600080fd5b5050506040518051925050600160a060020a03851663dd62ed3e843060006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515611a2057600080fd5b6102c65a03f11515611a3157600080fd5b5050506040518051915050808210611a495780611a4b565b815b93505b505050919050565b6000806000611a6486611ead565b9150611a6f87611ead565b905061157685828487612018565b600160a060020a03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611ac357600160a060020a038116600090815260066020526040902060129055611b3d565b80600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611b0957600080fd5b6102c65a03f11515611b1a57600080fd5b5050506040518051600160a060020a038316600090815260066020526040902055505b50565b6000806000808415611b9a5760008611611b5957600080fd5b600160a060020a038a1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611b8f57348914611b8a57600080fd5b611b9a565b3415611b9a57600080fd5b611ba68a898b89611a56565b925060008311611bb557600080fd5b600160a060020a038a1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611be4575086905081611bee565b5088905060001988025b600854600160a060020a031663c6fd2103838360004360405160e060020a63ffffffff8716028152600160a060020a039094166004850152602484019290925260448301526064820152608401600060405180830381600087803b1515611c5457600080fd5b6102c65a03f11515611c6557600080fd5b505050600160a060020a038a1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14611d3157600160a060020a03808b166000818152600b60205260408082205492936323b872dd9333939116918e9190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611d0b57600080fd5b6102c65a03f11515611d1c57600080fd5b505050604051805190501515611d3157600080fd5b600160a060020a03881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611d8c57600160a060020a03871683156108fc0284604051600060405180830381858888f193505050501515611d8757600080fd5b611e30565b600160a060020a038089166000818152600b60205260408082205492936323b872dd9316918b91889190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611e0a57600080fd5b6102c65a03f11515611e1b57600080fd5b505050604051805190501515611e3057600080fd5b33600160a060020a03167fea9415385bae08fe9f6dc457b02577166790cde83bb18cc340aac6cb81b824de8b8b8b878c604051600160a060020a039586168152602081019490945291841660408085019190915260608401919091529216608082015260a001905180910390a25060019998505050505050505050565b600080600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611ede5760129150611f6b565b50600160a060020a038216600090815260066020526040902054801515611f675782600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611f4557600080fd5b6102c65a03f11515611f5657600080fd5b505050604051805190509150611f6b565b8091505b50919050565b600080806b204fce5e3e25026110000000871115611f8e57600080fd5b69d3c21bcecceda1000000841115611fa557600080fd5b848610611fd65760128587031115611fbc57600080fd5b5050828403600a0a8502670de0b6b3a76400000282611ffc565b60128686031115611fe657600080fd5b5050670de0b6b3a76400008502848403600a0a83025b8060018284010381151561200c57fe5b04979650505050505050565b60006b204fce5e3e2502611000000085111561203357600080fd5b69d3c21bcecceda100000082111561204a57600080fd5b83831061207d576012848403111561206157600080fd5b670de0b6b3a7640000858302858503600a0a025b0490506120a9565b6012838503111561208d57600080fd5b828403600a0a670de0b6b3a76400000282860281151561207557fe5b949350505050565b815481835581811511610d1257600083815260209020610d129181019083016120e7565b60206040519081016040526000815290565b61065b91905b8082111561210157600081556001016120ed565b50905600a165627a7a72305820a8a951aedbda2df196a0bb9d524e23e711d55ab3d535df2fcf5387c14336ebcb00290000000000000000000000009cb7bb6d4795a281860b9bfb7b1441361cc9a79400000000000000000000000051e4a47de095fa71479445ae3e3381262b0395f7000000000000000000000000c8c6759f75b0a9ff4cb066dcefbd248740672704
Deployed Bytecode
0x6060604052600436106101655763ffffffff60e060020a60003504166299d38681146101bf57806301a12fd3146101e65780631bc7bfec14610207578063267822471461022c57806327a099d81461025b5780633ccdbb28146102c1578063408ee7fe146102ea57806347e6924f14610309578063546dc71c1461031c57806369328dec146103465780636940030f1461036f5780636cf698111461038257806375829def146103ae57806377f50f97146103cd5780637acc8678146103e05780637c423f54146103ff5780637cd44272146104125780639870d7fe1461044f578063a7fca9531461046e578063a80cbac614610499578063ac8a584a146104b8578063b3066d49146104d7578063b78b842d14610502578063ce56c45414610515578063d5847d3314610537578063d621e8131461054a578063d7b7024d1461055d578063f851a44014610573578063f8b2cb4f14610586578063fa64dffa146105a5575b7f2d0c0a8842b9944ece1495eb61121621b5e36bd6af3bba0318c695f525aef79f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee34604051600160a060020a03909216825260208201526040908101905180910390a1005b34156101ca57600080fd5b6101d26105d0565b604051901515815260200160405180910390f35b34156101f157600080fd5b610205600160a060020a036004351661065e565b005b341561021257600080fd5b610205600160a060020a03600435811690602435166107db565b341561023757600080fd5b61023f610894565b604051600160a060020a03909116815260200160405180910390f35b341561026657600080fd5b61026e6108a3565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156102ad578082015183820152602001610295565b505050509050019250505060405180910390f35b34156102cc57600080fd5b610205600160a060020a03600435811690602435906044351661090b565b34156102f557600080fd5b610205600160a060020a0360043516610a02565b341561031457600080fd5b61023f610b0b565b341561032757600080fd5b610205600160a060020a03600435811690602435166044351515610b1a565b341561035157600080fd5b6101d2600160a060020a036004358116906024359060443516610d17565b341561037a57600080fd5b6101d2610ef6565b6101d2600160a060020a03600435811690602435906044358116906064351660843560a4351515610f77565b34156103b957600080fd5b610205600160a060020a0360043516610fe4565b34156103d857600080fd5b61020561108c565b34156103eb57600080fd5b610205600160a060020a0360043516611133565b341561040a57600080fd5b61026e611222565b341561041d57600080fd5b61043d600160a060020a0360043581169060243516604435606435611288565b60405190815260200160405180910390f35b341561045a57600080fd5b610205600160a060020a036004351661147f565b341561047957600080fd5b61043d600160a060020a036004358116906024351660443560643561154f565b34156104a457600080fd5b61023f600160a060020a0360043516611581565b34156104c357600080fd5b610205600160a060020a036004351661159c565b34156104e257600080fd5b610205600160a060020a0360043581169060243581169060443516611715565b341561050d57600080fd5b61023f611806565b341561052057600080fd5b610205600435600160a060020a0360243516611815565b341561054257600080fd5b61023f6118a8565b341561055557600080fd5b6101d26118b7565b341561056857600080fd5b6101d26004356118d8565b341561057e57600080fd5b61023f6118ed565b341561059157600080fd5b61043d600160a060020a03600435166118fc565b34156105b057600080fd5b61043d600160a060020a0360043581169060243516604435606435611a56565b6000805433600160a060020a039081169116146105ec57600080fd5b6007805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356001604051901515815260200160405180910390a15060015b90565b6000805433600160a060020a0390811691161461067a57600080fd5b600160a060020a03821660009081526003602052604090205460ff1615156106a157600080fd5b50600160a060020a0381166000908152600360205260408120805460ff191690555b6005548110156107d75781600160a060020a03166005828154811015156106e657fe5b600091825260209091200154600160a060020a031614156107cf5760058054600019810190811061071357fe5b60009182526020909120015460058054600160a060020a03909216918390811061073957fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560058054906107829060001983016120b1565b507f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762826000604051600160a060020a039092168252151560208201526040908101905180910390a16107d7565b6001016106c3565b5050565b60005433600160a060020a039081169116146107f657600080fd5b600160a060020a038116151561080b57600080fd5b600160a060020a038281166000908152600b602052604090819020805473ffffffffffffffffffffffffffffffffffffffff1916928416929092179091557f81995c7b922889ac0a81e41866106d4046268ea3a9abaae9f9e080a6ce36ee7d908390839051600160a060020a039283168152911660208201526040908101905180910390a15050565b600154600160a060020a031681565b6108ab6120d5565b600480548060200260200160405190810160405280929190818152602001828054801561090157602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116108e3575b5050505050905090565b60005433600160a060020a0390811691161461092657600080fd5b82600160a060020a031663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561098357600080fd5b6102c65a03f1151561099457600080fd5b5050506040518051905015156109a957600080fd5b7f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e6838383604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a03908116911614610a1d57600080fd5b600160a060020a03811660009081526003602052604090205460ff1615610a4357600080fd5b60055460329010610a5357600080fd5b7f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600360205260409020805460ff191660019081179091556005805490918101610ad283826120b1565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600954600160a060020a031681565b60005433600160a060020a03908116911614610b3557600080fd5b80600a600085856040516c01000000000000000000000000600160a060020a039384168102825291909216026014820152602801604051908190039020815260208101919091526040908101600020805460ff1916921515929092179091557fd5fd5351efae1f4bb760079da9f0ff9589e2c3e216337ca9d39cdff573b245c49084908490849051600160a060020a0393841681529190921660208201529015156040808301919091526060909101905180910390a1610bf483611a7d565b600160a060020a038381166000908152600b602052604090205416158015610c395750600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14155b15610d1257600160a060020a038381166000818152600b6020526040808220805473ffffffffffffffffffffffffffffffffffffffff191630958616179055919263095ea7b39290917f800000000000000000000000000000000000000000000000000000000000000091516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610cec57600080fd5b6102c65a03f11515610cfd57600080fd5b505050604051805190501515610d1257600080fd5b505050565b600160a060020a03331660009081526002602052604081205460ff161515610d3e57600080fd5b600a600085846040516c01000000000000000000000000600160a060020a039384168102825291909216026014820152602801604051908190039020815260208101919091526040016000205460ff161515610d9957600080fd5b600160a060020a03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610df457600160a060020a03821683156108fc0284604051600060405180830381858888f193505050501515610def57600080fd5b610e98565b600160a060020a038085166000818152600b60205260408082205492936323b872dd9316918691889190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610e7257600080fd5b6102c65a03f11515610e8357600080fd5b505050604051805190501515610e9857600080fd5b7fb67719fc33c1f17d31bf3a698690d62066b1e0bae28fcd3c56cf2c015c2863d6848484604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a15060019392505050565b600160a060020a03331660009081526003602052604081205460ff161515610f1d57600080fd5b6007805474ff0000000000000000000000000000000000000000191690557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356000604051901515815260200160405180910390a150600190565b60075460009074010000000000000000000000000000000000000000900460ff161515610fa357600080fd5b60075433600160a060020a03908116911614610fbe57600080fd5b610fcc878787878787611b40565b1515610fd757600080fd5b5060019695505050505050565b60005433600160a060020a03908116911614610fff57600080fd5b600160a060020a038116151561101457600080fd5b6001547f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4090600160a060020a0316604051600160a060020a03909116815260200160405180910390a16001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015433600160a060020a039081169116146110a757600080fd5b6001546000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60005433600160a060020a0390811691161461114e57600080fd5b600160a060020a038116151561116357600080fd5b7f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4081604051600160a060020a03909116815260200160405180910390a16000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed908290600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a16000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b61122a6120d5565b600580548060200260200160405190810160405280929190818152602001828054801561090157602002820191906000526020600020908154600160a060020a031681526001909101906020018083116108e3575050505050905090565b600080600080600080600760149054906101000a900460ff1615156112b05760009550611472565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a038b1614156112e1576001935088945061131b565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600160a060020a038a161415611312576000935089945061131b565b60009550611472565b600854600160a060020a031663b8e9c22e8689878c60006040516020015260405160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840192909252151560448301526064820152608401602060405180830381600087803b151561138b57600080fd5b6102c65a03f1151561139c57600080fd5b5050506040518051905092506113b48a8a8a86611a56565b9150816113c08a6118fc565b10156113cf5760009550611472565b600954600160a060020a03161561146e57600954600160a060020a031663a58092b78b8b60006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561144157600080fd5b6102c65a03f1151561145257600080fd5b50505060405180519150508083111561146e5760009550611472565b8295505b5050505050949350505050565b60005433600160a060020a0390811691161461149a57600080fd5b600160a060020a03811660009081526002602052604090205460ff16156114c057600080fd5b600454603290106114d057600080fd5b7f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600260205260409020805460ff191660019081179091556004805490918101610ad283826120b1565b600080600061155d86611ead565b915061156887611ead565b905061157685828487611f71565b979650505050505050565b600b60205260009081526040902054600160a060020a031681565b6000805433600160a060020a039081169116146115b857600080fd5b600160a060020a03821660009081526002602052604090205460ff1615156115df57600080fd5b50600160a060020a0381166000908152600260205260408120805460ff191690555b6004548110156107d75781600160a060020a031660048281548110151561162457fe5b600091825260209091200154600160a060020a0316141561170d5760048054600019810190811061165157fe5b60009182526020909120015460048054600160a060020a03909216918390811061167757fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556004805460001901906116c090826120b1565b507f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b826000604051600160a060020a039092168252151560208201526040908101905180910390a16107d7565b600101611601565b60005433600160a060020a0390811691161461173057600080fd5b600160a060020a038316151561174557600080fd5b600160a060020a038216151561175a57600080fd5b60078054600160a060020a0380861673ffffffffffffffffffffffffffffffffffffffff19928316179283905560088054868316908416179081905560098054868416941693909317928390557f7a85322644a4462d8ff5482d2a841a4d231f8cfb3c9f4a50f66f8b2bd568c31c938216929082169116604051600160a060020a03938416815291831660208301529091166040808301919091526060909101905180910390a1505050565b600754600160a060020a031681565b60005433600160a060020a0390811691161461183057600080fd5b600160a060020a03811682156108fc0283604051600060405180830381858888f19350505050151561186157600080fd5b7fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de8282604051918252600160a060020a031660208201526040908101905180910390a15050565b600854600160a060020a031681565b60075474010000000000000000000000000000000000000000900460ff1681565b600a6020526000908152604090205460ff1681565b600054600160a060020a031681565b6000808080600160a060020a03851673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156119385730600160a060020a0316319350611a4e565b600160a060020a038086166000818152600b602052604080822054909316955090916370a08231918691516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156119a557600080fd5b6102c65a03f115156119b657600080fd5b5050506040518051925050600160a060020a03851663dd62ed3e843060006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515611a2057600080fd5b6102c65a03f11515611a3157600080fd5b5050506040518051915050808210611a495780611a4b565b815b93505b505050919050565b6000806000611a6486611ead565b9150611a6f87611ead565b905061157685828487612018565b600160a060020a03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611ac357600160a060020a038116600090815260066020526040902060129055611b3d565b80600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611b0957600080fd5b6102c65a03f11515611b1a57600080fd5b5050506040518051600160a060020a038316600090815260066020526040902055505b50565b6000806000808415611b9a5760008611611b5957600080fd5b600160a060020a038a1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611b8f57348914611b8a57600080fd5b611b9a565b3415611b9a57600080fd5b611ba68a898b89611a56565b925060008311611bb557600080fd5b600160a060020a038a1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611be4575086905081611bee565b5088905060001988025b600854600160a060020a031663c6fd2103838360004360405160e060020a63ffffffff8716028152600160a060020a039094166004850152602484019290925260448301526064820152608401600060405180830381600087803b1515611c5457600080fd5b6102c65a03f11515611c6557600080fd5b505050600160a060020a038a1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14611d3157600160a060020a03808b166000818152600b60205260408082205492936323b872dd9333939116918e9190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611d0b57600080fd5b6102c65a03f11515611d1c57600080fd5b505050604051805190501515611d3157600080fd5b600160a060020a03881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611d8c57600160a060020a03871683156108fc0284604051600060405180830381858888f193505050501515611d8757600080fd5b611e30565b600160a060020a038089166000818152600b60205260408082205492936323b872dd9316918b91889190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611e0a57600080fd5b6102c65a03f11515611e1b57600080fd5b505050604051805190501515611e3057600080fd5b33600160a060020a03167fea9415385bae08fe9f6dc457b02577166790cde83bb18cc340aac6cb81b824de8b8b8b878c604051600160a060020a039586168152602081019490945291841660408085019190915260608401919091529216608082015260a001905180910390a25060019998505050505050505050565b600080600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611ede5760129150611f6b565b50600160a060020a038216600090815260066020526040902054801515611f675782600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611f4557600080fd5b6102c65a03f11515611f5657600080fd5b505050604051805190509150611f6b565b8091505b50919050565b600080806b204fce5e3e25026110000000871115611f8e57600080fd5b69d3c21bcecceda1000000841115611fa557600080fd5b848610611fd65760128587031115611fbc57600080fd5b5050828403600a0a8502670de0b6b3a76400000282611ffc565b60128686031115611fe657600080fd5b5050670de0b6b3a76400008502848403600a0a83025b8060018284010381151561200c57fe5b04979650505050505050565b60006b204fce5e3e2502611000000085111561203357600080fd5b69d3c21bcecceda100000082111561204a57600080fd5b83831061207d576012848403111561206157600080fd5b670de0b6b3a7640000858302858503600a0a025b0490506120a9565b6012838503111561208d57600080fd5b828403600a0a670de0b6b3a76400000282860281151561207557fe5b949350505050565b815481835581811511610d1257600083815260209020610d129181019083016120e7565b60206040519081016040526000815290565b61065b91905b8082111561210157600081556001016120ed565b50905600a165627a7a72305820a8a951aedbda2df196a0bb9d524e23e711d55ab3d535df2fcf5387c14336ebcb0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009cb7bb6d4795a281860b9bfb7b1441361cc9a79400000000000000000000000051e4a47de095fa71479445ae3e3381262b0395f7000000000000000000000000c8c6759f75b0a9ff4cb066dcefbd248740672704
-----Decoded View---------------
Arg [0] : _kyberNetwork (address): 0x9CB7bB6D4795A281860b9Bfb7B1441361Cc9A794
Arg [1] : _ratesContract (address): 0x51e4a47dE095Fa71479445Ae3E3381262B0395f7
Arg [2] : _admin (address): 0xC8C6759f75b0A9ff4cb066dCEfBD248740672704
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000009cb7bb6d4795a281860b9bfb7b1441361cc9a794
Arg [1] : 00000000000000000000000051e4a47de095fa71479445ae3e3381262b0395f7
Arg [2] : 000000000000000000000000c8c6759f75b0a9ff4cb066dcefbd248740672704
Deployed Bytecode Sourcemap
9609:8114:0:-;;;;;;;;;-1:-1:-1;;;9609:8114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10506:42;966:44;10538:9;10506:42;;-1:-1:-1;;;;;10506:42:0;;;;;;;;;;;;;;;;;;;;9609:8114;11263:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5997:463;;;;;;;;;;-1:-1:-1;;;;;5997:463:0;;;;;;;12177:198;;;;;;;;;;-1:-1:-1;;;;;12177:198:0;;;;;;;;;;3621:27;;;;;;;;;;;;;;;-1:-1:-1;;;;;3621:27:0;;;;;;;;;;;;;;4232:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;7903:189:0;;;;;;;;;;-1:-1:-1;;;;;7903:189:0;;;;;;;;;;;;;5681:308;;;;;;;;;;-1:-1:-1;;;;;5681:308:0;;;;;9813:47;;;;;;;;;;;;11653:458;;;;;;;;;;-1:-1:-1;;;;;11653:458:0;;;;;;;;;;;;;;12458:461;;;;;;;;;;-1:-1:-1;;;;;12458:461:0;;;;;;;;;;;;;11416:150;;;;;;;;;;;;10762:453;;-1:-1:-1;;;;;10762:453:0;;;;;;;;;;;;;;;;;;;;;;;;4650:187;;;;;;;;;;-1:-1:-1;;;;;4650:187:0;;;;;5419:194;;;;;;;;;;;;5018:223;;;;;;;;;;-1:-1:-1;;;;;5018:223:0;;;;;4338:96;;;;;;;;;;;;14796:888;;;;;;;;;;-1:-1:-1;;;;;14796:888:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6529:319;;;;;;;;;;-1:-1:-1;;;;;6529:319:0;;;;;14525:263;;;;;;;;;;-1:-1:-1;;;;;14525:263:0;;;;;;;;;;;;;;9958:44;;;;;;;;;;-1:-1:-1;;;;;9958:44:0;;;;;6856:481;;;;;;;;;;-1:-1:-1;;;;;6856:481:0;;;;;13009:534;;;;;;;;;;-1:-1:-1;;;;;13009:534:0;;;;;;;;;;;;;;;9686:27;;;;;;;;;;;;8204:153;;;;;;;;;;;;-1:-1:-1;;;;;8204:153:0;;;;;9751:55;;;;;;;;;;;;9720:24;;;;;;;;;;;;9867:55;;;;;;;;;;;;;;3594:20;;;;;;;;;;;;13797:448;;;;;;;;;;-1:-1:-1;;;;;13797:448:0;;;;;14253:264;;;;;;;;;;-1:-1:-1;;;;;14253:264:0;;;;;;;;;;;;;;11263:145;11311:4;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;11328:12;:19;;-1:-1:-1;;11328:19:0;;;;;11358:18;11343:4;11358:18;;;;;;;;;;;;;;;;-1:-1:-1;11396:4:0;4031:1;11263:145;:::o;5997:463::-;6146:6;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;-1:-1:-1;;;;;6074:17:0;;;;;;:8;:17;;;;;;;;6066:26;;;;;;;;-1:-1:-1;;;;;;6103:17:0;;6123:5;6103:17;;;:8;:17;;;;;:25;;-1:-1:-1;;6103:25:0;;;6141:312;6162:13;:20;6158:24;;6141:312;;;6228:7;-1:-1:-1;;;;;6208:27:0;:13;6222:1;6208:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6208:16:0;:27;6204:238;;;6275:13;6289:20;;-1:-1:-1;;6289:24:0;;;6275:39;;;;;;;;;;;;;;;;6256:13;:16;;-1:-1:-1;;;;;6275:39:0;;;;6270:1;;6256:16;;;;;;;;;;;;;;;:58;;-1:-1:-1;;6256:58:0;-1:-1:-1;;;;;6256:58:0;;;;;;;;;;6333:13;:22;;;;;-1:-1:-1;;6333:22:0;;;:::i;:::-;;6374:28;6387:7;6396:5;6374:28;;-1:-1:-1;;;;;6374:28:0;;;;;;;;;;;;;;;;;;;;;;6421:5;;6204:238;6184:3;;6141:312;;;5997:463;;:::o;12177:198::-;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;-1:-1:-1;;;;;12266:22:0;;;;12258:31;;;;;;-1:-1:-1;;;;;12300:18:0;;;;;;;:11;:18;;;;;;;:27;;-1:-1:-1;;12300:27:0;;;;;;;;;;;12338:29;;12300:18;;:27;;12338:29;-1:-1:-1;;;;;12338:29:0;;;;;;;;;;;;;;;;;;;;;;12177:198;;:::o;3621:27::-;;;-1:-1:-1;;;;;3621:27:0;;:::o;4232:98::-;4279:9;;:::i;:::-;4308:14;4301:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4301:21:0;;;;;;;;;;;;;;;;;;;;;;;4232:98;:::o;7903:189::-;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;8006:5;-1:-1:-1;;;;;8006:14:0;;8021:6;8029;8006:30;;;;;;;;-1:-1:-1;;;8006:30:0;;;;;;-1:-1:-1;;;;;8006:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7998:39;;;;;;;;8048:36;8062:5;8069:6;8077;8048:36;;-1:-1:-1;;;;;8048:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7903:189;;;:::o;5681:308::-;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;-1:-1:-1;;;;;5758:20:0;;;;;;:8;:20;;;;;;;;5757:21;5749:30;;;;;;5821:13;:20;3869:2;5821:37;;5813:46;;;;;;5872:30;5885:10;5897:4;5872:30;;-1:-1:-1;;;;;5872:30:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5913:20:0;;;;;;:8;:20;;;;;:27;;-1:-1:-1;;5913:27:0;5936:4;5913:27;;;;;;5951:13;:30;;:13;;:30;;;:13;:30;;:::i;:::-;-1:-1:-1;5951:30:0;;;;;;;;;;;-1:-1:-1;;5951:30:0;-1:-1:-1;;;;;5951:30:0;;;;;;;;;;5681:308::o;9813:47::-;;;-1:-1:-1;;;;;9813:47:0;;:::o;11653:458::-;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;11806:7;11754:25;:49;11790:5;11797:4;11780:22;;;-1:-1:-1;;;;;11780:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;11754:49;;;;;;;;;;;;;-1:-1:-1;11754:49:0;:59;;-1:-1:-1;;11754:59:0;;;;;;;;;;;11824:45;;11848:5;;11855:4;;11861:7;;11824:45;-1:-1:-1;;;;;11824:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11882:18;11894:5;11882:11;:18::i;:::-;-1:-1:-1;;;;;11916:18:0;;;11946:3;11916:18;;;:11;:18;;;;;;;:34;11915:68;;;;-1:-1:-1;;;;;;11956:26:0;;966:44;11956:26;;11915:68;11911:193;;;-1:-1:-1;;;;;12000:18:0;;;;;;;:11;:18;;;;;;:25;;-1:-1:-1;;12000:25:0;12021:4;12000:25;;;;;;:18;;12062:13;;12021:4;;12082:8;;12062:29;;;;;;-1:-1:-1;;;12062:29:0;;;;;;-1:-1:-1;;;;;12062:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12054:38;;;;;;;;11653:458;;;:::o;12458:461::-;-1:-1:-1;;;;;4101:10:0;4091:21;12551:4;4091:21;;;:9;:21;;;;;;;;4083:30;;;;;;;;12576:25;:56;12612:5;12619:11;12602:29;;;-1:-1:-1;;;;;12602:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;12576:56;;;;;;;;;;;;;;;;12568:65;;;;;;;;-1:-1:-1;;;;;12650:26:0;;966:44;12650:26;12646:188;;;-1:-1:-1;;;;;12693:20:0;;:28;;;;12714:6;12693:28;;;;;;;;;;;;;;;;;;;;;;;;;;12646:188;;;-1:-1:-1;;;;;12762:18:0;;;12781;;;;:11;:18;;;;;;;12762;;;;12781;;12801:11;;12814:6;;12781:18;12762:59;;;;;;-1:-1:-1;;;12762:59:0;;;;;;-1:-1:-1;;;;;12762:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12754:68;;;;;;;;12846:41;12860:5;12867:6;12875:11;12846:41;;-1:-1:-1;;;;;12846:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12907:4:0;12458:461;;;;;:::o;11416:150::-;-1:-1:-1;;;;;4192:10:0;4183:20;11467:4;4183:20;;;:8;:20;;;;;;;;4175:29;;;;;;;;11484:12;:20;;-1:-1:-1;;11484:20:0;;;11515:19;11499:5;11515:19;;;;;;;;;;;;;;;;-1:-1:-1;11554:4:0;11416:150;:::o;10762:453::-;11024:12;;10994:4;;11024:12;;;;;11016:21;;;;;;;;11070:12;;11056:10;-1:-1:-1;;;;;11056:26:0;;;11070:12;;11056:26;11048:35;;;;;;11104:78;11112:8;11122:9;11133;11144:11;11157:14;11173:8;11104:7;:78::i;:::-;11096:87;;;;;;;;-1:-1:-1;11203:4:0;10762:453;;;;;;;;:::o;4650:187::-;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;-1:-1:-1;;;;;4727:22:0;;;;4719:31;;;;;;4782:12;;4761:34;;-1:-1:-1;;;;;4782:12:0;4761:34;;-1:-1:-1;;;;;4761:34:0;;;;;;;;;;;;;;4806:12;:23;;-1:-1:-1;;4806:23:0;-1:-1:-1;;;;;4806:23:0;;;;;;;;;;4650:187::o;5419:194::-;5467:12;;5483:10;-1:-1:-1;;;;;5467:26:0;;;:12;;:26;5459:35;;;;;;5518:12;;;5532:5;5505:33;;-1:-1:-1;;;;;5518:12:0;;;;5532:5;5505:33;;-1:-1:-1;;;;;5505:33:0;;;;;;;;;;;;;;;;;;;;;;5557:12;;;;5549:20;;-1:-1:-1;;5549:20:0;;;-1:-1:-1;;;;;5557:12:0;;5549:20;;;;5580:25;;;5419:194::o;5018:223::-;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;-1:-1:-1;;;;;5102:22:0;;;;5094:31;;;;;;5136:30;5157:8;5136:30;;-1:-1:-1;;;;;5136:30:0;;;;;;;;;;;;;;5200:5;;5177:29;;5190:8;;-1:-1:-1;;;;;5200:5:0;5177:29;;-1:-1:-1;;;;;5177:29:0;;;;;;;;;;;;;;;;;;;;;;5217:5;:16;;-1:-1:-1;;5217:16:0;-1:-1:-1;;;;;5217:16:0;;;;;;;;;;5018:223::o;4338:96::-;4384:9;;:::i;:::-;4413:13;4406:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4406:20:0;;;;;;;;;;;;;;;;;;;;;;4338:96;:::o;14796:888::-;14897:4;14914:11;14936;15274:9;15363:12;15533:15;14965:12;;;;;;;;;;;14964:13;14960:27;;;14986:1;14979:8;;;;14960:27;966:44;-1:-1:-1;;;;;15004:24:0;;;15000:262;;;15053:4;15045:12;;15080:4;15072:12;;15000:262;;;966:44;-1:-1:-1;;;;;15106:25:0;;;15102:160;;;15156:5;15148:13;;15184:3;15176:11;;15102:160;;;15227:1;15220:8;;;;15102:160;15286:23;;-1:-1:-1;;;;;15286:23:0;:31;15318:5;15325:11;15338:5;15345:6;15286:23;:66;;;;;;;-1:-1:-1;;;15286:66:0;;;;;;-1:-1:-1;;;;;15286:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15274:78;;15378:35;15389:3;15394:4;15400:6;15408:4;15378:10;:35::i;:::-;15363:50;;15449:7;15430:16;15441:4;15430:10;:16::i;:::-;:26;15426:40;;;15465:1;15458:8;;;;15426:40;15483:19;;-1:-1:-1;;;;;15483:19:0;:33;15479:174;;15551:19;;-1:-1:-1;;;;;15551:19:0;:33;15585:3;15590:4;15551:19;:44;;;;;;;-1:-1:-1;;;15551:44:0;;;;;;-1:-1:-1;;;;;15551:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15614:17:0;;;15610:31;;;15640:1;15633:8;;;;15610:31;15672:4;15665:11;;14796:888;;;;;;;;;;;;:::o;6529:319::-;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;-1:-1:-1;;;;;6608:22:0;;;;;;:9;:22;;;;;;;;6607:23;6599:32;;;;;;6673:14;:21;3869:2;6673:38;;6665:47;;;;;;6725:32;6739:11;6752:4;6725:32;;-1:-1:-1;;;;;6725:32:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6768:22:0;;;;;;:9;:22;;;;;:29;;-1:-1:-1;;6768:29:0;6793:4;6768:29;;;;;;6808:14;:32;;:14;;:32;;;:14;:32;;:::i;14525:263::-;14611:4;14628:16;14675;14647:17;14659:4;14647:11;:17::i;:::-;14628:36;;14694:16;14706:3;14694:11;:16::i;:::-;14675:35;;14730:50;14741:6;14749:11;14762;14775:4;14730:10;:50::i;:::-;14723:57;14525:263;-1:-1:-1;;;;;;;14525:263:0:o;9958:44::-;;;;;;;;;;;;-1:-1:-1;;;;;9958:44:0;;:::o;6856:481::-;7011:6;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;-1:-1:-1;;;;;6935:19:0;;;;;;:9;:19;;;;;;;;6927:28;;;;;;;;-1:-1:-1;;;;;;6966:19:0;;6988:5;6966:19;;;:9;:19;;;;;:27;;-1:-1:-1;;6966:27:0;;;7006:324;7027:14;:21;7023:25;;7006:324;;;7095:8;-1:-1:-1;;;;;7074:29:0;:14;7089:1;7074:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7074:17:0;:29;7070:249;;;7144:14;7159:21;;-1:-1:-1;;7159:25:0;;;7144:41;;;;;;;;;;;;;;;;7124:14;:17;;-1:-1:-1;;;;;7144:41:0;;;;7139:1;;7124:17;;;;;;;;;;;;;;;:61;;-1:-1:-1;;7124:61:0;-1:-1:-1;;;;;7124:61:0;;;;;;;;;;7204:14;:26;;-1:-1:-1;;7204:26:0;;;;;;:::i;:::-;;7249:30;7263:8;7273:5;7249:30;;-1:-1:-1;;;;;7249:30:0;;;;;;;;;;;;;;;;;;;;;;7298:5;;7070:249;7050:3;;7006:324;;13009:534;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;-1:-1:-1;;;;;13225:27:0;;;;13217:36;;;;;;-1:-1:-1;;;;;13272:30:0;;;;13264:39;;;;;;13316:12;:28;;-1:-1:-1;;;;;13316:28:0;;;-1:-1:-1;;13316:28:0;;;;;;;;13355:23;:42;;;;;;;;;;;;;13408:19;:34;;;;;;;;;;;;;;;13455:80;;13476:12;;;13490:23;;;;13515:19;13455:80;;-1:-1:-1;;;;;13455:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13009:534;;;:::o;9686:27::-;;;-1:-1:-1;;;;;9686:27:0;;:::o;8204:153::-;4014:5;;4000:10;-1:-1:-1;;;;;4000:19:0;;;4014:5;;4000:19;3992:28;;;;;;-1:-1:-1;;;;;8286:15:0;;:23;;;;8302:6;8286:23;;;;;;;;;;;;;;;;;;;;;;;;;;8320:29;8334:6;8342;8320:29;;;;;-1:-1:-1;;;;;8320:29:0;;;;;;;;;;;;;;;;8204:153;;:::o;9751:55::-;;;-1:-1:-1;;;;;9751:55:0;;:::o;9720:24::-;;;;;;;;;:::o;9867:55::-;;;;;;;;;;;;;;;:::o;3594:20::-;;;-1:-1:-1;;;;;3594:20:0;;:::o;13797:448::-;13850:4;;;;-1:-1:-1;;;;;13871:26:0;;966:44;13871:26;13867:371;;;13919:4;-1:-1:-1;;;;;13919:12:0;;13912:19;;;;13867:371;-1:-1:-1;;;;;13979:18:0;;;;;;;:11;:18;;;;;;;;;;;-1:-1:-1;13979:18:0;;14035:15;;13979:18;;14035:23;;;;;;-1:-1:-1;;;14035:23:0;;;;;;-1:-1:-1;;;;;14035:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;14098:15:0;;;14114:6;14122:4;14098:29;;;;;;;;-1:-1:-1;;;14098:29:0;;;;;;-1:-1:-1;;;;;14098:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14152:35:0;;;14151:75;;14209:17;14151:75;;;14191:15;14151:75;14144:82;;13867:371;13797:448;;;;;;:::o;14253:264::-;14340:4;14357:16;14404;14376:17;14388:4;14376:11;:17::i;:::-;14357:36;;14423:16;14435:3;14423:11;:16::i;:::-;14404:35;;14459:50;14470:6;14478:11;14491;14504:4;14459:10;:50::i;1368:174::-;-1:-1:-1;;;;;1426:26:0;;966:44;1426:26;1422:112;;;-1:-1:-1;;;;;1454:15:0;;;;;;:8;:15;;;;;1310:2;1454:30;;1422:112;;;1518:5;-1:-1:-1;;;;;1518:14:0;;:16;;;;;;;;;;;-1:-1:-1;;;1518:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1500:15:0;;;;;;:8;:15;;;;;:34;-1:-1:-1;1422:112:0;1368:174;:::o;16026:1694::-;16245:4;16568:15;16745:11;16767:15;16334:8;16330:226;;;16384:1;16367:18;;16359:27;;;;;;-1:-1:-1;;;;;16405:29:0;;966:44;16405:29;16401:143;;;16461:9;:22;;16453:31;;;;;;16401:143;;;16529:9;:14;16521:23;;;;;;16586:58;16597:8;16607:9;16618;16629:14;16586:10;:58::i;:::-;16568:76;-1:-1:-1;16701:1:0;16688:14;;16680:23;;;;;;-1:-1:-1;;;;;16797:29:0;;966:44;16797:29;16793:220;;;-1:-1:-1;16895:9:0;;-1:-1:-1;16861:10:0;16793:220;;;-1:-1:-1;16993:8:0;;-1:-1:-1;;;16951:19:0;;16793:220;17025:23;;-1:-1:-1;;;;;17025:23:0;:39;17079:5;17099:11;17025:23;17141:12;17025:139;;-1:-1:-1;;;17025:139:0;;;;;;-1:-1:-1;;;;;17025:139:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17025:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;17212:29:0;;966:44;17212:29;17208:138;;-1:-1:-1;;;;;17266:21:0;;;17300;;;;:11;:21;;;;;;;17266;;;;17288:10;;17300:21;;;17323:9;;17300:21;17266:67;;;;;;-1:-1:-1;;;17266:67:0;;;;;;-1:-1:-1;;;;;17266:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17258:76;;;;;;;;-1:-1:-1;;;;;17391:30:0;;966:44;17391:30;17387:208;;;-1:-1:-1;;;;;17438:20:0;;:32;;;;17459:10;17438:32;;;;;;;;;;;;;;;;;;;;;;;;;;17387:208;;;-1:-1:-1;;;;;17511:22:0;;;17534;;;;:11;:22;;;;;;;17511;;;;17534;;17558:11;;17571:10;;17534:22;17511:71;;;;;;-1:-1:-1;;;17511:71:0;;;;;;-1:-1:-1;;;;;17511:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17503:80;;;;;;;;17620:10;-1:-1:-1;;;;;17607:81:0;;17632:8;17642:9;17653;17664:10;17676:11;17607:81;;-1:-1:-1;;;;;17607:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17708:4:0;;16026:1694;-1:-1:-1;;;;;;;;;16026:1694:0:o;1550:479::-;1606:4;;-1:-1:-1;;;;;1627:26:0;;966:44;1627:26;1623:51;;;1310:2;1655:19;;;;1623:51;-1:-1:-1;;;;;;1729:15:0;;;;;;:8;:15;;;;;;1945:18;;1942:46;;;1972:5;-1:-1:-1;;;;;1972:14:0;;:16;;;;;;;;;;;-1:-1:-1;;;1972:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1965:23;;;;1942:46;2008:13;2001:20;;1550:479;;;;;:::o;2614:861::-;2716:4;;;1106:6;2741:17;;;2733:26;;;;;;1171:17;2778:16;;;2770:25;;;;;;2952:26;;;2948:430;;1262:2;3004:25;;;3003:43;;2995:52;;;;;;-1:-1:-1;;3102:25:0;;;3097:2;:31;3075:54;;1055:6;3075:54;3159:4;2948:430;;;1262:2;3205:25;;;3204:43;;3196:52;;;;;;-1:-1:-1;;1055:6:0;3276:18;;3338:25;;;3333:2;:31;3325:40;;2948:430;3427:11;3422:1;3408:11;3396:9;:23;:27;3395:43;;;;;;;;;2614:861;-1:-1:-1;;;;;;;2614:861:0:o;2037:569::-;2139:4;1106:6;2164:17;;;2156:26;;;;;;1171:17;2201:16;;;2193:25;;;;;;2235:26;;;2231:368;;1262:2;2287:25;;;2286:43;;2278:52;;;;;;1055:6;2353:13;;;2375:25;;;2370:2;:31;2353:49;2352:63;;2345:70;;;;2231:368;1262:2;2457:25;;;2456:43;;2448:52;;;;;;2573:11;2559;:25;2554:2;:31;1055:6;2541:45;2532:4;2523:6;:13;2522:65;;;;;;2231:368;2037:569;;;;;;:::o;9609:8114::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://a8a951aedbda2df196a0bb9d524e23e711d55ab3d535df2fcf5387c14336ebcb
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.003619 | 1,000 | $3.62 |
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.