ETH Price: $1,998.06 (+0.37%)

Contract

0x2F5e044ad4Adac34C8d8dF738Fac7743edA1409C
 

Overview

ETH Balance

0.010708093524267536 ETH

Eth Value

$21.40 (@ $1,998.06/ETH)

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer94007182020-02-02 3:55:372246 days ago1580615737IN
theagora.io: AGO Token
0 ETH0.000335234
Transfer90245402019-11-30 3:12:112310 days ago1575083531IN
theagora.io: AGO Token
0 ETH0.000317384
Approve79393722019-06-11 19:16:162481 days ago1560280576IN
theagora.io: AGO Token
0 ETH0.0018417240
Approve79393552019-06-11 19:12:122481 days ago1560280332IN
theagora.io: AGO Token
0 ETH0.0018340440
Transfer68105862018-12-02 5:08:122673 days ago1543727292IN
theagora.io: AGO Token
0 ETH0.000283612
Transfer68105232018-12-02 4:53:202673 days ago1543726400IN
theagora.io: AGO Token
0 ETH0.000713529
Approve65224132018-10-15 23:19:182720 days ago1539645558IN
theagora.io: AGO Token
0 ETH0.00018344
Approve65065182018-10-13 9:20:142723 days ago1539422414IN
theagora.io: AGO Token
0 ETH0.000366298
Transfer65065082018-10-13 9:18:292723 days ago1539422309IN
theagora.io: AGO Token
0 ETH0.000450417
Approve63233262018-09-13 9:29:242753 days ago1536830964IN
theagora.io: AGO Token
0 ETH0.000274726
Transfer63233062018-09-13 9:22:552753 days ago1536830575IN
theagora.io: AGO Token
0 ETH0.0010499210
Transfer62175602018-08-26 14:59:212770 days ago1535295561IN
theagora.io: AGO Token
0 ETH0.000257124
Transfer61670042018-08-18 2:06:282779 days ago1534557988IN
theagora.io: AGO Token
0 ETH0.000199463.1
Withdraw58353462018-06-22 17:10:332835 days ago1529687433IN
theagora.io: AGO Token
0 ETH0.0009308241
Approve58353432018-06-22 17:08:322835 days ago1529687312IN
theagora.io: AGO Token
0 ETH0.0018825141
Withdraw58353162018-06-22 17:01:372835 days ago1529686897IN
theagora.io: AGO Token
0 ETH0.0009308241
Withdraw58352912018-06-22 16:56:102835 days ago1529686570IN
theagora.io: AGO Token
0 ETH0.0008983941
Approve57449522018-06-07 0:51:092851 days ago1528332669IN
theagora.io: AGO Token
0 ETH0.00018344
Approve57219322018-06-02 22:45:192855 days ago1527979519IN
theagora.io: AGO Token
0 ETH0.0006877615
Approve54922922018-04-23 14:50:042895 days ago1524495004IN
theagora.io: AGO Token
0 ETH0.00018344
Approve54227392018-04-11 18:23:122907 days ago1523470992IN
theagora.io: AGO Token
0 ETH0.0005043611
Transfer53062192018-03-23 8:57:552927 days ago1521795475IN
theagora.io: AGO Token
0 ETH0.000105121
Transfer52283812018-03-10 4:49:102940 days ago1520657350IN
theagora.io: AGO Token
0 ETH0.0022048321
Approve51824902018-03-02 10:16:052948 days ago1519985765IN
theagora.io: AGO Token
0 ETH0.00018344
Transfer51816202018-03-02 6:46:592948 days ago1519973219IN
theagora.io: AGO Token
0 ETH0.0043099241
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer44319122017-10-26 8:04:153075 days ago1509005055
theagora.io: AGO Token
512.6 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AgoraToken

Compiler Version
v0.4.13+commit.fb4cb1a

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.8;

contract ERC20Interface {
  function totalSupply() constant returns (uint256 totalSupply);
  function balanceOf(address _owner) constant returns (uint256 balance);
  function transfer(address _to, uint256 _value) returns (bool success);
  function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
  function approve(address _spender, uint256 _value) returns (bool success);
  function allowance(address _owner, address _spender) constant returns (uint256 remaining);

  event Transfer(address indexed _from, address indexed _to, uint256 _value);
  event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

contract AgoraToken is ERC20Interface {

  string public constant name = "Agora";
  string public constant symbol = "AGO";
  uint8  public constant decimals = 18;

  uint256 constant minimumToRaise = 500 ether;
  uint256 constant icoStartBlock = 4116800;
  uint256 constant icoPremiumEndBlock = icoStartBlock + 78776; // Two weeks
  uint256 constant icoEndBlock = icoStartBlock + 315106; // Two months

  address owner;
  uint256 raised = 0;
  uint256 created = 0;

  struct BalanceSnapshot {
    bool initialized;
    uint256 value;
  }

  mapping(address => uint256) shares;
  mapping(address => uint256) balances;
  mapping(address => mapping (address => uint256)) allowed;
  mapping(uint256 => mapping (address => BalanceSnapshot)) balancesAtBlock;

  function AgoraToken() {
    owner = msg.sender;
  }

  // ==========================
  // ERC20 Logic Implementation
  // ==========================

  // Returns the balance of an address.
  function balanceOf(address _owner) constant returns (uint256 balance) {
    return balances[_owner];
  }

  // Make a transfer of AGO between two addresses.
  function transfer(address _to, uint256 _value) returns (bool success) {
    // Freeze for dev team
    require(msg.sender != owner && _to != owner);

    if (balances[msg.sender] >= _value &&
        _value > 0 &&
        balances[_to] + _value > balances[_to]) {
      // We need to register the balance known for the last reference block.
      // That way, we can be sure that when the Claimer wants to check the balance
      // the system can be protected against double-spending AGO tokens claiming.
      uint256 referenceBlockNumber = latestReferenceBlockNumber();
      registerBalanceForReference(msg.sender, referenceBlockNumber);
      registerBalanceForReference(_to, referenceBlockNumber);

      // Standard transfer stuff
      balances[msg.sender] -= _value;
      balances[_to] += _value;
      Transfer(msg.sender, _to, _value);
      return true;
    } else { return false; }
  }

  function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
    // Freeze for dev team
    require(_to != owner);

    if(balances[_from] >= _value &&
       _value > 0 &&
       allowed[_from][msg.sender] >= _value &&
       balances[_to] + _value > balances[_to]) {
      // Same as `transfer` :
      // We need to register the balance known for the last reference block.
      // That way, we can be sure that when the Claimer wants to check the balance
      // the system can be protected against double-spending AGO tokens claiming.
      uint256 referenceBlockNumber = latestReferenceBlockNumber();
      registerBalanceForReference(_from, referenceBlockNumber);
      registerBalanceForReference(_to, referenceBlockNumber);

      // Standard transferFrom stuff
      balances[_from] -= _value;
      balances[_to] += _value;
      allowed[_from][msg.sender] -= _value;
      Transfer(msg.sender, _to, _value);
      return true;
    } else { return false; }
  }

  // Approve a payment from msg.sender account to another one.
  function approve(address _spender, uint256 _value) returns (bool success) {
    // Freeze for dev team
    require(msg.sender != owner);

    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  // Checks the allowance of an account against another one. (Works with approval).
  function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

  // Returns the total supply of token issued.
  function totalSupply() constant returns (uint256 totalSupply) { return created; }

  // ========================
  // ICO Logic Implementation
  // ========================

  // ICO Status overview. Used for Agora landing page
  function icoOverview() constant returns(
    uint256 currentlyRaised,
    uint256 tokensCreated,
    uint256 developersTokens
  ){
    currentlyRaised = raised;
    tokensCreated = created;
    developersTokens = balances[owner];
  }

  // Get Agora tokens with a Ether payment.
  function buy() payable {
    require(block.number > icoStartBlock && block.number < icoEndBlock && msg.sender != owner);

    uint256 tokenAmount = msg.value * ((block.number < icoPremiumEndBlock) ? 550 : 500);

    shares[msg.sender] += msg.value;
    balances[msg.sender] += tokenAmount;
    balances[owner] += tokenAmount / 6;

    raised += msg.value;
    created += tokenAmount;
  }

  // Method use by the creators. Requires the ICO to be a success.
  // Used to retrieve the Ethers raised from the ICO.
  // That way, Agora is becoming possible :).
  function withdraw(uint256 amount) {
    require(block.number > icoEndBlock && raised >= minimumToRaise && msg.sender == owner);
    owner.transfer(amount);
  }

  // Methods use by the ICO investors. Requires the ICO to be a fail.
  function refill() {
    require(block.number > icoEndBlock && raised < minimumToRaise);
    uint256 share = shares[msg.sender];
    shares[msg.sender] = 0;
    msg.sender.transfer(share);
  }

  // ============================
  // Claimer Logic Implementation
  // ============================
  // This part is used by the claimer.
  // The claimer can ask the balance of an user at a reference block.
  // That way, the claimer is protected against double-spending AGO claimings.

  // This method is triggered by `transfer` and `transferFrom`.
  // It saves the balance known at a reference block only if there is no balance
  // saved for this block yet.
  // Meaning that this is a the first transaction since the last reference block,
  // so this balance can be uses as the reference.
  function registerBalanceForReference(address _owner, uint256 referenceBlockNumber) private {
    if (balancesAtBlock[referenceBlockNumber][_owner].initialized) { return; }
    balancesAtBlock[referenceBlockNumber][_owner].initialized = true;
    balancesAtBlock[referenceBlockNumber][_owner].value = balances[_owner];
  }

  // What is the latest reference block number ?
  function latestReferenceBlockNumber() constant returns (uint256 blockNumber) {
    return (block.number - block.number % 157553);
  }

  // What is the balance of an user at a block ?
  // If the user have made (or received) a transfer of AGO token since the
  // last reference block, its balance will be written in the `balancesAtBlock`
  // mapping. So we can retrieve it from here.
  // Otherwise, if the user havn't made a transaction since the last reference
  // block, the balance of AGO token is still good.
  function balanceAtBlock(address _owner, uint256 blockNumber) constant returns (uint256 balance) {
    if(balancesAtBlock[blockNumber][_owner].initialized) {
      return balancesAtBlock[blockNumber][_owner].value;
    }
    return balances[_owner];
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"latestReferenceBlockNumber","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"refill","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"blockNumber","type":"uint256"}],"name":"balanceAtBlock","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"icoOverview","outputs":[{"name":"currentlyRaised","type":"uint256"},{"name":"tokensCreated","type":"uint256"},{"name":"developersTokens","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"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"}]

606060405260006001556000600255341561001957600080fd5b5b60008054600160a060020a03191633600160a060020a03161790555b5b610af6806100466000396000f300606060405236156100d85763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100dd578063095ea7b31461016857806318160ddd1461019e57806323b872dd146101c35780632e1a7d4d146101ff578063313ce567146102175780633166615614610240578063538e07591461026557806370a082311461027a57806395d89b41146102ab578063a6f2ae3a14610336578063a9059cbb14610340578063b7d5d74c14610376578063d1397162146103aa578063dd62ed3e146103e1575b600080fd5b34156100e857600080fd5b6100f0610418565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012d5780820151818401525b602001610114565b50505050905090810190601f16801561015a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561017357600080fd5b61018a600160a060020a036004351660243561044f565b604051901515815260200160405180910390f35b34156101a957600080fd5b6101b16104d6565b60405190815260200160405180910390f35b34156101ce57600080fd5b61018a600160a060020a03600435811690602435166044356104dd565b604051901515815260200160405180910390f35b341561020a57600080fd5b61021560043561063e565b005b341561022257600080fd5b61022a6106b7565b60405160ff909116815260200160405180910390f35b341561024b57600080fd5b6101b16106bc565b60405190815260200160405180910390f35b341561027057600080fd5b6102156106cd565b005b341561028557600080fd5b6101b1600160a060020a0360043516610743565b60405190815260200160405180910390f35b34156102b657600080fd5b6100f0610762565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012d5780820151818401525b602001610114565b50505050905090810190601f16801561015a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610215610799565b005b341561034b57600080fd5b61018a600160a060020a0360043516602435610865565b604051901515815260200160405180910390f35b341561038157600080fd5b6101b1600160a060020a036004351660243561098c565b60405190815260200160405180910390f35b34156103b557600080fd5b6103bd610a04565b60405180848152602001838152602001828152602001935050505060405180910390f35b34156103ec57600080fd5b6101b1600160a060020a0360043581169060243516610a29565b60405190815260200160405180910390f35b60408051908101604052600581527f41676f7261000000000000000000000000000000000000000000000000000000602082015281565b6000805433600160a060020a039081169116141561046c57600080fd5b600160a060020a03338116600081815260056020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b6002545b90565b600080548190600160a060020a03858116911614156104fb57600080fd5b600160a060020a0385166000908152600460205260409020548390108015906105245750600083115b80156105575750600160a060020a0380861660009081526005602090815260408083203390941683529290522054839010155b801561057c5750600160a060020a038416600090815260046020526040902054838101115b15610630576105896106bc565b90506105958582610a56565b61059f8482610a56565b600160a060020a0380861660008181526004602090815260408083208054899003905588851680845281842080548a01905593835260058252808320339095168084529490915290819020805487900390559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a360019150610635565b600091505b5b509392505050565b6243a0224311801561065b5750681b1ae4d6e2ef50000060015410155b8015610675575060005433600160a060020a039081169116145b151561068057600080fd5b600054600160a060020a031681156108fc0282604051600060405180830381858888f1935050505015156106b357600080fd5b5b50565b601281565b600062026771435b06430390505b90565b60006243a022431180156106eb5750681b1ae4d6e2ef500000600154105b15156106f657600080fd5b50600160a060020a033316600081815260036020526040808220805492905590919082156108fc0290839051600060405180830381858888f1935050505015156106b357600080fd5b5b50565b600160a060020a0381166000908152600460205260409020545b919050565b60408051908101604052600381527f41474f0000000000000000000000000000000000000000000000000000000000602082015281565b6000623ed140431180156107af57506243a02243105b80156107ca575060005433600160a060020a03908116911614155b15156107d557600080fd5b624004f843106107e7576101f46107eb565b6102265b33600160a060020a031660009081526003602090815260408083208054349081019091556004909252909120805461ffff93909316909102918201905590506006815b60008054600160a060020a031681526004602052604090208054929091049091019055600180543401905560028054820190555b50565b60008054819033600160a060020a039081169116148015906108955750600054600160a060020a03858116911614155b15156108a057600080fd5b600160a060020a0333166000908152600460205260409020548390108015906108c95750600083115b80156108ee5750600160a060020a038416600090815260046020526040902054838101115b1561097f576108fb6106bc565b90506109073382610a56565b6109118482610a56565b600160a060020a033381166000818152600460205260408082208054889003905592871680825290839020805487019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a360019150610984565b600091505b5b5092915050565b6000818152600660209081526040808320600160a060020a038616845290915281205460ff16156109e357506000818152600660209081526040808320600160a060020a03861684529091529020600101546104d0565b50600160a060020a0382166000908152600460205260409020545b92915050565b60015460025460008054600160a060020a03168152600460205260409020545b909192565b600160a060020a038083166000908152600560209081526040808320938516835292905220545b92915050565b6000818152600660209081526040808320600160a060020a038616845290915290205460ff1615610a8657610ac6565b6000818152600660209081526040808320600160a060020a0386168452808352818420805460ff1916600190811782556004855292909420549252909101555b50505600a165627a7a7230582034acb57a157e04887351e7f184e20a1e7143301be966564f0d8d22ea8a778f9e0029

Deployed Bytecode

0x606060405236156100d85763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100dd578063095ea7b31461016857806318160ddd1461019e57806323b872dd146101c35780632e1a7d4d146101ff578063313ce567146102175780633166615614610240578063538e07591461026557806370a082311461027a57806395d89b41146102ab578063a6f2ae3a14610336578063a9059cbb14610340578063b7d5d74c14610376578063d1397162146103aa578063dd62ed3e146103e1575b600080fd5b34156100e857600080fd5b6100f0610418565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012d5780820151818401525b602001610114565b50505050905090810190601f16801561015a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561017357600080fd5b61018a600160a060020a036004351660243561044f565b604051901515815260200160405180910390f35b34156101a957600080fd5b6101b16104d6565b60405190815260200160405180910390f35b34156101ce57600080fd5b61018a600160a060020a03600435811690602435166044356104dd565b604051901515815260200160405180910390f35b341561020a57600080fd5b61021560043561063e565b005b341561022257600080fd5b61022a6106b7565b60405160ff909116815260200160405180910390f35b341561024b57600080fd5b6101b16106bc565b60405190815260200160405180910390f35b341561027057600080fd5b6102156106cd565b005b341561028557600080fd5b6101b1600160a060020a0360043516610743565b60405190815260200160405180910390f35b34156102b657600080fd5b6100f0610762565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012d5780820151818401525b602001610114565b50505050905090810190601f16801561015a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610215610799565b005b341561034b57600080fd5b61018a600160a060020a0360043516602435610865565b604051901515815260200160405180910390f35b341561038157600080fd5b6101b1600160a060020a036004351660243561098c565b60405190815260200160405180910390f35b34156103b557600080fd5b6103bd610a04565b60405180848152602001838152602001828152602001935050505060405180910390f35b34156103ec57600080fd5b6101b1600160a060020a0360043581169060243516610a29565b60405190815260200160405180910390f35b60408051908101604052600581527f41676f7261000000000000000000000000000000000000000000000000000000602082015281565b6000805433600160a060020a039081169116141561046c57600080fd5b600160a060020a03338116600081815260056020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b6002545b90565b600080548190600160a060020a03858116911614156104fb57600080fd5b600160a060020a0385166000908152600460205260409020548390108015906105245750600083115b80156105575750600160a060020a0380861660009081526005602090815260408083203390941683529290522054839010155b801561057c5750600160a060020a038416600090815260046020526040902054838101115b15610630576105896106bc565b90506105958582610a56565b61059f8482610a56565b600160a060020a0380861660008181526004602090815260408083208054899003905588851680845281842080548a01905593835260058252808320339095168084529490915290819020805487900390559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a360019150610635565b600091505b5b509392505050565b6243a0224311801561065b5750681b1ae4d6e2ef50000060015410155b8015610675575060005433600160a060020a039081169116145b151561068057600080fd5b600054600160a060020a031681156108fc0282604051600060405180830381858888f1935050505015156106b357600080fd5b5b50565b601281565b600062026771435b06430390505b90565b60006243a022431180156106eb5750681b1ae4d6e2ef500000600154105b15156106f657600080fd5b50600160a060020a033316600081815260036020526040808220805492905590919082156108fc0290839051600060405180830381858888f1935050505015156106b357600080fd5b5b50565b600160a060020a0381166000908152600460205260409020545b919050565b60408051908101604052600381527f41474f0000000000000000000000000000000000000000000000000000000000602082015281565b6000623ed140431180156107af57506243a02243105b80156107ca575060005433600160a060020a03908116911614155b15156107d557600080fd5b624004f843106107e7576101f46107eb565b6102265b33600160a060020a031660009081526003602090815260408083208054349081019091556004909252909120805461ffff93909316909102918201905590506006815b60008054600160a060020a031681526004602052604090208054929091049091019055600180543401905560028054820190555b50565b60008054819033600160a060020a039081169116148015906108955750600054600160a060020a03858116911614155b15156108a057600080fd5b600160a060020a0333166000908152600460205260409020548390108015906108c95750600083115b80156108ee5750600160a060020a038416600090815260046020526040902054838101115b1561097f576108fb6106bc565b90506109073382610a56565b6109118482610a56565b600160a060020a033381166000818152600460205260408082208054889003905592871680825290839020805487019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a360019150610984565b600091505b5b5092915050565b6000818152600660209081526040808320600160a060020a038616845290915281205460ff16156109e357506000818152600660209081526040808320600160a060020a03861684529091529020600101546104d0565b50600160a060020a0382166000908152600460205260409020545b92915050565b60015460025460008054600160a060020a03168152600460205260409020545b909192565b600160a060020a038083166000908152600560209081526040808320938516835292905220545b92915050565b6000818152600660209081526040808320600160a060020a038616845290915290205460ff1615610a8657610ac6565b6000818152600660209081526040808320600160a060020a0386168452808352818420805460ff1916600190811782556004855292909420549252909101555b50505600a165627a7a7230582034acb57a157e04887351e7f184e20a1e7143301be966564f0d8d22ea8a778f9e0029

Swarm Source

bzzr://34acb57a157e04887351e7f184e20a1e7143301be966564f0d8d22ea8a778f9e

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

OVERVIEW

https://theagora.io/

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.