ERC-20
Overview
Max Total Supply
22,771,100 WASABI
Holders
50
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
WasabiToken
Compiler Version
v0.6.6+commit.6c089d02
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-09-11 */ // Dependency file: contracts/interface/IERC20.sol //SPDX-License-Identifier: MIT // pragma solidity >=0.5.0; interface IERC20 { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); } // Dependency file: contracts/interface/ERC2917-Interface.sol //SPDX-License-Identifier: MIT // pragma solidity >=0.6.6; // import 'contracts/interface/IERC20.sol'; interface IERC2917 is IERC20 { /// @dev This emit when interests amount per block is changed by the owner of the contract. /// It emits with the old interests amount and the new interests amount. event InterestsPerBlockChanged (uint oldValue, uint newValue); /// @dev This emit when a users' productivity has changed /// It emits with the user's address and the the value after the change. event ProductivityIncreased (address indexed user, uint value); /// @dev This emit when a users' productivity has changed /// It emits with the user's address and the the value after the change. event ProductivityDecreased (address indexed user, uint value); /// @dev Return the current contract's interests rate per block. /// @return The amount of interests currently producing per each block. function interestsPerBlock() external view returns (uint); /// @notice Change the current contract's interests rate. /// @dev Note the best practice will be restrict the gross product provider's contract address to call this. /// @return The true/fase to notice that the value has successfully changed or not, when it succeed, it will emite the InterestsPerBlockChanged event. function changeInterestsPerBlock(uint value) external returns (bool); /// @notice It will get the productivity of given user. /// @dev it will return 0 if user has no productivity proved in the contract. /// @return user's productivity and overall productivity. function getProductivity(address user) external view returns (uint, uint); /// @notice increase a user's productivity. /// @dev Note the best practice will be restrict the callee to prove of productivity's contract address. /// @return true to confirm that the productivity added success. function increaseProductivity(address user, uint value) external returns (uint); /// @notice decrease a user's productivity. /// @dev Note the best practice will be restrict the callee to prove of productivity's contract address. /// @return true to confirm that the productivity removed success. function decreaseProductivity(address user, uint value) external returns (uint); /// @notice take() will return the interests that callee will get at current block height. /// @dev it will always calculated by block.number, so it will change when block height changes. /// @return amount of the interests that user are able to mint() at current block height. function take() external view returns (uint); /// @notice similar to take(), but with the block height joined to calculate return. /// @dev for instance, it returns (_amount, _block), which means at block height _block, the callee has accumulated _amount of interests. /// @return amount of interests and the block height. function takeWithBlock() external view returns (uint, uint); /// @notice mint the avaiable interests to callee. /// @dev once it mint, the amount of interests will transfer to callee's address. /// @return the amount of interests minted. function mint(address to) external returns (uint); } // Dependency file: contracts/libraries/Upgradable.sol //SPDX-License-Identifier: MIT // pragma solidity >=0.5.16; contract UpgradableProduct { address public impl; event ImplChanged(address indexed _oldImpl, address indexed _newImpl); constructor() public { impl = msg.sender; } modifier requireImpl() { require(msg.sender == impl, 'FORBIDDEN'); _; } function upgradeImpl(address _newImpl) public requireImpl { require(_newImpl != address(0), 'INVALID_ADDRESS'); require(_newImpl != impl, 'NO_CHANGE'); address lastImpl = impl; impl = _newImpl; emit ImplChanged(lastImpl, _newImpl); } } contract UpgradableGovernance { address public governor; event GovernorChanged(address indexed _oldGovernor, address indexed _newGovernor); constructor() public { governor = msg.sender; } modifier requireGovernor() { require(msg.sender == governor, 'FORBIDDEN'); _; } function upgradeGovernance(address _newGovernor) public requireGovernor { require(_newGovernor != address(0), 'INVALID_ADDRESS'); require(_newGovernor != governor, 'NO_CHANGE'); address lastGovernor = governor; governor = _newGovernor; emit GovernorChanged(lastGovernor, _newGovernor); } } // Dependency file: contracts/libraries/SafeMath.sol // SPDX-License-Identifier: MIT // pragma solidity ^0.6.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // Root file: contracts/WasabiToken.sol //SPDX-License-Identifier: MIT pragma solidity >=0.6.6; // import 'contracts/interface/ERC2917-Interface.sol'; // import 'contracts/libraries/Upgradable.sol'; // import 'contracts/libraries/SafeMath.sol'; /* The Objective of ERC2917 Demo is to implement a decentralized staking mechanism, which calculates users' share by accumulating productiviy * time. And calculates users revenue from anytime t0 to t1 by the formula below: user_accumulated_productivity(time1) - user_accumulated_productivity(time0) _____________________________________________________________________________ * (gross_product(t1) - gross_product(t0)) total_accumulated_productivity(time1) - total_accumulated_productivity(time0) */ contract WasabiToken is IERC2917, UpgradableProduct, UpgradableGovernance { using SafeMath for uint; uint public constant version = 2; uint public mintCumulation; uint public maxMintCumulation; uint private unlocked = 1; uint public wasabiPerBlock; modifier lock() { require(unlocked == 1, 'Locked'); unlocked = 0; _; unlocked = 1; } uint public nounce; function incNounce() public { nounce ++; } struct UserInfo { uint amount; // How many LP tokens the user has provided. uint rewardDebt; // Reward debt. } mapping(address => UserInfo) public users; // implementation of ERC20 interfaces. string override public name; string override public symbol; uint8 override public decimals = 18; uint override public totalSupply; mapping(address => uint) override public balanceOf; mapping(address => mapping(address => uint)) override public allowance; function _transfer(address from, address to, uint value) private { require(balanceOf[from] >= value, 'ERC20Token: INSUFFICIENT_BALANCE'); balanceOf[from] = balanceOf[from].sub(value); balanceOf[to] = balanceOf[to].add(value); if (to == address(0)) { // burn totalSupply = totalSupply.sub(value); } emit Transfer(from, to, value); } function approve(address spender, uint value) external override returns (bool) { allowance[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); return true; } function transfer(address to, uint value) external override returns (bool) { _transfer(msg.sender, to, value); return true; } function transferFrom(address from, address to, uint value) external override returns (bool) { require(allowance[from][msg.sender] >= value, 'ERC20Token: INSUFFICIENT_ALLOWANCE'); allowance[from][msg.sender] = allowance[from][msg.sender].sub(value); _transfer(from, to, value); return true; } // end of implementation of ERC20 // creation of the interests token. constructor(uint _initAmount, address _initAddress, uint _interestsRate, uint _maxMintCumulation) UpgradableProduct() UpgradableGovernance() public { name = "Wasabi Token"; symbol = "WASABI"; decimals = 18; wasabiPerBlock = _interestsRate; totalSupply = _initAmount; balanceOf[_initAddress] = _initAmount; mintCumulation = _initAmount; maxMintCumulation = _maxMintCumulation; } // External function call // This function adjust how many token will be produced by each block, eg: // changeAmountPerBlock(100) // will set the produce rate to 100/block. function changeInterestsPerBlock(uint value) external override requireGovernor returns (bool) { uint old = wasabiPerBlock; require(value != old, 'AMOUNT_PER_BLOCK_NO_CHANGE'); update(); wasabiPerBlock = value; emit InterestsPerBlockChanged(old, value); return true; } uint lastRewardBlock; uint totalProductivity; uint accAmountPerShare; // Update reward variables of the given pool to be up-to-date. function update() internal { if (block.number <= lastRewardBlock) { return; } if (totalProductivity == 0) { lastRewardBlock = block.number; return; } uint256 multiplier = block.number.sub(lastRewardBlock); uint256 reward = multiplier.mul(wasabiPerBlock); if(reward + totalSupply > maxMintCumulation) reward = maxMintCumulation.sub(totalSupply); balanceOf[address(this)] = balanceOf[address(this)].add(reward); totalSupply = totalSupply.add(reward); accAmountPerShare = accAmountPerShare.add(reward.mul(1e12).div(totalProductivity)); lastRewardBlock = block.number; } // External function call // This function increase user's productivity and updates the global productivity. // the users' actual share percentage will calculated by: // Formula: user_productivity / global_productivity function increaseProductivity(address user, uint value) external override requireImpl returns (uint) { if(mintCumulation >= maxMintCumulation) return 0; require(value > 0, 'PRODUCTIVITY_VALUE_MUST_BE_GREATER_THAN_ZERO'); UserInfo storage userInfo = users[user]; update(); if (userInfo.amount > 0) { uint pending = userInfo.amount.mul(accAmountPerShare).div(1e12).sub(userInfo.rewardDebt); if(pending + mintCumulation > maxMintCumulation) pending = maxMintCumulation.sub(mintCumulation); _transfer(address(this), user, pending); mintCumulation = mintCumulation.add(pending); } totalProductivity = totalProductivity.add(value); userInfo.amount = userInfo.amount.add(value); userInfo.rewardDebt = userInfo.amount.mul(accAmountPerShare).div(1e12); emit ProductivityIncreased(user, value); return userInfo.amount; } // External function call // This function will decreases user's productivity by value, and updates the global productivity // it will record which block this is happenning and accumulates the area of (productivity * time) function decreaseProductivity(address user, uint value) external override requireImpl returns (uint) { if(mintCumulation >= maxMintCumulation) return 0; require(value > 0, 'INSUFFICIENT_PRODUCTIVITY'); UserInfo storage userInfo = users[user]; require(userInfo.amount >= value, "WASABI: FORBIDDEN"); update(); uint pending = userInfo.amount.mul(accAmountPerShare).div(1e12).sub(userInfo.rewardDebt); if(pending + mintCumulation > maxMintCumulation) pending = maxMintCumulation.sub(mintCumulation); _transfer(address(this), user, pending); mintCumulation = mintCumulation.add(pending); userInfo.amount = userInfo.amount.sub(value); userInfo.rewardDebt = userInfo.amount.mul(accAmountPerShare).div(1e12); totalProductivity = totalProductivity.sub(value); emit ProductivityDecreased(user, value); return pending; } function take() external override view returns (uint) { if(mintCumulation >= maxMintCumulation) return 0; UserInfo storage userInfo = users[msg.sender]; uint _accAmountPerShare = accAmountPerShare; // uint256 lpSupply = totalProductivity; if (block.number > lastRewardBlock && totalProductivity != 0) { uint multiplier = block.number.sub(lastRewardBlock); uint reward = multiplier.mul(wasabiPerBlock); _accAmountPerShare = _accAmountPerShare.add(reward.mul(1e12).div(totalProductivity)); } uint pending = userInfo.amount.mul(_accAmountPerShare).div(1e12).sub(userInfo.rewardDebt); if(pending + mintCumulation > maxMintCumulation) pending = maxMintCumulation.sub(mintCumulation); return pending; } function takeWithAddress(address user) external view returns (uint) { if(mintCumulation >= maxMintCumulation) return 0; UserInfo storage userInfo = users[user]; uint _accAmountPerShare = accAmountPerShare; // uint256 lpSupply = totalProductivity; if (block.number > lastRewardBlock && totalProductivity != 0) { uint multiplier = block.number.sub(lastRewardBlock); uint reward = multiplier.mul(wasabiPerBlock); _accAmountPerShare = _accAmountPerShare.add(reward.mul(1e12).div(totalProductivity)); } uint pending = userInfo.amount.mul(_accAmountPerShare).div(1e12).sub(userInfo.rewardDebt); if(pending + mintCumulation > maxMintCumulation) pending = maxMintCumulation.sub(mintCumulation); return pending; } // Returns how much a user could earn plus the giving block number. function takeWithBlock() external override view returns (uint, uint) { if(mintCumulation >= maxMintCumulation) return (0, block.number); UserInfo storage userInfo = users[msg.sender]; uint _accAmountPerShare = accAmountPerShare; // uint256 lpSupply = totalProductivity; if (block.number > lastRewardBlock && totalProductivity != 0) { uint multiplier = block.number.sub(lastRewardBlock); uint reward = multiplier.mul(wasabiPerBlock); _accAmountPerShare = _accAmountPerShare.add(reward.mul(1e12).div(totalProductivity)); } uint pending = userInfo.amount.mul(_accAmountPerShare).div(1e12).sub(userInfo.rewardDebt); if(pending + mintCumulation > maxMintCumulation) pending = maxMintCumulation.sub(mintCumulation); return (pending, block.number); // return (userInfo.amount.mul(_accAmountPerShare).div(1e12).sub(userInfo.rewardDebt), block.number); } // External function call // When user calls this function, it will calculate how many token will mint to user from his productivity * time // Also it calculates global token supply from last time the user mint to this time. function mint(address to) external override lock returns (uint) { require(to != address(0), ''); return 0; } // Returns how many productivity a user has and global has. function getProductivity(address user) external override view returns (uint, uint) { return (users[user].amount, totalProductivity); } // Returns the current gorss product rate. function interestsPerBlock() external override view returns (uint) { return accAmountPerShare; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_initAmount","type":"uint256"},{"internalType":"address","name":"_initAddress","type":"address"},{"internalType":"uint256","name":"_interestsRate","type":"uint256"},{"internalType":"uint256","name":"_maxMintCumulation","type":"uint256"}],"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":"_oldGovernor","type":"address"},{"indexed":true,"internalType":"address","name":"_newGovernor","type":"address"}],"name":"GovernorChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_oldImpl","type":"address"},{"indexed":true,"internalType":"address","name":"_newImpl","type":"address"}],"name":"ImplChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"InterestsPerBlockChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ProductivityDecreased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ProductivityIncreased","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":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"changeInterestsPerBlock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"decreaseProductivity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getProductivity","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"impl","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"incNounce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"increaseProductivity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"interestsPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxMintCumulation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintCumulation","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":"nounce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"take","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"takeWithAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"takeWithBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"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":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newGovernor","type":"address"}],"name":"upgradeGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newImpl","type":"address"}],"name":"upgradeImpl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewardDebt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wasabiPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526001600455600a805460ff191660121790553480156200002357600080fd5b5060405162001a5f38038062001a5f833981810160405260808110156200004957600080fd5b50805160208083015160408085015160609095015160008054336001600160a01b031991821681179092556001805490911690911790558151808301909252600c8083526b2bb0b9b0b134902a37b5b2b760a11b92909401918252939491939192620000b8916008916200012c565b506040805180820190915260068082526557415341424960d01b6020909201918252620000e8916009916200012c565b50600a805460ff19166012179055600591909155600b8390556001600160a01b039091166000908152600c60205260409020829055600291909155600355620001d1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016f57805160ff19168380011785556200019f565b828001600101855582156200019f579182015b828111156200019f57825182559160200191906001019062000182565b50620001ad929150620001b1565b5090565b620001ce91905b80821115620001ad5760008155600101620001b8565b90565b61187e80620001e16000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635808b75b1161010457806370a08231116100a2578063a9059cbb11610071578063a9059cbb14610505578063bfc8b20814610531578063cf67536514610539578063dd62ed3e14610541576101cf565b806370a08231146104a95780638abf6077146104cf57806395d89b41146104d7578063a87430ba146104df576101cf565b80636622c838116100de5780636622c8381461044d5780636a627842146104735780636c531712146104995780636df26575146104a1576101cf565b80635808b75b14610420578063616d246314610428578063622b067f14610430576101cf565b80631fedded511610171578063313ce5671161014b578063313ce567146103a257806336f04e45146103c05780634afa66d6146103ec57806354fd4d5014610418576101cf565b80631fedded51461032057806323b872dd1461034657806328e964e91461037c576101cf565b80630e0b6eb5116101ad5780630e0b6eb5146102b5578063159090bd146102d657806318160ddd146102f05780631a2f1363146102f8576101cf565b806306fdde03146101d4578063095ea7b3146102515780630c340a2414610291575b600080fd5b6101dc61056f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102165781810151838201526020016101fe565b50505050905090810190601f1680156102435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561026757600080fd5b506001600160a01b0381351690602001356105fd565b604080519115158252519081900360200190f35b610299610664565b604080516001600160a01b039092168252519081900360200190f35b6102bd610673565b6040805192835260208301919091528051918290030190f35b6102de610790565b60408051918252519081900360200190f35b6102de610880565b61031e6004803603602081101561030e57600080fd5b50356001600160a01b0316610886565b005b61031e6004803603602081101561033657600080fd5b50356001600160a01b03166109bd565b61027d6004803603606081101561035c57600080fd5b506001600160a01b03813581169160208101359091169060400135610af6565b6102bd6004803603602081101561039257600080fd5b50356001600160a01b0316610bc5565b6103aa610be4565b6040805160ff9092168252519081900360200190f35b6102de600480360360408110156103d657600080fd5b506001600160a01b038135169060200135610bed565b6102de6004803603604081101561040257600080fd5b506001600160a01b038135169060200135610dbe565b6102de610fe6565b61031e610feb565b6102de610ff6565b61027d6004803603602081101561044657600080fd5b5035610ffc565b6102de6004803603602081101561046357600080fd5b50356001600160a01b03166110f5565b6102de6004803603602081101561048957600080fd5b50356001600160a01b03166111ee565b6102de611276565b6102de61127c565b6102de600480360360208110156104bf57600080fd5b50356001600160a01b0316611282565b610299611294565b6101dc6112a3565b6102bd600480360360208110156104f557600080fd5b50356001600160a01b03166112fe565b61027d6004803603604081101561051b57600080fd5b506001600160a01b038135169060200135611317565b6102de61132d565b6102de611333565b6102de6004803603604081101561055757600080fd5b506001600160a01b0381358116916020013516611339565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b505050505081565b336000818152600d602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6001546001600160a01b031681565b6000806003546002541061068c5750600090504361078c565b336000908152600760205260409020601054600e54431180156106b05750600f5415155b156107265760006106cc600e544361135690919063ffffffff16565b905060006106e56005548361139f90919063ffffffff16565b9050610721610714600f5461070864e8d4a510008561139f90919063ffffffff16565b9063ffffffff6113f816565b849063ffffffff61143a16565b925050505b600061075c836001015461075064e8d4a5100061070886886000015461139f90919063ffffffff16565b9063ffffffff61135616565b905060035460025482011115610784576002546003546107819163ffffffff61135616565b90505b935043925050505b9091565b6000600354600254106107a55750600061087d565b336000908152600760205260409020601054600e54431180156107c95750600f5415155b156108265760006107e5600e544361135690919063ffffffff16565b905060006107fe6005548361139f90919063ffffffff16565b9050610821610714600f5461070864e8d4a510008561139f90919063ffffffff16565b925050505b6000610850836001015461075064e8d4a5100061070886886000015461139f90919063ffffffff16565b905060035460025482011115610878576002546003546108759163ffffffff61135616565b90505b925050505b90565b600b5481565b6000546001600160a01b031633146108d1576040805162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b604482015290519081900360640190fd5b6001600160a01b03811661091e576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b6000546001600160a01b038281169116141561096d576040805162461bcd60e51b81526020600482015260096024820152684e4f5f4348414e474560b81b604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917faad46b89531ed10d02d926f4d6bfe234a6126e3fffc02d3b07167575f9c143379190a35050565b6001546001600160a01b03163314610a08576040805162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b604482015290519081900360640190fd5b6001600160a01b038116610a55576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b6001546001600160a01b0382811691161415610aa4576040805162461bcd60e51b81526020600482015260096024820152684e4f5f4348414e474560b81b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fde4b3f61490b74c0ed6237523974fe299126bbbf8a8a7482fd220104c59b0c8490600090a35050565b6001600160a01b0383166000908152600d60209081526040808320338452909152812054821115610b585760405162461bcd60e51b81526004018080602001828103825260228152602001806117da6022913960400191505060405180910390fd5b6001600160a01b0384166000908152600d60209081526040808320338452909152902054610b8c908363ffffffff61135616565b6001600160a01b0385166000908152600d60209081526040808320338452909152902055610bbb848484611494565b5060019392505050565b6001600160a01b0316600090815260076020526040902054600f549091565b600a5460ff1681565b600080546001600160a01b03163314610c39576040805162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b604482015290519081900360640190fd5b60035460025410610c4c5750600061065e565b60008211610c8b5760405162461bcd60e51b815260040180806020018281038252602c81526020018061181d602c913960400191505060405180910390fd5b6001600160a01b0383166000908152600760205260409020610cab6115e6565b805415610d29576000610cde826001015461075064e8d4a51000610708601054876000015461139f90919063ffffffff16565b905060035460025482011115610d0657600254600354610d039163ffffffff61135616565b90505b610d11308683611494565b600254610d24908263ffffffff61143a16565b600255505b600f54610d3c908463ffffffff61143a16565b600f558054610d51908463ffffffff61143a16565b808255601054610d729164e8d4a5100091610708919063ffffffff61139f16565b60018201556040805184815290516001600160a01b038616917f6c0a24b06ee7f1d9c3c6680c7328531c32bc59cd665436fc686f973cb8c01be7919081900360200190a2549392505050565b600080546001600160a01b03163314610e0a576040805162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b604482015290519081900360640190fd5b60035460025410610e1d5750600061065e565b60008211610e72576040805162461bcd60e51b815260206004820152601960248201527f494e53554646494349454e545f50524f44554354495649545900000000000000604482015290519081900360640190fd5b6001600160a01b03831660009081526007602052604090208054831115610ed4576040805162461bcd60e51b81526020600482015260116024820152702ba0a9a0a1249d102327a92124a22222a760791b604482015290519081900360640190fd5b610edc6115e6565b6000610f08826001015461075064e8d4a51000610708601054876000015461139f90919063ffffffff16565b905060035460025482011115610f3057600254600354610f2d9163ffffffff61135616565b90505b610f3b308683611494565b600254610f4e908263ffffffff61143a16565b6002558154610f63908563ffffffff61135616565b808355601054610f849164e8d4a5100091610708919063ffffffff61139f16565b6001830155600f54610f9c908563ffffffff61135616565b600f556040805185815290516001600160a01b038716917fddb757202feefdd10c1666f1bb8f9744309ab811b6ef3ec0404a20c36e426697919081900360200190a2949350505050565b600281565b600680546001019055565b60065481565b6001546000906001600160a01b0316331461104a576040805162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b604482015290519081900360640190fd5b600554828114156110a2576040805162461bcd60e51b815260206004820152601a60248201527f414d4f554e545f5045525f424c4f434b5f4e4f5f4348414e4745000000000000604482015290519081900360640190fd5b6110aa6115e6565b6005839055604080518281526020810185905281517f2b0f92871c475b115872736d792627db822895557aec734cef4d60531965ed83929181900390910190a160019150505b919050565b60006003546002541061110a575060006110f0565b6001600160a01b0382166000908152600760205260409020601054600e54431180156111375750600f5415155b15611194576000611153600e544361135690919063ffffffff16565b9050600061116c6005548361139f90919063ffffffff16565b905061118f610714600f5461070864e8d4a510008561139f90919063ffffffff16565b925050505b60006111be836001015461075064e8d4a5100061070886886000015461139f90919063ffffffff16565b9050600354600254820111156111e6576002546003546111e39163ffffffff61135616565b90505b949350505050565b6000600454600114611230576040805162461bcd60e51b8152602060048201526006602482015265131bd8dad95960d21b604482015290519081900360640190fd5b60006004556001600160a01b03821661126a576040805162461bcd60e51b8152602060048201526000602482015290519081900360640190fd5b50506001600455600090565b60035481565b60055481565b600c6020526000908152604090205481565b6000546001600160a01b031681565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105f55780601f106105ca576101008083540402835291602001916105f5565b6007602052600090815260409020805460019091015482565b6000611324338484611494565b50600192915050565b60105490565b60025481565b600d60209081526000928352604080842090915290825290205481565b600061139883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116dd565b9392505050565b6000826113ae5750600061065e565b828202828482816113bb57fe5b04146113985760405162461bcd60e51b81526004018080602001828103825260218152602001806117fc6021913960400191505060405180910390fd5b600061139883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611774565b600082820183811015611398576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0383166000908152600c6020526040902054811115611501576040805162461bcd60e51b815260206004820181905260248201527f4552433230546f6b656e3a20494e53554646494349454e545f42414c414e4345604482015290519081900360640190fd5b6001600160a01b0383166000908152600c602052604090205461152a908263ffffffff61135616565b6001600160a01b038085166000908152600c6020526040808220939093559084168152205461155f908263ffffffff61143a16565b6001600160a01b0383166000818152600c602052604090209190915561159657600b54611592908263ffffffff61135616565b600b555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600e5443116115f4576116db565b600f546116045743600e556116db565b600061161b600e544361135690919063ffffffff16565b905060006116346005548361139f90919063ffffffff16565b9050600354600b548201111561165c57600b546003546116599163ffffffff61135616565b90505b306000908152600c602052604090205461167c908263ffffffff61143a16565b306000908152600c6020526040902055600b5461169f908263ffffffff61143a16565b600b55600f546116d1906116c2906107088464e8d4a5100063ffffffff61139f16565b6010549063ffffffff61143a16565b601055505043600e555b565b6000818484111561176c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611731578181015183820152602001611719565b50505050905090810190601f16801561175e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836117c35760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611731578181015183820152602001611719565b5060008385816117cf57fe5b049594505050505056fe4552433230546f6b656e3a20494e53554646494349454e545f414c4c4f57414e4345536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7750524f4455435449564954595f56414c55455f4d5553545f42455f475245415445525f5448414e5f5a45524fa26469706673582212202c0785b1783a5d1ef39c26678d0beb9b22a08a3a2565be19e3c3a8d1afd7c20a64736f6c63430006060033000000000000000000000000000000000000000000027b46536c66c8e3000000000000000000000000000000ec08219378c3bbc560d19f442e87323a740399f80000000000000000000000000000000000000000000000056bc75e2d6310000000000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635808b75b1161010457806370a08231116100a2578063a9059cbb11610071578063a9059cbb14610505578063bfc8b20814610531578063cf67536514610539578063dd62ed3e14610541576101cf565b806370a08231146104a95780638abf6077146104cf57806395d89b41146104d7578063a87430ba146104df576101cf565b80636622c838116100de5780636622c8381461044d5780636a627842146104735780636c531712146104995780636df26575146104a1576101cf565b80635808b75b14610420578063616d246314610428578063622b067f14610430576101cf565b80631fedded511610171578063313ce5671161014b578063313ce567146103a257806336f04e45146103c05780634afa66d6146103ec57806354fd4d5014610418576101cf565b80631fedded51461032057806323b872dd1461034657806328e964e91461037c576101cf565b80630e0b6eb5116101ad5780630e0b6eb5146102b5578063159090bd146102d657806318160ddd146102f05780631a2f1363146102f8576101cf565b806306fdde03146101d4578063095ea7b3146102515780630c340a2414610291575b600080fd5b6101dc61056f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102165781810151838201526020016101fe565b50505050905090810190601f1680156102435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561026757600080fd5b506001600160a01b0381351690602001356105fd565b604080519115158252519081900360200190f35b610299610664565b604080516001600160a01b039092168252519081900360200190f35b6102bd610673565b6040805192835260208301919091528051918290030190f35b6102de610790565b60408051918252519081900360200190f35b6102de610880565b61031e6004803603602081101561030e57600080fd5b50356001600160a01b0316610886565b005b61031e6004803603602081101561033657600080fd5b50356001600160a01b03166109bd565b61027d6004803603606081101561035c57600080fd5b506001600160a01b03813581169160208101359091169060400135610af6565b6102bd6004803603602081101561039257600080fd5b50356001600160a01b0316610bc5565b6103aa610be4565b6040805160ff9092168252519081900360200190f35b6102de600480360360408110156103d657600080fd5b506001600160a01b038135169060200135610bed565b6102de6004803603604081101561040257600080fd5b506001600160a01b038135169060200135610dbe565b6102de610fe6565b61031e610feb565b6102de610ff6565b61027d6004803603602081101561044657600080fd5b5035610ffc565b6102de6004803603602081101561046357600080fd5b50356001600160a01b03166110f5565b6102de6004803603602081101561048957600080fd5b50356001600160a01b03166111ee565b6102de611276565b6102de61127c565b6102de600480360360208110156104bf57600080fd5b50356001600160a01b0316611282565b610299611294565b6101dc6112a3565b6102bd600480360360208110156104f557600080fd5b50356001600160a01b03166112fe565b61027d6004803603604081101561051b57600080fd5b506001600160a01b038135169060200135611317565b6102de61132d565b6102de611333565b6102de6004803603604081101561055757600080fd5b506001600160a01b0381358116916020013516611339565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b505050505081565b336000818152600d602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6001546001600160a01b031681565b6000806003546002541061068c5750600090504361078c565b336000908152600760205260409020601054600e54431180156106b05750600f5415155b156107265760006106cc600e544361135690919063ffffffff16565b905060006106e56005548361139f90919063ffffffff16565b9050610721610714600f5461070864e8d4a510008561139f90919063ffffffff16565b9063ffffffff6113f816565b849063ffffffff61143a16565b925050505b600061075c836001015461075064e8d4a5100061070886886000015461139f90919063ffffffff16565b9063ffffffff61135616565b905060035460025482011115610784576002546003546107819163ffffffff61135616565b90505b935043925050505b9091565b6000600354600254106107a55750600061087d565b336000908152600760205260409020601054600e54431180156107c95750600f5415155b156108265760006107e5600e544361135690919063ffffffff16565b905060006107fe6005548361139f90919063ffffffff16565b9050610821610714600f5461070864e8d4a510008561139f90919063ffffffff16565b925050505b6000610850836001015461075064e8d4a5100061070886886000015461139f90919063ffffffff16565b905060035460025482011115610878576002546003546108759163ffffffff61135616565b90505b925050505b90565b600b5481565b6000546001600160a01b031633146108d1576040805162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b604482015290519081900360640190fd5b6001600160a01b03811661091e576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b6000546001600160a01b038281169116141561096d576040805162461bcd60e51b81526020600482015260096024820152684e4f5f4348414e474560b81b604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917faad46b89531ed10d02d926f4d6bfe234a6126e3fffc02d3b07167575f9c143379190a35050565b6001546001600160a01b03163314610a08576040805162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b604482015290519081900360640190fd5b6001600160a01b038116610a55576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b6001546001600160a01b0382811691161415610aa4576040805162461bcd60e51b81526020600482015260096024820152684e4f5f4348414e474560b81b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fde4b3f61490b74c0ed6237523974fe299126bbbf8a8a7482fd220104c59b0c8490600090a35050565b6001600160a01b0383166000908152600d60209081526040808320338452909152812054821115610b585760405162461bcd60e51b81526004018080602001828103825260228152602001806117da6022913960400191505060405180910390fd5b6001600160a01b0384166000908152600d60209081526040808320338452909152902054610b8c908363ffffffff61135616565b6001600160a01b0385166000908152600d60209081526040808320338452909152902055610bbb848484611494565b5060019392505050565b6001600160a01b0316600090815260076020526040902054600f549091565b600a5460ff1681565b600080546001600160a01b03163314610c39576040805162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b604482015290519081900360640190fd5b60035460025410610c4c5750600061065e565b60008211610c8b5760405162461bcd60e51b815260040180806020018281038252602c81526020018061181d602c913960400191505060405180910390fd5b6001600160a01b0383166000908152600760205260409020610cab6115e6565b805415610d29576000610cde826001015461075064e8d4a51000610708601054876000015461139f90919063ffffffff16565b905060035460025482011115610d0657600254600354610d039163ffffffff61135616565b90505b610d11308683611494565b600254610d24908263ffffffff61143a16565b600255505b600f54610d3c908463ffffffff61143a16565b600f558054610d51908463ffffffff61143a16565b808255601054610d729164e8d4a5100091610708919063ffffffff61139f16565b60018201556040805184815290516001600160a01b038616917f6c0a24b06ee7f1d9c3c6680c7328531c32bc59cd665436fc686f973cb8c01be7919081900360200190a2549392505050565b600080546001600160a01b03163314610e0a576040805162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b604482015290519081900360640190fd5b60035460025410610e1d5750600061065e565b60008211610e72576040805162461bcd60e51b815260206004820152601960248201527f494e53554646494349454e545f50524f44554354495649545900000000000000604482015290519081900360640190fd5b6001600160a01b03831660009081526007602052604090208054831115610ed4576040805162461bcd60e51b81526020600482015260116024820152702ba0a9a0a1249d102327a92124a22222a760791b604482015290519081900360640190fd5b610edc6115e6565b6000610f08826001015461075064e8d4a51000610708601054876000015461139f90919063ffffffff16565b905060035460025482011115610f3057600254600354610f2d9163ffffffff61135616565b90505b610f3b308683611494565b600254610f4e908263ffffffff61143a16565b6002558154610f63908563ffffffff61135616565b808355601054610f849164e8d4a5100091610708919063ffffffff61139f16565b6001830155600f54610f9c908563ffffffff61135616565b600f556040805185815290516001600160a01b038716917fddb757202feefdd10c1666f1bb8f9744309ab811b6ef3ec0404a20c36e426697919081900360200190a2949350505050565b600281565b600680546001019055565b60065481565b6001546000906001600160a01b0316331461104a576040805162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b604482015290519081900360640190fd5b600554828114156110a2576040805162461bcd60e51b815260206004820152601a60248201527f414d4f554e545f5045525f424c4f434b5f4e4f5f4348414e4745000000000000604482015290519081900360640190fd5b6110aa6115e6565b6005839055604080518281526020810185905281517f2b0f92871c475b115872736d792627db822895557aec734cef4d60531965ed83929181900390910190a160019150505b919050565b60006003546002541061110a575060006110f0565b6001600160a01b0382166000908152600760205260409020601054600e54431180156111375750600f5415155b15611194576000611153600e544361135690919063ffffffff16565b9050600061116c6005548361139f90919063ffffffff16565b905061118f610714600f5461070864e8d4a510008561139f90919063ffffffff16565b925050505b60006111be836001015461075064e8d4a5100061070886886000015461139f90919063ffffffff16565b9050600354600254820111156111e6576002546003546111e39163ffffffff61135616565b90505b949350505050565b6000600454600114611230576040805162461bcd60e51b8152602060048201526006602482015265131bd8dad95960d21b604482015290519081900360640190fd5b60006004556001600160a01b03821661126a576040805162461bcd60e51b8152602060048201526000602482015290519081900360640190fd5b50506001600455600090565b60035481565b60055481565b600c6020526000908152604090205481565b6000546001600160a01b031681565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105f55780601f106105ca576101008083540402835291602001916105f5565b6007602052600090815260409020805460019091015482565b6000611324338484611494565b50600192915050565b60105490565b60025481565b600d60209081526000928352604080842090915290825290205481565b600061139883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116dd565b9392505050565b6000826113ae5750600061065e565b828202828482816113bb57fe5b04146113985760405162461bcd60e51b81526004018080602001828103825260218152602001806117fc6021913960400191505060405180910390fd5b600061139883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611774565b600082820183811015611398576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0383166000908152600c6020526040902054811115611501576040805162461bcd60e51b815260206004820181905260248201527f4552433230546f6b656e3a20494e53554646494349454e545f42414c414e4345604482015290519081900360640190fd5b6001600160a01b0383166000908152600c602052604090205461152a908263ffffffff61135616565b6001600160a01b038085166000908152600c6020526040808220939093559084168152205461155f908263ffffffff61143a16565b6001600160a01b0383166000818152600c602052604090209190915561159657600b54611592908263ffffffff61135616565b600b555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600e5443116115f4576116db565b600f546116045743600e556116db565b600061161b600e544361135690919063ffffffff16565b905060006116346005548361139f90919063ffffffff16565b9050600354600b548201111561165c57600b546003546116599163ffffffff61135616565b90505b306000908152600c602052604090205461167c908263ffffffff61143a16565b306000908152600c6020526040902055600b5461169f908263ffffffff61143a16565b600b55600f546116d1906116c2906107088464e8d4a5100063ffffffff61139f16565b6010549063ffffffff61143a16565b601055505043600e555b565b6000818484111561176c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611731578181015183820152602001611719565b50505050905090810190601f16801561175e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836117c35760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611731578181015183820152602001611719565b5060008385816117cf57fe5b049594505050505056fe4552433230546f6b656e3a20494e53554646494349454e545f414c4c4f57414e4345536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7750524f4455435449564954595f56414c55455f4d5553545f42455f475245415445525f5448414e5f5a45524fa26469706673582212202c0785b1783a5d1ef39c26678d0beb9b22a08a3a2565be19e3c3a8d1afd7c20a64736f6c63430006060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000027b46536c66c8e3000000000000000000000000000000ec08219378c3bbc560d19f442e87323a740399f80000000000000000000000000000000000000000000000056bc75e2d6310000000000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
-----Decoded View---------------
Arg [0] : _initAmount (uint256): 3000000000000000000000000
Arg [1] : _initAddress (address): 0xeC08219378c3bBc560D19f442E87323A740399f8
Arg [2] : _interestsRate (uint256): 100000000000000000000
Arg [3] : _maxMintCumulation (uint256): 100000000000000000000000000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000027b46536c66c8e3000000
Arg [1] : 000000000000000000000000ec08219378c3bbc560d19f442e87323a740399f8
Arg [2] : 0000000000000000000000000000000000000000000000056bc75e2d63100000
Arg [3] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Deployed Bytecode Sourcemap
11947:10174:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11947:10174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;12699:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;12699:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13399:210;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;13399:210:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5080:23;;;:::i;:::-;;;;-1:-1:-1;;;;;5080:23:0;;;;;;;;;;;;;;20356:994;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18587:836;;;:::i;:::-;;;;;;;;;;;;;;;;12811:32;;;:::i;4753:283::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4753:283:0;-1:-1:-1;;;;;4753:283:0;;:::i;:::-;;5381:337;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5381:337:0;-1:-1:-1;;;;;5381:337:0;;:::i;13773:333::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;13773:333:0;;;;;;;;;;;;;;;;;:::i;21804:148::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;21804:148:0;-1:-1:-1;;;;;21804:148:0;;:::i;12769:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16377:987;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;16377:987:0;;;;;;;;:::i;17611:968::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;17611:968:0;;;;;;;;:::i;12058:32::-;;;:::i;12395:56::-;;;:::i;12368:18::-;;;:::i;14906:330::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14906:330:0;;:::i;19431:844::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;19431:844:0;-1:-1:-1;;;;;19431:844:0;;:::i;21600:131::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;21600:131:0;-1:-1:-1;;;;;21600:131:0;;:::i;12130:29::-;;;:::i;12200:26::-;;;:::i;12852:50::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12852:50:0;-1:-1:-1;;;;;12852:50:0;;:::i;4480:19::-;;;:::i;12733:29::-;;;:::i;12605:41::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12605:41:0;-1:-1:-1;;;;;12605:41:0;;:::i;13617:148::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;13617:148:0;;;;;;;;:::i;22008:110::-;;;:::i;12097:26::-;;;:::i;12909:70::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;12909:70:0;;;;;;;;;;:::i;12699:27::-;;;;;;;;;;;;;;;-1:-1:-1;;12699:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13399:210::-;13499:10;13472:4;13489:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;13489:30:0;;;;;;;;;;;:38;;;13543:36;;;;;;;13472:4;;13489:30;;13499:10;;13543:36;;;;;;;;-1:-1:-1;13597:4:0;13399:210;;;;;:::o;5080:23::-;;;-1:-1:-1;;;;;5080:23:0;;:::o;20356:994::-;20413:4;20419;20457:17;;20439:14;;:35;20436:77;;-1:-1:-1;20497:1:0;;-1:-1:-1;20500:12:0;20489:24;;20436:77;20560:10;20526:25;20554:17;;;:5;:17;;;;;20608;;20705:15;;20690:12;:30;:56;;;;-1:-1:-1;20724:17:0;;:22;;20690:56;20686:298;;;20763:15;20781:33;20798:15;;20781:12;:16;;:33;;;;:::i;:::-;20763:51;;20829:11;20843:30;20858:14;;20843:10;:14;;:30;;;;:::i;:::-;20829:44;;20909:63;20932:39;20953:17;;20932:16;20943:4;20932:6;:10;;:16;;;;:::i;:::-;:20;:39;:20;:39;:::i;:::-;20909:18;;:63;:22;:63;:::i;:::-;20888:84;;20686:298;;;20994:12;21009:74;21063:8;:19;;;21009:49;21053:4;21009:39;21029:18;21009:8;:15;;;:19;;:39;;;;:::i;:49::-;:53;:74;:53;:74;:::i;:::-;20994:89;;21124:17;;21107:14;;21097:7;:24;:44;21094:96;;;21175:14;;21153:17;;:37;;;:21;:37;:::i;:::-;21143:47;;21094:96;21209:7;-1:-1:-1;21218:12:0;;-1:-1:-1;;;20356:994:0;;;:::o;18587:836::-;18635:4;18673:17;;18655:14;;:35;18652:61;;-1:-1:-1;18712:1:0;18705:8;;18652:61;18760:10;18726:25;18754:17;;;:5;:17;;;;;18808;;18905:15;;18890:12;:30;:56;;;;-1:-1:-1;18924:17:0;;:22;;18890:56;18886:298;;;18963:15;18981:33;18998:15;;18981:12;:16;;:33;;;;:::i;:::-;18963:51;;19029:11;19043:30;19058:14;;19043:10;:14;;:30;;;;:::i;:::-;19029:44;;19109:63;19132:39;19153:17;;19132:16;19143:4;19132:6;:10;;:16;;;;:::i;19109:63::-;19088:84;;18886:298;;;19194:12;19209:74;19263:8;:19;;;19209:49;19253:4;19209:39;19229:18;19209:8;:15;;;:19;;:39;;;;:::i;:74::-;19194:89;;19324:17;;19307:14;;19297:7;:24;:44;19294:96;;;19375:14;;19353:17;;:37;;;:21;:37;:::i;:::-;19343:47;;19294:96;19408:7;-1:-1:-1;;;18587:836:0;;:::o;12811:32::-;;;;:::o;4753:283::-;4707:4;;-1:-1:-1;;;;;4707:4:0;4693:10;:18;4685:40;;;;;-1:-1:-1;;;4685:40:0;;;;;;;;;;;;-1:-1:-1;;;4685:40:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4830:22:0;::::1;4822:50;;;::::0;;-1:-1:-1;;;4822:50:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;4822:50:0;;;;;;;;;;;;;::::1;;4903:4;::::0;-1:-1:-1;;;;;4891:16:0;;::::1;4903:4:::0;::::1;4891:16;;4883:38;;;::::0;;-1:-1:-1;;;4883:38:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;4883:38:0;;;;;;;;;;;;;::::1;;4932:16;4951:4:::0;;-1:-1:-1;;;;;4966:15:0;;::::1;-1:-1:-1::0;;;;;;4966:15:0;::::1;::::0;::::1;::::0;;4997:31:::1;::::0;4951:4;;;::::1;::::0;;;4997:31:::1;::::0;4932:16;4997:31:::1;4736:1;4753:283:::0;:::o;5381:337::-;5331:8;;-1:-1:-1;;;;;5331:8:0;5317:10;:22;5309:44;;;;;-1:-1:-1;;;5309:44:0;;;;;;;;;;;;-1:-1:-1;;;5309:44:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5472:26:0;::::1;5464:54;;;::::0;;-1:-1:-1;;;5464:54:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5464:54:0;;;;;;;;;;;;;::::1;;5553:8;::::0;-1:-1:-1;;;;;5537:24:0;;::::1;5553:8:::0;::::1;5537:24;;5529:46;;;::::0;;-1:-1:-1;;;5529:46:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5529:46:0;;;;;;;;;;;;;::::1;;5609:8;::::0;;-1:-1:-1;;;;;5628:23:0;;::::1;-1:-1:-1::0;;;;;;5628:23:0;::::1;::::0;::::1;::::0;;;5667:43:::1;::::0;5609:8;::::1;::::0;5628:23;5609:8;;5667:43:::1;::::0;5586:20:::1;::::0;5667:43:::1;5364:1;5381:337:::0;:::o;13773:333::-;-1:-1:-1;;;;;13885:15:0;;13860:4;13885:15;;;:9;:15;;;;;;;;13901:10;13885:27;;;;;;;;:36;-1:-1:-1;13885:36:0;13877:83;;;;-1:-1:-1;;;13877:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14001:15:0;;;;;;:9;:15;;;;;;;;14017:10;14001:27;;;;;;;;:38;;14033:5;14001:38;:31;:38;:::i;:::-;-1:-1:-1;;;;;13971:15:0;;;;;;:9;:15;;;;;;;;13987:10;13971:27;;;;;;;:68;14050:26;13981:4;14066:2;14070:5;14050:9;:26::i;:::-;-1:-1:-1;14094:4:0;13773:333;;;;;:::o;21804:148::-;-1:-1:-1;;;;;21906:11:0;21875:4;21906:11;;;:5;:11;;;;;:18;21926:17;;21906:18;;21804:148::o;12769:35::-;;;;;;:::o;16377:987::-;16472:4;4707;;-1:-1:-1;;;;;4707:4:0;4693:10;:18;4685:40;;;;;-1:-1:-1;;;4685:40:0;;;;;;;;;;;;-1:-1:-1;;;4685:40:0;;;;;;;;;;;;;;;16510:17:::1;;16492:14;;:35;16489:61;;-1:-1:-1::0;16549:1:0::1;16542:8;;16489:61;16579:1;16571:5;:9;16563:66;;;;-1:-1:-1::0;;;16563:66:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;16670:11:0;::::1;16642:25;16670:11:::0;;;:5:::1;:11;::::0;;;;16692:8:::1;:6;:8::i;:::-;16715:15:::0;;:19;16711:364:::1;;16751:12;16766:73;16819:8;:19;;;16766:48;16809:4;16766:38;16786:17;;16766:8;:15;;;:19;;:38;;;;:::i;:73::-;16751:88;;16884:17;;16867:14;;16857:7;:24;:44;16854:96;;;16935:14;::::0;16913:17:::1;::::0;:37:::1;::::0;::::1;:21;:37;:::i;:::-;16903:47;;16854:96;16965:39;16983:4;16990;16996:7;16965:9;:39::i;:::-;17036:14;::::0;:27:::1;::::0;17055:7;17036:27:::1;:18;:27;:::i;:::-;17019:14;:44:::0;-1:-1:-1;16711:364:0::1;17107:17;::::0;:28:::1;::::0;17129:5;17107:28:::1;:21;:28;:::i;:::-;17087:17;:48:::0;17166:15;;:26:::1;::::0;17186:5;17166:26:::1;:19;:26;:::i;:::-;17148:44:::0;;;17245:17:::1;::::0;17225:48:::1;::::0;17268:4:::1;::::0;17225:38:::1;::::0;17148:44;17225:38:::1;:19;:38;:::i;:48::-;17203:19;::::0;::::1;:70:::0;17289:34:::1;::::0;;;;;;;-1:-1:-1;;;;;17289:34:0;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;17341:15:::0;;16377:987;-1:-1:-1;;;16377:987:0:o;17611:968::-;17706:4;4707;;-1:-1:-1;;;;;4707:4:0;4693:10;:18;4685:40;;;;;-1:-1:-1;;;4685:40:0;;;;;;;;;;;;-1:-1:-1;;;4685:40:0;;;;;;;;;;;;;;;17744:17:::1;;17726:14;;:35;17723:61;;-1:-1:-1::0;17783:1:0::1;17776:8;;17723:61;17813:1;17805:5;:9;17797:47;;;::::0;;-1:-1:-1;;;17797:47:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;17893:11:0;::::1;17865:25;17893:11:::0;;;:5:::1;:11;::::0;;;;17923:15;;:24;-1:-1:-1;17923:24:0::1;17915:54;;;::::0;;-1:-1:-1;;;17915:54:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;17915:54:0;;;;;;;;;;;;;::::1;;17980:8;:6;:8::i;:::-;17999:12;18014:73;18067:8;:19;;;18014:48;18057:4;18014:38;18034:17;;18014:8;:15;;;:19;;:38;;;;:::i;:73::-;17999:88;;18128:17;;18111:14;;18101:7;:24;:44;18098:96;;;18179:14;::::0;18157:17:::1;::::0;:37:::1;::::0;::::1;:21;:37;:::i;:::-;18147:47;;18098:96;18205:39;18223:4;18230;18236:7;18205:9;:39::i;:::-;18272:14;::::0;:27:::1;::::0;18291:7;18272:27:::1;:18;:27;:::i;:::-;18255:14;:44:::0;18328:15;;:26:::1;::::0;18348:5;18328:26:::1;:19;:26;:::i;:::-;18310:44:::0;;;18407:17:::1;::::0;18387:48:::1;::::0;18430:4:::1;::::0;18387:38:::1;::::0;18310:44;18387:38:::1;:19;:38;:::i;:48::-;18365:19;::::0;::::1;:70:::0;18466:17:::1;::::0;:28:::1;::::0;18488:5;18466:28:::1;:21;:28;:::i;:::-;18446:17;:48:::0;18512:34:::1;::::0;;;;;;;-1:-1:-1;;;;;18512:34:0;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;18564:7:::0;17611:968;-1:-1:-1;;;;17611:968:0:o;12058:32::-;12089:1;12058:32;:::o;12395:56::-;12434:6;:9;;;;;;12395:56::o;12368:18::-;;;;:::o;14906:330::-;5331:8;;14994:4;;-1:-1:-1;;;;;5331:8:0;5317:10;:22;5309:44;;;;;-1:-1:-1;;;5309:44:0;;;;;;;;;;;;-1:-1:-1;;;5309:44:0;;;;;;;;;;;;;;;15022:14:::1;::::0;15055:12;;::::1;;15047:51;;;::::0;;-1:-1:-1;;;15047:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;15111:8;:6;:8::i;:::-;15130:14;:22:::0;;;15170:36:::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;15224:4;15217:11;;;5364:1;14906:330:::0;;;:::o;19431:844::-;19493:4;19531:17;;19513:14;;:35;19510:61;;-1:-1:-1;19570:1:0;19563:8;;19510:61;-1:-1:-1;;;;;19612:11:0;;19584:25;19612:11;;;:5;:11;;;;;19660:17;;19757:15;;19742:12;:30;:56;;;;-1:-1:-1;19776:17:0;;:22;;19742:56;19738:298;;;19815:15;19833:33;19850:15;;19833:12;:16;;:33;;;;:::i;:::-;19815:51;;19881:11;19895:30;19910:14;;19895:10;:14;;:30;;;;:::i;:::-;19881:44;;19961:63;19984:39;20005:17;;19984:16;19995:4;19984:6;:10;;:16;;;;:::i;19961:63::-;19940:84;;19738:298;;;20046:12;20061:74;20115:8;:19;;;20061:49;20105:4;20061:39;20081:18;20061:8;:15;;;:19;;:39;;;;:::i;:74::-;20046:89;;20176:17;;20159:14;;20149:7;:24;:44;20146:96;;;20227:14;;20205:17;;:37;;;:21;:37;:::i;:::-;20195:47;;20146:96;20260:7;19431:844;-1:-1:-1;;;;19431:844:0:o;21600:131::-;21658:4;12270:8;;12282:1;12270:13;12262:32;;;;;-1:-1:-1;;;12262:32:0;;;;;;;;;;;;-1:-1:-1;;;12262:32:0;;;;;;;;;;;;;;;12316:1;12305:8;:12;-1:-1:-1;;;;;21683:16:0;::::1;21675:29;;;::::0;;-1:-1:-1;;;21675:29:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;12351:1:0;12340:8;:12;21722:1:::1;::::0;21600:131::o;12130:29::-;;;;:::o;12200:26::-;;;;:::o;12852:50::-;;;;;;;;;;;;;:::o;4480:19::-;;;-1:-1:-1;;;;;4480:19:0;;:::o;12733:29::-;;;;;;;;;;;;;;;-1:-1:-1;;12733:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12605:41;;;;;;;;;;;;;;;;;;;:::o;13617:148::-;13686:4;13703:32;13713:10;13725:2;13729:5;13703:9;:32::i;:::-;-1:-1:-1;13753:4:0;13617:148;;;;:::o;22008:110::-;22093:17;;22008:110;:::o;12097:26::-;;;;:::o;12909:70::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;7152:136::-;7210:7;7237:43;7241:1;7244;7237:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;7230:50;7152:136;-1:-1:-1;;;7152:136:0:o;8042:471::-;8100:7;8345:6;8341:47;;-1:-1:-1;8375:1:0;8368:8;;8341:47;8412:5;;;8416:1;8412;:5;:1;8436:5;;;;;:10;8428:56;;;;-1:-1:-1;;;8428:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8989:132;9047:7;9074:39;9078:1;9081;9074:39;;;;;;;;;;;;;;;;;:3;:39::i;6688:181::-;6746:7;6778:5;;;6802:6;;;;6794:46;;;;;-1:-1:-1;;;6794:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;12988:403;-1:-1:-1;;;;;13072:15:0;;;;;;:9;:15;;;;;;:24;-1:-1:-1;13072:24:0;13064:69;;;;;-1:-1:-1;;;13064:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13162:15:0;;;;;;:9;:15;;;;;;:26;;13182:5;13162:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;13144:15:0;;;;;;;:9;:15;;;;;;:44;;;;13215:13;;;;;;;:24;;13233:5;13215:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;13199:13:0;;;;;;:9;:13;;;;;:40;;;;13250:93;;13309:11;;:22;;13325:5;13309:22;:15;:22;:::i;:::-;13295:11;:36;13250:93;13373:2;-1:-1:-1;;;;;13358:25:0;13367:4;-1:-1:-1;;;;;13358:25:0;;13377:5;13358:25;;;;;;;;;;;;;;;;;;12988:403;;;:::o;15403:723::-;15467:15;;15451:12;:31;15447:70;;15499:7;;15447:70;15533:17;;15529:106;;15590:12;15572:15;:30;15617:7;;15529:106;15645:18;15666:33;15683:15;;15666:12;:16;;:33;;;;:::i;:::-;15645:54;;15710:14;15727:30;15742:14;;15727:10;:14;;:30;;;;:::i;:::-;15710:47;;15796:17;;15782:11;;15773:6;:20;:40;15770:88;;;15846:11;;15824:17;;:34;;;:21;:34;:::i;:::-;15815:43;;15770:88;15916:4;15898:24;;;;:9;:24;;;;;;:36;;15927:6;15898:36;:28;:36;:::i;:::-;15889:4;15871:24;;;;:9;:24;;;;;:63;15959:11;;:23;;15975:6;15959:23;:15;:23;:::i;:::-;15945:11;:37;16058:17;;16015:62;;16037:39;;:16;:6;16048:4;16037:16;:10;:16;:::i;:39::-;16015:17;;;:62;:21;:62;:::i;:::-;15995:17;:82;-1:-1:-1;;16106:12:0;16088:15;:30;15403:723;:::o;7591:192::-;7677:7;7713:12;7705:6;;;;7697:29;;;;-1:-1:-1;;;7697:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7697:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7749:5:0;;;7591:192::o;9617:278::-;9703:7;9738:12;9731:5;9723:28;;;;-1:-1:-1;;;9723:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9723:28:0;;9762:9;9778:1;9774;:5;;;;;;;9617:278;-1:-1:-1;;;;;9617:278:0:o
Swarm Source
ipfs://2c0785b1783a5d1ef39c26678d0beb9b22a08a3a2565be19e3c3a8d1afd7c20a
Loading...
Loading
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.