ERC-20
Overview
Max Total Supply
77,324,880.990522462969 OPT2
Holders
603
Total Transfers
-
Market
Price
$0.00 @ 0.000000 POL
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x8E632f60...14f356fF7 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Rebaser
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2022-08-31 */ // SPDX-License-Identifier: MIT // File: contracts/IBEP20.sol pragma solidity >=0.4.22 <0.9.0; interface IBEP20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: contracts/Context.sol pragma solidity >=0.4.22 <0.9.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } // File: contracts/SafeMath.sol pragma solidity >=0.4.22 <0.9.0; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); 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, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; return c; } } // File: contracts/Token.sol pragma solidity >=0.4.22 <0.9.0; //imports abstract contract Token is Context, IBEP20 { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; uint256 private _indexSupply; uint256 private _divisor; uint256 private constant PERCENTS_DIVIDER = 1000; string private constant _name = "Optimus V2"; string private constant _symbol = "OPT2"; constructor() { } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply.div(divisor()); } function indexSupply() public view returns (uint256) { return _indexSupply; } function divisor() public view returns (uint256) { return _divisor; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account].div(divisor()); } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender].div(divisor()); } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount.mul(divisor())); return true; } function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount.mul(divisor())); _transfer(from, to, amount.mul(divisor())); return true; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount.mul(divisor())); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender).mul(divisor()) + addedValue.mul(divisor())); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); //no conversion required require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance.mul(divisor()) - subtractedValue.mul(divisor())); } return true; } function _setIndexSupply(uint256 toSupply) internal virtual { _indexSupply = toSupply; } function _setDivisor(uint256 toDivisor) internal virtual { _divisor = toDivisor; } 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"); _beforeTokenTransfer(from, to, amount.div(divisor())); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; } _balances[to] += amount; emit Transfer(from, to, amount.div(divisor())); _afterTokenTransfer(from, to, amount.div(divisor())); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount.div(divisor())); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount.div(divisor())); _afterTokenTransfer(address(0), account, amount.div(divisor())); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount.div(divisor())); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount.div(divisor())); _afterTokenTransfer(account, address(0), amount.div(divisor())); } 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.div(divisor())); } function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender).mul(divisor()); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); // no conversion required } } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File: contracts/Rebaser.sol pragma solidity >=0.4.22 <0.9.0; interface IUniswapV2Pair { function skim(address to) external; function sync() external; } contract Rebaser is Token { using SafeMath for uint256; //config uint256 public constant BIG_INT = ~uint128(0); uint256 public constant MAX_SUPPLY = BIG_INT * 10 ** 18; uint256 public constant PRE_SUPPLY = 21000000 ether; address public constant burnAddress= 0x000000000000000000000000000000000000dEaD; //rebases uint256 public rewardYield = 10; //<-------------------- 1 percent uint256 public rewardYieldDenominator= 1000; uint256 public rebaseFrequency = 1 days; //<---------------- rebase will be due every 1 days uint256 public nextRebase; uint256 public currentEpoch; //state bool public autosync; bool public locked; //addresses address public admin; address public pairAddress; modifier onlyAdmin() { require(isAdmin(msg.sender), "Not authorized."); _; } constructor() { admin = msg.sender; //<---------------------------------- set admin nextRebase = block.timestamp + rebaseFrequency; //<----------- set first rebase autosync = true; //<---------------------------------------- will autosync pool _setIndexSupply(1 ether); //<--------------------------------- initialize index supply _setDivisor(BIG_INT); //<------------------------------------- initialize divisor _mint(msg.sender, PRE_SUPPLY.mul(divisor())); //<------------- mint initial supply } function rebase() private { //stop reentry locked = true; //calc supply delta uint256 supply = indexSupply(); uint256 supplyDelta = supply.mul(rewardYield).div(rewardYieldDenominator); //exec rebase coreRebase(supplyDelta); //unlock locked = false; } function coreRebase(uint256 supplyDelta) private { uint256 old_supply = indexSupply(); uint256 new_supply; if(old_supply < MAX_SUPPLY) { new_supply = old_supply.add(supplyDelta); } else { new_supply = MAX_SUPPLY; } _setIndexSupply(new_supply); _setDivisor(MAX_SUPPLY.div(new_supply)); nextRebase = block.timestamp + rebaseFrequency; currentEpoch++; } function manualRebase() external { if(rebaseDue() && !isLocked()) { rebase(); } if(autosync) { sync(); } } function sync() private { IUniswapV2Pair(pairAddress).skim(burnAddress); IUniswapV2Pair(pairAddress).sync(); } function rebaseDue() public view returns (bool) { return nextRebase <= block.timestamp; } function isLocked() public view returns (bool) { return locked; } function isAdmin(address atAddress) private view returns (bool) { return atAddress == admin; } function setPairAddress(address toAddress) external onlyAdmin { pairAddress = toAddress; } function setAutosync(bool toState) external onlyAdmin { autosync = toState; } function adminRebase() external onlyAdmin { rebase(); } }
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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BIG_INT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRE_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"adminRebase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[],"name":"autosync","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentEpoch","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":[],"name":"divisor","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":"indexSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"locked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualRebase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextRebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebaseDue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebaseFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardYield","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardYieldDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"toState","type":"bool"}],"name":"setAutosync","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"toAddress","type":"address"}],"name":"setPairAddress","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
6080604052600a6005556103e8600655620151806007553480156200002357600080fd5b50600a805462010000600160b01b0319163362010000021790556007546200004c9042620002ef565b600855600a805460ff191660011790556200006e670de0b6b3a7640000600355565b6200007f6001600160801b03600455565b620000b833620000b26200009260045490565b6a115eec47f6cf7e35000000620000be60201b620007421790919060201c565b62000152565b62000365565b600082620000cf575060006200014c565b6000620000dd83856200032d565b905082620000ec85836200030a565b14620001495760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b6001600160a01b038216620001aa5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000140565b620001d9600083620001d4620001bf60045490565b856200028660201b620007c11790919060201c565b505050565b8060026000828254620001ed9190620002ef565b90915550506001600160a01b038216600090815260208190526040812080548392906200021c908490620002ef565b90915550506001600160a01b03821660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200025c620001bf60045490565b60405190815260200160405180910390a362000282600083620001d4620001bf60045490565b5050565b6000808211620002d95760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640162000140565b6000620002e783856200030a565b949350505050565b600082198211156200030557620003056200034f565b500190565b6000826200032857634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156200034a576200034a6200034f565b500290565b634e487b7160e01b600052601160045260246000fd5b61103780620003756000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806389375abf1161010f578063c7b171ae116100a2578063dd62ed3e11610071578063dd62ed3e146103ec578063f3181362146103ff578063f64f524114610407578063f851a4401461041257600080fd5b8063c7b171ae146103bb578063cf309012146103c3578063cff17f4c146103d5578063d7832b11146103e357600080fd5b8063a4e2d634116100de578063a4e2d6341461037c578063a8b089821461038c578063a9059cbb1461039f578063bc7e68a3146103b257600080fd5b806389375abf1461032d57806395d89b4114610336578063a22d483214610356578063a457c2d71461036957600080fd5b8063395093511161018757806370d5ae051161015657806370d5ae05146102de57806376671808146102ff57806376867799146103085780637b7918221461031b57600080fd5b806339509351146102a15780635094c803146102b457806361a9d1b1146102c157806370a08231146102cb57600080fd5b80631f2dc5ef116101c35780631f2dc5ef1461026f57806323b872dd14610277578063313ce5671461028a57806332cb6b0c1461029957600080fd5b806306fdde03146101f5578063095ea7b31461022d5780630af083141461025057806318160ddd14610267575b600080fd5b60408051808201909152600a81526927b83a34b6bab9902b1960b11b60208201525b6040516102249190610ef9565b60405180910390f35b61024061023b366004610ead565b61042b565b6040519015158152602001610224565b61025960055481565b604051908152602001610224565b61025961045a565b600454610259565b610240610285366004610e71565b610476565b60405160128152602001610224565b6102596104b3565b6102406102af366004610ead565b6104cf565b600a546102409060ff1681565b6102c961050c565b005b6102596102d9366004610e23565b610548565b6102e761dead81565b6040516001600160a01b039091168152602001610224565b61025960095481565b6102c9610316366004610ed7565b610575565b6102596a115eec47f6cf7e3500000081565b61025960075481565b60408051808201909152600481526327a82a1960e11b6020820152610217565b6102c9610364366004610e23565b6105c1565b610240610377366004610ead565b610613565b600a54610100900460ff16610240565b600b546102e7906001600160a01b031681565b6102406103ad366004610ead565b6106b2565b61025960085481565b6102c96106c9565b600a5461024090610100900460ff1681565b6102596001600160801b0381565b61025960065481565b6102596103fa366004610e3e565b610701565b600354610259565b600854421015610240565b600a546102e7906201000090046001600160a01b031681565b60008033905061044e818561044961044260045490565b8790610742565b610826565b60019150505b92915050565b600061047161046860045490565b600254906107c1565b905090565b600080339050610492858261048d61044260045490565b61095e565b6104a885856104a361044260045490565b6109e4565b506001949350505050565b6104cc6001600160801b03670de0b6b3a7640000610fb1565b81565b60008033905061044e81856104e661044260045490565b6105026104f260045490565b6104fc878b610701565b90610742565b6104499190610f77565b60085442101580156105265750600a54610100900460ff16155b1561053357610533610bd8565b600a5460ff161561054657610546610c31565b565b600061045461055660045490565b6001600160a01b038416600090815260208190526040902054906107c1565b600a546201000090046001600160a01b031633146105ae5760405162461bcd60e51b81526004016105a590610f4e565b60405180910390fd5b600a805460ff1916911515919091179055565b600a546201000090046001600160a01b031633146105f15760405162461bcd60e51b81526004016105a590610f4e565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b600033816106218286610701565b9050838110156106815760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105a5565b6104a8828661069961069260045490565b8890610742565b6106ac6106a560045490565b8690610742565b03610826565b60008033905061044e81856104a361044260045490565b600a546201000090046001600160a01b031633146106f95760405162461bcd60e51b81526004016105a590610f4e565b610546610bd8565b600061073b61070f60045490565b6001600160a01b03808616600090815260016020908152604080832093881683529290522054906107c1565b9392505050565b60008261075157506000610454565b600061075d8385610fb1565b90508261076a8583610f8f565b1461073b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105a5565b60008082116108125760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016105a5565b600061081e8385610f8f565b949350505050565b6001600160a01b0383166108885760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a5565b6001600160a01b0382166108e95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a5565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290208390557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92561094861094160045490565b85906107c1565b60405190815260200160405180910390a3505050565b600061097661096c60045490565b6104fc8686610701565b905060001981146109de57818110156109d15760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105a5565b6109de8484848403610826565b50505050565b6001600160a01b038316610a485760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a5565b6001600160a01b038216610aaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a5565b610ac08383610abb61094160045490565b505050565b6001600160a01b03831660009081526020819052604090205481811015610b385760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105a5565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610b6f908490610f77565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610bb6610baf60045490565b86906107c1565b60405190815260200160405180910390a36109de8484610abb610baf60045490565b600a805461ff0019166101001790556000610bf260035490565b90506000610c17600654610c116005548561074290919063ffffffff16565b906107c1565b9050610c2281610cf4565b5050600a805461ff0019169055565b600b5460405163bc25cf7760e01b815261dead60048201526001600160a01b039091169063bc25cf7790602401600060405180830381600087803b158015610c7857600080fd5b505af1158015610c8c573d6000803e3d6000fd5b50505050600b60009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610ce057600080fd5b505af11580156109de573d6000803e3d6000fd5b6000610cff60035490565b90506000610d1c6001600160801b03670de0b6b3a7640000610fb1565b821015610d3457610d2d8284610da8565b9050610d50565b610d4d6001600160801b03670de0b6b3a7640000610fb1565b90505b610d5981600355565b610d7e610d7982610c116001600160801b03670de0b6b3a7640000610fb1565b600455565b600754610d8b9042610f77565b60085560098054906000610d9e83610fd0565b9190505550505050565b600080610db58385610f77565b90508381101561073b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a5565b80356001600160a01b0381168114610e1e57600080fd5b919050565b600060208284031215610e3557600080fd5b61073b82610e07565b60008060408385031215610e5157600080fd5b610e5a83610e07565b9150610e6860208401610e07565b90509250929050565b600080600060608486031215610e8657600080fd5b610e8f84610e07565b9250610e9d60208501610e07565b9150604084013590509250925092565b60008060408385031215610ec057600080fd5b610ec983610e07565b946020939093013593505050565b600060208284031215610ee957600080fd5b8135801515811461073b57600080fd5b600060208083528351808285015260005b81811015610f2657858101830151858201604001528201610f0a565b81811115610f38576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252600f908201526e2737ba1030baba3437b934bd32b21760891b604082015260600190565b60008219821115610f8a57610f8a610feb565b500190565b600082610fac57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610fcb57610fcb610feb565b500290565b6000600019821415610fe457610fe4610feb565b5060010190565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220b2522d9489e55488c9e2363235e989e4943fd0fdaf88530be2b886dc22b34e3964736f6c63430008070033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101f05760003560e01c806389375abf1161010f578063c7b171ae116100a2578063dd62ed3e11610071578063dd62ed3e146103ec578063f3181362146103ff578063f64f524114610407578063f851a4401461041257600080fd5b8063c7b171ae146103bb578063cf309012146103c3578063cff17f4c146103d5578063d7832b11146103e357600080fd5b8063a4e2d634116100de578063a4e2d6341461037c578063a8b089821461038c578063a9059cbb1461039f578063bc7e68a3146103b257600080fd5b806389375abf1461032d57806395d89b4114610336578063a22d483214610356578063a457c2d71461036957600080fd5b8063395093511161018757806370d5ae051161015657806370d5ae05146102de57806376671808146102ff57806376867799146103085780637b7918221461031b57600080fd5b806339509351146102a15780635094c803146102b457806361a9d1b1146102c157806370a08231146102cb57600080fd5b80631f2dc5ef116101c35780631f2dc5ef1461026f57806323b872dd14610277578063313ce5671461028a57806332cb6b0c1461029957600080fd5b806306fdde03146101f5578063095ea7b31461022d5780630af083141461025057806318160ddd14610267575b600080fd5b60408051808201909152600a81526927b83a34b6bab9902b1960b11b60208201525b6040516102249190610ef9565b60405180910390f35b61024061023b366004610ead565b61042b565b6040519015158152602001610224565b61025960055481565b604051908152602001610224565b61025961045a565b600454610259565b610240610285366004610e71565b610476565b60405160128152602001610224565b6102596104b3565b6102406102af366004610ead565b6104cf565b600a546102409060ff1681565b6102c961050c565b005b6102596102d9366004610e23565b610548565b6102e761dead81565b6040516001600160a01b039091168152602001610224565b61025960095481565b6102c9610316366004610ed7565b610575565b6102596a115eec47f6cf7e3500000081565b61025960075481565b60408051808201909152600481526327a82a1960e11b6020820152610217565b6102c9610364366004610e23565b6105c1565b610240610377366004610ead565b610613565b600a54610100900460ff16610240565b600b546102e7906001600160a01b031681565b6102406103ad366004610ead565b6106b2565b61025960085481565b6102c96106c9565b600a5461024090610100900460ff1681565b6102596001600160801b0381565b61025960065481565b6102596103fa366004610e3e565b610701565b600354610259565b600854421015610240565b600a546102e7906201000090046001600160a01b031681565b60008033905061044e818561044961044260045490565b8790610742565b610826565b60019150505b92915050565b600061047161046860045490565b600254906107c1565b905090565b600080339050610492858261048d61044260045490565b61095e565b6104a885856104a361044260045490565b6109e4565b506001949350505050565b6104cc6001600160801b03670de0b6b3a7640000610fb1565b81565b60008033905061044e81856104e661044260045490565b6105026104f260045490565b6104fc878b610701565b90610742565b6104499190610f77565b60085442101580156105265750600a54610100900460ff16155b1561053357610533610bd8565b600a5460ff161561054657610546610c31565b565b600061045461055660045490565b6001600160a01b038416600090815260208190526040902054906107c1565b600a546201000090046001600160a01b031633146105ae5760405162461bcd60e51b81526004016105a590610f4e565b60405180910390fd5b600a805460ff1916911515919091179055565b600a546201000090046001600160a01b031633146105f15760405162461bcd60e51b81526004016105a590610f4e565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b600033816106218286610701565b9050838110156106815760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105a5565b6104a8828661069961069260045490565b8890610742565b6106ac6106a560045490565b8690610742565b03610826565b60008033905061044e81856104a361044260045490565b600a546201000090046001600160a01b031633146106f95760405162461bcd60e51b81526004016105a590610f4e565b610546610bd8565b600061073b61070f60045490565b6001600160a01b03808616600090815260016020908152604080832093881683529290522054906107c1565b9392505050565b60008261075157506000610454565b600061075d8385610fb1565b90508261076a8583610f8f565b1461073b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105a5565b60008082116108125760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016105a5565b600061081e8385610f8f565b949350505050565b6001600160a01b0383166108885760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a5565b6001600160a01b0382166108e95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a5565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290208390557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92561094861094160045490565b85906107c1565b60405190815260200160405180910390a3505050565b600061097661096c60045490565b6104fc8686610701565b905060001981146109de57818110156109d15760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105a5565b6109de8484848403610826565b50505050565b6001600160a01b038316610a485760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a5565b6001600160a01b038216610aaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a5565b610ac08383610abb61094160045490565b505050565b6001600160a01b03831660009081526020819052604090205481811015610b385760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105a5565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610b6f908490610f77565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610bb6610baf60045490565b86906107c1565b60405190815260200160405180910390a36109de8484610abb610baf60045490565b600a805461ff0019166101001790556000610bf260035490565b90506000610c17600654610c116005548561074290919063ffffffff16565b906107c1565b9050610c2281610cf4565b5050600a805461ff0019169055565b600b5460405163bc25cf7760e01b815261dead60048201526001600160a01b039091169063bc25cf7790602401600060405180830381600087803b158015610c7857600080fd5b505af1158015610c8c573d6000803e3d6000fd5b50505050600b60009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610ce057600080fd5b505af11580156109de573d6000803e3d6000fd5b6000610cff60035490565b90506000610d1c6001600160801b03670de0b6b3a7640000610fb1565b821015610d3457610d2d8284610da8565b9050610d50565b610d4d6001600160801b03670de0b6b3a7640000610fb1565b90505b610d5981600355565b610d7e610d7982610c116001600160801b03670de0b6b3a7640000610fb1565b600455565b600754610d8b9042610f77565b60085560098054906000610d9e83610fd0565b9190505550505050565b600080610db58385610f77565b90508381101561073b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a5565b80356001600160a01b0381168114610e1e57600080fd5b919050565b600060208284031215610e3557600080fd5b61073b82610e07565b60008060408385031215610e5157600080fd5b610e5a83610e07565b9150610e6860208401610e07565b90509250929050565b600080600060608486031215610e8657600080fd5b610e8f84610e07565b9250610e9d60208501610e07565b9150604084013590509250925092565b60008060408385031215610ec057600080fd5b610ec983610e07565b946020939093013593505050565b600060208284031215610ee957600080fd5b8135801515811461073b57600080fd5b600060208083528351808285015260005b81811015610f2657858101830151858201604001528201610f0a565b81811115610f38576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252600f908201526e2737ba1030baba3437b934bd32b21760891b604082015260600190565b60008219821115610f8a57610f8a610feb565b500190565b600082610fac57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610fcb57610fcb610feb565b500290565b6000600019821415610fe457610fe4610feb565b5060010190565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220b2522d9489e55488c9e2363235e989e4943fd0fdaf88530be2b886dc22b34e3964736f6c63430008070033
Deployed Bytecode Sourcemap
10729:3243:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4859:100;4946:5;;;;;;;;;;;;-1:-1:-1;;;4946:5:0;;;;4859:100;;;;;;;:::i;:::-;;;;;;;;6340:216;;;;;;:::i;:::-;;:::i;:::-;;;1891:14:1;;1884:22;1866:41;;1854:2;1839:18;6340:216:0;1726:187:1;11090:41:0;;;;;;;;;6912:25:1;;;6900:2;6885:18;11090:41:0;6766:177:1;5180:123:0;;;:::i;5410:83::-;5477:8;;5410:83;;6041:291;;;;;;:::i;:::-;;:::i;5079:93::-;;;5162:2;7090:36:1;;7078:2;7063:18;5079:93:0;6948:184:1;10867:55:0;;;:::i;6564:268::-;;;;;;:::i;:::-;;:::i;11407:20::-;;;;;;;;;13051:175;;;:::i;:::-;;5501:142;;;;;;:::i;:::-;;:::i;10987:79::-;;11024:42;10987:79;;;;;-1:-1:-1;;;;;1682:32:1;;;1664:51;;1652:2;1637:18;10987:79:0;1518:203:1;11358:27:0;;;;;;13801:91;;;;;;:::i;:::-;;:::i;10929:51::-;;10966:14;10929:51;;11222:45;;;;;;4967:104;5056:7;;;;;;;;;;;;-1:-1:-1;;;5056:7:0;;;;4967:104;;13689;;;;;;:::i;:::-;;:::i;6840:491::-;;;;;;:::i;:::-;;:::i;13486:79::-;13551:6;;;;;;;13486:79;;11505:26;;;;;-1:-1:-1;;;;;11505:26:0;;;5825:208;;;;;;:::i;:::-;;:::i;11326:25::-;;;;;;13900:69;;;:::i;11434:18::-;;;;;;;;;;;;10812:48;;-1:-1:-1;;;;;10812:48:0;;11172:43;;;;;;5651:166;;;;;;:::i;:::-;;:::i;5311:91::-;5382:12;;5311:91;;13375:103;13441:10;;13455:15;-1:-1:-1;13441:29:0;13375:103;;11478:20;;;;;;;;-1:-1:-1;;;;;11478:20:0;;;6340:216;6423:4;;3311:10;6440:28;;6479:47;6488:5;6495:7;6504:21;6515:9;5477:8;;;5410:83;6515:9;6504:6;;:10;:21::i;:::-;6479:8;:47::i;:::-;6544:4;6537:11;;;6340:216;;;;;:::o;5180:123::-;5241:7;5268:27;5285:9;5477:8;;;5410:83;5285:9;5268:12;;;:16;:27::i;:::-;5261:34;;5180:123;:::o;6041:291::-;6138:4;;3311:10;6155:30;;6196:53;6212:4;6218:7;6227:21;6238:9;5477:8;;;5410:83;6227:21;6196:15;:53::i;:::-;6260:42;6270:4;6276:2;6280:21;6291:9;5477:8;;;5410:83;6280:21;6260:9;:42::i;:::-;-1:-1:-1;6320:4:0;;6041:291;-1:-1:-1;;;;6041:291:0:o;10867:55::-;10904:18;-1:-1:-1;;;;;10914:8:0;10904:18;:::i;:::-;10867:55;:::o;6564:268::-;6652:4;;3311:10;6669:28;;6708:94;6717:5;6724:7;6776:25;6791:9;5477:8;;;5410:83;6776:25;6733:40;6763:9;5477:8;;;5410:83;6763:9;6733:25;6743:5;6750:7;6733:9;:25::i;:::-;:29;;:40::i;:::-;:68;;;;:::i;13051:175::-;13441:10;;13455:15;-1:-1:-1;13441:29:0;13098:26;;;;-1:-1:-1;13551:6:0;;;;;;;13113:11;13098:26;13095:66;;;13141:8;:6;:8::i;:::-;13176;;;;13173:46;;;13201:6;:4;:6::i;:::-;13051:175::o;5501:142::-;5575:7;5602:33;5625:9;5477:8;;;5410:83;5625:9;-1:-1:-1;;;;;5602:18:0;;:9;:18;;;;;;;;;;;;:22;:33::i;13801:91::-;13668:5;;;;;-1:-1:-1;;;;;13668:5:0;11588:10;13655:18;11572:47;;;;-1:-1:-1;;;11572:47:0;;;;;;;:::i;:::-;;;;;;;;;13866:8:::1;:18:::0;;-1:-1:-1;;13866:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13801:91::o;13689:104::-;13668:5;;;;;-1:-1:-1;;;;;13668:5:0;11588:10;13655:18;11572:47;;;;-1:-1:-1;;;11572:47:0;;;;;;;:::i;:::-;13762:11:::1;:23:::0;;-1:-1:-1;;;;;;13762:23:0::1;-1:-1:-1::0;;;;;13762:23:0;;;::::1;::::0;;;::::1;::::0;;13689:104::o;6840:491::-;6933:4;3311:10;6933:4;7016:25;3311:10;7033:7;7016:9;:25::i;:::-;6989:52;;7105:15;7085:16;:35;;7077:85;;;;-1:-1:-1;;;7077:85:0;;6562:2:1;7077:85:0;;;6544:21:1;6601:2;6581:18;;;6574:30;6640:34;6620:18;;;6613:62;-1:-1:-1;;;6691:18:1;;;6684:35;6736:19;;7077:85:0;6360:401:1;7077:85:0;7198:90;7207:5;7214:7;7257:30;7277:9;5477:8;;;5410:83;7277:9;7257:15;;:19;:30::i;:::-;7223:31;7244:9;5477:8;;;5410:83;7244:9;7223:16;;:20;:31::i;:::-;:64;7198:8;:90::i;5825:208::-;5904:4;;3311:10;5921:28;;5960:43;5970:5;5977:2;5981:21;5992:9;5477:8;;;5410:83;13900:69;13668:5;;;;;-1:-1:-1;;;;;13668:5:0;11588:10;13655:18;11572:47;;;;-1:-1:-1;;;11572:47:0;;;;;;;:::i;:::-;13953:8:::1;:6;:8::i;5651:166::-:0;5740:7;5767:42;5799:9;5477:8;;;5410:83;5799:9;-1:-1:-1;;;;;5767:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;:31;:42::i;:::-;5760:49;5651:166;-1:-1:-1;;;5651:166:0:o;3812:250::-;3870:7;3894:6;3890:47;;-1:-1:-1;3924:1:0;3917:8;;3890:47;3949:9;3961:5;3965:1;3961;:5;:::i;:::-;3949:17;-1:-1:-1;3994:1:0;3985:5;3989:1;3949:17;3985:5;:::i;:::-;:10;3977:56;;;;-1:-1:-1;;;3977:56:0;;5349:2:1;3977:56:0;;;5331:21:1;5388:2;5368:18;;;5361:30;5427:34;5407:18;;;5400:62;-1:-1:-1;;;5478:18:1;;;5471:31;5519:19;;3977:56:0;5147:397:1;4070:179:0;4128:7;4160:1;4156;:5;4148:44;;;;-1:-1:-1;;;4148:44:0;;4650:2:1;4148:44:0;;;4632:21:1;4689:2;4669:18;;;4662:30;4728:28;4708:18;;;4701:56;4774:18;;4148:44:0;4448:350:1;4148:44:0;4203:9;4215:5;4219:1;4215;:5;:::i;:::-;4203:17;4070:179;-1:-1:-1;;;;4070:179:0:o;9383:395::-;-1:-1:-1;;;;;9519:19:0;;9511:68;;;;-1:-1:-1;;;9511:68:0;;6157:2:1;9511:68:0;;;6139:21:1;6196:2;6176:18;;;6169:30;6235:34;6215:18;;;6208:62;-1:-1:-1;;;6286:18:1;;;6279:34;6330:19;;9511:68:0;5955:400:1;9511:68:0;-1:-1:-1;;;;;9598:21:0;;9590:68;;;;-1:-1:-1;;;9590:68:0;;3126:2:1;9590:68:0;;;3108:21:1;3165:2;3145:18;;;3138:30;3204:34;3184:18;;;3177:62;-1:-1:-1;;;3255:18:1;;;3248:32;3297:19;;9590:68:0;2924:398:1;9590:68:0;-1:-1:-1;;;;;9671:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;:36;;;9723:47;9748:21;9759:9;5477:8;;;5410:83;9759:9;9748:6;;:10;:21::i;:::-;9723:47;;6912:25:1;;;6900:2;6885:18;9723:47:0;;;;;;;9383:395;;;:::o;9786:494::-;9921:24;9948:40;9978:9;5477:8;;;5410:83;9978:9;9948:25;9958:5;9965:7;9948:9;:25::i;:40::-;9921:67;;-1:-1:-1;;10003:16:0;:37;9999:274;;10085:6;10065:16;:26;;10057:68;;;;-1:-1:-1;;;10057:68:0;;3885:2:1;10057:68:0;;;3867:21:1;3924:2;3904:18;;;3897:30;3963:31;3943:18;;;3936:59;4012:18;;10057:68:0;3683:353:1;10057:68:0;10169:51;10178:5;10185:7;10213:6;10194:16;:25;10169:8;:51::i;:::-;9910:370;9786:494;;;:::o;7553:716::-;-1:-1:-1;;;;;7684:18:0;;7676:68;;;;-1:-1:-1;;;7676:68:0;;5751:2:1;7676:68:0;;;5733:21:1;5790:2;5770:18;;;5763:30;5829:34;5809:18;;;5802:62;-1:-1:-1;;;5880:18:1;;;5873:35;5925:19;;7676:68:0;5549:401:1;7676:68:0;-1:-1:-1;;;;;7763:16:0;;7755:64;;;;-1:-1:-1;;;7755:64:0;;2722:2:1;7755:64:0;;;2704:21:1;2761:2;2741:18;;;2734:30;2800:34;2780:18;;;2773:62;-1:-1:-1;;;2851:18:1;;;2844:33;2894:19;;7755:64:0;2520:399:1;7755:64:0;7832:53;7853:4;7859:2;7863:21;7874:9;5477:8;;;5410:83;7863:21;10288:125;;;;7832:53;-1:-1:-1;;;;;7920:15:0;;7898:19;7920:15;;;;;;;;;;;7954:21;;;;7946:72;;;;-1:-1:-1;;;7946:72:0;;4243:2:1;7946:72:0;;;4225:21:1;4282:2;4262:18;;;4255:30;4321:34;4301:18;;;4294:62;-1:-1:-1;;;4372:18:1;;;4365:36;4418:19;;7946:72:0;4041:402:1;7946:72:0;-1:-1:-1;;;;;8054:15:0;;;:9;:15;;;;;;;;;;;8072:20;;;8054:38;;8114:13;;;;;;;;:23;;8086:6;;8054:9;8114:23;;8086:6;;8114:23;:::i;:::-;;;;-1:-1:-1;;;;;;;8155:41:0;;;;;;;8174:21;8185:9;5477:8;;;5410:83;8185:9;8174:6;;:10;:21::i;:::-;8155:41;;6912:25:1;;;6900:2;6885:18;8155:41:0;;;;;;;8209:52;8229:4;8235:2;8239:21;8250:9;5477:8;;;5410:83;12220:347;12281:6;:13;;-1:-1:-1;;12281:13:0;;;;;;12358;5382:12;;;5311:91;12358:13;12336:35;;12382:19;12404:51;12432:22;;12404:23;12415:11;;12404:6;:10;;:23;;;;:::i;:::-;:27;;:51::i;:::-;12382:73;;12491:23;12502:11;12491:10;:23::i;:::-;-1:-1:-1;;12545:6:0;:14;;-1:-1:-1;;12545:14:0;;;12220:347::o;13234:133::-;13284:11;;13269:45;;-1:-1:-1;;;13269:45:0;;11024:42;13269:45;;;1664:51:1;-1:-1:-1;;;;;13284:11:0;;;;13269:32;;1637:18:1;;13269:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13340:11;;;;;;;;;-1:-1:-1;;;;;13340:11:0;-1:-1:-1;;;;;13325:32:0;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12575:468;12635:18;12656:13;5382:12;;;5311:91;12656:13;12635:34;-1:-1:-1;12680:18:0;10904;-1:-1:-1;;;;;10914:8:0;10904:18;:::i;:::-;12714:10;:23;12711:151;;;12767:27;:10;12782:11;12767:14;:27::i;:::-;12754:40;;12711:151;;;10904:18;-1:-1:-1;;;;;10914:8:0;10904:18;:::i;:::-;12827:23;;12711:151;12874:27;12890:10;7410:12;:23;7339:102;12874:27;12912:39;12924:26;12939:10;10904:18;-1:-1:-1;;;;;10914:8:0;10904:18;:::i;12924:26::-;7517:8;:20;7449:96;12912:39;12995:15;;12977:33;;:15;:33;:::i;:::-;12964:10;:46;13021:12;:14;;;:12;:14;;;:::i;:::-;;;;;;12624:419;;12575:468;:::o;3431:181::-;3489:7;;3521:5;3525:1;3521;:5;:::i;:::-;3509:17;;3550:1;3545;:6;;3537:46;;;;-1:-1:-1;;;3537:46:0;;3529:2:1;3537:46:0;;;3511:21:1;3568:2;3548:18;;;3541:30;3607:29;3587:18;;;3580:57;3654:18;;3537:46:0;3327:351:1;14:173;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;383:260;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:52;;;810:1;807;800:12;762:52;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;648:328;;;;;:::o;981:254::-;1049:6;1057;1110:2;1098:9;1089:7;1085:23;1081:32;1078:52;;;1126:1;1123;1116:12;1078:52;1149:29;1168:9;1149:29;:::i;:::-;1139:39;1225:2;1210:18;;;;1197:32;;-1:-1:-1;;;981:254:1:o;1240:273::-;1296:6;1349:2;1337:9;1328:7;1324:23;1320:32;1317:52;;;1365:1;1362;1355:12;1317:52;1404:9;1391:23;1457:5;1450:13;1443:21;1436:5;1433:32;1423:60;;1479:1;1476;1469:12;1918:597;2030:4;2059:2;2088;2077:9;2070:21;2120:6;2114:13;2163:6;2158:2;2147:9;2143:18;2136:34;2188:1;2198:140;2212:6;2209:1;2206:13;2198:140;;;2307:14;;;2303:23;;2297:30;2273:17;;;2292:2;2269:26;2262:66;2227:10;;2198:140;;;2356:6;2353:1;2350:13;2347:91;;;2426:1;2421:2;2412:6;2401:9;2397:22;2393:31;2386:42;2347:91;-1:-1:-1;2499:2:1;2478:15;-1:-1:-1;;2474:29:1;2459:45;;;;2506:2;2455:54;;1918:597;-1:-1:-1;;;1918:597:1:o;4803:339::-;5005:2;4987:21;;;5044:2;5024:18;;;5017:30;-1:-1:-1;;;5078:2:1;5063:18;;5056:45;5133:2;5118:18;;4803:339::o;7137:128::-;7177:3;7208:1;7204:6;7201:1;7198:13;7195:39;;;7214:18;;:::i;:::-;-1:-1:-1;7250:9:1;;7137:128::o;7270:217::-;7310:1;7336;7326:132;;7380:10;7375:3;7371:20;7368:1;7361:31;7415:4;7412:1;7405:15;7443:4;7440:1;7433:15;7326:132;-1:-1:-1;7472:9:1;;7270:217::o;7492:168::-;7532:7;7598:1;7594;7590:6;7586:14;7583:1;7580:21;7575:1;7568:9;7561:17;7557:45;7554:71;;;7605:18;;:::i;:::-;-1:-1:-1;7645:9:1;;7492:168::o;7665:135::-;7704:3;-1:-1:-1;;7725:17:1;;7722:43;;;7745:18;;:::i;:::-;-1:-1:-1;7792:1:1;7781:13;;7665:135::o;7805:127::-;7866:10;7861:3;7857:20;7854:1;7847:31;7897:4;7894:1;7887:15;7921:4;7918:1;7911:15
Swarm Source
ipfs://b2522d9489e55488c9e2363235e989e4943fd0fdaf88530be2b886dc22b34e39
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.