Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 87 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 19271979 | 340 days ago | IN | 0 ETH | 0.00204325 | ||||
Approve | 17802839 | 546 days ago | IN | 0 ETH | 0.00072408 | ||||
Approve | 17530606 | 584 days ago | IN | 0 ETH | 0.00125194 | ||||
Approve | 17425705 | 599 days ago | IN | 0 ETH | 0.00048693 | ||||
Approve | 17407729 | 602 days ago | IN | 0 ETH | 0.00160403 | ||||
Approve | 17304645 | 616 days ago | IN | 0 ETH | 0.00125975 | ||||
Approve | 17249301 | 624 days ago | IN | 0 ETH | 0.00232326 | ||||
Approve | 17249274 | 624 days ago | IN | 0 ETH | 0.00212865 | ||||
Approve | 17177110 | 634 days ago | IN | 0 ETH | 0.00325086 | ||||
Transfer | 17176939 | 634 days ago | IN | 0 ETH | 0.00367026 | ||||
Approve | 17176308 | 634 days ago | IN | 0 ETH | 0.00492528 | ||||
Approve | 17175482 | 634 days ago | IN | 0 ETH | 0.00484013 | ||||
Approve | 17174321 | 634 days ago | IN | 0 ETH | 0.00433815 | ||||
Approve | 17173608 | 635 days ago | IN | 0 ETH | 0.0040732 | ||||
Approve | 17173118 | 635 days ago | IN | 0 ETH | 0.00354788 | ||||
Approve | 17172559 | 635 days ago | IN | 0 ETH | 0.00302145 | ||||
Approve | 17171740 | 635 days ago | IN | 0 ETH | 0.00239844 | ||||
Approve | 17170477 | 635 days ago | IN | 0 ETH | 0.00324085 | ||||
Stake Tokens | 17170038 | 635 days ago | IN | 0 ETH | 0.01040259 | ||||
Approve | 17170030 | 635 days ago | IN | 0 ETH | 0.00325794 | ||||
Approve | 17170023 | 635 days ago | IN | 0 ETH | 0.0035413 | ||||
Approve | 17169989 | 635 days ago | IN | 0 ETH | 0.00319227 | ||||
Approve | 17169988 | 635 days ago | IN | 0 ETH | 0.00356647 | ||||
Approve | 17169980 | 635 days ago | IN | 0 ETH | 0.00552986 | ||||
Approve | 17169960 | 635 days ago | IN | 0 ETH | 0.00354375 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
MEMESZN
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: Unlicensed //meme-szn.sol //███╗░░░███╗███████╗███╗░░░███╗███████╗░██████╗███████╗███╗░░██╗ //████╗░████║██╔════╝████╗░████║██╔════╝██╔════╝╚════██║████╗░██║ //██╔████╔██║█████╗░░██╔████╔██║█████╗░░╚█████╗░░░███╔═╝██╔██╗██║ //██║╚██╔╝██║██╔══╝░░██║╚██╔╝██║██╔══╝░░░╚═══██╗██╔══╝░░██║╚████║ //██║░╚═╝░██║███████╗██║░╚═╝░██║███████╗██████╔╝███████╗██║░╚███║ //╚═╝░░░░░╚═╝╚══════╝╚═╝░░░░░╚═╝╚══════╝╚═════╝░╚══════╝╚═╝░░╚══╝ pragma solidity 0.8.10; import "./SafeMath.sol"; import "./IERC20.sol"; import "./Address.sol"; /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure (when the token * contract returns false). Tokens that return no value (and instead revert or * throw on failure) are also supported, non-reverting calls are assumed to be * successful. * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { using SafeMath for uint256; using Address for address; function safeApprove(IERC20 token, address spender, uint256 value) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' // solhint-disable-next-line max-line-length require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function _callOptionalReturn(IERC20 token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. // A Solidity high level call has three parts: // 1. The target address is checked to verify it contains contract code // 2. The call itself is made, and success asserted // 3. The return value is decoded, which in turn checks the size of the returned data. // solhint-disable-next-line max-line-length require(address(token).isContract(), "SafeERC20: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = address(token).call(data); require(success, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } //////////////////////////////////////////////// ////////////////////EVENTS///////////////////// ////////////////////////////////////////////// contract TokenEvents { //when a user stakes tokens event TokenStake( address indexed user, uint value ); //when a user unstakes tokens event TokenUnstake( address indexed user, uint value ); //when a user burns tokens event TokenBurn( address indexed user, uint value ); } ////////////////////////////////////// //////////MEMESZN TOKEN CONTRACT//////// //////////////////////////////////// contract MEMESZN is IERC20, TokenEvents { using SafeMath for uint256; using SafeMath for uint64; using SafeMath for uint32; using SafeMath for uint16; using SafeMath for uint8; using SafeERC20 for MEMESZN; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; //stake setup uint constant internal MINUTESECONDS = 60; uint constant internal DAYSECONDS = 86400; uint constant internal MINSTAKEDAYLENGTH = 7; uint256 public totalStaked; uint256 public totalBurned; //tokenomics uint256 internal _totalSupply; string public constant name = "memeszn"; string public constant symbol = "MEME"; uint8 public constant decimals = 18; bool private sync; mapping (address => Staker) public staker; struct Staker{ uint256 stakedBalance; uint256 stakeStartTimestamp; uint256 totalStakingInterest; uint256 totalBurnt; uint256 totalReferralBonus; address referrer; bool activeUser; } //protects against potential reentrancy modifier synchronized { require(!sync, "Sync lock"); sync = true; _; sync = false; } constructor(uint256 initialTokens) { _mint(msg.sender, initialTokens); } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() external view override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view override 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) external override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) external view override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); 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 `amount`. * - the caller must have allowance for `sender`'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance")); 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) external 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) external returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); 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, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply unless mintBLock is true * * 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 { uint256 amt = amount; require(account != address(0), "ERC20: mint to the zero address"); _totalSupply = _totalSupply.add(amt); _balances[account] = _balances[account].add(amt); emit Transfer(address(0), account, amt); } /** * @dev Destroys `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 amount) internal { require(account != address(0), "ERC20: burn from the zero address"); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } /** * @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 amount) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Destroys `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, "ERC20: burn amount exceeds allowance")); } //////////////////////////////////////////////////////// /////////////////PUBLIC FACING - MEME CONTROL////////// ////////////////////////////////////////////////////// ////////STAKING FUNCTIONS///////// //stake MEME tokens to contract and claims any accrued interest function StakeTokens(uint amt, address _referrer) external synchronized { require(amt > 0, "zero input"); require(memeBalance() >= amt, "Error: insufficient balance");//ensure user has enough funds if(_referrer != address(0) && _referrer != msg.sender){ if(staker[_referrer].activeUser && staker[msg.sender].referrer == address(0)){ staker[msg.sender].referrer = _referrer; } } //claim any accrued interest claimInterest(); //update balances staker[msg.sender].activeUser = true; staker[msg.sender].stakedBalance = staker[msg.sender].stakedBalance.add(amt); totalStaked = totalStaked.add(amt); _transfer(msg.sender, address(this), amt);//make transfer emit TokenStake(msg.sender, amt); } //unstake MEME tokens from contract and claims any accrued interest function UnstakeTokens() external synchronized { require(staker[msg.sender].stakedBalance > 0,"Error: unsufficient staked balance");//ensure user has enough staked funds require(isStakeFinished(msg.sender), "tokens cannot be unstaked yet. min 7 day stake"); uint amt = staker[msg.sender].stakedBalance; //claim any accrued interest claimInterest(); //zero out staking timestamp staker[msg.sender].stakeStartTimestamp = 0; staker[msg.sender].stakedBalance = 0; totalStaked = totalStaked.sub(amt); _transfer(address(this), msg.sender, amt);//make transfer emit TokenUnstake(msg.sender, amt); } //claim any accrued interest function ClaimStakeInterest() external synchronized { require(staker[msg.sender].stakedBalance > 0, "you have no staked balance"); claimInterest(); } //roll any accrued interest function RollStakeInterest() external synchronized { require(staker[msg.sender].stakedBalance > 0, "you have no staked balance"); rollInterest(); } function rollInterest() internal { //calculate staking interest uint256 interest = calcStakingRewards(msg.sender); //mint interest to contract, ref and devs if(interest > 0){ _mint(address(this), interest); //roll interest staker[msg.sender].stakedBalance = staker[msg.sender].stakedBalance.add(interest); totalStaked = totalStaked.add(interest); staker[msg.sender].totalStakingInterest += interest; //reset staking timestamp staker[msg.sender].stakeStartTimestamp = block.timestamp; if(staker[msg.sender].referrer != address(0)){ _mint(staker[msg.sender].referrer, interest.div(20));//5% bonus for referrer staker[staker[msg.sender].referrer].totalReferralBonus += interest.div(20); } } } function claimInterest() internal { //calculate staking interest uint256 interest = calcStakingRewards(msg.sender); //reset staking timestamp staker[msg.sender].stakeStartTimestamp = block.timestamp; //mint interest if any if(interest > 0){ _mint(msg.sender, interest); staker[msg.sender].totalStakingInterest += interest; if(staker[msg.sender].referrer != address(0)){ _mint(staker[msg.sender].referrer, interest.div(20));//5% bonus for referrer staker[staker[msg.sender].referrer].totalReferralBonus += interest.div(20); } } } //burn meme to increase staking APY to maximum 10x @ 42% APY function BurnMeme(uint amt) external synchronized { require(amt > 0, "value must be greater than 0"); require(balanceOf(msg.sender) >= amt, "balance too low"); //burn tokens of user _burn(msg.sender, amt); staker[msg.sender].totalBurnt += amt; totalBurned += amt; _totalSupply = _totalSupply.sub(amt); emit TokenBurn(msg.sender, amt); } /////////////////////////////// ////////VIEW ONLY////////////// /////////////////////////////// //returns staking rewards in MEME function calcStakingRewards(address _user) public view returns(uint) { // totalstaked * minutesPast / 10000 / 1251 @ 4.20% APY // (adjustments up to a max of 42.0% APY via burning of MEME) uint memeBurnt = staker[_user].totalBurnt; uint staked = staker[_user].stakedBalance; uint apyAdjust = 10000; if(memeBurnt > 0){ if(memeBurnt >= staked.sub(staked.div(10))) { apyAdjust = 1000; } else{ uint burntPercentage = ((memeBurnt.mul(100) / staked)); uint v = (apyAdjust * burntPercentage) / 100; apyAdjust = apyAdjust.sub(v); if(apyAdjust < 1000) { apyAdjust = 1000; } } } return (staked.mul(minsPastStakeTime(_user)).div(apyAdjust).div(1251)); } //returns amount of minutes past since stake start function minsPastStakeTime(address _user) public view returns(uint) { if(staker[_user].stakeStartTimestamp == 0){ return 0; } uint minsPast = block.timestamp.sub(staker[_user].stakeStartTimestamp).div(MINUTESECONDS); if(minsPast >= 1){ return minsPast;// returns 0 if under 1 min passed } else{ return 0; } } //check is stake is finished, min 7 days function isStakeFinished(address _user) public view returns(bool) { if(staker[_user].stakeStartTimestamp == 0){ return false; } else{ return staker[_user].stakeStartTimestamp.add((DAYSECONDS).mul(MINSTAKEDAYLENGTH)) <= block.timestamp; } } //MEME balance of caller function memeBalance() public view returns (uint256) { return balanceOf(msg.sender); } }
pragma solidity 0.8.10; // SPDX-License-Identifier: UNLICENSED /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity 0.8.10; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); }
pragma solidity 0.8.10; // SPDX-License-Identifier: UNLICENSED /** * @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. * * _Available since v2.4.0._ */ 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. * * _Available since v2.4.0._ */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 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. * * _Available since v2.4.0._ */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"initialTokens","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":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TokenBurn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TokenStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TokenUnstake","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":"uint256","name":"amt","type":"uint256"}],"name":"BurnMeme","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ClaimStakeInterest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RollStakeInterest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amt","type":"uint256"},{"internalType":"address","name":"_referrer","type":"address"}],"name":"StakeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"UnstakeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"calcStakingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isStakeFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"memeBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"minsPastStakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"staker","outputs":[{"internalType":"uint256","name":"stakedBalance","type":"uint256"},{"internalType":"uint256","name":"stakeStartTimestamp","type":"uint256"},{"internalType":"uint256","name":"totalStakingInterest","type":"uint256"},{"internalType":"uint256","name":"totalBurnt","type":"uint256"},{"internalType":"uint256","name":"totalReferralBonus","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"bool","name":"activeUser","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620019c4380380620019c48339810160408190526200003491620001b3565b62000040338262000047565b50620001f4565b806001600160a01b038316620000a45760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b620000c0816004546200014960201b62000cd81790919060201c565b6004556001600160a01b03831660009081526020818152604090912054620000f391839062000cd862000149821b17901c565b6001600160a01b038416600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080620001588385620001cd565b905083811015620001ac5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200009b565b9392505050565b600060208284031215620001c657600080fd5b5051919050565b60008219821115620001ef57634e487b7160e01b600052601160045260246000fd5b500190565b6117c080620002046000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063d650694c1161007c578063d650694c14610361578063d89135cd14610374578063dd62ed3e1461037d578063e86f1b5c146103b6578063ec33001a146103be578063fd1475d0146103d157600080fd5b806370a082311461024e578063817b1cd21461027757806382e4eda41461028057806395d89b4114610318578063a457c2d71461033b578063a9059cbb1461034e57600080fd5b80633149432c116101155780633149432c146101f057806338a058711461020357806339267f091461020d57806339509351146102155780634164ad071461022857806365759af21461023b57600080fd5b806306fdde0314610152578063095ea7b31461018e57806318160ddd146101b157806323b872dd146101c3578063313ce567146101d6575b600080fd5b6101786040518060400160405280600781526020016636b2b6b2b9bd3760c91b81525081565b60405161018591906114f0565b60405180910390f35b6101a161019c36600461155c565b6103e6565b6040519015158152602001610185565b6004545b604051908152602001610185565b6101a16101d1366004611586565b6103fd565b6101de601281565b60405160ff9091168152602001610185565b6101b56101fe3660046115c2565b610466565b61020b610531565b005b61020b6105da565b6101a161022336600461155c565b61066e565b61020b6102363660046115dd565b6106a4565b61020b6102493660046115f6565b61080f565b6101b561025c3660046115c2565b6001600160a01b031660009081526020819052604090205490565b6101b560025481565b6102d861028e3660046115c2565b60066020526000908152604090208054600182015460028301546003840154600485015460059095015493949293919290916001600160a01b03811690600160a01b900460ff1687565b60408051978852602088019690965294860193909352606085019190915260808401526001600160a01b031660a0830152151560c082015260e001610185565b610178604051806040016040528060048152602001634d454d4560e01b81525081565b6101a161034936600461155c565b610a25565b6101a161035c36600461155c565b610a74565b6101b561036f3660046115c2565b610a81565b6101b560035481565b6101b561038b366004611622565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61020b610af0565b6101a16103cc3660046115c2565b610c6f565b336000908152602081905260409020546101b5565b60006103f3338484610d3e565b5060015b92915050565b600061040a848484610e63565b61045c84336104578560405180606001604052806028815260200161173e602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190610fe6565b610d3e565b5060019392505050565b6001600160a01b0381166000908152600660205260408120600381015490546127108215610505576104a361049c83600a611017565b8390611059565b83106104b257506103e8610505565b6000826104c085606461109b565b6104ca9190611662565b9050600060646104da8385611684565b6104e49190611662565b90506104f08382611059565b92506103e8831015610502576103e892505b50505b6105286104e36105228361052261051b8a610a81565b879061109b565b90611017565b95945050505050565b60055460ff161561055d5760405162461bcd60e51b8152600401610554906116a3565b60405180910390fd5b6005805460ff19166001179055336000908152600660205260409020546105c65760405162461bcd60e51b815260206004820152601a60248201527f796f752068617665206e6f207374616b65642062616c616e63650000000000006044820152606401610554565b6105ce61111a565b6005805460ff19169055565b60055460ff16156105fd5760405162461bcd60e51b8152600401610554906116a3565b6005805460ff19166001179055336000908152600660205260409020546106665760405162461bcd60e51b815260206004820152601a60248201527f796f752068617665206e6f207374616b65642062616c616e63650000000000006044820152606401610554565b6105ce61120d565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103f39185906104579086610cd8565b60055460ff16156106c75760405162461bcd60e51b8152600401610554906116a3565b6005805460ff19166001179055806107215760405162461bcd60e51b815260206004820152601c60248201527f76616c7565206d7573742062652067726561746572207468616e2030000000006044820152606401610554565b336000908152602081905260409020548111156107725760405162461bcd60e51b815260206004820152600f60248201526e62616c616e636520746f6f206c6f7760881b6044820152606401610554565b61077c33826112df565b336000908152600660205260408120600301805483929061079e9084906116c6565b9250508190555080600360008282546107b791906116c6565b90915550506004546107c99082611059565b60045560405181815233907fab85194d35c4ea153d0b51f3a304d1d22cb8023e499a6503fb6c28c5864ae90e906020015b60405180910390a2506005805460ff19169055565b60055460ff16156108325760405162461bcd60e51b8152600401610554906116a3565b6005805460ff19166001179055816108795760405162461bcd60e51b815260206004820152600a6024820152691e995c9bc81a5b9c1d5d60b21b6044820152606401610554565b816108903360009081526020819052604090205490565b10156108de5760405162461bcd60e51b815260206004820152601b60248201527f4572726f723a20696e73756666696369656e742062616c616e636500000000006044820152606401610554565b6001600160a01b038116158015906108ff57506001600160a01b0381163314155b15610980576001600160a01b038116600090815260066020526040902060050154600160a01b900460ff16801561094f5750336000908152600660205260409020600501546001600160a01b0316155b156109805733600090815260066020526040902060050180546001600160a01b0319166001600160a01b0383161790555b61098861111a565b33600090815260066020526040902060058101805460ff60a01b1916600160a01b179055546109b79083610cd8565b336000908152600660205260409020556002546109d49083610cd8565b6002556109e2333084610e63565b60405182815233907facf5378a9125b9a91e37c0cad37a66b4b63bc3494776388fc87056260e0315769060200160405180910390a250506005805460ff19169055565b60006103f3338461045785604051806060016040528060258152602001611766602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190610fe6565b60006103f3338484610e63565b6001600160a01b038116600090815260066020526040812060010154610aa957506000919050565b6001600160a01b038216600090815260066020526040812060010154610ad790603c90610522904290611059565b905060018110610ae75792915050565b50600092915050565b60055460ff1615610b135760405162461bcd60e51b8152600401610554906116a3565b6005805460ff1916600117905533600090815260066020526040902054610b875760405162461bcd60e51b815260206004820152602260248201527f4572726f723a20756e73756666696369656e74207374616b65642062616c616e604482015261636560f01b6064820152608401610554565b610b9033610c6f565b610bf35760405162461bcd60e51b815260206004820152602e60248201527f746f6b656e732063616e6e6f7420626520756e7374616b6564207965742e206d60448201526d696e203720646179207374616b6560901b6064820152608401610554565b33600090815260066020526040902054610c0b61111a565b3360009081526006602052604081206001810182905555600254610c2f9082611059565b600255610c3d303383610e63565b60405181815233907f43a932fdc9d096891853e1e003cefbdaa5f14e174721aa1f9668616323afa334906020016107fa565b6001600160a01b038116600090815260066020526040812060010154610c9757506000919050565b42610ccb610ca962015180600761109b565b6001600160a01b03851660009081526006602052604090206001015490610cd8565b111592915050565b919050565b600080610ce583856116c6565b905083811015610d375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610554565b9392505050565b6001600160a01b038316610da05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610554565b6001600160a01b038216610e015760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610554565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610ec75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610554565b6001600160a01b038216610f295760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610554565b610f6681604051806060016040528060268152602001611718602691396001600160a01b0386166000908152602081905260409020549190610fe6565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610f959082610cd8565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610e56565b6000818484111561100a5760405162461bcd60e51b815260040161055491906114f0565b50600061052884866116de565b6000610d3783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113ea565b6000610d3783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fe6565b6000826110aa575060006103f7565b60006110b68385611684565b9050826110c38583611662565b14610d375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610554565b600061112533610466565b336000908152600660205260409020426001909101559050801561120a5761114d3382611418565b336000908152600660205260408120600201805483929061116f9084906116c6565b9091555050336000908152600660205260409020600501546001600160a01b03161561120a57336000908152600660205260409020600501546111c5906001600160a01b03166111c0836014611017565b611418565b6111d0816014611017565b33600090815260066020526040808220600501546001600160a01b03168252812060040180549091906112049084906116c6565b90915550505b50565b600061121833610466565b9050801561120a5761122a3082611418565b336000908152600660205260409020546112449082610cd8565b336000908152600660205260409020556002546112619082610cd8565b600290815533600090815260066020526040812090910180548392906112889084906116c6565b9091555050336000908152600660205260409020426001820155600501546001600160a01b03161561120a57336000908152600660205260409020600501546111c5906001600160a01b03166111c0836014611017565b6001600160a01b03821661133f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610554565b61137c816040518060600160405280602281526020016116f6602291396001600160a01b0385166000908152602081905260409020549190610fe6565b6001600160a01b0383166000908152602081905260409020556004546113a29082611059565b6004556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6000818361140b5760405162461bcd60e51b815260040161055491906114f0565b5060006105288486611662565b806001600160a01b03831661146f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610554565b60045461147c9082610cd8565b6004556001600160a01b0383166000908152602081905260409020546114a29082610cd8565b6001600160a01b038416600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610e56565b600060208083528351808285015260005b8181101561151d57858101830151858201604001528201611501565b8181111561152f576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610cd357600080fd5b6000806040838503121561156f57600080fd5b61157883611545565b946020939093013593505050565b60008060006060848603121561159b57600080fd5b6115a484611545565b92506115b260208501611545565b9150604084013590509250925092565b6000602082840312156115d457600080fd5b610d3782611545565b6000602082840312156115ef57600080fd5b5035919050565b6000806040838503121561160957600080fd5b8235915061161960208401611545565b90509250929050565b6000806040838503121561163557600080fd5b61163e83611545565b915061161960208401611545565b634e487b7160e01b600052601160045260246000fd5b60008261167f57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561169e5761169e61164c565b500290565b60208082526009908201526853796e63206c6f636b60b81b604082015260600190565b600082198211156116d9576116d961164c565b500190565b6000828210156116f0576116f061164c565b50039056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ac21afd84b3ccf9a83a1a1925a06d541d5cc47f87e10eea9ff1c8feaf81e010c64736f6c634300080a003300000000000000000000000000000000000000054e739ef2dabd134dba0ac344
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063d650694c1161007c578063d650694c14610361578063d89135cd14610374578063dd62ed3e1461037d578063e86f1b5c146103b6578063ec33001a146103be578063fd1475d0146103d157600080fd5b806370a082311461024e578063817b1cd21461027757806382e4eda41461028057806395d89b4114610318578063a457c2d71461033b578063a9059cbb1461034e57600080fd5b80633149432c116101155780633149432c146101f057806338a058711461020357806339267f091461020d57806339509351146102155780634164ad071461022857806365759af21461023b57600080fd5b806306fdde0314610152578063095ea7b31461018e57806318160ddd146101b157806323b872dd146101c3578063313ce567146101d6575b600080fd5b6101786040518060400160405280600781526020016636b2b6b2b9bd3760c91b81525081565b60405161018591906114f0565b60405180910390f35b6101a161019c36600461155c565b6103e6565b6040519015158152602001610185565b6004545b604051908152602001610185565b6101a16101d1366004611586565b6103fd565b6101de601281565b60405160ff9091168152602001610185565b6101b56101fe3660046115c2565b610466565b61020b610531565b005b61020b6105da565b6101a161022336600461155c565b61066e565b61020b6102363660046115dd565b6106a4565b61020b6102493660046115f6565b61080f565b6101b561025c3660046115c2565b6001600160a01b031660009081526020819052604090205490565b6101b560025481565b6102d861028e3660046115c2565b60066020526000908152604090208054600182015460028301546003840154600485015460059095015493949293919290916001600160a01b03811690600160a01b900460ff1687565b60408051978852602088019690965294860193909352606085019190915260808401526001600160a01b031660a0830152151560c082015260e001610185565b610178604051806040016040528060048152602001634d454d4560e01b81525081565b6101a161034936600461155c565b610a25565b6101a161035c36600461155c565b610a74565b6101b561036f3660046115c2565b610a81565b6101b560035481565b6101b561038b366004611622565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61020b610af0565b6101a16103cc3660046115c2565b610c6f565b336000908152602081905260409020546101b5565b60006103f3338484610d3e565b5060015b92915050565b600061040a848484610e63565b61045c84336104578560405180606001604052806028815260200161173e602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190610fe6565b610d3e565b5060019392505050565b6001600160a01b0381166000908152600660205260408120600381015490546127108215610505576104a361049c83600a611017565b8390611059565b83106104b257506103e8610505565b6000826104c085606461109b565b6104ca9190611662565b9050600060646104da8385611684565b6104e49190611662565b90506104f08382611059565b92506103e8831015610502576103e892505b50505b6105286104e36105228361052261051b8a610a81565b879061109b565b90611017565b95945050505050565b60055460ff161561055d5760405162461bcd60e51b8152600401610554906116a3565b60405180910390fd5b6005805460ff19166001179055336000908152600660205260409020546105c65760405162461bcd60e51b815260206004820152601a60248201527f796f752068617665206e6f207374616b65642062616c616e63650000000000006044820152606401610554565b6105ce61111a565b6005805460ff19169055565b60055460ff16156105fd5760405162461bcd60e51b8152600401610554906116a3565b6005805460ff19166001179055336000908152600660205260409020546106665760405162461bcd60e51b815260206004820152601a60248201527f796f752068617665206e6f207374616b65642062616c616e63650000000000006044820152606401610554565b6105ce61120d565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103f39185906104579086610cd8565b60055460ff16156106c75760405162461bcd60e51b8152600401610554906116a3565b6005805460ff19166001179055806107215760405162461bcd60e51b815260206004820152601c60248201527f76616c7565206d7573742062652067726561746572207468616e2030000000006044820152606401610554565b336000908152602081905260409020548111156107725760405162461bcd60e51b815260206004820152600f60248201526e62616c616e636520746f6f206c6f7760881b6044820152606401610554565b61077c33826112df565b336000908152600660205260408120600301805483929061079e9084906116c6565b9250508190555080600360008282546107b791906116c6565b90915550506004546107c99082611059565b60045560405181815233907fab85194d35c4ea153d0b51f3a304d1d22cb8023e499a6503fb6c28c5864ae90e906020015b60405180910390a2506005805460ff19169055565b60055460ff16156108325760405162461bcd60e51b8152600401610554906116a3565b6005805460ff19166001179055816108795760405162461bcd60e51b815260206004820152600a6024820152691e995c9bc81a5b9c1d5d60b21b6044820152606401610554565b816108903360009081526020819052604090205490565b10156108de5760405162461bcd60e51b815260206004820152601b60248201527f4572726f723a20696e73756666696369656e742062616c616e636500000000006044820152606401610554565b6001600160a01b038116158015906108ff57506001600160a01b0381163314155b15610980576001600160a01b038116600090815260066020526040902060050154600160a01b900460ff16801561094f5750336000908152600660205260409020600501546001600160a01b0316155b156109805733600090815260066020526040902060050180546001600160a01b0319166001600160a01b0383161790555b61098861111a565b33600090815260066020526040902060058101805460ff60a01b1916600160a01b179055546109b79083610cd8565b336000908152600660205260409020556002546109d49083610cd8565b6002556109e2333084610e63565b60405182815233907facf5378a9125b9a91e37c0cad37a66b4b63bc3494776388fc87056260e0315769060200160405180910390a250506005805460ff19169055565b60006103f3338461045785604051806060016040528060258152602001611766602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190610fe6565b60006103f3338484610e63565b6001600160a01b038116600090815260066020526040812060010154610aa957506000919050565b6001600160a01b038216600090815260066020526040812060010154610ad790603c90610522904290611059565b905060018110610ae75792915050565b50600092915050565b60055460ff1615610b135760405162461bcd60e51b8152600401610554906116a3565b6005805460ff1916600117905533600090815260066020526040902054610b875760405162461bcd60e51b815260206004820152602260248201527f4572726f723a20756e73756666696369656e74207374616b65642062616c616e604482015261636560f01b6064820152608401610554565b610b9033610c6f565b610bf35760405162461bcd60e51b815260206004820152602e60248201527f746f6b656e732063616e6e6f7420626520756e7374616b6564207965742e206d60448201526d696e203720646179207374616b6560901b6064820152608401610554565b33600090815260066020526040902054610c0b61111a565b3360009081526006602052604081206001810182905555600254610c2f9082611059565b600255610c3d303383610e63565b60405181815233907f43a932fdc9d096891853e1e003cefbdaa5f14e174721aa1f9668616323afa334906020016107fa565b6001600160a01b038116600090815260066020526040812060010154610c9757506000919050565b42610ccb610ca962015180600761109b565b6001600160a01b03851660009081526006602052604090206001015490610cd8565b111592915050565b919050565b600080610ce583856116c6565b905083811015610d375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610554565b9392505050565b6001600160a01b038316610da05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610554565b6001600160a01b038216610e015760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610554565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610ec75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610554565b6001600160a01b038216610f295760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610554565b610f6681604051806060016040528060268152602001611718602691396001600160a01b0386166000908152602081905260409020549190610fe6565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610f959082610cd8565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610e56565b6000818484111561100a5760405162461bcd60e51b815260040161055491906114f0565b50600061052884866116de565b6000610d3783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113ea565b6000610d3783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fe6565b6000826110aa575060006103f7565b60006110b68385611684565b9050826110c38583611662565b14610d375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610554565b600061112533610466565b336000908152600660205260409020426001909101559050801561120a5761114d3382611418565b336000908152600660205260408120600201805483929061116f9084906116c6565b9091555050336000908152600660205260409020600501546001600160a01b03161561120a57336000908152600660205260409020600501546111c5906001600160a01b03166111c0836014611017565b611418565b6111d0816014611017565b33600090815260066020526040808220600501546001600160a01b03168252812060040180549091906112049084906116c6565b90915550505b50565b600061121833610466565b9050801561120a5761122a3082611418565b336000908152600660205260409020546112449082610cd8565b336000908152600660205260409020556002546112619082610cd8565b600290815533600090815260066020526040812090910180548392906112889084906116c6565b9091555050336000908152600660205260409020426001820155600501546001600160a01b03161561120a57336000908152600660205260409020600501546111c5906001600160a01b03166111c0836014611017565b6001600160a01b03821661133f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610554565b61137c816040518060600160405280602281526020016116f6602291396001600160a01b0385166000908152602081905260409020549190610fe6565b6001600160a01b0383166000908152602081905260409020556004546113a29082611059565b6004556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6000818361140b5760405162461bcd60e51b815260040161055491906114f0565b5060006105288486611662565b806001600160a01b03831661146f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610554565b60045461147c9082610cd8565b6004556001600160a01b0383166000908152602081905260409020546114a29082610cd8565b6001600160a01b038416600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610e56565b600060208083528351808285015260005b8181101561151d57858101830151858201604001528201611501565b8181111561152f576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610cd357600080fd5b6000806040838503121561156f57600080fd5b61157883611545565b946020939093013593505050565b60008060006060848603121561159b57600080fd5b6115a484611545565b92506115b260208501611545565b9150604084013590509250925092565b6000602082840312156115d457600080fd5b610d3782611545565b6000602082840312156115ef57600080fd5b5035919050565b6000806040838503121561160957600080fd5b8235915061161960208401611545565b90509250929050565b6000806040838503121561163557600080fd5b61163e83611545565b915061161960208401611545565b634e487b7160e01b600052601160045260246000fd5b60008261167f57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561169e5761169e61164c565b500290565b60208082526009908201526853796e63206c6f636b60b81b604082015260600190565b600082198211156116d9576116d961164c565b500190565b6000828210156116f0576116f061164c565b50039056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ac21afd84b3ccf9a83a1a1925a06d541d5cc47f87e10eea9ff1c8feaf81e010c64736f6c634300080a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000054e739ef2dabd134dba0ac344
-----Decoded View---------------
Arg [0] : initialTokens (uint256): 420420420420420420420420420420
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000054e739ef2dabd134dba0ac344
Deployed Bytecode Sourcemap
4584:14671:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5232:39;;;;;;;;;;;;;;;-1:-1:-1;;;5232:39:3;;;;;;;;;;;;:::i;:::-;;;;;;;;6994:158;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:4;;1211:22;1193:41;;1181:2;1166:18;6994:158:3;1053:187:4;6013:100:3;6094:12;;6013:100;;;1391:25:4;;;1379:2;1364:18;6013:100:3;1245:177:4;7616:307:3;;;;;;:::i;:::-;;:::i;5321:35::-;;5354:2;5321:35;;;;;1932:4:4;1920:17;;;1902:36;;1890:2;1875:18;5321:35:3;1760:184:4;17274:930:3;;;;;;:::i;:::-;;:::i;14619:189::-;;;:::i;:::-;;14850:187;;;:::i;8318:205::-;;;;;;:::i;:::-;;:::i;16697:424::-;;;;;;:::i;:::-;;:::i;12945:846::-;;;;;;:::i;:::-;;:::i;6171:117::-;;;;;;:::i;:::-;-1:-1:-1;;;;;6263:18:3;6237:7;6263:18;;;;;;;;;;;;6171:117;5116:26;;;;;;5391:41;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5391:41:3;;;-1:-1:-1;;;5391:41:3;;;;;;;;;;2893:25:4;;;2949:2;2934:18;;2927:34;;;;2977:18;;;2970:34;;;;3035:2;3020:18;;3013:34;;;;3078:3;3063:19;;3056:35;-1:-1:-1;;;;;3128:32:4;3148:3;3107:19;;3100:61;3205:14;3198:22;3192:3;3177:19;;3170:51;2880:3;2865:19;5391:41:3;2584:643:4;5277:38:3;;;;;;;;;;;;;;;-1:-1:-1;;;5277:38:3;;;;;9010:256;;;;;;:::i;:::-;;:::i;6491:164::-;;;;;;:::i;:::-;;:::i;18265:432::-;;;;;;:::i;:::-;;:::i;5148:26::-;;;;;;6713:143;;;;;;:::i;:::-;-1:-1:-1;;;;;6822:18:3;;;6796:7;6822:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6713:143;13873:703;;;:::i;18752:340::-;;;;;;:::i;:::-;;:::i;19127:126::-;19235:10;19195:7;6263:18;;;;;;;;;;;19127:126;;6994:158;7071:4;7087:37;7096:10;7108:7;7117:6;7087:8;:37::i;:::-;-1:-1:-1;7141:4:3;6994:158;;;;;:::o;7616:307::-;7716:4;7732:36;7742:6;7750:9;7761:6;7732:9;:36::i;:::-;7778:117;7787:6;7795:10;7807:87;7843:6;7807:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7807:19:3;;;;;;:11;:19;;;;;;;;7827:10;7807:31;;;;;;;;;:87;:35;:87::i;:::-;7778:8;:117::i;:::-;-1:-1:-1;7912:4:3;7616:307;;;;;:::o;17274:930::-;-1:-1:-1;;;;;17532:13:3;;17361:4;17532:13;;;:6;:13;;;;;:24;;;;17580:27;;17634:5;17652:13;;17649:469;;17696:26;17707:14;:6;17718:2;17707:10;:14::i;:::-;17696:6;;:10;:26::i;:::-;17683:9;:39;17680:428;;-1:-1:-1;17766:4:3;17680:428;;;17820:20;17866:6;17845:18;:9;17859:3;17845:13;:18::i;:::-;:27;;;;:::i;:::-;17820:54;-1:-1:-1;17892:6:3;17933:3;17902:27;17820:54;17902:9;:27;:::i;:::-;17901:35;;;;:::i;:::-;17892:44;-1:-1:-1;17966:16:3;:9;17892:44;17966:13;:16::i;:::-;17954:28;;18015:4;18003:9;:16;18000:94;;;18071:4;18059:16;;18000:94;17802:306;;17680:428;18135:61;18191:4;18135:51;18176:9;18135:36;18146:24;18164:5;18146:17;:24::i;:::-;18135:6;;:10;:36::i;:::-;:40;;:51::i;:61::-;18127:70;17274:930;-1:-1:-1;;;;;17274:930:3:o;14619:189::-;5779:4;;;;5778:5;5770:27;;;;-1:-1:-1;;;5770:27:3;;;;;;;:::i;:::-;;;;;;;;;5807:4;:11;;-1:-1:-1;;5807:11:3;5814:4;5807:11;;;14716:10:::1;5807:4:::0;14709:18;;;:6:::1;:18;::::0;;;;:32;14701:75:::1;;;::::0;-1:-1:-1;;;14701:75:3;;4563:2:4;14701:75:3::1;::::0;::::1;4545:21:4::0;4602:2;4582:18;;;4575:30;4641:28;4621:18;;;4614:56;4687:18;;14701:75:3::1;4361:350:4::0;14701:75:3::1;14786:15;:13;:15::i;:::-;5839:4:::0;:12;;-1:-1:-1;;5839:12:3;;;14619:189::o;14850:187::-;5779:4;;;;5778:5;5770:27;;;;-1:-1:-1;;;5770:27:3;;;;;;;:::i;:::-;5807:4;:11;;-1:-1:-1;;5807:11:3;5814:4;5807:11;;;14946:10:::1;5807:4:::0;14939:18;;;:6:::1;:18;::::0;;;;:32;14931:75:::1;;;::::0;-1:-1:-1;;;14931:75:3;;4563:2:4;14931:75:3::1;::::0;::::1;4545:21:4::0;4602:2;4582:18;;;4575:30;4641:28;4621:18;;;4614:56;4687:18;;14931:75:3::1;4361:350:4::0;14931:75:3::1;15016:14;:12;:14::i;8318:205::-:0;8425:10;8400:4;8446:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8446:32:3;;;;;;;;;;8400:4;;8416:79;;8437:7;;8446:48;;8483:10;8446:36;:48::i;16697:424::-;5779:4;;;;5778:5;5770:27;;;;-1:-1:-1;;;5770:27:3;;;;;;;:::i;:::-;5807:4;:11;;-1:-1:-1;;5807:11:3;5814:4;5807:11;;;16785:7;16777:48:::1;;;::::0;-1:-1:-1;;;16777:48:3;;4918:2:4;16777:48:3::1;::::0;::::1;4900:21:4::0;4957:2;4937:18;;;4930:30;4996;4976:18;;;4969:58;5044:18;;16777:48:3::1;4716:352:4::0;16777:48:3::1;16853:10;6237:7:::0;6263:18;;;;;;;;;;;16868:3;-1:-1:-1;16843:28:3::1;16835:56;;;::::0;-1:-1:-1;;;16835:56:3;;5275:2:4;16835:56:3::1;::::0;::::1;5257:21:4::0;5314:2;5294:18;;;5287:30;-1:-1:-1;;;5333:18:4;;;5326:45;5388:18;;16835:56:3::1;5073:339:4::0;16835:56:3::1;16931:22;16937:10;16949:3;16931:5;:22::i;:::-;16970:10;16963:18;::::0;;;:6:::1;:18;::::0;;;;:29:::1;;:36:::0;;16996:3;;16963:18;:36:::1;::::0;16996:3;;16963:36:::1;:::i;:::-;;;;;;;;17024:3;17009:11;;:18;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;17052:12:3::1;::::0;:21:::1;::::0;17069:3;17052:16:::1;:21::i;:::-;17037:12;:36:::0;17088:26:::1;::::0;1391:25:4;;;17098:10:3::1;::::0;17088:26:::1;::::0;1379:2:4;1364:18;17088:26:3::1;;;;;;;;-1:-1:-1::0;5839:4:3;:12;;-1:-1:-1;;5839:12:3;;;16697:424::o;12945:846::-;5779:4;;;;5778:5;5770:27;;;;-1:-1:-1;;;5770:27:3;;;;;;;:::i;:::-;5807:4;:11;;-1:-1:-1;;5807:11:3;5814:4;5807:11;;;13055:7;13047:30:::1;;;::::0;-1:-1:-1;;;13047:30:3;;5752:2:4;13047:30:3::1;::::0;::::1;5734:21:4::0;5791:2;5771:18;;;5764:30;-1:-1:-1;;;5810:18:4;;;5803:40;5860:18;;13047:30:3::1;5550:334:4::0;13047:30:3::1;13112:3;13095:13;19235:10:::0;19195:7;6263:18;;;;;;;;;;;;19127:126;13095:13:::1;:20;;13087:60;;;::::0;-1:-1:-1;;;13087:60:3;;6091:2:4;13087:60:3::1;::::0;::::1;6073:21:4::0;6130:2;6110:18;;;6103:30;6169:29;6149:18;;;6142:57;6216:18;;13087:60:3::1;5889:351:4::0;13087:60:3::1;-1:-1:-1::0;;;;;13190:23:3;::::1;::::0;;::::1;::::0;:50:::1;;-1:-1:-1::0;;;;;;13217:23:3;::::1;13230:10;13217:23;;13190:50;13187:226;;;-1:-1:-1::0;;;;;13258:17:3;::::1;;::::0;;;:6:::1;:17;::::0;;;;:28:::1;;::::0;-1:-1:-1;;;13258:28:3;::::1;;;:73:::0;::::1;;;-1:-1:-1::0;13297:10:3::1;13329:1;13290:18:::0;;;:6:::1;:18;::::0;;;;:27:::1;;::::0;-1:-1:-1;;;;;13290:27:3::1;:41:::0;13258:73:::1;13255:148;;;13356:10;13349:18;::::0;;;:6:::1;:18;::::0;;;;:27:::1;;:39:::0;;-1:-1:-1;;;;;;13349:39:3::1;-1:-1:-1::0;;;;;13349:39:3;::::1;;::::0;;13255:148:::1;13459:15;:13;:15::i;:::-;13517:10;13510:18;::::0;;;:6:::1;:18;::::0;;;;:29:::1;::::0;::::1;:36:::0;;-1:-1:-1;;;;13510:36:3::1;-1:-1:-1::0;;;13510:36:3::1;::::0;;13591:32;:41:::1;::::0;13628:3;13591:36:::1;:41::i;:::-;13563:10;13556:18;::::0;;;:6:::1;:18;::::0;;;;:76;13656:11:::1;::::0;:20:::1;::::0;13672:3;13656:15:::1;:20::i;:::-;13642:11;:34:::0;13686:41:::1;13696:10;13716:4;13723:3:::0;13686:9:::1;:41::i;:::-;13757:27;::::0;1391:25:4;;;13768:10:3::1;::::0;13757:27:::1;::::0;1379:2:4;1364:18;13757:27:3::1;;;;;;;-1:-1:-1::0;;5839:4:3;:12;;-1:-1:-1;;5839:12:3;;;12945:846::o;9010:256::-;9097:4;9113:125;9122:10;9134:7;9143:94;9180:15;9143:94;;;;;;;;;;;;;;;;;9155:10;9143:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9143:32:3;;;;;;;;;;;:94;:36;:94::i;6491:164::-;6571:4;6587:40;6597:10;6609:9;6620:6;6587:9;:40::i;18265:432::-;-1:-1:-1;;;;;18374:13:3;;18351:4;18374:13;;;:6;:13;;;;;:33;;;18371:75;;-1:-1:-1;18434:1:3;;18265:432;-1:-1:-1;18265:432:3:o;18371:75::-;-1:-1:-1;;;;;18491:13:3;;18455;18491;;;:6;:13;;;;;:33;;;18471:73;;5011:2;;18471:54;;:15;;:19;:54::i;:73::-;18455:89;;18569:1;18557:8;:13;18554:137;;18592:8;18265:432;-1:-1:-1;;18265:432:3:o;18554:137::-;-1:-1:-1;18679:1:3;;18265:432;-1:-1:-1;;18265:432:3:o;13873:703::-;5779:4;;;;5778:5;5770:27;;;;-1:-1:-1;;;5770:27:3;;;;;;;:::i;:::-;5807:4;:11;;-1:-1:-1;;5807:11:3;5814:4;5807:11;;;13965:10:::1;5807:4:::0;13958:18;;;:6:::1;:18;::::0;;;;:32;13950:82:::1;;;::::0;-1:-1:-1;;;13950:82:3;;6447:2:4;13950:82:3::1;::::0;::::1;6429:21:4::0;6486:2;6466:18;;;6459:30;6525:34;6505:18;;;6498:62;-1:-1:-1;;;6576:18:4;;;6569:32;6618:19;;13950:82:3::1;6245:398:4::0;13950:82:3::1;14087:27;14103:10;14087:15;:27::i;:::-;14079:86;;;::::0;-1:-1:-1;;;14079:86:3;;6850:2:4;14079:86:3::1;::::0;::::1;6832:21:4::0;6889:2;6869:18;;;6862:30;6928:34;6908:18;;;6901:62;-1:-1:-1;;;6979:18:4;;;6972:44;7033:19;;14079:86:3::1;6648:410:4::0;14079:86:3::1;14193:10;14175:8;14186:18:::0;;;:6:::1;:18;::::0;;;;:32;14265:15:::1;:13;:15::i;:::-;14334:10;14368:1;14327:18:::0;;;:6:::1;:18;::::0;;;;:38:::1;::::0;::::1;:42:::0;;;14379:36;14439:11:::1;::::0;:20:::1;::::0;14455:3;14439:15:::1;:20::i;:::-;14425:11;:34:::0;14469:41:::1;14487:4;14494:10;14506:3:::0;14469:9:::1;:41::i;:::-;14540:29;::::0;1391:25:4;;;14553:10:3::1;::::0;14540:29:::1;::::0;1379:2:4;1364:18;14540:29:3::1;1245:177:4::0;18752:340:3;-1:-1:-1;;;;;18859:13:3;;18836:4;18859:13;;;:6;:13;;;;;:33;;;18856:230;;-1:-1:-1;18919:5:3;;18752:340;-1:-1:-1;18752:340:3:o;18856:230::-;19047:15;18969:74;19007:35;5055:5;5109:1;19007:16;:35::i;:::-;-1:-1:-1;;;;;18969:13:3;;;;;;:6;:13;;;;;:33;;;;:37;:74::i;:::-;:93;;;18752:340;-1:-1:-1;;18752:340:3:o;18856:230::-;18752:340;;;:::o;872:176:2:-;930:7;;961:5;965:1;961;:5;:::i;:::-;949:17;;989:1;984;:6;;976:46;;;;-1:-1:-1;;;976:46:2;;7265:2:4;976:46:2;;;7247:21:4;7304:2;7284:18;;;7277:30;7343:29;7323:18;;;7316:57;7390:18;;976:46:2;7063:351:4;976:46:2;1040:1;872:176;-1:-1:-1;;;872:176:2:o;11903:331:3:-;-1:-1:-1;;;;;11996:19:3;;11988:68;;;;-1:-1:-1;;;11988:68:3;;7621:2:4;11988:68:3;;;7603:21:4;7660:2;7640:18;;;7633:30;7699:34;7679:18;;;7672:62;-1:-1:-1;;;7750:18:4;;;7743:34;7794:19;;11988:68:3;7419:400:4;11988:68:3;-1:-1:-1;;;;;12074:21:3;;12066:68;;;;-1:-1:-1;;;12066:68:3;;8026:2:4;12066:68:3;;;8008:21:4;8065:2;8045:18;;;8038:30;8104:34;8084:18;;;8077:62;-1:-1:-1;;;8155:18:4;;;8148:32;8197:19;;12066:68:3;7824:398:4;12066:68:3;-1:-1:-1;;;;;12144:18:3;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12195:32;;1391:25:4;;;12195:32:3;;1364:18:4;12195:32:3;;;;;;;;11903:331;;;:::o;9739:463::-;-1:-1:-1;;;;;9836:20:3;;9828:70;;;;-1:-1:-1;;;9828:70:3;;8429:2:4;9828:70:3;;;8411:21:4;8468:2;8448:18;;;8441:30;8507:34;8487:18;;;8480:62;-1:-1:-1;;;8558:18:4;;;8551:35;8603:19;;9828:70:3;8227:401:4;9828:70:3;-1:-1:-1;;;;;9916:23:3;;9908:71;;;;-1:-1:-1;;;9908:71:3;;8835:2:4;9908:71:3;;;8817:21:4;8874:2;8854:18;;;8847:30;8913:34;8893:18;;;8886:62;-1:-1:-1;;;8964:18:4;;;8957:33;9007:19;;9908:71:3;8633:399:4;9908:71:3;10009;10031:6;10009:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10009:17:3;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;9989:17:3;;;:9;:17;;;;;;;;;;;:91;;;;10113:20;;;;;;;:32;;10138:6;10113:24;:32::i;:::-;-1:-1:-1;;;;;10090:20:3;;;:9;:20;;;;;;;;;;;;:55;;;;10160:35;1391:25:4;;;10090:20:3;;10160:35;;;;;;1364:18:4;10160:35:3;1245:177:4;1770:187:2;1856:7;1891:12;1883:6;;;;1875:29;;;;-1:-1:-1;;;1875:29:2;;;;;;;;:::i;:::-;-1:-1:-1;1914:9:2;1926:5;1930:1;1926;:5;:::i;3111:130::-;3169:7;3195:39;3199:1;3202;3195:39;;;;;;;;;;;;;;;;;:3;:39::i;1312:134::-;1370:7;1396:43;1400:1;1403;1396:43;;;;;;;;;;;;;;;;;:3;:43::i;2197:459::-;2255:7;2496:6;2492:45;;-1:-1:-1;2525:1:2;2518:8;;2492:45;2547:9;2559:5;2563:1;2559;:5;:::i;:::-;2547:17;-1:-1:-1;2591:1:2;2582:5;2586:1;2547:17;2582:5;:::i;:::-;:10;2574:56;;;;-1:-1:-1;;;2574:56:2;;9369:2:4;2574:56:2;;;9351:21:4;9408:2;9388:18;;;9381:30;9447:34;9427:18;;;9420:62;-1:-1:-1;;;9498:18:4;;;9491:31;9539:19;;2574:56:2;9167:397:4;15944:682:3;16037:16;16056:30;16075:10;16056:18;:30::i;:::-;16137:10;16130:18;;;;:6;:18;;;;;16171:15;16130:38;;;;:56;16037:49;-1:-1:-1;16230:12:3;;16227:393;;16257:27;16263:10;16275:8;16257:5;:27::i;:::-;16305:10;16298:18;;;;:6;:18;;;;;:39;;:51;;16341:8;;16298:18;:51;;16341:8;;16298:51;:::i;:::-;;;;-1:-1:-1;;16373:10:3;16405:1;16366:18;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;16366:27:3;:41;16363:247;;16440:10;16433:18;;;;:6;:18;;;;;:27;;;16427:52;;-1:-1:-1;;;;;16433:27:3;16462:16;:8;16475:2;16462:12;:16::i;:::-;16427:5;:52::i;:::-;16579:16;:8;16592:2;16579:12;:16::i;:::-;16535:10;16521:35;16528:18;;;16521:6;16528:18;;;;;;:27;;;-1:-1:-1;;;;;16528:27:3;16521:35;;;;:54;;:74;;:54;;:35;:74;;;;;:::i;:::-;;;;-1:-1:-1;;16363:247:3;15990:636;15944:682::o;15047:887::-;15139:16;15158:30;15177:10;15158:18;:30::i;:::-;15139:49;-1:-1:-1;15251:12:3;;15248:680;;15278:30;15292:4;15299:8;15278:5;:30::i;:::-;15392:10;15385:18;;;;:6;:18;;;;;:32;:46;;15422:8;15385:36;:46::i;:::-;15357:10;15350:18;;;;:6;:18;;;;;:81;15459:11;;:25;;15475:8;15459:15;:25::i;:::-;15445:11;:39;;;15505:10;15498:18;;;;:6;:18;;;;;:39;;;:51;;15541:8;;15498:18;:51;;15541:8;;15498:51;:::i;:::-;;;;-1:-1:-1;;15608:10:3;15601:18;;;;:6;:18;;;;;15642:15;15601:38;;;:56;15674:27;;;-1:-1:-1;;;;;15674:27:3;:41;15671:247;;15748:10;15741:18;;;;:6;:18;;;;;:27;;;15735:52;;-1:-1:-1;;;;;15741:27:3;15770:16;:8;15783:2;15770:12;:16::i;11137:341::-;-1:-1:-1;;;;;11212:21:3;;11204:67;;;;-1:-1:-1;;;11204:67:3;;9771:2:4;11204:67:3;;;9753:21:4;9810:2;9790:18;;;9783:30;9849:34;9829:18;;;9822:62;-1:-1:-1;;;9900:18:4;;;9893:31;9941:19;;11204:67:3;9569:397:4;11204:67:3;11302:68;11325:6;11302:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11302:18:3;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;11281:18:3;;:9;:18;;;;;;;;;;:89;11395:12;;:24;;11412:6;11395:16;:24::i;:::-;11380:12;:39;11434:37;;1391:25:4;;;11460:1:3;;-1:-1:-1;;;;;11434:37:3;;;;;1379:2:4;1364:18;11434:37:3;;;;;;;11137:341;;:::o;3756:338:2:-;3842:7;3942:12;3935:5;3927:28;;;;-1:-1:-1;;;3927:28:2;;;;;;;;:::i;:::-;-1:-1:-1;3965:9:2;3977:5;3981:1;3977;:5;:::i;10496:322:3:-;10577:6;-1:-1:-1;;;;;10601:21:3;;10593:65;;;;-1:-1:-1;;;10593:65:3;;10173:2:4;10593:65:3;;;10155:21:4;10212:2;10192:18;;;10185:30;10251:33;10231:18;;;10224:61;10302:18;;10593:65:3;9971:355:4;10593:65:3;10683:12;;:21;;10700:3;10683:16;:21::i;:::-;10668:12;:36;-1:-1:-1;;;;;10735:18:3;;:9;:18;;;;;;;;;;;:27;;10758:3;10735:22;:27::i;:::-;-1:-1:-1;;;;;10714:18:3;;:9;:18;;;;;;;;;;;:48;;;;10777:34;;1391:25:4;;;10714:18:3;;:9;;10777:34;;1364:18:4;10777:34:3;1245:177:4;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:4;574:15;-1:-1:-1;;570:29:4;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:4:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:4;;723:42;;713:70;;779:1;776;769:12;794:254;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:4:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1949:186::-;2008:6;2061:2;2049:9;2040:7;2036:23;2032:32;2029:52;;;2077:1;2074;2067:12;2029:52;2100:29;2119:9;2100:29;:::i;2140:180::-;2199:6;2252:2;2240:9;2231:7;2227:23;2223:32;2220:52;;;2268:1;2265;2258:12;2220:52;-1:-1:-1;2291:23:4;;2140:180;-1:-1:-1;2140:180:4:o;2325:254::-;2393:6;2401;2454:2;2442:9;2433:7;2429:23;2425:32;2422:52;;;2470:1;2467;2460:12;2422:52;2506:9;2493:23;2483:33;;2535:38;2569:2;2558:9;2554:18;2535:38;:::i;:::-;2525:48;;2325:254;;;;;:::o;3232:260::-;3300:6;3308;3361:2;3349:9;3340:7;3336:23;3332:32;3329:52;;;3377:1;3374;3367:12;3329:52;3400:29;3419:9;3400:29;:::i;:::-;3390:39;;3448:38;3482:2;3471:9;3467:18;3448:38;:::i;3497:127::-;3558:10;3553:3;3549:20;3546:1;3539:31;3589:4;3586:1;3579:15;3613:4;3610:1;3603:15;3629:217;3669:1;3695;3685:132;;3739:10;3734:3;3730:20;3727:1;3720:31;3774:4;3771:1;3764:15;3802:4;3799:1;3792:15;3685:132;-1:-1:-1;3831:9:4;;3629:217::o;3851:168::-;3891:7;3957:1;3953;3949:6;3945:14;3942:1;3939:21;3934:1;3927:9;3920:17;3916:45;3913:71;;;3964:18;;:::i;:::-;-1:-1:-1;4004:9:4;;3851:168::o;4024:332::-;4226:2;4208:21;;;4265:1;4245:18;;;4238:29;-1:-1:-1;;;4298:2:4;4283:18;;4276:39;4347:2;4332:18;;4024:332::o;5417:128::-;5457:3;5488:1;5484:6;5481:1;5478:13;5475:39;;;5494:18;;:::i;:::-;-1:-1:-1;5530:9:4;;5417:128::o;9037:125::-;9077:4;9105:1;9102;9099:8;9096:34;;;9110:18;;:::i;:::-;-1:-1:-1;9147:9:4;;9037:125::o
Swarm Source
ipfs://ac21afd84b3ccf9a83a1a1925a06d541d5cc47f87e10eea9ff1c8feaf81e010c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.