ETH Price: $3,075.45 (-1.55%)
Gas: 2 Gwei

Contract

0xb3Bd49E28f8F832b8d1E246106991e546c323502
 
Transaction Hash
Method
Block
From
To
Value
Transfer197255642024-04-24 13:34:5925 days ago1713965699IN
0xb3Bd49E2...46c323502
0 ETH0.0012047440.93325458
Transfer197255602024-04-24 13:34:1125 days ago1713965651IN
0xb3Bd49E2...46c323502
0 ETH0.0012857443.68511219
Transfer196138882024-04-08 22:21:1141 days ago1712614871IN
0xb3Bd49E2...46c323502
0 ETH0.0011509124.2666148
Approve194993512024-03-23 19:22:4757 days ago1711221767IN
0xb3Bd49E2...46c323502
0 ETH0.0010434722.50907515
Transfer193735112024-03-06 3:41:2374 days ago1709696483IN
0xb3Bd49E2...46c323502
0 ETH0.0014694858.87119655
Transfer193735112024-03-06 3:41:2374 days ago1709696483IN
0xb3Bd49E2...46c323502
0 ETH0.0027914358.87119655
Transfer192966542024-02-24 9:49:1185 days ago1708768151IN
0xb3Bd49E2...46c323502
0 ETH0.0014116729.76449486
Approve189001342023-12-30 18:32:23141 days ago1703961143IN
0xb3Bd49E2...46c323502
0 ETH0.0009116919.66640187
Transfer184173112023-10-24 3:02:35208 days ago1698116555IN
0xb3Bd49E2...46c323502
0 ETH0.0027897553.41494659
Approve175369572023-06-22 18:31:59332 days ago1687458719IN
0xb3Bd49E2...46c323502
0 ETH0.0005099121.13903412
Transfer175319282023-06-22 1:33:59332 days ago1687397639IN
0xb3Bd49E2...46c323502
0 ETH0.0006165613
Transfer173150072023-05-22 13:03:11363 days ago1684760591IN
0xb3Bd49E2...46c323502
0 ETH0.0023236144.5
Approve171407332023-04-27 23:20:23387 days ago1682637623IN
0xb3Bd49E2...46c323502
0 ETH0.0018034138.85153326
Transfer171407122023-04-27 23:16:11387 days ago1682637371IN
0xb3Bd49E2...46c323502
0 ETH0.0009206430.33220351
Transfer171267112023-04-26 0:03:23389 days ago1682467403IN
0xb3Bd49E2...46c323502
0 ETH0.0013193337.57087074
Transfer169219592023-03-27 23:23:35418 days ago1679959415IN
0xb3Bd49E2...46c323502
0 ETH0.0006944122.88791628
Approve168731622023-03-21 2:51:11425 days ago1679367071IN
0xb3Bd49E2...46c323502
0 ETH0.0005324311.48519376
Transfer168723902023-03-21 0:15:59425 days ago1679357759IN
0xb3Bd49E2...46c323502
0 ETH0.0005498218.12224878
Transfer168512432023-03-18 1:00:11428 days ago1679101211IN
0xb3Bd49E2...46c323502
0 ETH0.0010129333.38627751
Transfer168511412023-03-18 0:39:35428 days ago1679099975IN
0xb3Bd49E2...46c323502
0 ETH0.0010121621.33565132
Approve168511342023-03-18 0:37:59428 days ago1679099879IN
0xb3Bd49E2...46c323502
0 ETH0.0009844821.23647736
Transfer168254642023-03-14 10:02:35432 days ago1678788155IN
0xb3Bd49E2...46c323502
0 ETH0.000837817.66033223
Transfer167657222023-03-06 0:21:59440 days ago1678062119IN
0xb3Bd49E2...46c323502
0 ETH0.0015517332.71775389
Transfer167064972023-02-25 16:32:11449 days ago1677342731IN
0xb3Bd49E2...46c323502
0 ETH0.0013279828
Transfer164737562023-01-24 2:42:47481 days ago1674528167IN
0xb3Bd49E2...46c323502
0 ETH0.0008650116.56618398
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
46173732017-11-25 4:53:492367 days ago1511585629
0xb3Bd49E2...46c323502
15,779.49068886 ETH
45555002017-11-15 5:39:022377 days ago1510724342
0xb3Bd49E2...46c323502
2 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GMToken

Compiler Version
v0.4.17+commit.bdeb9e52

Optimization Enabled:
Yes with 200 runs

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

pragma solidity 0.4.17;

contract Token {

    /* Total amount of tokens */
    uint256 public totalSupply;

    /*
     * Events
     */
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);

    /*
     * Public functions
     */

    /// @notice send `value` token to `to` from `msg.sender`
    /// @param to The address of the recipient
    /// @param value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transfer(address to, uint value) public returns (bool);

    /// @notice send `value` token to `to` from `from` on the condition it is approved by `from`
    /// @param from The address of the sender
    /// @param to The address of the recipient
    /// @param value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address from, address to, uint value) public returns (bool);

    /// @notice `msg.sender` approves `spender` to spend `value` tokens
    /// @param spender The address of the account able to transfer the tokens
    /// @param value The amount of tokens to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address spender, uint value) public returns (bool);

    /// @param owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address owner) public constant returns (uint);

    /// @param owner The address of the account owning tokens
    /// @param spender The address of the account able to transfer the tokens
    /// @return Amount of remaining tokens allowed to spent
    function allowance(address owner, address spender) public constant returns (uint);
}

contract StandardToken is Token {
    /*
     *  Storage
    */
    mapping (address => uint) balances;
    mapping (address => mapping (address => uint)) allowances;

    /*
     *  Public functions
    */

    function transfer(address to, uint value) public returns (bool) {
        // Do not allow transfer to 0x0 or the token contract itself
        require((to != 0x0) && (to != address(this)));
        if (balances[msg.sender] < value)
            revert();  // Balance too low
        balances[msg.sender] -= value;
        balances[to] += value;
        Transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(address from, address to, uint value) public returns (bool) {
        // Do not allow transfer to 0x0 or the token contract itself
        require((to != 0x0) && (to != address(this)));
        if (balances[from] < value || allowances[from][msg.sender] < value)
            revert(); // Balance or allowance too low
        balances[to] += value;
        balances[from] -= value;
        allowances[from][msg.sender] -= value;
        Transfer(from, to, value);
        return true;
    }

    function approve(address spender, uint value) public returns (bool) {
        allowances[msg.sender][spender] = value;
        Approval(msg.sender, spender, value);
        return true;
    }

    function allowance(address owner, address spender) public constant returns (uint) {
        return allowances[owner][spender];
    }

    function balanceOf(address owner) public constant returns (uint) {
        return balances[owner];
    }
}

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
      uint256 c = a * b;
      assert(a == 0 || c / a == b);
      return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
      // assert(b > 0); // Solidity automatically throws when dividing by 0
      uint256 c = a / b;
      // assert(a == b * c + a % b); // There is no case in which this doesn't hold
      return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
      assert(b <= a);
      return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
      uint256 c = a + b;
      assert(c >= a);
      return c;
    }
}

contract GMToken is StandardToken {

    using SafeMath for uint256;

    /*
    *  Metadata
    */
    string public constant name = "Global Messaging Token";
    string public constant symbol = "GMT";
    uint8 public constant decimals = 18;
    uint256 public constant tokenUnit = 10 ** uint256(decimals);

    /*
    *  Contract owner (Radical App International)
    */
    address public owner;

    /*
    *  Hardware wallets
    */
    address public ethFundAddress;  // Address for ETH owned by Radical App International
    address public gmtFundAddress;  // Address for GMT allocated to Radical App International

    /*
    *  List of registered participants
    */
    mapping (address => bool) public registered;

    /*
    *  List of token purchases per address
    *  Same as balances[], except used for individual cap calculations, 
    *  because users can transfer tokens out during sale and reset token count in balances.
    */
    mapping (address => uint) public purchases;

    /*
    *  Crowdsale parameters
    */
    bool public isFinalized;
    bool public isStopped;
    uint256 public startBlock;  // Block number when sale period begins
    uint256 public endBlock;  // Block number when sale period ends
    uint256 public firstCapEndingBlock;  // Block number when first individual user cap period ends
    uint256 public secondCapEndingBlock;  // Block number when second individual user cap period ends
    uint256 public assignedSupply;  // Total GMT tokens currently assigned
    uint256 public tokenExchangeRate;  // Units of GMT per ETH
    uint256 public baseTokenCapPerAddress;  // Base user cap in GMT tokens
    uint256 public constant baseEthCapPerAddress = 7 ether;  // Base user cap in ETH
    uint256 public constant blocksInFirstCapPeriod = 2105;  // Block length for first cap period
    uint256 public constant blocksInSecondCapPeriod = 1052;  // Block length for second cap period
    uint256 public constant gasLimitInWei = 51000000000 wei; //  Gas price limit during individual cap period 
    uint256 public constant gmtFund = 500 * (10**6) * tokenUnit;  // 500M GMT reserved for development and user growth fund 
    uint256 public constant minCap = 100 * (10**6) * tokenUnit;  // 100M min cap to be sold during sale

    /*
    *  Events
    */
    event RefundSent(address indexed _to, uint256 _value);
    event ClaimGMT(address indexed _to, uint256 _value);

    modifier onlyBy(address _account){
        require(msg.sender == _account);  
        _;
    }

    function changeOwner(address _newOwner) onlyBy(owner) external {
        owner = _newOwner;
    }

    modifier registeredUser() {
        require(registered[msg.sender] == true);  
        _;
    }

    modifier minCapReached() {
        require(assignedSupply >= minCap);
        _;
    }

    modifier minCapNotReached() {
        require(assignedSupply < minCap);
        _;
    }

    modifier respectTimeFrame() {
        require(block.number >= startBlock && block.number < endBlock);
        _;
    }

    modifier salePeriodCompleted() {
        require(block.number >= endBlock || assignedSupply.add(gmtFund) == totalSupply);
        _;
    }

    modifier isValidState() {
        require(!isFinalized && !isStopped);
        _;
    }

    /*
    *  Constructor
    */
    function GMToken(
        address _ethFundAddress,
        address _gmtFundAddress,
        uint256 _startBlock,
        uint256 _endBlock,
        uint256 _tokenExchangeRate) 
        public 
    {
        require(_gmtFundAddress != 0x0);
        require(_ethFundAddress != 0x0);
        require(_startBlock < _endBlock && _startBlock > block.number);

        owner = msg.sender; // Creator of contract is owner
        isFinalized = false; // Controls pre-sale state through crowdsale state
        isStopped = false;  // Circuit breaker (only to be used by contract owner in case of emergency)
        ethFundAddress = _ethFundAddress;
        gmtFundAddress = _gmtFundAddress;
        startBlock = _startBlock;
        endBlock = _endBlock;
        tokenExchangeRate = _tokenExchangeRate;
        baseTokenCapPerAddress = baseEthCapPerAddress.mul(tokenExchangeRate);
        firstCapEndingBlock = startBlock.add(blocksInFirstCapPeriod);
        secondCapEndingBlock = firstCapEndingBlock.add(blocksInSecondCapPeriod);
        totalSupply = 1000 * (10**6) * tokenUnit;  // 1B total GMT tokens
        assignedSupply = 0;  // Set starting assigned supply to 0
    }

    /// @notice Stop sale in case of emergency (i.e. circuit breaker)
    /// @dev Only allowed to be called by the owner
    function stopSale() onlyBy(owner) external {
        isStopped = true;
    }

    /// @notice Restart sale in case of an emergency stop
    /// @dev Only allowed to be called by the owner
    function restartSale() onlyBy(owner) external {
        isStopped = false;
    }

    /// @dev Fallback function can be used to buy tokens
    function () payable public {
        claimTokens();
    }

    /// @notice Create `msg.value` ETH worth of GMT
    /// @dev Only allowed to be called within the timeframe of the sale period
    function claimTokens() respectTimeFrame registeredUser isValidState payable public {
        require(msg.value > 0);

        uint256 tokens = msg.value.mul(tokenExchangeRate);

        require(isWithinCap(tokens));

        // Check that we're not over totals
        uint256 checkedSupply = assignedSupply.add(tokens);

        // Return money if we're over total token supply
        require(checkedSupply.add(gmtFund) <= totalSupply); 

        balances[msg.sender] = balances[msg.sender].add(tokens);
        purchases[msg.sender] = purchases[msg.sender].add(tokens);

        assignedSupply = checkedSupply;
        ClaimGMT(msg.sender, tokens);  // Logs token creation for UI purposes
        // As per ERC20 spec, a token contract which creates new tokens SHOULD trigger a Transfer event with the _from address
        // set to 0x0 when tokens are created (https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md)
        Transfer(0x0, msg.sender, tokens);
    }

    /// @dev Checks if transaction meets individual cap requirements
    function isWithinCap(uint256 tokens) internal view returns (bool) {
        // Return true if we've passed the cap period
        if (block.number >= secondCapEndingBlock) {
            return true;
        }

        // Ensure user is under gas limit
        require(tx.gasprice <= gasLimitInWei);
        
        // Ensure user is not purchasing more tokens than allowed
        if (block.number < firstCapEndingBlock) {
            return purchases[msg.sender].add(tokens) <= baseTokenCapPerAddress;
        } else {
            return purchases[msg.sender].add(tokens) <= baseTokenCapPerAddress.mul(4);
        }
    }


    /// @notice Updates registration status of an address for sale participation
    /// @param target Address that will be registered or deregistered
    /// @param isRegistered New registration status of address
    function changeRegistrationStatus(address target, bool isRegistered) public onlyBy(owner) {
        registered[target] = isRegistered;
    }

    /// @notice Updates registration status for multiple addresses for participation
    /// @param targets Addresses that will be registered or deregistered
    /// @param isRegistered New registration status of addresses
    function changeRegistrationStatuses(address[] targets, bool isRegistered) public onlyBy(owner) {
        for (uint i = 0; i < targets.length; i++) {
            changeRegistrationStatus(targets[i], isRegistered);
        }
    }

    /// @notice Sends the ETH to ETH fund wallet and finalizes the token sale
    function finalize() minCapReached salePeriodCompleted isValidState onlyBy(owner) external {
        // Upon successful completion of sale, send tokens to GMT fund
        balances[gmtFundAddress] = balances[gmtFundAddress].add(gmtFund);
        assignedSupply = assignedSupply.add(gmtFund);
        ClaimGMT(gmtFundAddress, gmtFund);   // Log tokens claimed by Radical App International GMT fund
        Transfer(0x0, gmtFundAddress, gmtFund);
        
        // In the case where not all 500M GMT allocated to crowdfund participants
        // is sold, send the remaining unassigned supply to GMT fund address,
        // which will then be used to fund the user growth pool.
        if (assignedSupply < totalSupply) {
            uint256 unassignedSupply = totalSupply.sub(assignedSupply);
            balances[gmtFundAddress] = balances[gmtFundAddress].add(unassignedSupply);
            assignedSupply = assignedSupply.add(unassignedSupply);

            ClaimGMT(gmtFundAddress, unassignedSupply);  // Log tokens claimed by Radical App International GMT fund
            Transfer(0x0, gmtFundAddress, unassignedSupply);
        }

        ethFundAddress.transfer(this.balance);

        isFinalized = true; // Finalize sale
    }

    /// @notice Allows contributors to recover their ETH in the case of a failed token sale
    /// @dev Only allowed to be called once sale period is over IF the min cap is not reached
    /// @return bool True if refund successfully sent, false otherwise
    function refund() minCapNotReached salePeriodCompleted registeredUser isValidState external {
        require(msg.sender != gmtFundAddress);  // Radical App International not entitled to a refund

        uint256 gmtVal = balances[msg.sender];
        require(gmtVal > 0); // Prevent refund if sender GMT balance is 0

        balances[msg.sender] = balances[msg.sender].sub(gmtVal);
        assignedSupply = assignedSupply.sub(gmtVal); // Adjust assigned supply to account for refunded amount
        
        uint256 ethVal = gmtVal.div(tokenExchangeRate); // Covert GMT to ETH

        msg.sender.transfer(ethVal);
        
        RefundSent(msg.sender, ethVal);  // Log successful refund 
    }

    /*
        NOTE: We explicitly do not define a fallback function, in order to prevent 
        receiving Ether for no reason. As noted in Solidity documentation, contracts 
        that receive Ether directly (without a function call, i.e. using send or transfer)
        but do not define a fallback function throw an exception, sending back the Ether (this was different before Solidity v0.4.0).
    */
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ethFundAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"secondCapEndingBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"startBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"baseTokenCapPerAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"blocksInSecondCapPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"restartSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"targets","type":"address[]"},{"name":"isRegistered","type":"bool"}],"name":"changeRegistrationStatuses","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"purchases","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"assignedSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"registered","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"blocksInFirstCapPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gmtFundAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gmtFund","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"baseEthCapPerAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"firstCapEndingBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenUnit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"isRegistered","type":"bool"}],"name":"changeRegistrationStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gasLimitInWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_ethFundAddress","type":"address"},{"name":"_gmtFundAddress","type":"address"},{"name":"_startBlock","type":"uint256"},{"name":"_endBlock","type":"uint256"},{"name":"_tokenExchangeRate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"RefundSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"ClaimGMT","type":"event"},{"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"}]

606060405234156200001057600080fd5b60405160a080620014c08339810160405280805191906020018051919060200180519190602001805191906020018051915050600160a060020a03841615156200005957600080fd5b600160a060020a03851615156200006f57600080fd5b81831080156200007e57504383115b15156200008a57600080fd5b60038054600160a060020a03338116600160a060020a0319928316179092556008805461ffff191690556004805488841690831617905560058054928716929091169190911790556009839055600a829055600e81905562000103676124fee993bc000082640100000000620011b76200016a82021704565b600f556009546200012590610839640100000000620012846200019882021704565b600b819055620001469061041c640100000000620012846200019882021704565b600c5550506b033b2e3c9fd0803ce80000006000908155600d5550620001a8915050565b60008282028315806200018857508284828115156200018557fe5b04145b15156200019157fe5b9392505050565b6000828201838110156200019157fe5b61130880620001b86000396000f300606060405236156101d55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101df578063083c632314610269578063095ea7b31461028e57806318160ddd146102c457806323b872dd146102d757806324497829146102ff5780632b9131511461032e578063313ce567146103415780633f683b6a1461036a5780633fa615b01461037d5780634172d0801461039057806348c54b9d146101d557806348cd4cb1146103a3578063492b3bf7146103b65780634bb278f3146103c9578063590e1ae3146103dc578063707c6b4d146103ef57806370a082311461040257806374711285146104215780637b9358a014610434578063842a77d3146104875780638d4e4083146104a65780638da5cb5b146104b957806395d89b41146104cc578063a6f9dae1146104df578063a9059cbb146104fe578063b1efeece14610520578063b2dd5c0714610533578063c12ae5e914610552578063d27fcf9614610565578063d9c397f614610578578063dd62ed3e1461058b578063de8a6fa2146105b0578063e2c1f7d7146105c3578063e36b0b37146105d6578063e93c980d146105e9578063f24d2532146105fc578063febb131514610620575b6101dd610633565b005b34156101ea57600080fd5b6101f2610801565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561022e578082015183820152602001610216565b50505050905090810190601f16801561025b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027457600080fd5b61027c610838565b60405190815260200160405180910390f35b341561029957600080fd5b6102b0600160a060020a036004351660243561083e565b604051901515815260200160405180910390f35b34156102cf57600080fd5b61027c6108aa565b34156102e257600080fd5b6102b0600160a060020a03600435811690602435166044356108b0565b341561030a57600080fd5b6103126109ba565b604051600160a060020a03909116815260200160405180910390f35b341561033957600080fd5b61027c6109c9565b341561034c57600080fd5b6103546109cf565b60405160ff909116815260200160405180910390f35b341561037557600080fd5b6102b06109d4565b341561038857600080fd5b61027c6109e2565b341561039b57600080fd5b61027c6109f1565b34156103ae57600080fd5b61027c6109f7565b34156103c157600080fd5b61027c6109fd565b34156103d457600080fd5b6101dd610a03565b34156103e757600080fd5b6101dd610cd1565b34156103fa57600080fd5b61027c610e9d565b341561040d57600080fd5b61027c600160a060020a0360043516610ea3565b341561042c57600080fd5b6101dd610ec2565b341561043f57600080fd5b6101dd6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650505050913515159150610eec9050565b341561049257600080fd5b61027c600160a060020a0360043516610f49565b34156104b157600080fd5b6102b0610f5b565b34156104c457600080fd5b610312610f64565b34156104d757600080fd5b6101f2610f73565b34156104ea57600080fd5b6101dd600160a060020a0360043516610faa565b341561050957600080fd5b6102b0600160a060020a0360043516602435610ff6565b341561052b57600080fd5b61027c6110af565b341561053e57600080fd5b6102b0600160a060020a03600435166110b5565b341561055d57600080fd5b61027c6110ca565b341561057057600080fd5b6103126110d0565b341561058357600080fd5b61027c6110df565b341561059657600080fd5b61027c600160a060020a03600435811690602435166110ef565b34156105bb57600080fd5b61027c61111a565b34156105ce57600080fd5b61027c611126565b34156105e157600080fd5b6101dd61112c565b34156105f457600080fd5b61027c61115a565b341561060757600080fd5b6101dd600160a060020a03600435166024351515611166565b341561062b57600080fd5b61027c6111ae565b60008060095443101580156106495750600a5443105b151561065457600080fd5b600160a060020a03331660009081526006602052604090205460ff16151560011461067e57600080fd5b60085460ff161580156106995750600854610100900460ff16155b15156106a457600080fd5b600034116106b157600080fd5b600e546106c590349063ffffffff6111b716565b91506106d0826111e2565b15156106db57600080fd5b600d546106ee908363ffffffff61128416565b600054909150610710826b019d971e4fe8401e7400000063ffffffff61128416565b111561071b57600080fd5b600160a060020a033316600090815260016020526040902054610744908363ffffffff61128416565b600160a060020a033316600090815260016020908152604080832093909355600790522054610779908363ffffffff61128416565b600160a060020a0333166000818152600760205260409081902092909255600d839055907f9b1a78c0e1aca340da6c312fc871707cc8ba3646db00745a1eff364cc8d500469084905190815260200160405180910390a233600160a060020a031660006000805160206112bd8339815191528460405190815260200160405180910390a35050565b60408051908101604052601681527f476c6f62616c204d6573736167696e6720546f6b656e00000000000000000000602082015281565b600a5481565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316158015906108dc575030600160a060020a031683600160a060020a031614155b15156108e757600080fd5b600160a060020a038416600090815260016020526040902054829010806109345750600160a060020a03808516600090815260026020908152604080832033909416835292905220548290105b1561093e57600080fd5b600160a060020a03808416600081815260016020908152604080832080548801905588851680845281842080548990039055600283528184203390961684529490915290819020805486900390559091906000805160206112bd8339815191529085905190815260200160405180910390a35060019392505050565b600454600160a060020a031681565b600c5481565b601281565b600854610100900460ff1681565b6a52b7d2dcc80cd2e400000081565b600e5481565b60095481565b600f5481565b600d546000906a52b7d2dcc80cd2e4000000901015610a2157600080fd5b600a5443101580610a515750600054600d54610a4f906b019d971e4fe8401e7400000063ffffffff61128416565b145b1515610a5c57600080fd5b60085460ff16158015610a775750600854610100900460ff16155b1515610a8257600080fd5b600354600160a060020a039081169033168114610a9e57600080fd5b600554600160a060020a0316600090815260016020526040902054610ad5906b019d971e4fe8401e7400000063ffffffff61128416565b600554600160a060020a0316600090815260016020526040902055600d54610b0f906b019d971e4fe8401e7400000063ffffffff61128416565b600d55600554600160a060020a03167f9b1a78c0e1aca340da6c312fc871707cc8ba3646db00745a1eff364cc8d500466b019d971e4fe8401e7400000060405190815260200160405180910390a2600554600160a060020a031660006000805160206112bd8339815191526b019d971e4fe8401e7400000060405190815260200160405180910390a3600054600d541015610c8757600d54600054610bb99163ffffffff61129316565b600554600160a060020a0316600090815260016020526040902054909250610be7908363ffffffff61128416565b600554600160a060020a0316600090815260016020526040902055600d54610c15908363ffffffff61128416565b600d55600554600160a060020a03167f9b1a78c0e1aca340da6c312fc871707cc8ba3646db00745a1eff364cc8d500468360405190815260200160405180910390a2600554600160a060020a031660006000805160206112bd8339815191528460405190815260200160405180910390a35b600454600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610cc057600080fd5b50506008805460ff19166001179055565b600d5460009081906a52b7d2dcc80cd2e40000009010610cf057600080fd5b600a5443101580610d205750600054600d54610d1e906b019d971e4fe8401e7400000063ffffffff61128416565b145b1515610d2b57600080fd5b600160a060020a03331660009081526006602052604090205460ff161515600114610d5557600080fd5b60085460ff16158015610d705750600854610100900460ff16155b1515610d7b57600080fd5b60055433600160a060020a0390811691161415610d9757600080fd5b600160a060020a03331660009081526001602052604081205492508211610dbd57600080fd5b600160a060020a033316600090815260016020526040902054610de6908363ffffffff61129316565b600160a060020a033316600090815260016020526040902055600d54610e12908363ffffffff61129316565b600d55600e54610e2990839063ffffffff6112a516565b9050600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610e5c57600080fd5b33600160a060020a03167fe309aa15fd2f6bd8a58603632508694071e7d35e967bdbb827926e429b7ef34d8260405190815260200160405180910390a25050565b61041c81565b600160a060020a0381166000908152600160205260409020545b919050565b600354600160a060020a039081169033168114610ede57600080fd5b506008805461ff0019169055565b600354600090600160a060020a039081169033168114610f0b57600080fd5b600091505b8351821015610f4357610f38848381518110610f2857fe5b9060200190602002015184611166565b600190910190610f10565b50505050565b60076020526000908152604090205481565b60085460ff1681565b600354600160a060020a031681565b60408051908101604052600381527f474d540000000000000000000000000000000000000000000000000000000000602082015281565b600354600160a060020a039081169033168114610fc657600080fd5b506003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000600160a060020a03831615801590611022575030600160a060020a031683600160a060020a031614155b151561102d57600080fd5b600160a060020a0333166000908152600160205260409020548290101561105357600080fd5b600160a060020a033381166000818152600160205260408082208054879003905592861680825290839020805486019055916000805160206112bd8339815191529085905190815260200160405180910390a350600192915050565b600d5481565b60066020526000908152604090205460ff1681565b61083981565b600554600160a060020a031681565b6b019d971e4fe8401e7400000081565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b676124fee993bc000081565b600b5481565b600354600160a060020a03908116903316811461114857600080fd5b506008805461ff001916610100179055565b670de0b6b3a764000081565b600354600160a060020a03908116903316811461118257600080fd5b50600160a060020a03919091166000908152600660205260409020805460ff1916911515919091179055565b640bdfd63e0081565b60008282028315806111d357508284828115156111d057fe5b04145b15156111db57fe5b9392505050565b600c5460009043106111f657506001610ebd565b640bdfd63e003a111561120857600080fd5b600b5443101561124757600f54600160a060020a03331660009081526007602052604090205461123e908463ffffffff61128416565b11159050610ebd565b600f5461125b90600463ffffffff6111b716565b600160a060020a03331660009081526007602052604090205461123e908463ffffffff61128416565b6000828201838110156111db57fe5b60008282111561129f57fe5b50900390565b60008082848115156112b357fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582060cdbb050721d6d9b8aee213b8082faf3aba445e02f2c3ee31d4e6ea696b85920029000000000000000000000000a08cc20874fb408077b02b6ed0cad6b7ae22c89a0000000000000000000000009a40257c6ee603c98ae645fd8dcfc02f0b62159300000000000000000000000000000000000000000000000000000000004390a900000000000000000000000000000000000000000000000000000000004674930000000000000000000000000000000000000000000000000000000000001b58

Deployed Bytecode

0x606060405236156101d55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101df578063083c632314610269578063095ea7b31461028e57806318160ddd146102c457806323b872dd146102d757806324497829146102ff5780632b9131511461032e578063313ce567146103415780633f683b6a1461036a5780633fa615b01461037d5780634172d0801461039057806348c54b9d146101d557806348cd4cb1146103a3578063492b3bf7146103b65780634bb278f3146103c9578063590e1ae3146103dc578063707c6b4d146103ef57806370a082311461040257806374711285146104215780637b9358a014610434578063842a77d3146104875780638d4e4083146104a65780638da5cb5b146104b957806395d89b41146104cc578063a6f9dae1146104df578063a9059cbb146104fe578063b1efeece14610520578063b2dd5c0714610533578063c12ae5e914610552578063d27fcf9614610565578063d9c397f614610578578063dd62ed3e1461058b578063de8a6fa2146105b0578063e2c1f7d7146105c3578063e36b0b37146105d6578063e93c980d146105e9578063f24d2532146105fc578063febb131514610620575b6101dd610633565b005b34156101ea57600080fd5b6101f2610801565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561022e578082015183820152602001610216565b50505050905090810190601f16801561025b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027457600080fd5b61027c610838565b60405190815260200160405180910390f35b341561029957600080fd5b6102b0600160a060020a036004351660243561083e565b604051901515815260200160405180910390f35b34156102cf57600080fd5b61027c6108aa565b34156102e257600080fd5b6102b0600160a060020a03600435811690602435166044356108b0565b341561030a57600080fd5b6103126109ba565b604051600160a060020a03909116815260200160405180910390f35b341561033957600080fd5b61027c6109c9565b341561034c57600080fd5b6103546109cf565b60405160ff909116815260200160405180910390f35b341561037557600080fd5b6102b06109d4565b341561038857600080fd5b61027c6109e2565b341561039b57600080fd5b61027c6109f1565b34156103ae57600080fd5b61027c6109f7565b34156103c157600080fd5b61027c6109fd565b34156103d457600080fd5b6101dd610a03565b34156103e757600080fd5b6101dd610cd1565b34156103fa57600080fd5b61027c610e9d565b341561040d57600080fd5b61027c600160a060020a0360043516610ea3565b341561042c57600080fd5b6101dd610ec2565b341561043f57600080fd5b6101dd6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650505050913515159150610eec9050565b341561049257600080fd5b61027c600160a060020a0360043516610f49565b34156104b157600080fd5b6102b0610f5b565b34156104c457600080fd5b610312610f64565b34156104d757600080fd5b6101f2610f73565b34156104ea57600080fd5b6101dd600160a060020a0360043516610faa565b341561050957600080fd5b6102b0600160a060020a0360043516602435610ff6565b341561052b57600080fd5b61027c6110af565b341561053e57600080fd5b6102b0600160a060020a03600435166110b5565b341561055d57600080fd5b61027c6110ca565b341561057057600080fd5b6103126110d0565b341561058357600080fd5b61027c6110df565b341561059657600080fd5b61027c600160a060020a03600435811690602435166110ef565b34156105bb57600080fd5b61027c61111a565b34156105ce57600080fd5b61027c611126565b34156105e157600080fd5b6101dd61112c565b34156105f457600080fd5b61027c61115a565b341561060757600080fd5b6101dd600160a060020a03600435166024351515611166565b341561062b57600080fd5b61027c6111ae565b60008060095443101580156106495750600a5443105b151561065457600080fd5b600160a060020a03331660009081526006602052604090205460ff16151560011461067e57600080fd5b60085460ff161580156106995750600854610100900460ff16155b15156106a457600080fd5b600034116106b157600080fd5b600e546106c590349063ffffffff6111b716565b91506106d0826111e2565b15156106db57600080fd5b600d546106ee908363ffffffff61128416565b600054909150610710826b019d971e4fe8401e7400000063ffffffff61128416565b111561071b57600080fd5b600160a060020a033316600090815260016020526040902054610744908363ffffffff61128416565b600160a060020a033316600090815260016020908152604080832093909355600790522054610779908363ffffffff61128416565b600160a060020a0333166000818152600760205260409081902092909255600d839055907f9b1a78c0e1aca340da6c312fc871707cc8ba3646db00745a1eff364cc8d500469084905190815260200160405180910390a233600160a060020a031660006000805160206112bd8339815191528460405190815260200160405180910390a35050565b60408051908101604052601681527f476c6f62616c204d6573736167696e6720546f6b656e00000000000000000000602082015281565b600a5481565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316158015906108dc575030600160a060020a031683600160a060020a031614155b15156108e757600080fd5b600160a060020a038416600090815260016020526040902054829010806109345750600160a060020a03808516600090815260026020908152604080832033909416835292905220548290105b1561093e57600080fd5b600160a060020a03808416600081815260016020908152604080832080548801905588851680845281842080548990039055600283528184203390961684529490915290819020805486900390559091906000805160206112bd8339815191529085905190815260200160405180910390a35060019392505050565b600454600160a060020a031681565b600c5481565b601281565b600854610100900460ff1681565b6a52b7d2dcc80cd2e400000081565b600e5481565b60095481565b600f5481565b600d546000906a52b7d2dcc80cd2e4000000901015610a2157600080fd5b600a5443101580610a515750600054600d54610a4f906b019d971e4fe8401e7400000063ffffffff61128416565b145b1515610a5c57600080fd5b60085460ff16158015610a775750600854610100900460ff16155b1515610a8257600080fd5b600354600160a060020a039081169033168114610a9e57600080fd5b600554600160a060020a0316600090815260016020526040902054610ad5906b019d971e4fe8401e7400000063ffffffff61128416565b600554600160a060020a0316600090815260016020526040902055600d54610b0f906b019d971e4fe8401e7400000063ffffffff61128416565b600d55600554600160a060020a03167f9b1a78c0e1aca340da6c312fc871707cc8ba3646db00745a1eff364cc8d500466b019d971e4fe8401e7400000060405190815260200160405180910390a2600554600160a060020a031660006000805160206112bd8339815191526b019d971e4fe8401e7400000060405190815260200160405180910390a3600054600d541015610c8757600d54600054610bb99163ffffffff61129316565b600554600160a060020a0316600090815260016020526040902054909250610be7908363ffffffff61128416565b600554600160a060020a0316600090815260016020526040902055600d54610c15908363ffffffff61128416565b600d55600554600160a060020a03167f9b1a78c0e1aca340da6c312fc871707cc8ba3646db00745a1eff364cc8d500468360405190815260200160405180910390a2600554600160a060020a031660006000805160206112bd8339815191528460405190815260200160405180910390a35b600454600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610cc057600080fd5b50506008805460ff19166001179055565b600d5460009081906a52b7d2dcc80cd2e40000009010610cf057600080fd5b600a5443101580610d205750600054600d54610d1e906b019d971e4fe8401e7400000063ffffffff61128416565b145b1515610d2b57600080fd5b600160a060020a03331660009081526006602052604090205460ff161515600114610d5557600080fd5b60085460ff16158015610d705750600854610100900460ff16155b1515610d7b57600080fd5b60055433600160a060020a0390811691161415610d9757600080fd5b600160a060020a03331660009081526001602052604081205492508211610dbd57600080fd5b600160a060020a033316600090815260016020526040902054610de6908363ffffffff61129316565b600160a060020a033316600090815260016020526040902055600d54610e12908363ffffffff61129316565b600d55600e54610e2990839063ffffffff6112a516565b9050600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610e5c57600080fd5b33600160a060020a03167fe309aa15fd2f6bd8a58603632508694071e7d35e967bdbb827926e429b7ef34d8260405190815260200160405180910390a25050565b61041c81565b600160a060020a0381166000908152600160205260409020545b919050565b600354600160a060020a039081169033168114610ede57600080fd5b506008805461ff0019169055565b600354600090600160a060020a039081169033168114610f0b57600080fd5b600091505b8351821015610f4357610f38848381518110610f2857fe5b9060200190602002015184611166565b600190910190610f10565b50505050565b60076020526000908152604090205481565b60085460ff1681565b600354600160a060020a031681565b60408051908101604052600381527f474d540000000000000000000000000000000000000000000000000000000000602082015281565b600354600160a060020a039081169033168114610fc657600080fd5b506003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000600160a060020a03831615801590611022575030600160a060020a031683600160a060020a031614155b151561102d57600080fd5b600160a060020a0333166000908152600160205260409020548290101561105357600080fd5b600160a060020a033381166000818152600160205260408082208054879003905592861680825290839020805486019055916000805160206112bd8339815191529085905190815260200160405180910390a350600192915050565b600d5481565b60066020526000908152604090205460ff1681565b61083981565b600554600160a060020a031681565b6b019d971e4fe8401e7400000081565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b676124fee993bc000081565b600b5481565b600354600160a060020a03908116903316811461114857600080fd5b506008805461ff001916610100179055565b670de0b6b3a764000081565b600354600160a060020a03908116903316811461118257600080fd5b50600160a060020a03919091166000908152600660205260409020805460ff1916911515919091179055565b640bdfd63e0081565b60008282028315806111d357508284828115156111d057fe5b04145b15156111db57fe5b9392505050565b600c5460009043106111f657506001610ebd565b640bdfd63e003a111561120857600080fd5b600b5443101561124757600f54600160a060020a03331660009081526007602052604090205461123e908463ffffffff61128416565b11159050610ebd565b600f5461125b90600463ffffffff6111b716565b600160a060020a03331660009081526007602052604090205461123e908463ffffffff61128416565b6000828201838110156111db57fe5b60008282111561129f57fe5b50900390565b60008082848115156112b357fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582060cdbb050721d6d9b8aee213b8082faf3aba445e02f2c3ee31d4e6ea696b85920029

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

000000000000000000000000a08cc20874fb408077b02b6ed0cad6b7ae22c89a0000000000000000000000009a40257c6ee603c98ae645fd8dcfc02f0b62159300000000000000000000000000000000000000000000000000000000004390a900000000000000000000000000000000000000000000000000000000004674930000000000000000000000000000000000000000000000000000000000001b58

-----Decoded View---------------
Arg [0] : _ethFundAddress (address): 0xA08cc20874Fb408077B02B6Ed0cAd6B7ae22c89A
Arg [1] : _gmtFundAddress (address): 0x9a40257C6Ee603c98ae645Fd8dCfC02F0B621593
Arg [2] : _startBlock (uint256): 4427945
Arg [3] : _endBlock (uint256): 4617363
Arg [4] : _tokenExchangeRate (uint256): 7000

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000a08cc20874fb408077b02b6ed0cad6b7ae22c89a
Arg [1] : 0000000000000000000000009a40257c6ee603c98ae645fd8dcfc02f0b621593
Arg [2] : 00000000000000000000000000000000000000000000000000000000004390a9
Arg [3] : 0000000000000000000000000000000000000000000000000000000000467493
Arg [4] : 0000000000000000000000000000000000000000000000000000000000001b58


Swarm Source

bzzr://60cdbb050721d6d9b8aee213b8082faf3aba445e02f2c3ee31d4e6ea696b8592

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.