Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
BoringCryptoTokenScan
Compiler Version
v0.6.12+commit.27d51765
Optimization Enabled:
Yes with 5000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.6.12; pragma experimental ABIEncoderV2; interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint256); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function owner() external view returns (address); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IShibaSwapPoolNames { function logos(uint256) external view returns(string memory); function names(uint256) external view returns(string memory); function setPoolInfo(uint256 pid, string memory logo, string memory name) external; } interface IBoneToken is IERC20{ function delegates(address who) external view returns(address); function getCurrentVotes(address who) external view returns(uint256); function nonces(address who) external view returns(uint256); } interface ITopDog { function BONUS_MULTIPLIER() external view returns (uint256); function bonusEndBlock() external view returns (uint256); function devaddr() external view returns (address); function migrator() external view returns (address); function owner() external view returns (address); function startBlock() external view returns (uint256); function bone() external view returns (address); function bonePerBlock() external view returns (uint256); function totalAllocPoint() external view returns (uint256); function poolLength() external view returns (uint256); function poolInfo(uint256 nr) external view returns (address, uint256, uint256, uint256); function userInfo(uint256 nr, address who) external view returns (uint256, uint256); function pendingBone(uint256 nr, address who) external view returns (uint256); } interface IFactory { function allPairsLength() external view returns (uint256); function allPairs(uint256 i) external view returns (address); function getPair(address token0, address token1) external view returns (address); function feeTo() external view returns (address); function feeToSetter() external view returns (address); } interface IPair is IERC20 { function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112, uint112, uint32); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0); uint256 c = a / b; return c; } } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () internal { address msgSender = msg.sender; owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } modifier onlyOwner() { require(owner == msg.sender, "Ownable: caller is not the owner"); _; } } contract BoringCryptoTokenScan { using SafeMath for uint256; struct Balance { address token; uint256 balance; } struct BalanceFull { address token; uint256 balance; uint256 rate; } struct TokenInfo { address token; uint256 decimals; string name; string symbol; } function getTokenInfo(address[] calldata addresses) public view returns(TokenInfo[] memory) { TokenInfo[] memory infos = new TokenInfo[](addresses.length); for (uint256 i = 0; i < addresses.length; i++) { IERC20 token = IERC20(addresses[i]); infos[i].token = address(token); infos[i].name = token.name(); infos[i].symbol = token.symbol(); infos[i].decimals = token.decimals(); } return infos; } function findBalances(address who, address[] calldata addresses) public view returns(Balance[] memory) { uint256 balanceCount; for (uint256 i = 0; i < addresses.length; i++) { if (IERC20(addresses[i]).balanceOf(who) > 0) { balanceCount++; } } Balance[] memory balances = new Balance[](balanceCount); balanceCount = 0; for (uint256 i = 0; i < addresses.length; i++) { IERC20 token = IERC20(addresses[i]); uint256 balance = token.balanceOf(who); if (balance > 0) { balances[balanceCount].token = address(token); balances[balanceCount].balance = token.balanceOf(who); balanceCount++; } } return balances; } function getBalances(address who, address[] calldata addresses, IFactory factory, address currency) public view returns(BalanceFull[] memory) { BalanceFull[] memory balances = new BalanceFull[](addresses.length); for (uint256 i = 0; i < addresses.length; i++) { IERC20 token = IERC20(addresses[i]); balances[i].token = address(token); balances[i].balance = token.balanceOf(who); IPair pair = IPair(factory.getPair(addresses[i], currency)); if(address(pair) != address(0)) { uint256 reserveCurrency; uint256 reserveToken; if (pair.token0() == currency) { (reserveCurrency, reserveToken,) = pair.getReserves(); } else { (reserveToken, reserveCurrency,) = pair.getReserves(); } balances[i].rate = reserveToken * 1e18 / reserveCurrency; } } return balances; } struct Factory { IFactory factory; uint256 allPairsLength; address feeTo; address feeToSetter; } function getFactoryInfo(IFactory[] calldata addresses) public view returns(Factory[] memory) { Factory[] memory factories = new Factory[](addresses.length); for (uint256 i = 0; i < addresses.length; i++) { IFactory factory = addresses[i]; factories[i].factory = factory; factories[i].allPairsLength = factory.allPairsLength(); factories[i].feeTo = factory.feeTo(); factories[i].feeToSetter = factory.feeToSetter(); } return factories; } struct Pair { address token; address token0; address token1; } function getPairs(IFactory factory, uint256 fromID, uint256 toID) public view returns(Pair[] memory) { if (toID == 0){ toID = factory.allPairsLength(); } Pair[] memory pairs = new Pair[](toID - fromID); for(uint256 id = fromID; id < toID; id++) { address token = factory.allPairs(id); uint256 i = id - fromID; pairs[i].token = token; pairs[i].token0 = IPair(token).token0(); pairs[i].token1 = IPair(token).token1(); } return pairs; } function findPairs(address who, IFactory factory, uint256 fromID, uint256 toID) public view returns(Pair[] memory) { if (toID == 0){ toID = factory.allPairsLength(); } uint256 pairCount; for(uint256 id = fromID; id < toID; id++) { address token = factory.allPairs(id); if (IERC20(token).balanceOf(who) > 0) { pairCount++; } } Pair[] memory pairs = new Pair[](pairCount); pairCount = 0; for(uint256 id = fromID; id < toID; id++) { address token = factory.allPairs(id); uint256 balance = IERC20(token).balanceOf(who); if (balance > 0) { pairs[pairCount].token = token; pairs[pairCount].token0 = IPair(token).token0(); pairs[pairCount].token1 = IPair(token).token1(); pairCount++; } } return pairs; } struct PairFull { address token; address token0; address token1; uint256 reserve0; uint256 reserve1; uint256 totalSupply; uint256 balance; } function getPairsFull(address who, address[] calldata addresses) public view returns(PairFull[] memory) { PairFull[] memory pairs = new PairFull[](addresses.length); for (uint256 i = 0; i < addresses.length; i++) { address token = addresses[i]; pairs[i].token = token; pairs[i].token0 = IPair(token).token0(); pairs[i].token1 = IPair(token).token1(); (uint256 reserve0, uint256 reserve1,) = IPair(token).getReserves(); pairs[i].reserve0 = reserve0; pairs[i].reserve1 = reserve1; pairs[i].balance = IERC20(token).balanceOf(who); pairs[i].totalSupply = IERC20(token).totalSupply(); } return pairs; } }
{ "optimizer": { "enabled": true, "runs": 5000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"findBalances","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"}],"internalType":"struct BoringCryptoTokenScan.Balance[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"contract IFactory","name":"factory","type":"address"},{"internalType":"uint256","name":"fromID","type":"uint256"},{"internalType":"uint256","name":"toID","type":"uint256"}],"name":"findPairs","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"token0","type":"address"},{"internalType":"address","name":"token1","type":"address"}],"internalType":"struct BoringCryptoTokenScan.Pair[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"contract IFactory","name":"factory","type":"address"},{"internalType":"address","name":"currency","type":"address"}],"name":"getBalances","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"rate","type":"uint256"}],"internalType":"struct BoringCryptoTokenScan.BalanceFull[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IFactory[]","name":"addresses","type":"address[]"}],"name":"getFactoryInfo","outputs":[{"components":[{"internalType":"contract IFactory","name":"factory","type":"address"},{"internalType":"uint256","name":"allPairsLength","type":"uint256"},{"internalType":"address","name":"feeTo","type":"address"},{"internalType":"address","name":"feeToSetter","type":"address"}],"internalType":"struct BoringCryptoTokenScan.Factory[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IFactory","name":"factory","type":"address"},{"internalType":"uint256","name":"fromID","type":"uint256"},{"internalType":"uint256","name":"toID","type":"uint256"}],"name":"getPairs","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"token0","type":"address"},{"internalType":"address","name":"token1","type":"address"}],"internalType":"struct BoringCryptoTokenScan.Pair[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"getPairsFull","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"token0","type":"address"},{"internalType":"address","name":"token1","type":"address"},{"internalType":"uint256","name":"reserve0","type":"uint256"},{"internalType":"uint256","name":"reserve1","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"balance","type":"uint256"}],"internalType":"struct BoringCryptoTokenScan.PairFull[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"getTokenInfo","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"internalType":"struct BoringCryptoTokenScan.TokenInfo[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506120bf806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635f2bf94f1161005b5780635f2bf94f146100eb5780637e3e25961461010b578063ca0f937c1461012b578063d80f01701461014b5761007d565b806303656f71146100825780633dea3ce5146100ab5780634a69ac50146100cb575b600080fd5b610095610090366004611aba565b61015e565b6040516100a29190611d5c565b60405180910390f35b6100be6100b9366004611b7a565b610552565b6040516100a29190611e09565b6100de6100d9366004611b7a565b6107e2565b6040516100a29190611f52565b6100fe6100f9366004611a67565b610a4e565b6040516100a29190611e6e565b61011e610119366004611bba565b610e6b565b6040516100a29190611ef7565b61013e610139366004611a67565b61115e565b6040516100a29190611dbe565b61011e610159366004611b35565b611418565b6060808467ffffffffffffffff8111801561017857600080fd5b506040519080825280602002602001820160405280156101b257816020015b61019f6118ce565b8152602001906001900390816101975790505b50905060005b858110156105475760008787838181106101ce57fe5b90506020020160208101906101e39190611a28565b9050808383815181106101f257fe5b60209081029190910101516001600160a01b0391821690526040517f70a08231000000000000000000000000000000000000000000000000000000008152908216906370a0823190610248908c90600401611d2e565b60206040518083038186803b15801561026057600080fd5b505afa158015610274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102989190611cdd565b8383815181106102a457fe5b602002602001015160200181815250506000866001600160a01b031663e6a439058a8a868181106102d157fe5b90506020020160208101906102e69190611a28565b886040518363ffffffff1660e01b8152600401610304929190611d42565b60206040518083038186803b15801561031c57600080fd5b505afa158015610330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103549190611a4b565b90506001600160a01b0381161561053d57600080876001600160a01b0316836001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156103ab57600080fd5b505afa1580156103bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e39190611a4b565b6001600160a01b0316141561048057826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561042b57600080fd5b505afa15801561043f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104639190611c89565b506dffffffffffffffffffffffffffff918216935016905061050a565b826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156104b957600080fd5b505afa1580156104cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f19190611c89565b506dffffffffffffffffffffffffffff90811693501690505b8181670de0b6b3a7640000028161051d57fe5b0486868151811061052a57fe5b6020026020010151604001818152505050505b50506001016101b8565b509695505050505050565b6060808267ffffffffffffffff8111801561056c57600080fd5b506040519080825280602002602001820160405280156105a657816020015b6105936118f8565b81526020019060019003908161058b5790505b50905060005b838110156107da5760008585838181106105c257fe5b90506020020160208101906105d79190611a28565b9050808383815181106105e657fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b031663574f2ba36040518163ffffffff1660e01b815260040160206040518083038186803b15801561064357600080fd5b505afa158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b9190611cdd565b83838151811061068757fe5b60200260200101516020018181525050806001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d057600080fd5b505afa1580156106e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107089190611a4b565b83838151811061071457fe5b6020026020010151604001906001600160a01b031690816001600160a01b031681525050806001600160a01b031663094b74156040518163ffffffff1660e01b815260040160206040518083038186803b15801561077157600080fd5b505afa158015610785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a99190611a4b565b8383815181106107b557fe5b60209081029190910101516001600160a01b03909116606090910152506001016105ac565b509392505050565b6060808267ffffffffffffffff811180156107fc57600080fd5b5060405190808252806020026020018201604052801561083657816020015b61082361191f565b81526020019060019003908161081b5790505b50905060005b838110156107da57600085858381811061085257fe5b90506020020160208101906108679190611a28565b90508083838151811061087657fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156108d357600080fd5b505afa1580156108e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261090f9190810190611bee565b83838151811061091b57fe5b602002602001015160400181905250806001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561096357600080fd5b505afa158015610977573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261099f9190810190611bee565b8383815181106109ab57fe5b602002602001015160600181905250806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156109f357600080fd5b505afa158015610a07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2b9190611cdd565b838381518110610a3757fe5b60209081029190910181015101525060010161083c565b6060808267ffffffffffffffff81118015610a6857600080fd5b50604051908082528060200260200182016040528015610aa257816020015b610a8f611950565b815260200190600190039081610a875790505b50905060005b83811015610e62576000858583818110610abe57fe5b9050602002016020810190610ad39190611a28565b905080838381518110610ae257fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3f57600080fd5b505afa158015610b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b779190611a4b565b838381518110610b8357fe5b6020026020010151602001906001600160a01b031690816001600160a01b031681525050806001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015610be057600080fd5b505afa158015610bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c189190611a4b565b838381518110610c2457fe5b6020026020010151604001906001600160a01b031690816001600160a01b031681525050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610c8457600080fd5b505afa158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbc9190611c89565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff16915081858581518110610cee57fe5b6020026020010151606001818152505080858581518110610d0b57fe5b6020908102919091010151608001526040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038416906370a0823190610d5f908c90600401611d2e565b60206040518083038186803b158015610d7757600080fd5b505afa158015610d8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daf9190611cdd565b858581518110610dbb57fe5b602002602001015160c0018181525050826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0457600080fd5b505afa158015610e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3c9190611cdd565b858581518110610e4857fe5b602090810291909101015160a00152505050600101610aa8565b50949350505050565b606081610ee657836001600160a01b031663574f2ba36040518163ffffffff1660e01b815260040160206040518083038186803b158015610eab57600080fd5b505afa158015610ebf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee39190611cdd565b91505b606083830367ffffffffffffffff81118015610f0157600080fd5b50604051908082528060200260200182016040528015610f3b57816020015b610f286119a8565b815260200190600190039081610f205790505b509050835b83811015610e62576040517f1e3dd18b0000000000000000000000000000000000000000000000000000000081526000906001600160a01b03881690631e3dd18b90610f90908590600401612010565b60206040518083038186803b158015610fa857600080fd5b505afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe09190611a4b565b90506000868303905081848281518110610ff657fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561105357600080fd5b505afa158015611067573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108b9190611a4b565b84828151811061109757fe5b6020026020010151602001906001600160a01b031690816001600160a01b031681525050816001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112c9190611a4b565b84828151811061113857fe5b60209081029190910101516001600160a01b039091166040909101525050600101610f40565b60606000805b8381101561121f57600085858381811061117a57fe5b905060200201602081019061118f9190611a28565b6001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016111ba9190611d2e565b60206040518083038186803b1580156111d257600080fd5b505afa1580156111e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120a9190611cdd565b1115611217576001909101905b600101611164565b5060608167ffffffffffffffff8111801561123957600080fd5b5060405190808252806020026020018201604052801561127357816020015b6112606119c8565b8152602001906001900390816112585790505b5090506000915060005b8481101561140e57600086868381811061129357fe5b90506020020160208101906112a89190611a28565b90506000816001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016112d89190611d2e565b60206040518083038186803b1580156112f057600080fd5b505afa158015611304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113289190611cdd565b90508015611404578184868151811061133d57fe5b60209081029190910101516001600160a01b0391821690526040517f70a08231000000000000000000000000000000000000000000000000000000008152908316906370a0823190611393908c90600401611d2e565b60206040518083038186803b1580156113ab57600080fd5b505afa1580156113bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e39190611cdd565b8486815181106113ef57fe5b60209081029190910181015101526001909401935b505060010161127d565b5095945050505050565b60608161149357836001600160a01b031663574f2ba36040518163ffffffff1660e01b815260040160206040518083038186803b15801561145857600080fd5b505afa15801561146c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114909190611cdd565b91505b6000835b838110156115cd576040517f1e3dd18b0000000000000000000000000000000000000000000000000000000081526000906001600160a01b03881690631e3dd18b906114e7908590600401612010565b60206040518083038186803b1580156114ff57600080fd5b505afa158015611513573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115379190611a4b565b90506000816001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016115679190611d2e565b60206040518083038186803b15801561157f57600080fd5b505afa158015611593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b79190611cdd565b11156115c4576001909201915b50600101611497565b5060608167ffffffffffffffff811180156115e757600080fd5b5060405190808252806020026020018201604052801561162157816020015b61160e6119a8565b8152602001906001900390816116065790505b50600092509050845b84811015610547576040517f1e3dd18b0000000000000000000000000000000000000000000000000000000081526000906001600160a01b03891690631e3dd18b9061167a908590600401612010565b60206040518083038186803b15801561169257600080fd5b505afa1580156116a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ca9190611a4b565b90506000816001600160a01b03166370a082318b6040518263ffffffff1660e01b81526004016116fa9190611d2e565b60206040518083038186803b15801561171257600080fd5b505afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190611cdd565b905080156118c4578184868151811061175f57fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156117bc57600080fd5b505afa1580156117d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f49190611a4b565b84868151811061180057fe5b6020026020010151602001906001600160a01b031690816001600160a01b031681525050816001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561185d57600080fd5b505afa158015611871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118959190611a4b565b8486815181106118a157fe5b60209081029190910101516001600160a01b039091166040909101526001909401935b505060010161162a565b604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604080518082019091526000808252602082015290565b60008083601f8401126119f0578182fd5b50813567ffffffffffffffff811115611a07578182fd5b6020830191508360208083028501011115611a2157600080fd5b9250929050565b600060208284031215611a39578081fd5b8135611a4481612055565b9392505050565b600060208284031215611a5c578081fd5b8151611a4481612055565b600080600060408486031215611a7b578182fd5b8335611a8681612055565b9250602084013567ffffffffffffffff811115611aa1578283fd5b611aad868287016119df565b9497909650939450505050565b600080600080600060808688031215611ad1578081fd5b8535611adc81612055565b9450602086013567ffffffffffffffff811115611af7578182fd5b611b03888289016119df565b9095509350506040860135611b1781612055565b91506060860135611b2781612055565b809150509295509295909350565b60008060008060808587031215611b4a578384fd5b8435611b5581612055565b93506020850135611b6581612055565b93969395505050506040820135916060013590565b60008060208385031215611b8c578182fd5b823567ffffffffffffffff811115611ba2578283fd5b611bae858286016119df565b90969095509350505050565b600080600060608486031215611bce578283fd5b8335611bd981612055565b95602085013595506040909401359392505050565b600060208284031215611bff578081fd5b815167ffffffffffffffff80821115611c16578283fd5b818401915084601f830112611c29578283fd5b815181811115611c37578384fd5b6040516020601f19601f8401168201018181108482111715611c57578586fd5b604052818152838201602001871015611c6e578485fd5b611c7f826020830160208701612025565b9695505050505050565b600080600060608486031215611c9d578283fd5b8351611ca88161206d565b6020850151909350611cb98161206d565b604085015190925063ffffffff81168114611cd2578182fd5b809150509250925092565b600060208284031215611cee578081fd5b5051919050565b6001600160a01b03169052565b60008151808452611d1a816020860160208601612025565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b602080825282518282018190526000919060409081850190868401855b82811015611db157815180516001600160a01b0316855286810151878601528501518585015260609093019290850190600101611d79565b5091979650505050505050565b602080825282518282018190526000919060409081850190868401855b82811015611db157815180516001600160a01b03168552860151868501529284019290850190600101611ddb565b602080825282518282018190526000919060409081850190868401855b82811015611db157815180516001600160a01b039081168652878201518887015286820151811687870152606091820151169085015260809093019290850190600101611e26565b602080825282518282018190526000919060409081850190868401855b82811015611db1578151611e9f8151612019565b8552808701516001600160a01b0390811688870152868201511686860152606080820151908601526080808201519086015260a0808201519086015260c0908101519085015260e09093019290850190600101611e8b565b602080825282518282018190526000919060409081850190868401855b82811015611db157815180516001600160a01b0390811686528782015181168887015290860151168585015260609093019290850190600101611f14565b60208082528251828201819052600091906040908185019080840286018301878501865b83811015612002577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089840301855281516080611fb4858351611cf5565b8882015189860152878201518189870152611fd182870182611d02565b91505060608083015192508582038187015250611fee8183611d02565b968901969450505090860190600101611f76565b509098975050505050505050565b90815260200190565b6001600160a01b031690565b60005b83811015612040578181015183820152602001612028565b8381111561204f576000848401525b50505050565b6001600160a01b038116811461206a57600080fd5b50565b6dffffffffffffffffffffffffffff8116811461206a57600080fdfea264697066735822122040714f76070edb4fa1b6a585a3a55f3abf2a9b0f1a72bf8e868a34285a5cd6f964736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80635f2bf94f1161005b5780635f2bf94f146100eb5780637e3e25961461010b578063ca0f937c1461012b578063d80f01701461014b5761007d565b806303656f71146100825780633dea3ce5146100ab5780634a69ac50146100cb575b600080fd5b610095610090366004611aba565b61015e565b6040516100a29190611d5c565b60405180910390f35b6100be6100b9366004611b7a565b610552565b6040516100a29190611e09565b6100de6100d9366004611b7a565b6107e2565b6040516100a29190611f52565b6100fe6100f9366004611a67565b610a4e565b6040516100a29190611e6e565b61011e610119366004611bba565b610e6b565b6040516100a29190611ef7565b61013e610139366004611a67565b61115e565b6040516100a29190611dbe565b61011e610159366004611b35565b611418565b6060808467ffffffffffffffff8111801561017857600080fd5b506040519080825280602002602001820160405280156101b257816020015b61019f6118ce565b8152602001906001900390816101975790505b50905060005b858110156105475760008787838181106101ce57fe5b90506020020160208101906101e39190611a28565b9050808383815181106101f257fe5b60209081029190910101516001600160a01b0391821690526040517f70a08231000000000000000000000000000000000000000000000000000000008152908216906370a0823190610248908c90600401611d2e565b60206040518083038186803b15801561026057600080fd5b505afa158015610274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102989190611cdd565b8383815181106102a457fe5b602002602001015160200181815250506000866001600160a01b031663e6a439058a8a868181106102d157fe5b90506020020160208101906102e69190611a28565b886040518363ffffffff1660e01b8152600401610304929190611d42565b60206040518083038186803b15801561031c57600080fd5b505afa158015610330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103549190611a4b565b90506001600160a01b0381161561053d57600080876001600160a01b0316836001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156103ab57600080fd5b505afa1580156103bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e39190611a4b565b6001600160a01b0316141561048057826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561042b57600080fd5b505afa15801561043f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104639190611c89565b506dffffffffffffffffffffffffffff918216935016905061050a565b826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156104b957600080fd5b505afa1580156104cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f19190611c89565b506dffffffffffffffffffffffffffff90811693501690505b8181670de0b6b3a7640000028161051d57fe5b0486868151811061052a57fe5b6020026020010151604001818152505050505b50506001016101b8565b509695505050505050565b6060808267ffffffffffffffff8111801561056c57600080fd5b506040519080825280602002602001820160405280156105a657816020015b6105936118f8565b81526020019060019003908161058b5790505b50905060005b838110156107da5760008585838181106105c257fe5b90506020020160208101906105d79190611a28565b9050808383815181106105e657fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b031663574f2ba36040518163ffffffff1660e01b815260040160206040518083038186803b15801561064357600080fd5b505afa158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b9190611cdd565b83838151811061068757fe5b60200260200101516020018181525050806001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d057600080fd5b505afa1580156106e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107089190611a4b565b83838151811061071457fe5b6020026020010151604001906001600160a01b031690816001600160a01b031681525050806001600160a01b031663094b74156040518163ffffffff1660e01b815260040160206040518083038186803b15801561077157600080fd5b505afa158015610785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a99190611a4b565b8383815181106107b557fe5b60209081029190910101516001600160a01b03909116606090910152506001016105ac565b509392505050565b6060808267ffffffffffffffff811180156107fc57600080fd5b5060405190808252806020026020018201604052801561083657816020015b61082361191f565b81526020019060019003908161081b5790505b50905060005b838110156107da57600085858381811061085257fe5b90506020020160208101906108679190611a28565b90508083838151811061087657fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156108d357600080fd5b505afa1580156108e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261090f9190810190611bee565b83838151811061091b57fe5b602002602001015160400181905250806001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561096357600080fd5b505afa158015610977573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261099f9190810190611bee565b8383815181106109ab57fe5b602002602001015160600181905250806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156109f357600080fd5b505afa158015610a07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2b9190611cdd565b838381518110610a3757fe5b60209081029190910181015101525060010161083c565b6060808267ffffffffffffffff81118015610a6857600080fd5b50604051908082528060200260200182016040528015610aa257816020015b610a8f611950565b815260200190600190039081610a875790505b50905060005b83811015610e62576000858583818110610abe57fe5b9050602002016020810190610ad39190611a28565b905080838381518110610ae257fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3f57600080fd5b505afa158015610b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b779190611a4b565b838381518110610b8357fe5b6020026020010151602001906001600160a01b031690816001600160a01b031681525050806001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015610be057600080fd5b505afa158015610bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c189190611a4b565b838381518110610c2457fe5b6020026020010151604001906001600160a01b031690816001600160a01b031681525050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610c8457600080fd5b505afa158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbc9190611c89565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff16915081858581518110610cee57fe5b6020026020010151606001818152505080858581518110610d0b57fe5b6020908102919091010151608001526040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038416906370a0823190610d5f908c90600401611d2e565b60206040518083038186803b158015610d7757600080fd5b505afa158015610d8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daf9190611cdd565b858581518110610dbb57fe5b602002602001015160c0018181525050826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0457600080fd5b505afa158015610e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3c9190611cdd565b858581518110610e4857fe5b602090810291909101015160a00152505050600101610aa8565b50949350505050565b606081610ee657836001600160a01b031663574f2ba36040518163ffffffff1660e01b815260040160206040518083038186803b158015610eab57600080fd5b505afa158015610ebf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee39190611cdd565b91505b606083830367ffffffffffffffff81118015610f0157600080fd5b50604051908082528060200260200182016040528015610f3b57816020015b610f286119a8565b815260200190600190039081610f205790505b509050835b83811015610e62576040517f1e3dd18b0000000000000000000000000000000000000000000000000000000081526000906001600160a01b03881690631e3dd18b90610f90908590600401612010565b60206040518083038186803b158015610fa857600080fd5b505afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe09190611a4b565b90506000868303905081848281518110610ff657fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561105357600080fd5b505afa158015611067573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108b9190611a4b565b84828151811061109757fe5b6020026020010151602001906001600160a01b031690816001600160a01b031681525050816001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112c9190611a4b565b84828151811061113857fe5b60209081029190910101516001600160a01b039091166040909101525050600101610f40565b60606000805b8381101561121f57600085858381811061117a57fe5b905060200201602081019061118f9190611a28565b6001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016111ba9190611d2e565b60206040518083038186803b1580156111d257600080fd5b505afa1580156111e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120a9190611cdd565b1115611217576001909101905b600101611164565b5060608167ffffffffffffffff8111801561123957600080fd5b5060405190808252806020026020018201604052801561127357816020015b6112606119c8565b8152602001906001900390816112585790505b5090506000915060005b8481101561140e57600086868381811061129357fe5b90506020020160208101906112a89190611a28565b90506000816001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016112d89190611d2e565b60206040518083038186803b1580156112f057600080fd5b505afa158015611304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113289190611cdd565b90508015611404578184868151811061133d57fe5b60209081029190910101516001600160a01b0391821690526040517f70a08231000000000000000000000000000000000000000000000000000000008152908316906370a0823190611393908c90600401611d2e565b60206040518083038186803b1580156113ab57600080fd5b505afa1580156113bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e39190611cdd565b8486815181106113ef57fe5b60209081029190910181015101526001909401935b505060010161127d565b5095945050505050565b60608161149357836001600160a01b031663574f2ba36040518163ffffffff1660e01b815260040160206040518083038186803b15801561145857600080fd5b505afa15801561146c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114909190611cdd565b91505b6000835b838110156115cd576040517f1e3dd18b0000000000000000000000000000000000000000000000000000000081526000906001600160a01b03881690631e3dd18b906114e7908590600401612010565b60206040518083038186803b1580156114ff57600080fd5b505afa158015611513573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115379190611a4b565b90506000816001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016115679190611d2e565b60206040518083038186803b15801561157f57600080fd5b505afa158015611593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b79190611cdd565b11156115c4576001909201915b50600101611497565b5060608167ffffffffffffffff811180156115e757600080fd5b5060405190808252806020026020018201604052801561162157816020015b61160e6119a8565b8152602001906001900390816116065790505b50600092509050845b84811015610547576040517f1e3dd18b0000000000000000000000000000000000000000000000000000000081526000906001600160a01b03891690631e3dd18b9061167a908590600401612010565b60206040518083038186803b15801561169257600080fd5b505afa1580156116a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ca9190611a4b565b90506000816001600160a01b03166370a082318b6040518263ffffffff1660e01b81526004016116fa9190611d2e565b60206040518083038186803b15801561171257600080fd5b505afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190611cdd565b905080156118c4578184868151811061175f57fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156117bc57600080fd5b505afa1580156117d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f49190611a4b565b84868151811061180057fe5b6020026020010151602001906001600160a01b031690816001600160a01b031681525050816001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561185d57600080fd5b505afa158015611871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118959190611a4b565b8486815181106118a157fe5b60209081029190910101516001600160a01b039091166040909101526001909401935b505060010161162a565b604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604080518082019091526000808252602082015290565b60008083601f8401126119f0578182fd5b50813567ffffffffffffffff811115611a07578182fd5b6020830191508360208083028501011115611a2157600080fd5b9250929050565b600060208284031215611a39578081fd5b8135611a4481612055565b9392505050565b600060208284031215611a5c578081fd5b8151611a4481612055565b600080600060408486031215611a7b578182fd5b8335611a8681612055565b9250602084013567ffffffffffffffff811115611aa1578283fd5b611aad868287016119df565b9497909650939450505050565b600080600080600060808688031215611ad1578081fd5b8535611adc81612055565b9450602086013567ffffffffffffffff811115611af7578182fd5b611b03888289016119df565b9095509350506040860135611b1781612055565b91506060860135611b2781612055565b809150509295509295909350565b60008060008060808587031215611b4a578384fd5b8435611b5581612055565b93506020850135611b6581612055565b93969395505050506040820135916060013590565b60008060208385031215611b8c578182fd5b823567ffffffffffffffff811115611ba2578283fd5b611bae858286016119df565b90969095509350505050565b600080600060608486031215611bce578283fd5b8335611bd981612055565b95602085013595506040909401359392505050565b600060208284031215611bff578081fd5b815167ffffffffffffffff80821115611c16578283fd5b818401915084601f830112611c29578283fd5b815181811115611c37578384fd5b6040516020601f19601f8401168201018181108482111715611c57578586fd5b604052818152838201602001871015611c6e578485fd5b611c7f826020830160208701612025565b9695505050505050565b600080600060608486031215611c9d578283fd5b8351611ca88161206d565b6020850151909350611cb98161206d565b604085015190925063ffffffff81168114611cd2578182fd5b809150509250925092565b600060208284031215611cee578081fd5b5051919050565b6001600160a01b03169052565b60008151808452611d1a816020860160208601612025565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b602080825282518282018190526000919060409081850190868401855b82811015611db157815180516001600160a01b0316855286810151878601528501518585015260609093019290850190600101611d79565b5091979650505050505050565b602080825282518282018190526000919060409081850190868401855b82811015611db157815180516001600160a01b03168552860151868501529284019290850190600101611ddb565b602080825282518282018190526000919060409081850190868401855b82811015611db157815180516001600160a01b039081168652878201518887015286820151811687870152606091820151169085015260809093019290850190600101611e26565b602080825282518282018190526000919060409081850190868401855b82811015611db1578151611e9f8151612019565b8552808701516001600160a01b0390811688870152868201511686860152606080820151908601526080808201519086015260a0808201519086015260c0908101519085015260e09093019290850190600101611e8b565b602080825282518282018190526000919060409081850190868401855b82811015611db157815180516001600160a01b0390811686528782015181168887015290860151168585015260609093019290850190600101611f14565b60208082528251828201819052600091906040908185019080840286018301878501865b83811015612002577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089840301855281516080611fb4858351611cf5565b8882015189860152878201518189870152611fd182870182611d02565b91505060608083015192508582038187015250611fee8183611d02565b968901969450505090860190600101611f76565b509098975050505050505050565b90815260200190565b6001600160a01b031690565b60005b83811015612040578181015183820152602001612028565b8381111561204f576000848401525b50505050565b6001600160a01b038116811461206a57600080fd5b50565b6dffffffffffffffffffffffffffff8116811461206a57600080fdfea264697066735822122040714f76070edb4fa1b6a585a3a55f3abf2a9b0f1a72bf8e868a34285a5cd6f964736f6c634300060c0033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.