Polygon Sponsored slots available. Book your slot here!
ERC-20
Overview
Max Total Supply
59,107,442.461189415181 OPT
Holders
43
Market
Price
$0.00 @ 0.000000 MATIC
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000616365484755522 OPTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
Rebaser
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2022-08-29 */ // 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"; string private constant _symbol = "OPT"; 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 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; //<---------------- 1 day uint256 public nextRebase; uint256 public currentEpoch; //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 _setIndexSupply(1 ether); //<--------------------------------- initialize index supply _setDivisor(BIG_INT); //<------------------------------------- initialize divisor _mint(msg.sender, PRE_SUPPLY.mul(divisor())); //<------------- mint initial supply } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount.mul(divisor())); if(rebaseDue()) { rebase(); } 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())); if(rebaseDue()) { rebase(); } return true; } function rebase() private { uint256 supply = indexSupply(); uint256 supplyDelta = supply.mul(rewardYield).div(rewardYieldDenominator); coreRebase(supplyDelta); } 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; } //rebase _setIndexSupply(new_supply); _setDivisor(MAX_SUPPLY.div(new_supply)); //sync pair IUniswapV2Pair(pairAddress).skim(burnAddress); IUniswapV2Pair(pairAddress).sync(); nextRebase = block.timestamp + rebaseFrequency; currentEpoch++; } function rebaseDue() public view returns (bool) { return nextRebase <= block.timestamp; } function isAdmin(address atAddress) private view returns (bool) { return atAddress == admin; } function setPairAddress(address toAddress) external onlyAdmin { pairAddress = toAddress; } }
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":[{"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":"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":"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":"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
6080604052600a6005556103e8600655620151806007553480156200002357600080fd5b50600a80546001600160a01b03191633179055600754620000459042620002db565b6008556200005a670de0b6b3a7640000600355565b6200006b6001600160801b03600455565b620000a4336200009e6200007e60045490565b6a115eec47f6cf7e35000000620000aa60201b620006071790919060201c565b6200013e565b62000351565b600082620000bb5750600062000138565b6000620000c9838562000319565b905082620000d88583620002f6565b14620001355760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b6001600160a01b038216620001965760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200012c565b620001c5600083620001c0620001ab60045490565b856200027260201b620006861790919060201c565b505050565b8060026000828254620001d99190620002db565b90915550506001600160a01b0382166000908152602081905260408120805483929062000208908490620002db565b90915550506001600160a01b03821660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000248620001ab60045490565b60405190815260200160405180910390a36200026e600083620001c0620001ab60045490565b5050565b6000808211620002c55760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016200012c565b6000620002d38385620002f6565b949350505050565b60008219821115620002f157620002f16200033b565b500190565b6000826200031457634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156200033657620003366200033b565b500290565b634e487b7160e01b600052601160045260246000fd5b610e9c80620003616000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806389375abf116100de578063bc7e68a311610097578063dd62ed3e11610071578063dd62ed3e14610334578063f318136214610347578063f64f52411461034f578063f851a4401461035a57600080fd5b8063bc7e68a314610314578063cff17f4c1461031d578063d7832b111461032b57600080fd5b806389375abf1461029e57806395d89b41146102a7578063a22d4832146102c6578063a457c2d7146102db578063a8b08982146102ee578063a9059cbb1461030157600080fd5b8063313ce5671161014b57806370a082311161012557806370a082311461024f57806370d5ae051461026257806376671808146102835780637b7918221461028c57600080fd5b8063313ce5671461022557806332cb6b0c14610234578063395093511461023c57600080fd5b806306fdde0314610193578063095ea7b3146101c85780630af08314146101eb57806318160ddd146102025780631f2dc5ef1461020a57806323b872dd14610212575b600080fd5b6040805180820190915260078152664f7074696d757360c81b60208201525b6040516101bf9190610d87565b60405180910390f35b6101db6101d6366004610d5d565b61036d565b60405190151581526020016101bf565b6101f460055481565b6040519081526020016101bf565b6101f461039c565b6004546101f4565b6101db610220366004610d21565b6103b8565b604051601281526020016101bf565b6101f4610406565b6101db61024a366004610d5d565b610422565b6101f461025d366004610cd3565b61045f565b61026b61dead81565b6040516001600160a01b0390911681526020016101bf565b6101f460095481565b6101f46a115eec47f6cf7e3500000081565b6101f460075481565b60408051808201909152600381526213d41560ea1b60208201526101b2565b6102d96102d4366004610cd3565b61048c565b005b6101db6102e9366004610d5d565b6104ff565b600b5461026b906001600160a01b031681565b6101db61030f366004610d5d565b61059e565b6101f460085481565b6101f46001600160801b0381565b6101f460065481565b6101f4610342366004610cee565b6105c6565b6003546101f4565b6008544210156101db565b600a5461026b906001600160a01b031681565b600080339050610390818561038b61038460045490565b8790610607565b6106eb565b60019150505b92915050565b60006103b36103aa60045490565b60025490610686565b905090565b6000803390506103d485826103cf61038460045490565b610823565b6103ea85856103e561038460045490565b6108a9565b60085442106103fb576103fb610a9d565b506001949350505050565b61041f6001600160801b03670de0b6b3a7640000610e16565b81565b600080339050610390818561043961038460045490565b61045561044560045490565b61044f878b6105c6565b90610607565b61038b9190610ddc565b600061039661046d60045490565b6001600160a01b03841660009081526020819052604090205490610686565b600a546001600160a01b031633146104dd5760405162461bcd60e51b815260206004820152600f60248201526e2737ba1030baba3437b934bd32b21760891b60448201526064015b60405180910390fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000338161050d82866105c6565b90508381101561056d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104d4565b6103fb828661058561057e60045490565b8890610607565b61059861059160045490565b8690610607565b036106eb565b6000803390506105b581856103e561038460045490565b600854421061039057610390610a9d565b60006106006105d460045490565b6001600160a01b0380861660009081526001602090815260408083209388168352929052205490610686565b9392505050565b60008261061657506000610396565b60006106228385610e16565b90508261062f8583610df4565b146106005760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d4565b60008082116106d75760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016104d4565b60006106e38385610df4565b949350505050565b6001600160a01b03831661074d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d4565b6001600160a01b0382166107ae5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d4565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290208390557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92561080d61080660045490565b8590610686565b60405190815260200160405180910390a3505050565b600061083b61083160045490565b61044f86866105c6565b905060001981146108a357818110156108965760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104d4565b6108a384848484036106eb565b50505050565b6001600160a01b03831661090d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d4565b6001600160a01b03821661096f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d4565b610985838361098061080660045490565b505050565b6001600160a01b038316600090815260208190526040902054818110156109fd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104d4565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610a34908490610ddc565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610a7b610a7460045490565b8690610686565b60405190815260200160405180910390a36108a38484610980610a7460045490565b6000610aa860035490565b90506000610acd600654610ac76005548561060790919063ffffffff16565b90610686565b9050610ad881610adc565b5050565b6000610ae760035490565b90506000610b046001600160801b03670de0b6b3a7640000610e16565b821015610b1c57610b158284610c58565b9050610b38565b610b356001600160801b03670de0b6b3a7640000610e16565b90505b610b4181600355565b610b66610b6182610ac76001600160801b03670de0b6b3a7640000610e16565b600455565b600b5460405163bc25cf7760e01b815261dead60048201526001600160a01b039091169063bc25cf7790602401600060405180830381600087803b158015610bad57600080fd5b505af1158015610bc1573d6000803e3d6000fd5b50505050600b60009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c1557600080fd5b505af1158015610c29573d6000803e3d6000fd5b5050505060075442610c3b9190610ddc565b60085560098054906000610c4e83610e35565b9190505550505050565b600080610c658385610ddc565b9050838110156106005760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d4565b80356001600160a01b0381168114610cce57600080fd5b919050565b600060208284031215610ce557600080fd5b61060082610cb7565b60008060408385031215610d0157600080fd5b610d0a83610cb7565b9150610d1860208401610cb7565b90509250929050565b600080600060608486031215610d3657600080fd5b610d3f84610cb7565b9250610d4d60208501610cb7565b9150604084013590509250925092565b60008060408385031215610d7057600080fd5b610d7983610cb7565b946020939093013593505050565b600060208083528351808285015260005b81811015610db457858101830151858201604001528201610d98565b81811115610dc6576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610def57610def610e50565b500190565b600082610e1157634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610e3057610e30610e50565b500290565b6000600019821415610e4957610e49610e50565b5060010190565b634e487b7160e01b600052601160045260246000fdfea264697066735822122091e2aec0441b677f48018e79a72f182cf6e9aa6591c9ee4bdd4a5beaa1fac0e264736f6c63430008070033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061018e5760003560e01c806389375abf116100de578063bc7e68a311610097578063dd62ed3e11610071578063dd62ed3e14610334578063f318136214610347578063f64f52411461034f578063f851a4401461035a57600080fd5b8063bc7e68a314610314578063cff17f4c1461031d578063d7832b111461032b57600080fd5b806389375abf1461029e57806395d89b41146102a7578063a22d4832146102c6578063a457c2d7146102db578063a8b08982146102ee578063a9059cbb1461030157600080fd5b8063313ce5671161014b57806370a082311161012557806370a082311461024f57806370d5ae051461026257806376671808146102835780637b7918221461028c57600080fd5b8063313ce5671461022557806332cb6b0c14610234578063395093511461023c57600080fd5b806306fdde0314610193578063095ea7b3146101c85780630af08314146101eb57806318160ddd146102025780631f2dc5ef1461020a57806323b872dd14610212575b600080fd5b6040805180820190915260078152664f7074696d757360c81b60208201525b6040516101bf9190610d87565b60405180910390f35b6101db6101d6366004610d5d565b61036d565b60405190151581526020016101bf565b6101f460055481565b6040519081526020016101bf565b6101f461039c565b6004546101f4565b6101db610220366004610d21565b6103b8565b604051601281526020016101bf565b6101f4610406565b6101db61024a366004610d5d565b610422565b6101f461025d366004610cd3565b61045f565b61026b61dead81565b6040516001600160a01b0390911681526020016101bf565b6101f460095481565b6101f46a115eec47f6cf7e3500000081565b6101f460075481565b60408051808201909152600381526213d41560ea1b60208201526101b2565b6102d96102d4366004610cd3565b61048c565b005b6101db6102e9366004610d5d565b6104ff565b600b5461026b906001600160a01b031681565b6101db61030f366004610d5d565b61059e565b6101f460085481565b6101f46001600160801b0381565b6101f460065481565b6101f4610342366004610cee565b6105c6565b6003546101f4565b6008544210156101db565b600a5461026b906001600160a01b031681565b600080339050610390818561038b61038460045490565b8790610607565b6106eb565b60019150505b92915050565b60006103b36103aa60045490565b60025490610686565b905090565b6000803390506103d485826103cf61038460045490565b610823565b6103ea85856103e561038460045490565b6108a9565b60085442106103fb576103fb610a9d565b506001949350505050565b61041f6001600160801b03670de0b6b3a7640000610e16565b81565b600080339050610390818561043961038460045490565b61045561044560045490565b61044f878b6105c6565b90610607565b61038b9190610ddc565b600061039661046d60045490565b6001600160a01b03841660009081526020819052604090205490610686565b600a546001600160a01b031633146104dd5760405162461bcd60e51b815260206004820152600f60248201526e2737ba1030baba3437b934bd32b21760891b60448201526064015b60405180910390fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000338161050d82866105c6565b90508381101561056d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104d4565b6103fb828661058561057e60045490565b8890610607565b61059861059160045490565b8690610607565b036106eb565b6000803390506105b581856103e561038460045490565b600854421061039057610390610a9d565b60006106006105d460045490565b6001600160a01b0380861660009081526001602090815260408083209388168352929052205490610686565b9392505050565b60008261061657506000610396565b60006106228385610e16565b90508261062f8583610df4565b146106005760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d4565b60008082116106d75760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016104d4565b60006106e38385610df4565b949350505050565b6001600160a01b03831661074d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d4565b6001600160a01b0382166107ae5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d4565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290208390557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92561080d61080660045490565b8590610686565b60405190815260200160405180910390a3505050565b600061083b61083160045490565b61044f86866105c6565b905060001981146108a357818110156108965760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104d4565b6108a384848484036106eb565b50505050565b6001600160a01b03831661090d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d4565b6001600160a01b03821661096f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d4565b610985838361098061080660045490565b505050565b6001600160a01b038316600090815260208190526040902054818110156109fd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104d4565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610a34908490610ddc565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610a7b610a7460045490565b8690610686565b60405190815260200160405180910390a36108a38484610980610a7460045490565b6000610aa860035490565b90506000610acd600654610ac76005548561060790919063ffffffff16565b90610686565b9050610ad881610adc565b5050565b6000610ae760035490565b90506000610b046001600160801b03670de0b6b3a7640000610e16565b821015610b1c57610b158284610c58565b9050610b38565b610b356001600160801b03670de0b6b3a7640000610e16565b90505b610b4181600355565b610b66610b6182610ac76001600160801b03670de0b6b3a7640000610e16565b600455565b600b5460405163bc25cf7760e01b815261dead60048201526001600160a01b039091169063bc25cf7790602401600060405180830381600087803b158015610bad57600080fd5b505af1158015610bc1573d6000803e3d6000fd5b50505050600b60009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c1557600080fd5b505af1158015610c29573d6000803e3d6000fd5b5050505060075442610c3b9190610ddc565b60085560098054906000610c4e83610e35565b9190505550505050565b600080610c658385610ddc565b9050838110156106005760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d4565b80356001600160a01b0381168114610cce57600080fd5b919050565b600060208284031215610ce557600080fd5b61060082610cb7565b60008060408385031215610d0157600080fd5b610d0a83610cb7565b9150610d1860208401610cb7565b90509250929050565b600080600060608486031215610d3657600080fd5b610d3f84610cb7565b9250610d4d60208501610cb7565b9150604084013590509250925092565b60008060408385031215610d7057600080fd5b610d7983610cb7565b946020939093013593505050565b600060208083528351808285015260005b81811015610db457858101830151858201604001528201610d98565b81811115610dc6576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610def57610def610e50565b500190565b600082610e1157634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610e3057610e30610e50565b500290565b6000600019821415610e4957610e49610e50565b5060010190565b634e487b7160e01b600052601160045260246000fdfea264697066735822122091e2aec0441b677f48018e79a72f182cf6e9aa6591c9ee4bdd4a5beaa1fac0e264736f6c63430008070033
Deployed Bytecode Sourcemap
10210:3112:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4855:100;4942:5;;;;;;;;;;;;-1:-1:-1;;;4942:5:0;;;;4855:100;;;;;;;:::i;:::-;;;;;;;;5821:216;;;;;;:::i;:::-;;:::i;:::-;;;1613:14:1;;1606:22;1588:41;;1576:2;1561:18;5821:216:0;1448:187:1;10571:41:0;;;;;;;;;6634:25:1;;;6622:2;6607:18;10571:41:0;6488:177:1;5176:123:0;;;:::i;5406:83::-;5473:8;;5406:83;;11798:356;;;;;;:::i;:::-;;:::i;5075:93::-;;;5158:2;6812:36:1;;6800:2;6785:18;5075:93:0;6670:184:1;10348:55:0;;;:::i;6045:268::-;;;;;;:::i;:::-;;:::i;5497:142::-;;;;;;:::i;:::-;;:::i;10468:79::-;;10505:42;10468:79;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;10468:79:0;1240:203:1;10813:27:0;;;;;;10410:51;;10447:14;10410:51;;10703:45;;;;;;4963:104;5052:7;;;;;;;;;;;;-1:-1:-1;;;5052:7:0;;;;4963:104;;13215;;;;;;:::i;:::-;;:::i;:::-;;6321:491;;;;;;:::i;:::-;;:::i;10893:26::-;;;;;-1:-1:-1;;;;;10893:26:0;;;11517:273;;;;;;:::i;:::-;;:::i;10781:25::-;;;;;;10293:48;;-1:-1:-1;;;;;10293:48:0;;10653:43;;;;;;5647:166;;;;;;:::i;:::-;;:::i;5307:91::-;5378:12;;5307:91;;12988:103;13054:10;;13068:15;-1:-1:-1;13054:29:0;12988:103;;10866:20;;;;;-1:-1:-1;;;;;10866:20:0;;;5821:216;5904:4;;3311:10;5921:28;;5960:47;5969:5;5976:7;5985:21;5996:9;5473:8;;;5406:83;5996:9;5985:6;;:10;:21::i;:::-;5960:8;:47::i;:::-;6025:4;6018:11;;;5821:216;;;;;:::o;5176:123::-;5237:7;5264:27;5281:9;5473:8;;;5406:83;5281:9;5264:12;;;:16;:27::i;:::-;5257:34;;5176:123;:::o;11798:356::-;11895:4;;3311:10;11912:30;;11953:53;11969:4;11975:7;11984:21;11995:9;5473:8;;;5406:83;11984:21;11953:15;:53::i;:::-;12017:42;12027:4;12033:2;12037:21;12048:9;5473:8;;;5406:83;12037:21;12017:9;:42::i;:::-;13054:10;;13068:15;-1:-1:-1;12072:51:0;;12103:8;:6;:8::i;:::-;-1:-1:-1;12142:4:0;;11798:356;-1:-1:-1;;;;11798:356:0:o;10348:55::-;10385:18;-1:-1:-1;;;;;10395:8:0;10385:18;:::i;:::-;10348:55;:::o;6045:268::-;6133:4;;3311:10;6150:28;;6189:94;6198:5;6205:7;6257:25;6272:9;5473:8;;;5406:83;6257:25;6214:40;6244:9;5473:8;;;5406:83;6244:9;6214:25;6224:5;6231:7;6214:9;:25::i;:::-;:29;;:40::i;:::-;:68;;;;:::i;5497:142::-;5571:7;5598:33;5621:9;5473:8;;;5406:83;5621:9;-1:-1:-1;;;;;5598:18:0;;:9;:18;;;;;;;;;;;;:22;:33::i;13215:104::-;13194:5;;-1:-1:-1;;;;;13194:5:0;10976:10;13181:18;10960:47;;;;-1:-1:-1;;;10960:47:0;;4727:2:1;10960:47:0;;;4709:21:1;4766:2;4746:18;;;4739:30;-1:-1:-1;;;4785:18:1;;;4778:45;4840:18;;10960:47:0;;;;;;;;;13288:11:::1;:23:::0;;-1:-1:-1;;;;;;13288:23:0::1;-1:-1:-1::0;;;;;13288:23:0;;;::::1;::::0;;;::::1;::::0;;13215:104::o;6321:491::-;6414:4;3311:10;6414:4;6497:25;3311:10;6514:7;6497:9;:25::i;:::-;6470:52;;6586:15;6566:16;:35;;6558:85;;;;-1:-1:-1;;;6558:85:0;;6284:2:1;6558:85:0;;;6266:21:1;6323:2;6303:18;;;6296:30;6362:34;6342:18;;;6335:62;-1:-1:-1;;;6413:18:1;;;6406:35;6458:19;;6558:85:0;6082:401:1;6558:85:0;6679:90;6688:5;6695:7;6738:30;6758:9;5473:8;;;5406:83;6758:9;6738:15;;:19;:30::i;:::-;6704:31;6725:9;5473:8;;;5406:83;6725:9;6704:16;;:20;:31::i;:::-;:64;6679:8;:90::i;11517:273::-;11596:4;;3311:10;11613:28;;11652:43;11662:5;11669:2;11673:21;11684:9;5473:8;;;5406:83;11652:43;13054:10;;13068:15;-1:-1:-1;11708:51:0;;11739:8;:6;:8::i;5647:166::-;5736:7;5763:42;5795:9;5473:8;;;5406:83;5795:9;-1:-1:-1;;;;;5763:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;:31;:42::i;:::-;5756:49;5647:166;-1:-1:-1;;;5647: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;;5071:2:1;3977:56:0;;;5053:21:1;5110:2;5090:18;;;5083:30;5149:34;5129:18;;;5122:62;-1:-1:-1;;;5200:18:1;;;5193:31;5241:19;;3977:56:0;4869:397:1;4070:179:0;4128:7;4160:1;4156;:5;4148:44;;;;-1:-1:-1;;;4148:44:0;;4372:2:1;4148:44:0;;;4354:21:1;4411:2;4391:18;;;4384:30;4450:28;4430:18;;;4423:56;4496:18;;4148:44:0;4170: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;8864:395::-;-1:-1:-1;;;;;9000:19:0;;8992:68;;;;-1:-1:-1;;;8992:68:0;;5879:2:1;8992:68:0;;;5861:21:1;5918:2;5898:18;;;5891:30;5957:34;5937:18;;;5930:62;-1:-1:-1;;;6008:18:1;;;6001:34;6052:19;;8992:68:0;5677:400:1;8992:68:0;-1:-1:-1;;;;;9079:21:0;;9071:68;;;;-1:-1:-1;;;9071:68:0;;2848:2:1;9071:68:0;;;2830:21:1;2887:2;2867:18;;;2860:30;2926:34;2906:18;;;2899:62;-1:-1:-1;;;2977:18:1;;;2970:32;3019:19;;9071:68:0;2646:398:1;9071:68:0;-1:-1:-1;;;;;9152:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;:36;;;9204:47;9229:21;9240:9;5473:8;;;5406:83;9240:9;9229:6;;:10;:21::i;:::-;9204:47;;6634:25:1;;;6622:2;6607:18;9204:47:0;;;;;;;8864:395;;;:::o;9267:494::-;9402:24;9429:40;9459:9;5473:8;;;5406:83;9459:9;9429:25;9439:5;9446:7;9429:9;:25::i;:40::-;9402:67;;-1:-1:-1;;9484:16:0;:37;9480:274;;9566:6;9546:16;:26;;9538:68;;;;-1:-1:-1;;;9538:68:0;;3607:2:1;9538:68:0;;;3589:21:1;3646:2;3626:18;;;3619:30;3685:31;3665:18;;;3658:59;3734:18;;9538:68:0;3405:353:1;9538:68:0;9650:51;9659:5;9666:7;9694:6;9675:16;:25;9650:8;:51::i;:::-;9391:370;9267:494;;;:::o;7034:716::-;-1:-1:-1;;;;;7165:18:0;;7157:68;;;;-1:-1:-1;;;7157:68:0;;5473:2:1;7157:68:0;;;5455:21:1;5512:2;5492:18;;;5485:30;5551:34;5531:18;;;5524:62;-1:-1:-1;;;5602:18:1;;;5595:35;5647:19;;7157:68:0;5271:401:1;7157:68:0;-1:-1:-1;;;;;7244:16:0;;7236:64;;;;-1:-1:-1;;;7236:64:0;;2444:2:1;7236:64:0;;;2426:21:1;2483:2;2463:18;;;2456:30;2522:34;2502:18;;;2495:62;-1:-1:-1;;;2573:18:1;;;2566:33;2616:19;;7236:64:0;2242:399:1;7236:64:0;7313:53;7334:4;7340:2;7344:21;7355:9;5473:8;;;5406:83;7344:21;9769:125;;;;7313:53;-1:-1:-1;;;;;7401:15:0;;7379:19;7401:15;;;;;;;;;;;7435:21;;;;7427:72;;;;-1:-1:-1;;;7427:72:0;;3965:2:1;7427:72:0;;;3947:21:1;4004:2;3984:18;;;3977:30;4043:34;4023:18;;;4016:62;-1:-1:-1;;;4094:18:1;;;4087:36;4140:19;;7427:72:0;3763:402:1;7427:72:0;-1:-1:-1;;;;;7535:15:0;;;:9;:15;;;;;;;;;;;7553:20;;;7535:38;;7595:13;;;;;;;;:23;;7567:6;;7535:9;7595:23;;7567:6;;7595:23;:::i;:::-;;;;-1:-1:-1;;;;;;;7636:41:0;;;;;;;7655:21;7666:9;5473:8;;;5406:83;7666:9;7655:6;;:10;:21::i;:::-;7636:41;;6634:25:1;;;6622:2;6607:18;7636:41:0;;;;;;;7690:52;7710:4;7716:2;7720:21;7731:9;5473:8;;;5406:83;12162:200;12199:14;12221:13;5378:12;;;5307:91;12221:13;12199:35;;12245:19;12267:51;12295:22;;12267:23;12278:11;;12267:6;:10;;:23;;;;:::i;:::-;:27;;:51::i;:::-;12245:73;;12331:23;12342:11;12331:10;:23::i;:::-;12188:174;;12162:200::o;12370:610::-;12430:18;12451:13;5378:12;;;5307:91;12451:13;12430:34;-1:-1:-1;12475:18:0;10385;-1:-1:-1;;;;;10395:8:0;10385:18;:::i;:::-;12509:10;:23;12506:151;;;12562:27;:10;12577:11;12562:14;:27::i;:::-;12549:40;;12506:151;;;10385:18;-1:-1:-1;;;;;10395:8:0;10385:18;:::i;:::-;12622:23;;12506:151;12687:27;12703:10;6891:12;:23;6820:102;12687:27;12725:39;12737:26;12752:10;10385:18;-1:-1:-1;;;;;10395:8:0;10385:18;:::i;12737:26::-;6998:8;:20;6930:96;12725:39;12813:11;;12798:45;;-1:-1:-1;;;12798:45:0;;10505:42;12798:45;;;1386:51:1;-1:-1:-1;;;;;12813:11:0;;;;12798:32;;1359:18:1;;12798:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12869:11;;;;;;;;;-1:-1:-1;;;;;12869:11:0;-1:-1:-1;;;;;12854:32:0;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12932:15;;12914;:33;;;;:::i;:::-;12901:10;:46;12958:12;:14;;;:12;:14;;;:::i;:::-;;;;;;12419:561;;12370:610;:::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;;3251:2:1;3537:46:0;;;3233:21:1;3290:2;3270:18;;;3263:30;3329:29;3309:18;;;3302:57;3376:18;;3537:46:0;3049: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;1640:597::-;1752:4;1781:2;1810;1799:9;1792:21;1842:6;1836:13;1885:6;1880:2;1869:9;1865:18;1858:34;1910:1;1920:140;1934:6;1931:1;1928:13;1920:140;;;2029:14;;;2025:23;;2019:30;1995:17;;;2014:2;1991:26;1984:66;1949:10;;1920:140;;;2078:6;2075:1;2072:13;2069:91;;;2148:1;2143:2;2134:6;2123:9;2119:22;2115:31;2108:42;2069:91;-1:-1:-1;2221:2:1;2200:15;-1:-1:-1;;2196:29:1;2181:45;;;;2228:2;2177:54;;1640:597;-1:-1:-1;;;1640:597:1:o;6859:128::-;6899:3;6930:1;6926:6;6923:1;6920:13;6917:39;;;6936:18;;:::i;:::-;-1:-1:-1;6972:9:1;;6859:128::o;6992:217::-;7032:1;7058;7048:132;;7102:10;7097:3;7093:20;7090:1;7083:31;7137:4;7134:1;7127:15;7165:4;7162:1;7155:15;7048:132;-1:-1:-1;7194:9:1;;6992:217::o;7214:168::-;7254:7;7320:1;7316;7312:6;7308:14;7305:1;7302:21;7297:1;7290:9;7283:17;7279:45;7276:71;;;7327:18;;:::i;:::-;-1:-1:-1;7367:9:1;;7214:168::o;7387:135::-;7426:3;-1:-1:-1;;7447:17:1;;7444:43;;;7467:18;;:::i;:::-;-1:-1:-1;7514:1:1;7503:13;;7387:135::o;7527:127::-;7588:10;7583:3;7579:20;7576:1;7569:31;7619:4;7616:1;7609:15;7643:4;7640:1;7633:15
Swarm Source
ipfs://91e2aec0441b677f48018e79a72f182cf6e9aa6591c9ee4bdd4a5beaa1fac0e2
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.