Overview
ETH Balance
0.031 ETH
Eth Value
$77.29 (@ $2,493.32/ETH)More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 20 from a total of 20 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unlock | 9441832 | 1720 days ago | IN | 0 ETH | 0.00002966 | ||||
Harvest | 9438795 | 1721 days ago | IN | 0 ETH | 0.00717833 | ||||
Harvest | 8923789 | 1808 days ago | IN | 0 ETH | 0.00223803 | ||||
Lock | 8485681 | 1877 days ago | IN | 0.1 ETH | 0.0004474 | ||||
Unlock | 8447479 | 1883 days ago | IN | 0 ETH | 0.00002627 | ||||
Unlock | 8446374 | 1883 days ago | IN | 0 ETH | 0.00003152 | ||||
Harvest | 8446371 | 1883 days ago | IN | 0 ETH | 0.00028057 | ||||
Harvest | 8408737 | 1889 days ago | IN | 0 ETH | 0.00011826 | ||||
Unlock | 8393611 | 1891 days ago | IN | 0 ETH | 0.00023643 | ||||
Harvest | 8393586 | 1891 days ago | IN | 0 ETH | 0.00201326 | ||||
Harvest | 8371969 | 1895 days ago | IN | 0 ETH | 0.00016126 | ||||
Harvest | 8360335 | 1896 days ago | IN | 0 ETH | 0.0001849 | ||||
Lock | 8339165 | 1900 days ago | IN | 0.01 ETH | 0.00008989 | ||||
Harvest | 8336133 | 1900 days ago | IN | 0 ETH | 0.00016501 | ||||
Lock | 8328253 | 1901 days ago | IN | 0.1 ETH | 0.000089 | ||||
Lock | 8325937 | 1902 days ago | IN | 0.001 ETH | 0.000089 | ||||
Lock | 8324966 | 1902 days ago | IN | 1 ETH | 0.000089 | ||||
Lock | 8323172 | 1902 days ago | IN | 0.5 ETH | 0.000089 | ||||
Lock | 8322962 | 1902 days ago | IN | 0.02 ETH | 0.0000962 | ||||
Lock | 8322957 | 1902 days ago | IN | 0 ETH | 0.0000962 |
Loading...
Loading
Contract Name:
EtheleToken
Compiler Version
v0.5.0+commit.1d4f565a
Contract Source Code (Solidity Multiple files format)
pragma solidity ^0.5.0; import "./ERC20.sol"; import "./SafeMath.sol"; /** * Implementation for Etherem Elements (Ethele) ERC20 Token. * Enables the token to be lock-harvested. * Contains the functions for Transmutation of other Ethele tokens to this token. (Only for 5 elements, not Yin and Yang) */ contract EtheleToken is ERC20 { using SafeMath for uint256; string private _name; string private _symbol; address private _creator; // Ethele token Transmute process: // By burning one token each of transmuteSource1 and transmuteSource2, one token (of this contract) can be minted. // By burning one token each of transmuteSource3 and transmuteSource4, one token (of this contract) can be minted. // Only applies to the 5 elements, not Yin and Yang. address private _transmuteSource1; address private _transmuteSource2; address private _transmuteSource3; address private _transmuteSource4; mapping (address => bool) private _allowBurnsFrom; // Address mapped to true are allowed to burn this contract's tokens uint256 private _totalLocked; mapping (address => uint256) private _lockedBalance; mapping (address => uint256) private _harvestStartPeriod; mapping (address => uint256) private _unlockTime; uint256 private constant PERIOD_LENGTH = 1 days; uint256 private constant MINT_AMOUNT = 100000 ether; // 'ether' is equivalent to 10^18. This is used since this token has same number of decimals as ETH. uint256 private _currentPeriod; uint256 private _contractStartTime; uint256[] private _cumulTokenPerEth; // Across periods, tracks cumulative harvestable amount of this token per each Eth locked. constructor( string memory name, string memory symbol ) public { // only creator is allowed to set transmuteSources and burner addresses. // The creator is the EtheleGenerator contract. _creator = msg.sender; _name = name; _symbol = symbol; _currentPeriod = 1; _cumulTokenPerEth.push(0); _contractStartTime = block.timestamp; } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return 18; } function getCreator() public view returns (address) { return _creator; } function getTransmuteSource1() public view returns (address) { return _transmuteSource1; } function getTransmuteSource2() public view returns (address) { return _transmuteSource2; } function getTransmuteSource3() public view returns (address) { return _transmuteSource3; } function getTransmuteSource4() public view returns (address) { return _transmuteSource4; } function getAllowBurnsFrom(address addr) public view returns (bool) { return _allowBurnsFrom[addr]; } function getTotalLocked() public view returns (uint256) { return _totalLocked; } function getLockedBalance(address addr) public view returns (uint256) { return _lockedBalance[addr]; } function getHarvestStartPeriod(address addr) public view returns (uint256) { return _harvestStartPeriod[addr]; } function getUnlockTime(address addr) public view returns (uint256) { return _unlockTime[addr]; } // convenience function for checking how many tokens an address can harvest. // some complexity comes from the fact that _currentPeriod may not reflect the intended current period at this point in time. function getHarvestableAmount(address addr) public view returns (uint256) { uint256 intendedPeriod = (block.timestamp).sub(_contractStartTime).div(PERIOD_LENGTH).add(1); uint256 harvestStartPeriod = _harvestStartPeriod[addr]; uint256 lockedBalance = _lockedBalance[addr]; if (harvestStartPeriod >= intendedPeriod.sub(1) || lockedBalance == 0) { return 0; } else { uint256 harvestableTokenPerEth = MINT_AMOUNT.mul(1 ether).div(_totalLocked); uint256 harvestableAmount; // handle edge case where harvestStartPeriod == currentPeriod if (harvestStartPeriod == _currentPeriod) { // In this case we count the number of harvestable periods as the difference between harvestStartPeriod and (intendedPeriod-1). uint256 periodDiff = intendedPeriod.sub(1).sub(harvestStartPeriod); harvestableAmount = periodDiff .mul(harvestableTokenPerEth) .mul(lockedBalance) .div(1 ether); } else { // need to take into account the additional harvested amount for period that has not yet been updated. uint256 periodDiff = intendedPeriod.sub(_currentPeriod); uint256 tokenPerEthInPeriodDiff = harvestableTokenPerEth.mul(periodDiff); // compute harvestable amount harvestableAmount = tokenPerEthInPeriodDiff .add(_cumulTokenPerEth[_currentPeriod.sub(1)]) .sub(_cumulTokenPerEth[harvestStartPeriod]) .mul(lockedBalance) .div(1 ether); } return harvestableAmount; } } function getPeriodLength() public pure returns (uint256) { return PERIOD_LENGTH; } function getMintAmount() public pure returns (uint256) { return MINT_AMOUNT; } function getCurrentPeriod() public view returns (uint256) { return _currentPeriod; } function getContractStartTime() public view returns (uint256) { return _contractStartTime; } function getCumulTokenPerEth(uint256 period) public view returns (uint256) { return _cumulTokenPerEth[period]; } // any address can burn their own tokens. function burn(uint256 amount) public { _burn(msg.sender, amount); } function burnFrom(address account, uint256 amount) public { // special case for whitelisted burner addresses to bypass need for approval to burn. // this special right is only granted to other Ethele tokens. if (_allowBurnsFrom[msg.sender]) { _burn(account, amount); } else { _burnFrom(account, amount); } } function setTransmuteSources12(address transmuteSource1, address transmuteSource2) public { require(msg.sender == _creator); _transmuteSource1 = transmuteSource1; _transmuteSource2 = transmuteSource2; } function setTransmuteSources34(address transmuteSource3, address transmuteSource4) public { require(msg.sender == _creator); _transmuteSource3 = transmuteSource3; _transmuteSource4 = transmuteSource4; } function allowBurnsFrom(address burner) public { require(msg.sender == _creator); _allowBurnsFrom[burner] = true; } // transmute will mint this token by consuming its transmuteSource tokens. function transmute(uint256 amount, uint256 transmuteType) public { require(transmuteType == 0 || transmuteType == 1, "EtheleToken: Transmute type should be 0 or 1."); if (transmuteType == 0) { require(_transmuteSource1 != address(0) && _transmuteSource2 != address(0), "EtheleToken: Cannot transmute this."); EtheleToken(_transmuteSource1).burnFrom(msg.sender, amount); EtheleToken(_transmuteSource2).burnFrom(msg.sender, amount); _mint(msg.sender, amount); } else if (transmuteType == 1) { require(_transmuteSource3 != address(0) && _transmuteSource4 != address(0), "EtheleToken: Cannot transmute this."); EtheleToken(_transmuteSource3).burnFrom(msg.sender, amount); EtheleToken(_transmuteSource4).burnFrom(msg.sender, amount); _mint(msg.sender, amount); } } // Updates the period of this token by 'steps' number of periods. // Put steps = -1 for unlimited steps function updatePeriod(int256 steps) public { uint256 intendedPeriod = (block.timestamp).sub(_contractStartTime).div(PERIOD_LENGTH).add(1); if (_currentPeriod < intendedPeriod) { uint256 harvestableTokenPerEth; if (_totalLocked == 0) { harvestableTokenPerEth = 0; } else { harvestableTokenPerEth = MINT_AMOUNT.mul(1 ether).div(_totalLocked); } // update for all periods while (_currentPeriod < intendedPeriod && steps != 0) { _cumulTokenPerEth.push(_cumulTokenPerEth[_currentPeriod-1].add(harvestableTokenPerEth)); _currentPeriod += 1; steps -= 1; } } } // Lock up ETH so that you can harvest Ethele Tokens. // To lock, you must not have any ETH locked. // This is because the computation for amount harvested cannot handle varying amounts // of locked ETH across periods. function lock() public payable { require(_lockedBalance[msg.sender] == 0, "EtheleToken: To lock, you must not have any existing locked ETH."); updatePeriod(-1); _totalLocked = _totalLocked.add(msg.value); _lockedBalance[msg.sender] = msg.value; _harvestStartPeriod[msg.sender] = _currentPeriod; _unlockTime[msg.sender] = block.timestamp.add(PERIOD_LENGTH); } function harvest() public { require(_lockedBalance[msg.sender] > 0, "EtheleToken: Require locked balance to harvest."); updatePeriod(-1); require(_harvestStartPeriod[msg.sender] < _currentPeriod-1, "EtheleToken: Nothing to harvest - Lock start period should be before previous currentPeriod."); uint256 amountHarvested = _cumulTokenPerEth[_currentPeriod-1] .sub(_cumulTokenPerEth[_harvestStartPeriod[msg.sender]]) .mul(_lockedBalance[msg.sender]) .div(1 ether); _harvestStartPeriod[msg.sender] = _currentPeriod-1; _mint(msg.sender, amountHarvested); } function unlock() public { require(_lockedBalance[msg.sender] > 0, "EtheleToken: Require locked balance to unlock."); updatePeriod(-1); require(_unlockTime[msg.sender] < block.timestamp, "EtheleToken: Minimum lock time not yet reached."); uint256 amount = _lockedBalance[msg.sender]; _lockedBalance[msg.sender] = 0; _totalLocked = _totalLocked.sub(amount); msg.sender.transfer(amount); } }
pragma solidity ^0.5.0; import "./IERC20.sol"; import "./SafeMath.sol"; /** * @dev Implementation of the `IERC20` interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using `_mint`. * For a generic mechanism see `ERC20Mintable`. * * *For a detailed writeup see our guide [How to implement supply * mechanisms](https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226).* * * We have followed general OpenZeppelin guidelines: functions revert instead * of returning `false` on failure. This behavior is nonetheless conventional * and does not conflict with the expectations of ERC20 applications. * * Additionally, an `Approval` event is emitted on calls to `transferFrom`. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard `decreaseAllowance` and `increaseAllowance` * functions have been added to mitigate the well-known issues around setting * allowances. See `IERC20.approve`. */ contract ERC20 is IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; /** * @dev See `IERC20.totalSupply`. */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev See `IERC20.balanceOf`. */ function balanceOf(address account) public view returns (uint256) { return _balances[account]; } /** * @dev See `IERC20.transfer`. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public returns (bool) { _transfer(msg.sender, recipient, amount); return true; } /** * @dev See `IERC20.allowance`. */ function allowance(address owner, address spender) public view returns (uint256) { return _allowances[owner][spender]; } /** * @dev See `IERC20.approve`. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 value) public returns (bool) { _approve(msg.sender, spender, value); return true; } /** * @dev See `IERC20.transferFrom`. * * Emits an `Approval` event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of `ERC20`; * * Requirements: * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `value`. * - the caller must have allowance for `sender`'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount)); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to `approve` that can be used as a mitigation for * problems described in `IERC20.approve`. * * Emits an `Approval` event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue)); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to `approve` that can be used as a mitigation for * problems described in `IERC20.approve`. * * Emits an `Approval` event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue)); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to `transfer`, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a `Transfer` event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a `Transfer` event with `from` set to the zero address. * * Requirements * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount) internal { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } /** * @dev Destoys `amount` tokens from `account`, reducing the * total supply. * * Emits a `Transfer` event with `to` set to the zero address. * * Requirements * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 value) internal { require(account != address(0), "ERC20: burn from the zero address"); _totalSupply = _totalSupply.sub(value); _balances[account] = _balances[account].sub(value); emit Transfer(account, address(0), value); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens. * * This is internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an `Approval` event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address owner, address spender, uint256 value) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = value; emit Approval(owner, spender, value); } /** * @dev Destoys `amount` tokens from `account`.`amount` is then deducted * from the caller's allowance. * * See `_burn` and `_approve`. */ function _burnFrom(address account, uint256 amount) internal { _burn(account, amount); _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount)); } }
pragma solidity ^0.5.0; import "./EtheleToken.sol"; /** * Generator of all 7 Etherem Elements (Ethele) ERC20 Token Contracts. * There are 5 Ethele Elements Tokens: Fire, Earth, Metal, Water, Wood. * There are 2 Ethele YinYang Tokens: Yin, Yang. */ contract EtheleGenerator { address private _fire; address private _earth; address private _metal; address private _water; address private _wood; address private _yin; address private _yang; uint256 private _step; // The deploy process has to be completed in steps, because the gas needed is too large. uint256 private constant LAUNCH_TIME = 1565438400; // Ethele Token address will only be able to be created after mainnet launch. // Set step to 0. Step function can be called after launch time for creation of all 7 Ethele Tokens // and assignment of Ethele token transmuteSources and allowBurnsFrom for interaction between the contracts. constructor() public { _step = 0; } function getLaunchTime() public pure returns (uint256) { return LAUNCH_TIME; } function step() public { require(_step <= 3 && LAUNCH_TIME < block.timestamp); if (_step == 0) { _fire = address(new EtheleToken("Ethele Fire", "EEFI")); _earth = address(new EtheleToken("Ethele Earth", "EEEA")); } else if (_step == 1) { _metal = address(new EtheleToken("Ethele Metal", "EEME")); _water = address(new EtheleToken("Ethele Water", "EEWA")); } else if (_step == 2) { _wood = address(new EtheleToken("Ethele Wood", "EEWO")); _yin = address(new EtheleToken("Ethele Yin", "EEYI")); } else if (_step == 3) { _yang = address(new EtheleToken("Ethele Yang", "EEYA")); // Each of the 5 elements has 2 elements which create it. EtheleToken(_fire).setTransmuteSources12(_metal, _wood); EtheleToken(_earth).setTransmuteSources12(_water, _fire); EtheleToken(_metal).setTransmuteSources12(_wood, _earth); EtheleToken(_water).setTransmuteSources12(_fire, _metal); EtheleToken(_wood).setTransmuteSources12(_earth, _water); // 1 Yin and 1 Yang creates 1 of any element of choice. EtheleToken(_fire).setTransmuteSources34(_yin, _yang); EtheleToken(_earth).setTransmuteSources34(_yin, _yang); EtheleToken(_metal).setTransmuteSources34(_yin, _yang); EtheleToken(_water).setTransmuteSources34(_yin, _yang); EtheleToken(_wood).setTransmuteSources34(_yin, _yang); // Allow each element to burn the components that are transmuted to it. EtheleToken(_metal).allowBurnsFrom(_fire); EtheleToken(_wood).allowBurnsFrom(_fire); EtheleToken(_water).allowBurnsFrom(_earth); EtheleToken(_fire).allowBurnsFrom(_earth); EtheleToken(_wood).allowBurnsFrom(_metal); EtheleToken(_earth).allowBurnsFrom(_metal); EtheleToken(_fire).allowBurnsFrom(_water); EtheleToken(_metal).allowBurnsFrom(_water); EtheleToken(_earth).allowBurnsFrom(_wood); EtheleToken(_water).allowBurnsFrom(_wood); // All 5 elements are allowed to burn yin and yang. // Because Yin + Yang can transmute to any of the 5 elements. EtheleToken(_yin).allowBurnsFrom(_fire); EtheleToken(_yin).allowBurnsFrom(_earth); EtheleToken(_yin).allowBurnsFrom(_metal); EtheleToken(_yin).allowBurnsFrom(_water); EtheleToken(_yin).allowBurnsFrom(_wood); EtheleToken(_yang).allowBurnsFrom(_fire); EtheleToken(_yang).allowBurnsFrom(_earth); EtheleToken(_yang).allowBurnsFrom(_metal); EtheleToken(_yang).allowBurnsFrom(_water); EtheleToken(_yang).allowBurnsFrom(_wood); } _step += 1; } function getStep() public view returns (uint256) { return _step; } function fire() public view returns (address) { return _fire; } function earth() public view returns (address) { return _earth; } function metal() public view returns (address) { return _metal; } function water() public view returns (address) { return _water; } function wood() public view returns (address) { return _wood; } function yin() public view returns (address) { return _yin; } function yang() public view returns (address) { return _yang; } }
pragma solidity ^0.5.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see `ERC20Detailed`. */ interface IERC20 { /** * @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 `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a `Transfer` event. */ function transfer(address recipient, 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. * * > 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 `sender` to `recipient` 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 sender, address recipient, 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); }
pragma solidity ^0.5.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) { require(b <= a, "SafeMath: subtraction overflow"); 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-solidity/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) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); 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) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getAllowBurnsFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCreator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"burner","type":"address"}],"name":"allowBurnsFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transmuteSource1","type":"address"},{"name":"transmuteSource2","type":"address"}],"name":"setTransmuteSources12","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"harvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"period","type":"uint256"}],"name":"getCumulTokenPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"transmuteType","type":"uint256"}],"name":"transmute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getPeriodLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"getTransmuteSource2","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTransmuteSource3","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMintAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transmuteSource3","type":"address"},{"name":"transmuteSource4","type":"address"}],"name":"setTransmuteSources34","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTransmuteSource4","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getLockedBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getHarvestableAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getHarvestStartPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getUnlockTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTransmuteSource1","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getContractStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"steps","type":"int256"}],"name":"updatePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTotalLocked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"lock","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[{"name":"name","type":"string"},{"name":"symbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620020c4380380620020c4833981018060405260408110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b820160208101848111156200006457600080fd5b81516401000000008111828201871017156200007f57600080fd5b505092919060200180516401000000008111156200009c57600080fd5b82016020810184811115620000b057600080fd5b8151640100000000811182820187101715620000cb57600080fd5b505060058054600160a060020a031916331790558451909350620000f9925060039150602085019062000156565b5080516200010f90600490602084019062000156565b50506001600f81905560118054918201815560009081527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68909101555042601055620001fb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019957805160ff1916838001178555620001c9565b82800160010185558215620001c9579182015b82811115620001c9578251825591602001919060010190620001ac565b50620001d7929150620001db565b5090565b620001f891905b80821115620001d75760008155600101620001e2565b90565b611eb9806200020b6000396000f3fe6080604052600436106101cc5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663049595ac81146101d157806306fdde0314610218578063086146d2146102a2578063095ea7b3146102c95780630ee2cb1014610302578063132adcda1461033357806318160ddd1461036857806323b872dd1461037d578063313ce567146103c057806339509351146103eb5780633ad49ed41461042457806342966c681461045f5780634641257d146104895780634fd01b431461049e57806370a08231146104c857806379cc6790146104fb578063845c15d9146105345780638469ddc7146105645780638515a7471461057957806395d89b411461058e5780639e910314146105a3578063a457c2d7146105b8578063a69df4b5146105f1578063a8995deb14610606578063a9059cbb1461061b578063b67de5c214610654578063c26b0a181461068f578063c4086893146106a4578063c4b09d06146106d7578063d8aab25d1461070a578063dbed1e881461073d578063dd62ed3e14610770578063e06f20a5146107ab578063e7bc1eed146107c0578063ef2f3a40146107d5578063f4732da6146107ff578063f83d08ba14610814575b600080fd5b3480156101dd57600080fd5b50610204600480360360208110156101f457600080fd5b5035600160a060020a031661081c565b604080519115158252519081900360200190f35b34801561022457600080fd5b5061022d61083e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026757818101518382015260200161024f565b50505050905090810190601f1680156102945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102ae57600080fd5b506102b76108d4565b60408051918252519081900360200190f35b3480156102d557600080fd5b50610204600480360360408110156102ec57600080fd5b50600160a060020a0381351690602001356108da565b34801561030e57600080fd5b506103176108f1565b60408051600160a060020a039092168252519081900360200190f35b34801561033f57600080fd5b506103666004803603602081101561035657600080fd5b5035600160a060020a0316610900565b005b34801561037457600080fd5b506102b761093b565b34801561038957600080fd5b50610204600480360360608110156103a057600080fd5b50600160a060020a03813581169160208101359091169060400135610941565b3480156103cc57600080fd5b506103d5610998565b6040805160ff9092168252519081900360200190f35b3480156103f757600080fd5b506102046004803603604081101561040e57600080fd5b50600160a060020a03813516906020013561099d565b34801561043057600080fd5b506103666004803603604081101561044757600080fd5b50600160a060020a03813581169160200135166109d9565b34801561046b57600080fd5b506103666004803603602081101561048257600080fd5b5035610a2b565b34801561049557600080fd5b50610366610a38565b3480156104aa57600080fd5b506102b7600480360360208110156104c157600080fd5b5035610c41565b3480156104d457600080fd5b506102b7600480360360208110156104eb57600080fd5b5035600160a060020a0316610c64565b34801561050757600080fd5b506103666004803603604081101561051e57600080fd5b50600160a060020a038135169060200135610c7f565b34801561054057600080fd5b506103666004803603604081101561055757600080fd5b5080359060200135610cb4565b34801561057057600080fd5b506102b7611059565b34801561058557600080fd5b50610317611060565b34801561059a57600080fd5b5061022d61106f565b3480156105af57600080fd5b506103176110d0565b3480156105c457600080fd5b50610204600480360360408110156105db57600080fd5b50600160a060020a0381351690602001356110df565b3480156105fd57600080fd5b5061036661111b565b34801561061257600080fd5b506102b7611294565b34801561062757600080fd5b506102046004803603604081101561063e57600080fd5b50600160a060020a0381351690602001356112a2565b34801561066057600080fd5b506103666004803603604081101561067757600080fd5b50600160a060020a03813581169160200135166112af565b34801561069b57600080fd5b50610317611301565b3480156106b057600080fd5b506102b7600480360360208110156106c757600080fd5b5035600160a060020a0316611310565b3480156106e357600080fd5b506102b7600480360360208110156106fa57600080fd5b5035600160a060020a031661132b565b34801561071657600080fd5b506102b76004803603602081101561072d57600080fd5b5035600160a060020a03166114e3565b34801561074957600080fd5b506102b76004803603602081101561076057600080fd5b5035600160a060020a03166114fe565b34801561077c57600080fd5b506102b76004803603604081101561079357600080fd5b50600160a060020a0381358116916020013516611519565b3480156107b757600080fd5b50610317611544565b3480156107cc57600080fd5b506102b7611553565b3480156107e157600080fd5b50610366600480360360208110156107f857600080fd5b5035611559565b34801561080b57600080fd5b506102b7611641565b610366611647565b600160a060020a0381166000908152600a602052604090205460ff165b919050565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108ca5780601f1061089f576101008083540402835291602001916108ca565b820191906000526020600020905b8154815290600101906020018083116108ad57829003601f168201915b5050505050905090565b600f5490565b60006108e7338484611739565b5060015b92915050565b600554600160a060020a031690565b600554600160a060020a0316331461091757600080fd5b600160a060020a03166000908152600a60205260409020805460ff19166001179055565b60025490565b600061094e8484846118a6565b600160a060020a03841660009081526001602090815260408083203380855292529091205461098e918691610989908663ffffffff611a6a16565b611739565b5060019392505050565b601290565b336000818152600160209081526040808320600160a060020a038716845290915281205490916108e7918590610989908663ffffffff611aca16565b600554600160a060020a031633146109f057600080fd5b60068054600160a060020a0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560078054929093169116179055565b610a353382611b2e565b50565b336000908152600c602052604081205411610ac3576040805160e560020a62461bcd02815260206004820152602f60248201527f457468656c65546f6b656e3a2052657175697265206c6f636b65642062616c6160448201527f6e636520746f20686172766573742e0000000000000000000000000000000000606482015290519081900360840190fd5b610ace600019611559565b600f54336000908152600d602052604090205460001990910111610b88576040805160e560020a62461bcd02815260206004820152605c60248201527f457468656c65546f6b656e3a204e6f7468696e6720746f20686172766573742060448201527f2d204c6f636b20737461727420706572696f642073686f756c6420626520626560648201527f666f72652070726576696f75732063757272656e74506572696f642e00000000608482015290519081900360a40190fd5b336000908152600c6020908152604080832054600d90925282205460118054610c1993670de0b6b3a764000093610c0d939192610c019291908110610bc957fe5b906000526020600020015460116001600f5403815481101515610be857fe5b9060005260206000200154611a6a90919063ffffffff16565b9063ffffffff611c4816565b9063ffffffff611ce416565b600f54336000818152600d60205260409020600019909201909155909150610a359082611d53565b6000601182815481101515610c5257fe5b90600052602060002001549050919050565b600160a060020a031660009081526020819052604090205490565b336000908152600a602052604090205460ff1615610ca657610ca18282611b2e565b610cb0565b610cb08282611e48565b5050565b801580610cc15750806001145b1515610d3d576040805160e560020a62461bcd02815260206004820152602d60248201527f457468656c65546f6b656e3a205472616e736d75746520747970652073686f7560448201527f6c642062652030206f7220312e00000000000000000000000000000000000000606482015290519081900360840190fd5b801515610eca57600654600160a060020a031615801590610d685750600754600160a060020a031615155b1515610de4576040805160e560020a62461bcd02815260206004820152602360248201527f457468656c65546f6b656e3a2043616e6e6f74207472616e736d75746520746860448201527f69732e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6006546040805160e460020a63079cc679028152336004820152602481018590529051600160a060020a03909216916379cc67909160448082019260009290919082900301818387803b158015610e3a57600080fd5b505af1158015610e4e573d6000803e3d6000fd5b50506007546040805160e460020a63079cc679028152336004820152602481018790529051600160a060020a0390921693506379cc6790925060448082019260009290919082900301818387803b158015610ea857600080fd5b505af1158015610ebc573d6000803e3d6000fd5b50505050610ca13383611d53565b8060011415610cb057600854600160a060020a031615801590610ef75750600954600160a060020a031615155b1515610f73576040805160e560020a62461bcd02815260206004820152602360248201527f457468656c65546f6b656e3a2043616e6e6f74207472616e736d75746520746860448201527f69732e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6008546040805160e460020a63079cc679028152336004820152602481018590529051600160a060020a03909216916379cc67909160448082019260009290919082900301818387803b158015610fc957600080fd5b505af1158015610fdd573d6000803e3d6000fd5b50506009546040805160e460020a63079cc679028152336004820152602481018790529051600160a060020a0390921693506379cc6790925060448082019260009290919082900301818387803b15801561103757600080fd5b505af115801561104b573d6000803e3d6000fd5b50505050610cb03383611d53565b6201518090565b600754600160a060020a031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108ca5780601f1061089f576101008083540402835291602001916108ca565b600854600160a060020a031690565b336000818152600160209081526040808320600160a060020a038716845290915281205490916108e7918590610989908663ffffffff611a6a16565b336000908152600c6020526040812054116111a6576040805160e560020a62461bcd02815260206004820152602e60248201527f457468656c65546f6b656e3a2052657175697265206c6f636b65642062616c6160448201527f6e636520746f20756e6c6f636b2e000000000000000000000000000000000000606482015290519081900360840190fd5b6111b1600019611559565b336000908152600e6020526040902054421161123d576040805160e560020a62461bcd02815260206004820152602f60248201527f457468656c65546f6b656e3a204d696e696d756d206c6f636b2074696d65206e60448201527f6f742079657420726561636865642e0000000000000000000000000000000000606482015290519081900360840190fd5b336000908152600c602052604081208054919055600b54611264908263ffffffff611a6a16565b600b55604051339082156108fc029083906000818181858888f19350505050158015610cb0573d6000803e3d6000fd5b69152d02c7e14af680000090565b60006108e73384846118a6565b600554600160a060020a031633146112c657600080fd5b60088054600160a060020a0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560098054929093169116179055565b600954600160a060020a031690565b600160a060020a03166000908152600c602052604090205490565b60008061135b600161134f62015180610c0d60105442611a6a90919063ffffffff16565b9063ffffffff611aca16565b600160a060020a0384166000908152600d6020908152604080832054600c909252909120549192509061139583600163ffffffff611a6a16565b821015806113a1575080155b156113b25760009350505050610839565b600b546000906113de90610c0d69152d02c7e14af6800000670de0b6b3a764000063ffffffff611c4816565b90506000600f5484141561143957600061140f8561140388600163ffffffff611a6a16565b9063ffffffff611a6a16565b9050611431670de0b6b3a7640000610c0d86610c01858863ffffffff611c4816565b9150506114d7565b6000611450600f5487611a6a90919063ffffffff16565b90506000611464848363ffffffff611c4816565b90506114d2670de0b6b3a7640000610c0d87610c0160118b81548110151561148857fe5b906000526020600020015461140360116114ae6001600f54611a6a90919063ffffffff16565b815481106114b857fe5b906000526020600020015488611aca90919063ffffffff16565b925050505b94506108399350505050565b600160a060020a03166000908152600d602052604090205490565b600160a060020a03166000908152600e602052604090205490565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600654600160a060020a031690565b60105490565b600061157c600161134f62015180610c0d60105442611a6a90919063ffffffff16565b905080600f541015610cb0576000600b546000141561159d575060006115c9565b600b546115c690610c0d69152d02c7e14af6800000670de0b6b3a764000063ffffffff611c4816565b90505b81600f541080156115d957508215155b1561163c5760116116118260116001600f54038154811015156115f857fe5b9060005260206000200154611aca90919063ffffffff16565b815460018181018455600093845260209093200155600f8054909101905560001992909201916115c9565b505050565b600b5490565b336000908152600c6020526040902054156116d2576040805160e560020a62461bcd02815260206004820152602481018290527f457468656c65546f6b656e3a20546f206c6f636b2c20796f75206d757374206e60448201527f6f74206861766520616e79206578697374696e67206c6f636b6564204554482e606482015290519081900360840190fd5b6116dd600019611559565b600b546116f0903463ffffffff611aca16565b600b55336000908152600c60209081526040808320349055600f54600d90925290912055611727426201518063ffffffff611aca16565b336000908152600e6020526040902055565b600160a060020a03831615156117be576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515611844576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a038316151561192c576040805160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821615156119b2576040805160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0383166000908152602081905260409020546119db908263ffffffff611a6a16565b600160a060020a038085166000908152602081905260408082209390935590841681522054611a10908263ffffffff611aca16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115611ac4576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015611b27576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600160a060020a0382161515611bb4576040805160e560020a62461bcd02815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600254611bc7908263ffffffff611a6a16565b600255600160a060020a038216600090815260208190526040902054611bf3908263ffffffff611a6a16565b600160a060020a038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6000821515611c59575060006108eb565b828202828482811515611c6857fe5b0414611b27576040805160e560020a62461bcd02815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000808211611d3d576040805160e560020a62461bcd02815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284811515611d4a57fe5b04949350505050565b600160a060020a0382161515611db3576040805160e560020a62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611dc6908263ffffffff611aca16565b600255600160a060020a038216600090815260208190526040902054611df2908263ffffffff611aca16565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b611e528282611b2e565b600160a060020a038216600090815260016020908152604080832033808552925290912054610cb0918491610989908563ffffffff611a6a1656fea165627a7a72305820c76f7dbee15ff54bad7d738a9e3303e3ab794b883673861e3a507f1c157cdb7b002900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000c457468656c65204561727468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044545454100000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101cc5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663049595ac81146101d157806306fdde0314610218578063086146d2146102a2578063095ea7b3146102c95780630ee2cb1014610302578063132adcda1461033357806318160ddd1461036857806323b872dd1461037d578063313ce567146103c057806339509351146103eb5780633ad49ed41461042457806342966c681461045f5780634641257d146104895780634fd01b431461049e57806370a08231146104c857806379cc6790146104fb578063845c15d9146105345780638469ddc7146105645780638515a7471461057957806395d89b411461058e5780639e910314146105a3578063a457c2d7146105b8578063a69df4b5146105f1578063a8995deb14610606578063a9059cbb1461061b578063b67de5c214610654578063c26b0a181461068f578063c4086893146106a4578063c4b09d06146106d7578063d8aab25d1461070a578063dbed1e881461073d578063dd62ed3e14610770578063e06f20a5146107ab578063e7bc1eed146107c0578063ef2f3a40146107d5578063f4732da6146107ff578063f83d08ba14610814575b600080fd5b3480156101dd57600080fd5b50610204600480360360208110156101f457600080fd5b5035600160a060020a031661081c565b604080519115158252519081900360200190f35b34801561022457600080fd5b5061022d61083e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026757818101518382015260200161024f565b50505050905090810190601f1680156102945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102ae57600080fd5b506102b76108d4565b60408051918252519081900360200190f35b3480156102d557600080fd5b50610204600480360360408110156102ec57600080fd5b50600160a060020a0381351690602001356108da565b34801561030e57600080fd5b506103176108f1565b60408051600160a060020a039092168252519081900360200190f35b34801561033f57600080fd5b506103666004803603602081101561035657600080fd5b5035600160a060020a0316610900565b005b34801561037457600080fd5b506102b761093b565b34801561038957600080fd5b50610204600480360360608110156103a057600080fd5b50600160a060020a03813581169160208101359091169060400135610941565b3480156103cc57600080fd5b506103d5610998565b6040805160ff9092168252519081900360200190f35b3480156103f757600080fd5b506102046004803603604081101561040e57600080fd5b50600160a060020a03813516906020013561099d565b34801561043057600080fd5b506103666004803603604081101561044757600080fd5b50600160a060020a03813581169160200135166109d9565b34801561046b57600080fd5b506103666004803603602081101561048257600080fd5b5035610a2b565b34801561049557600080fd5b50610366610a38565b3480156104aa57600080fd5b506102b7600480360360208110156104c157600080fd5b5035610c41565b3480156104d457600080fd5b506102b7600480360360208110156104eb57600080fd5b5035600160a060020a0316610c64565b34801561050757600080fd5b506103666004803603604081101561051e57600080fd5b50600160a060020a038135169060200135610c7f565b34801561054057600080fd5b506103666004803603604081101561055757600080fd5b5080359060200135610cb4565b34801561057057600080fd5b506102b7611059565b34801561058557600080fd5b50610317611060565b34801561059a57600080fd5b5061022d61106f565b3480156105af57600080fd5b506103176110d0565b3480156105c457600080fd5b50610204600480360360408110156105db57600080fd5b50600160a060020a0381351690602001356110df565b3480156105fd57600080fd5b5061036661111b565b34801561061257600080fd5b506102b7611294565b34801561062757600080fd5b506102046004803603604081101561063e57600080fd5b50600160a060020a0381351690602001356112a2565b34801561066057600080fd5b506103666004803603604081101561067757600080fd5b50600160a060020a03813581169160200135166112af565b34801561069b57600080fd5b50610317611301565b3480156106b057600080fd5b506102b7600480360360208110156106c757600080fd5b5035600160a060020a0316611310565b3480156106e357600080fd5b506102b7600480360360208110156106fa57600080fd5b5035600160a060020a031661132b565b34801561071657600080fd5b506102b76004803603602081101561072d57600080fd5b5035600160a060020a03166114e3565b34801561074957600080fd5b506102b76004803603602081101561076057600080fd5b5035600160a060020a03166114fe565b34801561077c57600080fd5b506102b76004803603604081101561079357600080fd5b50600160a060020a0381358116916020013516611519565b3480156107b757600080fd5b50610317611544565b3480156107cc57600080fd5b506102b7611553565b3480156107e157600080fd5b50610366600480360360208110156107f857600080fd5b5035611559565b34801561080b57600080fd5b506102b7611641565b610366611647565b600160a060020a0381166000908152600a602052604090205460ff165b919050565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108ca5780601f1061089f576101008083540402835291602001916108ca565b820191906000526020600020905b8154815290600101906020018083116108ad57829003601f168201915b5050505050905090565b600f5490565b60006108e7338484611739565b5060015b92915050565b600554600160a060020a031690565b600554600160a060020a0316331461091757600080fd5b600160a060020a03166000908152600a60205260409020805460ff19166001179055565b60025490565b600061094e8484846118a6565b600160a060020a03841660009081526001602090815260408083203380855292529091205461098e918691610989908663ffffffff611a6a16565b611739565b5060019392505050565b601290565b336000818152600160209081526040808320600160a060020a038716845290915281205490916108e7918590610989908663ffffffff611aca16565b600554600160a060020a031633146109f057600080fd5b60068054600160a060020a0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560078054929093169116179055565b610a353382611b2e565b50565b336000908152600c602052604081205411610ac3576040805160e560020a62461bcd02815260206004820152602f60248201527f457468656c65546f6b656e3a2052657175697265206c6f636b65642062616c6160448201527f6e636520746f20686172766573742e0000000000000000000000000000000000606482015290519081900360840190fd5b610ace600019611559565b600f54336000908152600d602052604090205460001990910111610b88576040805160e560020a62461bcd02815260206004820152605c60248201527f457468656c65546f6b656e3a204e6f7468696e6720746f20686172766573742060448201527f2d204c6f636b20737461727420706572696f642073686f756c6420626520626560648201527f666f72652070726576696f75732063757272656e74506572696f642e00000000608482015290519081900360a40190fd5b336000908152600c6020908152604080832054600d90925282205460118054610c1993670de0b6b3a764000093610c0d939192610c019291908110610bc957fe5b906000526020600020015460116001600f5403815481101515610be857fe5b9060005260206000200154611a6a90919063ffffffff16565b9063ffffffff611c4816565b9063ffffffff611ce416565b600f54336000818152600d60205260409020600019909201909155909150610a359082611d53565b6000601182815481101515610c5257fe5b90600052602060002001549050919050565b600160a060020a031660009081526020819052604090205490565b336000908152600a602052604090205460ff1615610ca657610ca18282611b2e565b610cb0565b610cb08282611e48565b5050565b801580610cc15750806001145b1515610d3d576040805160e560020a62461bcd02815260206004820152602d60248201527f457468656c65546f6b656e3a205472616e736d75746520747970652073686f7560448201527f6c642062652030206f7220312e00000000000000000000000000000000000000606482015290519081900360840190fd5b801515610eca57600654600160a060020a031615801590610d685750600754600160a060020a031615155b1515610de4576040805160e560020a62461bcd02815260206004820152602360248201527f457468656c65546f6b656e3a2043616e6e6f74207472616e736d75746520746860448201527f69732e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6006546040805160e460020a63079cc679028152336004820152602481018590529051600160a060020a03909216916379cc67909160448082019260009290919082900301818387803b158015610e3a57600080fd5b505af1158015610e4e573d6000803e3d6000fd5b50506007546040805160e460020a63079cc679028152336004820152602481018790529051600160a060020a0390921693506379cc6790925060448082019260009290919082900301818387803b158015610ea857600080fd5b505af1158015610ebc573d6000803e3d6000fd5b50505050610ca13383611d53565b8060011415610cb057600854600160a060020a031615801590610ef75750600954600160a060020a031615155b1515610f73576040805160e560020a62461bcd02815260206004820152602360248201527f457468656c65546f6b656e3a2043616e6e6f74207472616e736d75746520746860448201527f69732e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6008546040805160e460020a63079cc679028152336004820152602481018590529051600160a060020a03909216916379cc67909160448082019260009290919082900301818387803b158015610fc957600080fd5b505af1158015610fdd573d6000803e3d6000fd5b50506009546040805160e460020a63079cc679028152336004820152602481018790529051600160a060020a0390921693506379cc6790925060448082019260009290919082900301818387803b15801561103757600080fd5b505af115801561104b573d6000803e3d6000fd5b50505050610cb03383611d53565b6201518090565b600754600160a060020a031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108ca5780601f1061089f576101008083540402835291602001916108ca565b600854600160a060020a031690565b336000818152600160209081526040808320600160a060020a038716845290915281205490916108e7918590610989908663ffffffff611a6a16565b336000908152600c6020526040812054116111a6576040805160e560020a62461bcd02815260206004820152602e60248201527f457468656c65546f6b656e3a2052657175697265206c6f636b65642062616c6160448201527f6e636520746f20756e6c6f636b2e000000000000000000000000000000000000606482015290519081900360840190fd5b6111b1600019611559565b336000908152600e6020526040902054421161123d576040805160e560020a62461bcd02815260206004820152602f60248201527f457468656c65546f6b656e3a204d696e696d756d206c6f636b2074696d65206e60448201527f6f742079657420726561636865642e0000000000000000000000000000000000606482015290519081900360840190fd5b336000908152600c602052604081208054919055600b54611264908263ffffffff611a6a16565b600b55604051339082156108fc029083906000818181858888f19350505050158015610cb0573d6000803e3d6000fd5b69152d02c7e14af680000090565b60006108e73384846118a6565b600554600160a060020a031633146112c657600080fd5b60088054600160a060020a0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560098054929093169116179055565b600954600160a060020a031690565b600160a060020a03166000908152600c602052604090205490565b60008061135b600161134f62015180610c0d60105442611a6a90919063ffffffff16565b9063ffffffff611aca16565b600160a060020a0384166000908152600d6020908152604080832054600c909252909120549192509061139583600163ffffffff611a6a16565b821015806113a1575080155b156113b25760009350505050610839565b600b546000906113de90610c0d69152d02c7e14af6800000670de0b6b3a764000063ffffffff611c4816565b90506000600f5484141561143957600061140f8561140388600163ffffffff611a6a16565b9063ffffffff611a6a16565b9050611431670de0b6b3a7640000610c0d86610c01858863ffffffff611c4816565b9150506114d7565b6000611450600f5487611a6a90919063ffffffff16565b90506000611464848363ffffffff611c4816565b90506114d2670de0b6b3a7640000610c0d87610c0160118b81548110151561148857fe5b906000526020600020015461140360116114ae6001600f54611a6a90919063ffffffff16565b815481106114b857fe5b906000526020600020015488611aca90919063ffffffff16565b925050505b94506108399350505050565b600160a060020a03166000908152600d602052604090205490565b600160a060020a03166000908152600e602052604090205490565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600654600160a060020a031690565b60105490565b600061157c600161134f62015180610c0d60105442611a6a90919063ffffffff16565b905080600f541015610cb0576000600b546000141561159d575060006115c9565b600b546115c690610c0d69152d02c7e14af6800000670de0b6b3a764000063ffffffff611c4816565b90505b81600f541080156115d957508215155b1561163c5760116116118260116001600f54038154811015156115f857fe5b9060005260206000200154611aca90919063ffffffff16565b815460018181018455600093845260209093200155600f8054909101905560001992909201916115c9565b505050565b600b5490565b336000908152600c6020526040902054156116d2576040805160e560020a62461bcd02815260206004820152602481018290527f457468656c65546f6b656e3a20546f206c6f636b2c20796f75206d757374206e60448201527f6f74206861766520616e79206578697374696e67206c6f636b6564204554482e606482015290519081900360840190fd5b6116dd600019611559565b600b546116f0903463ffffffff611aca16565b600b55336000908152600c60209081526040808320349055600f54600d90925290912055611727426201518063ffffffff611aca16565b336000908152600e6020526040902055565b600160a060020a03831615156117be576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515611844576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a038316151561192c576040805160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821615156119b2576040805160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0383166000908152602081905260409020546119db908263ffffffff611a6a16565b600160a060020a038085166000908152602081905260408082209390935590841681522054611a10908263ffffffff611aca16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115611ac4576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015611b27576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600160a060020a0382161515611bb4576040805160e560020a62461bcd02815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600254611bc7908263ffffffff611a6a16565b600255600160a060020a038216600090815260208190526040902054611bf3908263ffffffff611a6a16565b600160a060020a038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6000821515611c59575060006108eb565b828202828482811515611c6857fe5b0414611b27576040805160e560020a62461bcd02815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000808211611d3d576040805160e560020a62461bcd02815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284811515611d4a57fe5b04949350505050565b600160a060020a0382161515611db3576040805160e560020a62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611dc6908263ffffffff611aca16565b600255600160a060020a038216600090815260208190526040902054611df2908263ffffffff611aca16565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b611e528282611b2e565b600160a060020a038216600090815260016020908152604080832033808552925290912054610cb0918491610989908563ffffffff611a6a1656fea165627a7a72305820c76f7dbee15ff54bad7d738a9e3303e3ab794b883673861e3a507f1c157cdb7b0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000c457468656c65204561727468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044545454100000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): Ethele Earth
Arg [1] : symbol (string): EEEA
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [3] : 457468656c652045617274680000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 4545454100000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
317:10550:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2967:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2967:112:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2967:112:2;-1:-1:-1;;;;;2967:112:2;;;;;;;;;;;;;;;;;;;;;2187:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2187:83:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2187:83:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5952:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5952:99:2;;;;;;;;;;;;;;;;;;;;2444:145:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2444:145:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2444:145:0;;-1:-1:-1;;;;;2444:145:0;;;;;;;2451:83:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2451:83:2;;;;;;;;-1:-1:-1;;;;;2451:83:2;;;;;;;;;;;;;;7291:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7291:132:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7291:132:2;-1:-1:-1;;;;;7291:132:2;;;;;1505:89:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1505:89:0;;;;3046:252;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3046:252:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3046:252:0;;;;;;;;;;;;;;;;;;2369:76:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2369:76:2;;;;;;;;;;;;;;;;;;;;;;;3693:203:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3693:203:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3693:203:0;;-1:-1:-1;;;;;3693:203:0;;;;;;;6805:234:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6805:234:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6805:234:2;;;;;;;;;;;6348:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6348:81:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6348:81:2;;;9789:631;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9789:631:2;;;;6170:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6170:123:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6170:123:2;;;1652:108:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1652:108:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1652:108:0;-1:-1:-1;;;;;1652:108:0;;;6435:362:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6435:362:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6435:362:2;;-1:-1:-1;;;;;6435:362:2;;;;;;;7513:832;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7513:832:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7513:832:2;;;;;;;;5750:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5750:97:2;;;;2646:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2646:101:2;;;;2276:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2276:87:2;;;;2753:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2753:101:2;;;;4383:213:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4383:213:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4383:213:0;;-1:-1:-1;;;;;4383:213:0;;;;;;;10428:436:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10428:436:2;;;;5853:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5853:93:2;;;;1963:153:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1963:153:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1963:153:0;;-1:-1:-1;;;;;1963:153:0;;;;;;;7048:234:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7048:234:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7048:234:2;;;;;;;;;;;2860:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2860:101:2;;;;3184:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3184:113:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3184:113:2;-1:-1:-1;;;;;3184:113:2;;;3766:1976;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3766:1976:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3766:1976:2;-1:-1:-1;;;;;3766:1976:2;;;3307:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3307:123:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3307:123:2;-1:-1:-1;;;;;3307:123:2;;;3440:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3440:107:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3440:107:2;-1:-1:-1;;;;;3440:107:2;;;2174:132:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2174:132:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2174:132:0;;;;;;;;;;;2542:98:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2542:98:2;;;;6057:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6057:107:2;;;;8467:663;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8467:663:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8467:663:2;;;3087:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3087:91:2;;;;9380:401;;;;2967:112;-1:-1:-1;;;;;3050:21:2;;3029:4;3050:21;;;:15;:21;;;;;;;;2967:112;;;;:::o;2187:83::-;2257:5;2250:12;;;;;;;;;;;;;-1:-1:-1;;2250:12:2;;;;;;;;;;;;;;;;;;;;;;;;;;2224:13;;2250:12;;2257:5;;2250:12;;;2257:5;2250:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2187:83;:::o;5952:99::-;6028:14;;5952:99;:::o;2444:145:0:-;2509:4;2525:36;2534:10;2546:7;2555:5;2525:8;:36::i;:::-;-1:-1:-1;2578:4:0;2444:145;;;;;:::o;2451:83:2:-;2518:8;;-1:-1:-1;;;;;2518:8:2;;2451:83::o;7291:132::-;7368:8;;-1:-1:-1;;;;;7368:8:2;7354:10;:22;7346:31;;;;;;-1:-1:-1;;;;;7385:23:2;;;;;:15;:23;;;;;:30;;-1:-1:-1;;7385:30:2;-1:-1:-1;7385:30:2;;;7291:132::o;1505:89:0:-;1575:12;;1505:89;:::o;3046:252::-;3135:4;3151:36;3161:6;3169:9;3180:6;3151:9;:36::i;:::-;-1:-1:-1;;;;;3226:19:0;;;;;;-1:-1:-1;3226:19:0;;;;;;;;3214:10;3226:31;;;;;;;;;3197:73;;3226:19;;:43;;3262:6;3226:35;:43::i;:::-;3197:8;:73::i;:::-;-1:-1:-1;3287:4:0;3046:252;;;;;:::o;2369:76:2:-;2435:2;2369:76;:::o;3693:203:0:-;3798:10;3773:4;3819:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3819:32:0;;;;;;;;;;3773:4;;3789:79;;3819:32;;:48;;3856:10;3819:36;:48::i;6805:234:2:-;6928:8;;-1:-1:-1;;;;;6928:8:2;6914:10;:22;6906:31;;;;;;6948:17;:36;;-1:-1:-1;;;;;6948:36:2;;;-1:-1:-1;;6948:36:2;;;;;;;6995:17;:36;;;;;;;;;;;6805:234::o;6348:81::-;6396:25;6402:10;6414:6;6396:5;:25::i;:::-;6348:81;:::o;9789:631::-;9846:10;9860:1;9831:26;;;:14;:26;;;;;;:30;9823:90;;;;;-1:-1:-1;;;;;9823:90:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9921:16;-1:-1:-1;;9921:12:2;:16::i;:::-;9989:14;;9975:10;9955:31;;;;:19;:31;;;;;;-1:-1:-1;;9989:16:2;;;-1:-1:-1;9947:155:2;;;;;-1:-1:-1;;;;;9947:155:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10273:10;10110:23;10258:26;;;:14;:26;;;;;;;;;10207:19;:31;;;;;;10189:17;:50;;10136:175;;10303:7;;10136:149;;10258:26;;10136:104;;10189:17;10207:31;10189:50;;;;;;;;;;;;;;10136:17;10169:1;10154:14;;:16;10136:35;;;;;;;;;;;;;;;;;;:52;;:104;;;;:::i;:::-;:121;:149;:121;:149;:::i;:::-;:166;:175;:166;:175;:::i;:::-;10353:14;;10339:10;10319:31;;;;:19;:31;;;;;-1:-1:-1;;10353:16:2;;;10319:50;;;10110:201;;-1:-1:-1;10377:34:2;;10110:201;10377:5;:34::i;6170:123::-;6236:7;6260:17;6278:6;6260:25;;;;;;;;;;;;;;;;;;6253:32;;6170:123;;;:::o;1652:108:0:-;-1:-1:-1;;;;;1735:18:0;1709:7;1735:18;;;;;;;;;;;;1652:108::o;6435:362:2:-;6684:10;6668:27;;;;:15;:27;;;;;;;;6664:126;;;6706:22;6712:7;6721:6;6706:5;:22::i;:::-;6664:126;;;6755:26;6765:7;6774:6;6755:9;:26::i;:::-;6435:362;;:::o;7513:832::-;7594:18;;;:40;;;7616:13;7633:1;7616:18;7594:40;7586:98;;;;;;;-1:-1:-1;;;;;7586:98:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7696:18;;7692:646;;;7730:17;;-1:-1:-1;;;;;7730:17:2;:31;;;;:66;;-1:-1:-1;7765:17:2;;-1:-1:-1;;;;;7765:17:2;:31;;7730:66;7722:114;;;;;;;-1:-1:-1;;;;;7722:114:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7857:17;;7845:59;;;-1:-1:-1;;;;;7845:59:2;;7885:10;7845:59;;;;;;;;;;;;-1:-1:-1;;;;;7857:17:2;;;;7845:39;;:59;;;;;-1:-1:-1;;7845:59:2;;;;;;;;-1:-1:-1;7857:17:2;7845:59;;;5:2:-1;;;;30:1;27;20:12;5:2;7845:59:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;7925:17:2;;7913:59;;;-1:-1:-1;;;;;7913:59:2;;7953:10;7913:59;;;;;;;;;;;;-1:-1:-1;;;;;7925:17:2;;;;-1:-1:-1;7913:39:2;;-1:-1:-1;7913:59:2;;;;;-1:-1:-1;;7913:59:2;;;;;;;;-1:-1:-1;7925:17:2;7913:59;;;5:2:-1;;;;30:1;27;20:12;5:2;7913:59:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7913:59:2;;;;7981:25;7987:10;7999:6;7981:5;:25::i;7692:646::-;8022:13;8039:1;8022:18;8018:320;;;8056:17;;-1:-1:-1;;;;;8056:17:2;:31;;;;:66;;-1:-1:-1;8091:17:2;;-1:-1:-1;;;;;8091:17:2;:31;;8056:66;8048:114;;;;;;;-1:-1:-1;;;;;8048:114:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8183:17;;8171:59;;;-1:-1:-1;;;;;8171:59:2;;8211:10;8171:59;;;;;;;;;;;;-1:-1:-1;;;;;8183:17:2;;;;8171:39;;:59;;;;;-1:-1:-1;;8171:59:2;;;;;;;;-1:-1:-1;8183:17:2;8171:59;;;5:2:-1;;;;30:1;27;20:12;5:2;8171:59:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;8251:17:2;;8239:59;;;-1:-1:-1;;;;;8239:59:2;;8279:10;8239:59;;;;;;;;;;;;-1:-1:-1;;;;;8251:17:2;;;;-1:-1:-1;8239:39:2;;-1:-1:-1;8239:59:2;;;;;-1:-1:-1;;8239:59:2;;;;;;;;-1:-1:-1;8251:17:2;8239:59;;;5:2:-1;;;;30:1;27;20:12;5:2;8239:59:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8239:59:2;;;;8307:25;8313:10;8325:6;8307:5;:25::i;5750:97::-;1357:6;5750:97;:::o;2646:101::-;2722:17;;-1:-1:-1;;;;;2722:17:2;;2646:101::o;2276:87::-;2348:7;2341:14;;;;;;;;;;;;;-1:-1:-1;;2341:14:2;;;;;;;;;;;;;;;;;;;;;;;;;;2315:13;;2341:14;;2348:7;;2341:14;;;2348:7;2341:14;;;;;;;;;;;;;;;;;;;;;;;;2753:101;2829:17;;-1:-1:-1;;;;;2829:17:2;;2753:101::o;4383:213:0:-;4493:10;4468:4;4514:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4514:32:0;;;;;;;;;;4468:4;;4484:84;;4514:32;;:53;;4551:15;4514:36;:53::i;10428:436:2:-;10484:10;10498:1;10469:26;;;:14;:26;;;;;;:30;10461:89;;;;;-1:-1:-1;;;;;10461:89:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10558:16;-1:-1:-1;;10558:12:2;:16::i;:::-;10604:10;10592:23;;;;:11;:23;;;;;;10618:15;-1:-1:-1;10584:101:2;;;;;-1:-1:-1;;;;;10584:101:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10725:10;10693:14;10710:26;;;:14;:26;;;;;;;10744:30;;;10797:12;;:24;;10710:26;10797:24;:16;:24;:::i;:::-;10782:12;:39;10829:27;;:10;;:27;;;;;10849:6;;10829:27;;;;10849:6;10829:10;:27;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5853:93:2;1410:12;5853:93;:::o;1963:153:0:-;2032:4;2048:40;2058:10;2070:9;2081:6;2048:9;:40::i;7048:234:2:-;7171:8;;-1:-1:-1;;;;;7171:8:2;7157:10;:22;7149:31;;;;;;7191:17;:36;;-1:-1:-1;;;;;7191:36:2;;;-1:-1:-1;;7191:36:2;;;;;;;7238:17;:36;;;;;;;;;;;7048:234::o;2860:101::-;2936:17;;-1:-1:-1;;;;;2936:17:2;;2860:101::o;3184:113::-;-1:-1:-1;;;;;3269:20:2;3245:7;3269:20;;;:14;:20;;;;;;;3184:113::o;3766:1976::-;3831:7;3851:22;3876:67;3941:1;3876:60;1357:6;3876:41;3898:18;;3877:15;3876:21;;:41;;;;:::i;:60::-;:64;:67;:64;:67;:::i;:::-;-1:-1:-1;;;;;3983:25:2;;3954:26;3983:25;;;:19;:25;;;;;;;;;4043:14;:20;;;;;;;3851:92;;-1:-1:-1;3983:25:2;4102:21;3851:92;-1:-1:-1;4102:18:2;:21::i;:::-;4080:18;:43;;:78;;;-1:-1:-1;4140:18:2;;4080:78;4076:1659;;;4182:1;4175:8;;;;;;;4076:1659;4287:12;;4225:30;;4258:42;;:24;1410:12;4274:7;4258:24;:15;:24;:::i;:42::-;4225:75;;4315:25;4457:14;;4435:18;:36;4431:1252;;;4637:18;4658:45;4684:18;4658:21;:14;4677:1;4658:21;:18;:21;:::i;:::-;:25;:45;:25;:45;:::i;:::-;4637:66;-1:-1:-1;4742:202:2;4936:7;4742:145;4873:13;4742:82;4637:66;4801:22;4742:82;:58;:82;:::i;:202::-;4722:222;;4431:1252;;;;5105:18;5126:34;5145:14;;5126;:18;;:34;;;;:::i;:::-;5105:55;-1:-1:-1;5179:31:2;5213:38;:22;5105:55;5213:38;:26;:38;:::i;:::-;5179:72;;5339:328;5659:7;5339:269;5594:13;5339:204;5505:17;5523:18;5505:37;;;;;;;;;;;;;;;;;;5339:115;5413:17;5431:21;5450:1;5431:14;;:18;;:21;;;;:::i;:::-;5413:40;;;;;;;;;;;;;;;;5339:23;:73;;:115;;;;:::i;:328::-;5319:348;;4431:1252;;;5706:17;-1:-1:-1;5699:24:2;;-1:-1:-1;;;;5699:24:2;3307:123;-1:-1:-1;;;;;3397:25:2;3373:7;3397:25;;;:19;:25;;;;;;;3307:123::o;3440:107::-;-1:-1:-1;;;;;3522:17:2;3498:7;3522:17;;;:11;:17;;;;;;;3440:107::o;2174:132:0:-;-1:-1:-1;;;;;2272:18:0;;;2246:7;2272:18;;;-1:-1:-1;2272:18:0;;;;;;;;:27;;;;;;;;;;;;;2174:132::o;2542:98:2:-;2615:17;;-1:-1:-1;;;;;2615:17:2;;2542:98::o;6057:107::-;6137:18;;6057:107;:::o;8467:663::-;8518:22;8543:67;8608:1;8543:60;1357:6;8543:41;8565:18;;8544:15;8543:21;;:41;;;;:::i;:67::-;8518:92;;8639:14;8622;;:31;8618:505;;;8661:30;8704:12;;8720:1;8704:17;8700:162;;;-1:-1:-1;8758:1:2;8700:162;;;8839:12;;8810:42;;:24;1410:12;8826:7;8810:24;:15;:24;:::i;:42::-;8785:67;;8700:162;8929:14;8912;;:31;:45;;;;-1:-1:-1;8947:10:2;;;8912:45;8905:210;;;8969:17;8992:63;9032:22;8992:17;9025:1;9010:14;;:16;8992:35;;;;;;;;;;;;;;;;;;:39;;:63;;;;:::i;:::-;27:10:-1;;39:1;23:18;;;45:23;;-1:-1;8969:87:2;;;;;;;;;9066:14;:19;;;;;;;-1:-1:-1;;9095:10:2;;;;;8905:210;;;8618:505;8467:663;;:::o;3087:91::-;3158:12;;3087:91;:::o;9380:401::-;9442:10;9427:26;;;;:14;:26;;;;;;:31;9419:108;;;;;-1:-1:-1;;;;;9419:108:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9535:16;-1:-1:-1;;9535:12:2;:16::i;:::-;9576:12;;:27;;9593:9;9576:27;:16;:27;:::i;:::-;9561:12;:42;9626:10;9611:26;;;;:14;:26;;;;;;;;9640:9;9611:38;;9691:14;;9657:19;:31;;;;;;:48;9739:34;:15;1357:6;9739:34;:19;:34;:::i;:::-;9725:10;9713:23;;;;:11;:23;;;;;:60;9380:401::o;7108:329:0:-;-1:-1:-1;;;;;7200:19:0;;;;7192:68;;;;;-1:-1:-1;;;;;7192:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7278:21:0;;;;7270:68;;;;;-1:-1:-1;;;;;7270:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7349:18:0;;;;;;;-1:-1:-1;7349:18:0;;;;;;;;:27;;;;;;;;;;;;;:35;;;7399:31;;;;;;;;;;;;;;;;;7108:329;;;:::o;5070:422::-;-1:-1:-1;;;;;5167:20:0;;;;5159:70;;;;;-1:-1:-1;;;;;5159:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5247:23:0;;;;5239:71;;;;;-1:-1:-1;;;;;5239:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5341:17:0;;:9;:17;;;;;;;;;;;:29;;5363:6;5341:21;:29::i;:::-;-1:-1:-1;;;;;5321:17:0;;;:9;:17;;;;;;;;;;;:49;;;;5403:20;;;;;;;:32;;5428:6;5403:24;:32::i;:::-;-1:-1:-1;;;;;5380:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;5450:35;;;;;;;5380:20;;5450:35;;;;;;;;;;;;;5070:422;;;:::o;1274:179:4:-;1332:7;1359:6;;;;1351:49;;;;;-1:-1:-1;;;;;1351:49:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1422:5:4;;;1274:179::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;;;938:46:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:4:o;6383:300:0:-;-1:-1:-1;;;;;6457:21:0;;;;6449:67;;;;;-1:-1:-1;;;;;6449:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6542:12;;:23;;6559:5;6542:23;:16;:23;:::i;:::-;6527:12;:38;-1:-1:-1;;;;;6596:18:0;;:9;:18;;;;;;;;;;;:29;;6619:5;6596:22;:29::i;:::-;-1:-1:-1;;;;;6575:18:0;;:9;:18;;;;;;;;;;;:50;;;;6640:36;;;;;;;6575:9;;6640:36;;;;;;;;;;;6383:300;;:::o;1693:458:4:-;1751:7;1991:6;;1987:45;;;-1:-1:-1;2020:1:4;2013:8;;1987:45;2054:5;;;2058:1;2054;:5;2077;;;;;;;;:10;2069:56;;;;;-1:-1:-1;;;;;2069:56:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:326;2664:7;2757:5;;;2749:44;;;;;-1:-1:-1;;;;;2749:44:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;2803:9;2819:1;2815;:5;;;;;;;;;2606:326;-1:-1:-1;;;;2606:326:4:o;5762:302:0:-;-1:-1:-1;;;;;5837:21:0;;;;5829:65;;;;;-1:-1:-1;;;;;5829:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5920:12;;:24;;5937:6;5920:24;:16;:24;:::i;:::-;5905:12;:39;-1:-1:-1;;;;;5975:18:0;;:9;:18;;;;;;;;;;;:30;;5998:6;5975:22;:30::i;:::-;-1:-1:-1;;;;;5954:18:0;;:9;:18;;;;;;;;;;;:51;;;;6020:37;;;;;;;5954:18;;:9;;6020:37;;;;;;;;;;5762:302;;:::o;7614:185::-;7685:22;7691:7;7700:6;7685:5;:22::i;:::-;-1:-1:-1;;;;;7747:20:0;;;;;;-1:-1:-1;7747:20:0;;;;;;;;7735:10;7747:32;;;;;;;;;7717:75;;7747:20;;:44;;7784:6;7747:36;:44::i
Swarm Source
bzzr://c76f7dbee15ff54bad7d738a9e3303e3ab794b883673861e3a507f1c157cdb7b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $2,493.32 | 0.031 | $77.29 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.