ETH Price: $3,433.94 (+2.46%)
Gas: 4 Gwei

Token

PRG (PRG)
 

Overview

Max Total Supply

164,936,507.938308 PRG

Holders

7,585 ( -0.013%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Filtered by Token Holder
codiak.eth
Balance
1.995002 PRG

Value
$0.00
0x40061b91c213c8c930a181e6768034b0f304eacb
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Revolutionizing all things cannabis with blockchain

ICO Information

ICO Start Date : Sep 15, 2017   
ICO End Date : Oct 16, 2017
Total Cap : $6,000,000
Token Distribution Date : Oct 22, 2017
ICO Price  : $1.0
Bonus : 5% (early bird 5 hours)
Country : USA

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ParagonCoinToken

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-09-20
*/

pragma solidity ^0.4.11;

  /**
   * Provides methods to safely add, subtract and multiply uint256 numbers.
   */
  contract SafeMath {
    uint256 constant private MAX_UINT256 =
      0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

    /**
     * Add two uint256 values, revert in case of overflow.
     *
     * @param x first value to add
     * @param y second value to add
     * @return x + y
     */
    function safeAdd (uint256 x, uint256 y)
    constant internal
    returns (uint256 z) {
      require (x <= MAX_UINT256 - y);
      return x + y;
    }

    /**
     * Subtract one uint256 value from another, throw in case of underflow.
     *
     * @param x value to subtract from
     * @param y value to subtract
     * @return x - y
     */
    function safeSub (uint256 x, uint256 y)
    constant internal
    returns (uint256 z) {
      require(x >= y);
      return x - y;
    }

    /**
     * Multiply two uint256 values, throw in case of overflow.
     *
     * @param x first value to multiply
     * @param y second value to multiply
     * @return x * y
     */
    function safeMul (uint256 x, uint256 y)
    constant internal
    returns (uint256 z) {
      if (y == 0) return 0; // Prevent division by zero at the next line
      require (x <= MAX_UINT256 / y);
      return x * y;
    }
  }

  /**
   * ERC-20 standard token interface, as defined
   * <a href="http://github.com/ethereum/EIPs/issues/20">here</a>.
   */
  contract Token {
    /**
     * Get total number of tokens in circulation.
     *
     * @return total number of tokens in circulation
     */
    function totalSupply () constant returns (uint256 supply);

    /**
     * Get number of tokens currently belonging to given owner.
     *
     * @param _owner address to get number of tokens currently belonging to the
     *        owner of
     * @return number of tokens currently belonging to the owner of given address
     */
    function balanceOf (address _owner) constant returns (uint256 balance);

    /**
     * Transfer given number of tokens from message sender to given recipient.
     *
     * @param _to address to transfer tokens to the owner of
     * @param _value number of tokens to transfer to the owner of given address
     * @return true if tokens were transferred successfully, false otherwise
     */
    function transfer (address _to, uint256 _value) returns (bool success);

    /**
     * Transfer given number of tokens from given owner to given recipient.
     *
     * @param _from address to transfer tokens from the owner of
     * @param _to address to transfer tokens to the owner of
     * @param _value number of tokens to transfer from given owner to given
     *        recipient
     * @return true if tokens were transferred successfully, false otherwise
     */
    function transferFrom (address _from, address _to, uint256 _value)
    returns (bool success);

    /**
     * Allow given spender to transfer given number of tokens from message sender.
     *
     * @param _spender address to allow the owner of to transfer tokens from
     *        message sender
     * @param _value number of tokens to allow to transfer
     * @return true if token transfer was successfully approved, false otherwise
     */
    function approve (address _spender, uint256 _value) returns (bool success);

    /**
     * Tell how many tokens given spender is currently allowed to transfer from
     * given owner.
     *
     * @param _owner address to get number of tokens allowed to be transferred
     *        from the owner of
     * @param _spender address to get number of tokens allowed to be transferred
     *        by the owner of
     * @return number of tokens given spender is currently allowed to transfer
     *         from given owner
     */
    function allowance (address _owner, address _spender) constant
    returns (uint256 remaining);

    /**
     * Logged when tokens were transferred from one owner to another.
     *
     * @param _from address of the owner, tokens were transferred from
     * @param _to address of the owner, tokens were transferred to
     * @param _value number of tokens transferred
     */
    event Transfer (address indexed _from, address indexed _to, uint256 _value);

    /**
     * Logged when owner approved his tokens to be transferred by some spender.
     *
     * @param _owner owner who approved his tokens to be transferred
     * @param _spender spender who were allowed to transfer the tokens belonging
     *        to the owner
     * @param _value number of tokens belonging to the owner, approved to be
     *        transferred by the spender
     */
    event Approval (
      address indexed _owner, address indexed _spender, uint256 _value);
  }

  /**
   * Abstract Token Smart Contract that could be used as a base contract for
   * ERC-20 token contracts.
   */
  contract AbstractToken is Token, SafeMath {

    /**
     * Address of the fund of this smart contract.
     */
    address fund;

    /**
     * Create new Abstract Token contract.
     */
    function AbstractToken () {
      // Do nothing
    }


    /**
     * Get number of tokens currently belonging to given owner.
     *
     * @param _owner address to get number of tokens currently belonging to the
     *        owner of
     * @return number of tokens currently belonging to the owner of given address
     */
     function balanceOf (address _owner) constant returns (uint256 balance) {
      return accounts [_owner];
    }

    /**
     * Transfer given number of tokens from message sender to given recipient.
     *
     * @param _to address to transfer tokens to the owner of
     * @param _value number of tokens to transfer to the owner of given address
     * @return true if tokens were transferred successfully, false otherwise
     */
    function transfer (address _to, uint256 _value) returns (bool success) {
      uint256 feeTotal = fee();

      if (accounts [msg.sender] < _value) return false;
      if (_value > feeTotal && msg.sender != _to) {
        accounts [msg.sender] = safeSub (accounts [msg.sender], _value);
        
        accounts [_to] = safeAdd (accounts [_to], safeSub(_value, feeTotal));

        processFee(feeTotal);

        Transfer (msg.sender, _to, safeSub(_value, feeTotal));
        
      }
      return true;
    }

    /**
     * Transfer given number of tokens from given owner to given recipient.
     *
     * @param _from address to transfer tokens from the owner of
     * @param _to address to transfer tokens to the owner of
     * @param _value number of tokens to transfer from given owner to given
     *        recipient
     * @return true if tokens were transferred successfully, false otherwise
     */
    function transferFrom (address _from, address _to, uint256 _value)
    returns (bool success) {
      uint256 feeTotal = fee();

      if (allowances [_from][msg.sender] < _value) return false;
      if (accounts [_from] < _value) return false;

      allowances [_from][msg.sender] =
        safeSub (allowances [_from][msg.sender], _value);

      if (_value > feeTotal && _from != _to) {
        accounts [_from] = safeSub (accounts [_from], _value);

        
        accounts [_to] = safeAdd (accounts [_to], safeSub(_value, feeTotal));

        processFee(feeTotal);

        Transfer (_from, _to, safeSub(_value, feeTotal));
      }

      return true;
    }

    function fee () constant returns (uint256);

    function processFee(uint256 feeTotal) internal returns (bool);

    /**
     * Allow given spender to transfer given number of tokens from message sender.
     *
     * @param _spender address to allow the owner of to transfer tokens from
     *        message sender
     * @param _value number of tokens to allow to transfer
     * @return true if token transfer was successfully approved, false otherwise
     */
    function approve (address _spender, uint256 _value) returns (bool success) {
      allowances [msg.sender][_spender] = _value;
      Approval (msg.sender, _spender, _value);

      return true;
    }

    /**
     * Tell how many tokens given spender is currently allowed to transfer from
     * given owner.
     *
     * @param _owner address to get number of tokens allowed to be transferred
     *        from the owner of
     * @param _spender address to get number of tokens allowed to be transferred
     *        by the owner of
     * @return number of tokens given spender is currently allowed to transfer
     *         from given owner
     */
    function allowance (address _owner, address _spender) constant
    returns (uint256 remaining) {
      return allowances [_owner][_spender];
    }

    /**
     * Mapping from addresses of token holders to the numbers of tokens belonging
     * to these token holders.
     */
    mapping (address => uint256) accounts;

    /**
     * Mapping from addresses of token holders to the mapping of addresses of
     * spenders to the allowances set by these token holders to these spenders.
     */
    mapping (address => mapping (address => uint256)) allowances;
  }

  contract ParagonCoinToken is AbstractToken {
    /**
     * Initial number of tokens.
     */
    uint256 constant INITIAL_TOKENS_COUNT = 200000000e6;

    /**
     * Address of the owner of this smart contract.
     */
    address owner;

   

    /**
     * Total number of tokens ins circulation.
     */
    uint256 tokensCount;

    /**
     * Create new ParagonCoin Token Smart Contract, make message sender to be the
     * owner of smart contract, issue given number of tokens and give them to
     * message sender.
     */
    function ParagonCoinToken (address fundAddress) {
      tokensCount = INITIAL_TOKENS_COUNT;
      accounts [msg.sender] = INITIAL_TOKENS_COUNT;
      owner = msg.sender;
      fund = fundAddress;
    }

    /**
     * Get name of this token.
     *
     * @return name of this token
     */
    function name () constant returns (string name) {
      return "PRG";
    }

    /**
     * Get symbol of this token.
     *
     * @return symbol of this token
     */
    function symbol () constant returns (string symbol) {
      return "PRG";
    }


    /**
     * Get number of decimals for this token.
     *
     * @return number of decimals for this token
     */
    function decimals () constant returns (uint8 decimals) {
      return 6;
    }

    /**
     * Get total number of tokens in circulation.
     *
     * @return total number of tokens in circulation
     */
    function totalSupply () constant returns (uint256 supply) {
      return tokensCount;
    }

    

    /**
     * Transfer given number of tokens from message sender to given recipient.
     *
     * @param _to address to transfer tokens to the owner of
     * @param _value number of tokens to transfer to the owner of given address
     * @return true if tokens were transferred successfully, false otherwise
     */
    function transfer (address _to, uint256 _value) returns (bool success) {
      return AbstractToken.transfer (_to, _value);
    }

    /**
     * Transfer given number of tokens from given owner to given recipient.
     *
     * @param _from address to transfer tokens from the owner of
     * @param _to address to transfer tokens to the owner of
     * @param _value number of tokens to transfer from given owner to given
     *        recipient
     * @return true if tokens were transferred successfully, false otherwise
     */
    function transferFrom (address _from, address _to, uint256 _value)
    returns (bool success) {
      return AbstractToken.transferFrom (_from, _to, _value);
    }

    function fee () constant returns (uint256) {
      return safeAdd(safeMul(tokensCount, 5)/1e11, 25000);
    }

    function processFee(uint256 feeTotal) internal returns (bool) {
        uint256 burnFee = feeTotal/2;
        uint256 fundFee = safeSub(feeTotal, burnFee);

        accounts [fund] = safeAdd (accounts [fund], fundFee);
        tokensCount = safeSub (tokensCount, burnFee); // ledger burned toke

        Transfer (msg.sender, fund, fundFee);

        return true;
    }

    /**
     * Change how many tokens given spender is allowed to transfer from message
     * spender.  In order to prevent double spending of allowance, this method
     * receives assumed current allowance value as an argument.  If actual
     * allowance differs from an assumed one, this method just returns false.
     *
     * @param _spender address to allow the owner of to transfer tokens from
     *        message sender
     * @param _currentValue assumed number of tokens currently allowed to be
     *        transferred
     * @param _newValue number of tokens to allow to transfer
     * @return true if token transfer was successfully approved, false otherwise
     */
    function approve (address _spender, uint256 _currentValue, uint256 _newValue)
    returns (bool success) {
      if (allowance (msg.sender, _spender) == _currentValue)
        return approve (_spender, _newValue);
      else return false;
    }

    /**
     * Burn given number of tokens belonging to message sender.
     *
     * @param _value number of tokens to burn
     * @return true on success, false on error
     */
    function burnTokens (uint256 _value) returns (bool success) {
      if (_value > accounts [msg.sender]) return false;
      else if (_value > 0) {
        accounts [msg.sender] = safeSub (accounts [msg.sender], _value);
        tokensCount = safeSub (tokensCount, _value);
        return true;
      } else return true;
    }

    /**
     * Set new owner for the smart contract.
     * May only be called by smart contract owner.
     *
     * @param _newOwner address of new owner of the smart contract
     */
    function setOwner (address _newOwner) {
      require (msg.sender == owner);

      owner = _newOwner;
    }

    
    /**
     * Set new fund address for the smart contract.
     * May only be called by smart contract owner.
     *
     * @param _newFund new fund address of the smart contract
     */
    function setFundAddress (address _newFund) {
      require (msg.sender == owner);

      fund = _newFund;
    }

  }

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"decimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_currentValue","type":"uint256"},{"name":"_newValue","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burnTokens","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newFund","type":"address"}],"name":"setFundAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"fundAddress","type":"address"}],"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"}]

6060604052341561000f57600080fd5b604051602080610bee833981016040528080519150505b5b5b65b5e620f480006004819055600160a060020a0333811660008181526001602052604081209390935560038054600160a060020a03199081169092179055825491841691161790555b505b610b6c806100826000396000f300606060405236156100cd5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d2578063095ea7b31461015d57806313af40351461019357806318160ddd146101b457806323b872dd146101d9578063313ce56714610215578063426a84931461023e5780636d1b229d1461027757806370a08231146102a157806385dc3004146102d257806395d89b41146100d2578063a9059cbb1461037e578063dd62ed3e146103b4578063ddca3f43146103eb575b600080fd5b34156100dd57600080fd5b6100e5610410565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101225780820151818401525b602001610109565b50505050905090810190601f16801561014f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016857600080fd5b61017f600160a060020a0360043516602435610452565b604051901515815260200160405180910390f35b341561019e57600080fd5b6101b2600160a060020a03600435166104bf565b005b34156101bf57600080fd5b6101c7610506565b60405190815260200160405180910390f35b34156101e457600080fd5b61017f600160a060020a036004358116906024351660443561050d565b604051901515815260200160405180910390f35b341561022057600080fd5b610228610524565b60405160ff909116815260200160405180910390f35b341561024957600080fd5b61017f600160a060020a036004351660243560443561052a565b604051901515815260200160405180910390f35b341561028257600080fd5b61017f60043561055e565b604051901515815260200160405180910390f35b34156102ac57600080fd5b6101c7600160a060020a03600435166105ee565b60405190815260200160405180910390f35b34156102dd57600080fd5b6101b2600160a060020a036004351661060d565b005b34156100dd57600080fd5b6100e5610410565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101225780820151818401525b602001610109565b50505050905090810190601f16801561014f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561038957600080fd5b61017f600160a060020a0360043516602435610696565b604051901515815260200160405180910390f35b34156103bf57600080fd5b6101c7600160a060020a03600435811690602435166106ab565b60405190815260200160405180910390f35b34156103f657600080fd5b6101c76106d8565b60405190815260200160405180910390f35b610418610b2e565b60408051908101604052600381527f5052470000000000000000000000000000000000000000000000000000000000602082015290505b90565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60035433600160a060020a039081169116146104da57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6004545b90565b600061051a848484610708565b90505b9392505050565b60065b90565b60008261053733866106ab565b141561054e576105478483610452565b905061051d565b50600061051d565b5b9392505050565b600160a060020a033316600090815260016020526040812054821115610586575060006105e7565b60008211156105e357600160a060020a0333166000908152600160205260409020546105b290836108d2565b600160a060020a0333166000908152600160205260409020556004546105d890836108d2565b6004555060016105e7565b5060015b5b5b919050565b600160a060020a0381166000908152600160205260409020545b919050565b60035433600160a060020a0390811691161461062857600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b610418610b2e565b60408051908101604052600381527f5052470000000000000000000000000000000000000000000000000000000000602082015290505b90565b60006106a283836108ec565b90505b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600061070264174876e8006106f06004546005610a25565b8115156106f957fe5b046161a8610a5b565b90505b90565b6000806107136106d8565b600160a060020a03808716600090815260026020908152604080832033909416835292905220549091508390101561074e57600091506108ca565b600160a060020a0385166000908152600160205260409020548390101561077857600091506108ca565b600160a060020a03808616600090815260026020908152604080832033909416835292905220546107a990846108d2565b600160a060020a038087166000908152600260209081526040808320339094168352929052205580831180156107f1575083600160a060020a031685600160a060020a031614155b156108c557600160a060020a03851660009081526001602052604090205461081990846108d2565b600160a060020a0380871660009081526001602052604080822093909355908616815220546108519061084c85846108d2565b610a5b565b600160a060020a03851660009081526001602052604090205561087381610a7a565b5083600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6108b386856108d2565b60405190815260200160405180910390a35b600191505b509392505050565b6000818310156108e157600080fd5b508082035b92915050565b6000806108f76106d8565b600160a060020a033316600090815260016020526040902054909150839010156109245760009150610a1e565b8083118015610945575083600160a060020a031633600160a060020a031614155b15610a1957600160a060020a03331660009081526001602052604090205461096d90846108d2565b600160a060020a0333811660009081526001602052604080822093909355908616815220546109a59061084c85846108d2565b610a5b565b600160a060020a0385166000908152600160205260409020556109c781610a7a565b5083600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610a0786856108d2565b60405190815260200160405180910390a35b600191505b5092915050565b6000811515610a36575060006104b9565b81600019811515610a4357fe5b04831115610a5057600080fd5b508181025b92915050565b6000600019829003831115610a6f57600080fd5b508181015b92915050565b600080806002845b049150610a8f84836108d2565b60008054600160a060020a0316815260016020526040902054909150610ab59082610a5b565b60008054600160a060020a0316815260016020526040902055600454610adb90836108d2565b600455600054600160a060020a039081169033167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a3600192505b5050919050565b602060405190810160405260008152905600a165627a7a72305820b8ab6cb3dd757926e48be8461ba6f3877a9a36f3d301bd0c1ee2212bd0828cf90029000000000000000000000000909358627b668e7587d3c165621897df0c1c277c

Deployed Bytecode

0x606060405236156100cd5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d2578063095ea7b31461015d57806313af40351461019357806318160ddd146101b457806323b872dd146101d9578063313ce56714610215578063426a84931461023e5780636d1b229d1461027757806370a08231146102a157806385dc3004146102d257806395d89b41146100d2578063a9059cbb1461037e578063dd62ed3e146103b4578063ddca3f43146103eb575b600080fd5b34156100dd57600080fd5b6100e5610410565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101225780820151818401525b602001610109565b50505050905090810190601f16801561014f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016857600080fd5b61017f600160a060020a0360043516602435610452565b604051901515815260200160405180910390f35b341561019e57600080fd5b6101b2600160a060020a03600435166104bf565b005b34156101bf57600080fd5b6101c7610506565b60405190815260200160405180910390f35b34156101e457600080fd5b61017f600160a060020a036004358116906024351660443561050d565b604051901515815260200160405180910390f35b341561022057600080fd5b610228610524565b60405160ff909116815260200160405180910390f35b341561024957600080fd5b61017f600160a060020a036004351660243560443561052a565b604051901515815260200160405180910390f35b341561028257600080fd5b61017f60043561055e565b604051901515815260200160405180910390f35b34156102ac57600080fd5b6101c7600160a060020a03600435166105ee565b60405190815260200160405180910390f35b34156102dd57600080fd5b6101b2600160a060020a036004351661060d565b005b34156100dd57600080fd5b6100e5610410565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101225780820151818401525b602001610109565b50505050905090810190601f16801561014f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561038957600080fd5b61017f600160a060020a0360043516602435610696565b604051901515815260200160405180910390f35b34156103bf57600080fd5b6101c7600160a060020a03600435811690602435166106ab565b60405190815260200160405180910390f35b34156103f657600080fd5b6101c76106d8565b60405190815260200160405180910390f35b610418610b2e565b60408051908101604052600381527f5052470000000000000000000000000000000000000000000000000000000000602082015290505b90565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60035433600160a060020a039081169116146104da57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6004545b90565b600061051a848484610708565b90505b9392505050565b60065b90565b60008261053733866106ab565b141561054e576105478483610452565b905061051d565b50600061051d565b5b9392505050565b600160a060020a033316600090815260016020526040812054821115610586575060006105e7565b60008211156105e357600160a060020a0333166000908152600160205260409020546105b290836108d2565b600160a060020a0333166000908152600160205260409020556004546105d890836108d2565b6004555060016105e7565b5060015b5b5b919050565b600160a060020a0381166000908152600160205260409020545b919050565b60035433600160a060020a0390811691161461062857600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b610418610b2e565b60408051908101604052600381527f5052470000000000000000000000000000000000000000000000000000000000602082015290505b90565b60006106a283836108ec565b90505b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600061070264174876e8006106f06004546005610a25565b8115156106f957fe5b046161a8610a5b565b90505b90565b6000806107136106d8565b600160a060020a03808716600090815260026020908152604080832033909416835292905220549091508390101561074e57600091506108ca565b600160a060020a0385166000908152600160205260409020548390101561077857600091506108ca565b600160a060020a03808616600090815260026020908152604080832033909416835292905220546107a990846108d2565b600160a060020a038087166000908152600260209081526040808320339094168352929052205580831180156107f1575083600160a060020a031685600160a060020a031614155b156108c557600160a060020a03851660009081526001602052604090205461081990846108d2565b600160a060020a0380871660009081526001602052604080822093909355908616815220546108519061084c85846108d2565b610a5b565b600160a060020a03851660009081526001602052604090205561087381610a7a565b5083600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6108b386856108d2565b60405190815260200160405180910390a35b600191505b509392505050565b6000818310156108e157600080fd5b508082035b92915050565b6000806108f76106d8565b600160a060020a033316600090815260016020526040902054909150839010156109245760009150610a1e565b8083118015610945575083600160a060020a031633600160a060020a031614155b15610a1957600160a060020a03331660009081526001602052604090205461096d90846108d2565b600160a060020a0333811660009081526001602052604080822093909355908616815220546109a59061084c85846108d2565b610a5b565b600160a060020a0385166000908152600160205260409020556109c781610a7a565b5083600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610a0786856108d2565b60405190815260200160405180910390a35b600191505b5092915050565b6000811515610a36575060006104b9565b81600019811515610a4357fe5b04831115610a5057600080fd5b508181025b92915050565b6000600019829003831115610a6f57600080fd5b508181015b92915050565b600080806002845b049150610a8f84836108d2565b60008054600160a060020a0316815260016020526040902054909150610ab59082610a5b565b60008054600160a060020a0316815260016020526040902055600454610adb90836108d2565b600455600054600160a060020a039081169033167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a3600192505b5050919050565b602060405190810160405260008152905600a165627a7a72305820b8ab6cb3dd757926e48be8461ba6f3877a9a36f3d301bd0c1ee2212bd0828cf90029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000909358627b668e7587d3c165621897df0c1c277c

-----Decoded View---------------
Arg [0] : fundAddress (address): 0x909358627B668e7587d3c165621897DF0C1c277C

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000909358627b668e7587d3c165621897df0c1c277c


Swarm Source

bzzr://b8ab6cb3dd757926e48be8461ba6f3877a9a36f3d301bd0c1ee2212bd0828cf9
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.