ETH Price: $2,520.20 (+1.71%)

Contract

0xCB4641d6f8d1573A517a2912547023Eff5Be58e8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Release126111972021-06-11 4:46:101235 days ago1623386770IN
0xCB4641d6...ff5Be58e8
0 ETH0.0005934910
Release124619532021-05-19 1:41:351258 days ago1621388495IN
0xCB4641d6...ff5Be58e8
0 ETH0.0075612798.01
Release122826142021-04-21 8:54:331285 days ago1618995273IN
0xCB4641d6...ff5Be58e8
0 ETH0.01172649152
Release121267402021-03-28 9:07:281309 days ago1616922448IN
0xCB4641d6...ff5Be58e8
0 ETH0.0049348384.00000145
Release119590512021-03-02 13:25:101335 days ago1614691510IN
0xCB4641d6...ff5Be58e8
0 ETH0.0049411167.00000134
Release118082672021-02-07 8:43:461358 days ago1612687426IN
0xCB4641d6...ff5Be58e8
0 ETH0.00752229102.00000134
Release117640912021-01-31 13:33:581365 days ago1612100038IN
0xCB4641d6...ff5Be58e8
0 ETH0.00851789115.5
Release117177242021-01-24 10:14:381372 days ago1611483278IN
0xCB4641d6...ff5Be58e8
0 ETH0.0032449144
Release116317312021-01-11 5:38:181386 days ago1610343498IN
0xCB4641d6...ff5Be58e8
0 ETH0.00984447133.48800124
Release115293452020-12-26 12:31:511401 days ago1608985911IN
0xCB4641d6...ff5Be58e8
0 ETH0.0028761739
Release114513642020-12-14 13:19:111413 days ago1607951951IN
0xCB4641d6...ff5Be58e8
0 ETH0.0052729871.50000072
Release113305372020-11-25 23:39:031432 days ago1606347543IN
0xCB4641d6...ff5Be58e8
0 ETH0.0051623569.99999237
Release109358882020-09-26 3:40:031493 days ago1601091603IN
0xCB4641d6...ff5Be58e8
0 ETH0.0045723762
Release108336552020-09-10 11:19:421508 days ago1599736782IN
0xCB4641d6...ff5Be58e8
0 ETH0.0070060695.00000112
Release107360472020-08-26 12:16:571523 days ago1598444217IN
0xCB4641d6...ff5Be58e8
0 ETH0.0045797562.1
Release106309692020-08-10 7:57:541539 days ago1597046274IN
0xCB4641d6...ff5Be58e8
0 ETH0.0060473382
Release105547842020-07-29 13:30:011551 days ago1596029401IN
0xCB4641d6...ff5Be58e8
0 ETH0.0064898288
Release105000732020-07-21 2:13:181560 days ago1595297598IN
0xCB4641d6...ff5Be58e8
0 ETH0.003687450
Release104642312020-07-15 12:59:421565 days ago1594817982IN
0xCB4641d6...ff5Be58e8
0 ETH0.0042036357
Release103656212020-06-30 6:51:131581 days ago1593499873IN
0xCB4641d6...ff5Be58e8
0 ETH0.0045723762.00000145
Release103078002020-06-21 7:41:141589 days ago1592725274IN
0xCB4641d6...ff5Be58e8
0 ETH0.0008977112.17271425
Release102375512020-06-10 11:03:281600 days ago1591787008IN
0xCB4641d6...ff5Be58e8
0 ETH0.0030679141.6
Release101471582020-05-27 10:03:171614 days ago1590573797IN
0xCB4641d6...ff5Be58e8
0 ETH0.0026549236
Release101274572020-05-24 8:32:571617 days ago1590309177IN
0xCB4641d6...ff5Be58e8
0 ETH0.0019174426
Release100895902020-05-18 11:03:111623 days ago1589799791IN
0xCB4641d6...ff5Be58e8
0 ETH0.0031711643
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xaF97b278...1c911D803
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
TokenVesting

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-05-31
*/

/**
 * Source Code first verified at https://etherscan.io on Sunday, September 2, 2018
 (UTC) */

pragma solidity ^0.4.13;

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(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 Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeERC20 {
  function safeTransfer(ERC20Basic token, address to, uint256 value) internal {
    assert(token.transfer(to, value));
  }

  function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal {
    assert(token.transferFrom(from, to, value));
  }

  function safeApprove(ERC20 token, address spender, uint256 value) internal {
    assert(token.approve(spender, value));
  }
}

contract TokenVesting is Ownable {
    using SafeMath for uint256;
    using SafeERC20 for ERC20Basic;

    event Released(uint256 amount);
    event Revoked();

    // beneficiary of tokens after they are released
    address public beneficiary;

    uint256 public cliff;
    uint256 public start;
    uint256 public duration;

    bool public revocable;

    mapping (address => uint256) public released;
    mapping (address => bool) public revoked;

    /**
    * @dev Creates a vesting contract that vests its balance of any ERC20 token to the
    * _beneficiary, gradually in a linear fashion until _start + _duration. By then all
    * of the balance will have vested.
    * @param _beneficiary address of the beneficiary to whom vested tokens are transferred
    * @param _start the time (as Unix time) at which point vesting starts
    * @param _cliff duration in seconds of the cliff in which tokens will begin to vest
    * @param _duration duration in seconds of the period in which the tokens will vest
    * @param _revocable whether the vesting is revocable or not
    */
    function TokenVesting(address _beneficiary, uint256 _start, uint256 _cliff, uint256 _duration, bool _revocable) public {
        require(_beneficiary != address(0));
        require(_cliff <= _duration);

        beneficiary = _beneficiary;
        revocable = _revocable;
        duration = _duration;
        cliff = _start.add(_cliff);
        start = _start;
    }

    /**
    * @notice Transfers vested tokens to beneficiary.
    * @param token ERC20 token which is being vested
    */
    function release(ERC20Basic token) public {
        uint256 unreleased = releasableAmount(token);

        require(unreleased > 0);

        released[token] = released[token].add(unreleased);

        token.safeTransfer(beneficiary, unreleased);

        Released(unreleased);
    }

    /**
    * @notice Allows the owner to revoke the vesting. Tokens already vested
    * remain in the contract, the rest are returned to the owner.
    * @param token ERC20 token which is being vested
    */
    function revoke(ERC20Basic token) public onlyOwner {
        require(revocable);
        require(!revoked[token]);

        uint256 balance = token.balanceOf(this);

        uint256 unreleased = releasableAmount(token);
        uint256 refund = balance.sub(unreleased);

        revoked[token] = true;

        token.safeTransfer(owner, refund);

        Revoked();
    }

    /**
    * @dev Calculates the amount that has already vested but hasn't been released yet.
    * @param token ERC20 token which is being vested
    */
    function releasableAmount(ERC20Basic token) public view returns (uint256) {
        return vestedAmount(token).sub(released[token]);
    }

    /**
    * @dev Calculates the amount that has already vested.
    * @param token ERC20 token which is being vested
    */
    function vestedAmount(ERC20Basic token) public view returns (uint256) {
        uint256 currentBalance = token.balanceOf(this);
        uint256 totalBalance = currentBalance.add(released[token]);

        if (now < cliff) {
            return 0;
        } else if (now >= start.add(duration) || revoked[token]) {
            return totalBalance;
        } else {
            return totalBalance.mul(now.sub(start)).div(duration);
        }
    }
}

contract TokenVestingFactory is Ownable {

    event Created(TokenVesting vesting);

    function create(address _beneficiary, uint256 _start, uint256 _cliff, uint256 _duration, bool _revocable) onlyOwner public returns (TokenVesting) {

        TokenVesting vesting = new TokenVesting(_beneficiary, _start, _cliff, _duration, _revocable);

        Created(vesting);

        return vesting;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"duration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cliff","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"token","type":"address"}],"name":"releasableAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"}],"name":"release","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"token","type":"address"}],"name":"vestedAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"}],"name":"revoke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"revocable","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":"","type":"address"}],"name":"released","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"start","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"revoked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_start","type":"uint256"},{"name":"_cliff","type":"uint256"},{"name":"_duration","type":"uint256"},{"name":"_revocable","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Released","type":"event"},{"anonymous":false,"inputs":[],"name":"Revoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

Deployed Bytecode

0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630fb5a6b4146100ca57806313d033c0146100f55780631726cbc8146101205780631916558714610177578063384711cc146101ba57806338af3eed1461021157806374a8f10314610268578063872a7810146102ab5780638da5cb5b146102da5780639852595c14610331578063be9a655514610388578063f2fde38b146103b3578063fa01dc06146103f6575b600080fd5b3480156100d657600080fd5b506100df610451565b6040518082815260200191505060405180910390f35b34801561010157600080fd5b5061010a610457565b6040518082815260200191505060405180910390f35b34801561012c57600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061045d565b6040518082815260200191505060405180910390f35b34801561018357600080fd5b506101b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104c0565b005b3480156101c657600080fd5b506101fb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f9565b6040518082815260200191505060405180910390f35b34801561021d57600080fd5b506102266107fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027457600080fd5b506102a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610823565b005b3480156102b757600080fd5b506102c0610ac5565b604051808215151515815260200191505060405180910390f35b3480156102e657600080fd5b506102ef610ad8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033d57600080fd5b50610372600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610afd565b6040518082815260200191505060405180910390f35b34801561039457600080fd5b5061039d610b15565b6040518082815260200191505060405180910390f35b3480156103bf57600080fd5b506103f4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b1b565b005b34801561040257600080fd5b50610437600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c70565b604051808215151515815260200191505060405180910390f35b60045481565b60025481565b60006104b9600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104ab846105f9565b610c9090919063ffffffff16565b9050919050565b60006104cb8261045d565b90506000811115156104dc57600080fd5b61052e81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ca990919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105be600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff16610cc79092919063ffffffff16565b7ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c565816040518082815260200191505060405180910390a15050565b60008060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561069957600080fd5b505af11580156106ad573d6000803e3d6000fd5b505050506040513d60208110156106c357600080fd5b81019080805190602001909291905050509150610728600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610ca990919063ffffffff16565b905060025442101561073d57600092506107f6565b610754600454600354610ca990919063ffffffff16565b421015806107ab5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156107b8578092506107f6565b6107f36004546107e56107d660035442610c9090919063ffffffff16565b84610db290919063ffffffff16565b610ded90919063ffffffff16565b92505b5050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561088357600080fd5b600560009054906101000a900460ff16151561089e57600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156108f757600080fd5b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d60208110156109bc57600080fd5b810190808051906020019092919050505092506109d88461045d565b91506109ed8284610c9090919063ffffffff16565b90506001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610a936000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828673ffffffffffffffffffffffffffffffffffffffff16610cc79092919063ffffffff16565b7f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee660405160405180910390a150505050565b600560009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60066020528060005260406000206000915090505481565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610bb257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60076020528060005260406000206000915054906101000a900460ff1681565b6000828211151515610c9e57fe5b818303905092915050565b6000808284019050838110151515610cbd57fe5b8091505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d6a57600080fd5b505af1158015610d7e573d6000803e3d6000fd5b505050506040513d6020811015610d9457600080fd5b81019080805190602001909291905050501515610dad57fe5b505050565b6000806000841415610dc75760009150610de6565b8284029050828482811515610dd857fe5b04141515610de257fe5b8091505b5092915050565b6000808284811515610dfb57fe5b04905080915050929150505600a165627a7a7230582006eac8d78316c1722e5ba05deccc24b685cf97431e9532375207211f2ffd69b30029

Deployed Bytecode Sourcemap

2775:3436:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3091:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3091:23:0;;;;;;;;;;;;;;;;;;;;;;;3037:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3037:20:0;;;;;;;;;;;;;;;;;;;;;;;5474:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5474:140:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4407:292;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4407:292:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5752:456;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5752:456:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3002:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3002:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4922:385;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4922:385:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3123:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3123:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;895:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;895:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3153:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3153:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:20:0;;;;;;;;;;;;;;;;;;;;;;;1519:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1519:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3204:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3204:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3091:23;;;;:::o;3037:20::-;;;;:::o;5474:140::-;5539:7;5566:40;5590:8;:15;5599:5;5590:15;;;;;;;;;;;;;;;;5566:19;5579:5;5566:12;:19::i;:::-;:23;;:40;;;;:::i;:::-;5559:47;;5474:140;;;:::o;4407:292::-;4460:18;4481:23;4498:5;4481:16;:23::i;:::-;4460:44;;4538:1;4525:10;:14;4517:23;;;;;;;;4571:31;4591:10;4571:8;:15;4580:5;4571:15;;;;;;;;;;;;;;;;:19;;:31;;;;:::i;:::-;4553:8;:15;4562:5;4553:15;;;;;;;;;;;;;;;:49;;;;4615:43;4634:11;;;;;;;;;;;4647:10;4615:5;:18;;;;:43;;;;;:::i;:::-;4671:20;4680:10;4671:20;;;;;;;;;;;;;;;;;;4407:292;;:::o;5752:456::-;5813:7;5833:22;5890:20;5858:5;:15;;;5874:4;5858:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5858:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5858:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5858:21:0;;;;;;;;;;;;;;;;5833:46;;5913:35;5932:8;:15;5941:5;5932:15;;;;;;;;;;;;;;;;5913:14;:18;;:35;;;;:::i;:::-;5890:58;;5971:5;;5965:3;:11;5961:240;;;6000:1;5993:8;;;;5961:240;6030:19;6040:8;;6030:5;;:9;;:19;;;;:::i;:::-;6023:3;:26;;:44;;;;6053:7;:14;6061:5;6053:14;;;;;;;;;;;;;;;;;;;;;;;;;6023:44;6019:182;;;6091:12;6084:19;;;;6019:182;6143:46;6180:8;;6143:32;6160:14;6168:5;;6160:3;:7;;:14;;;;:::i;:::-;6143:12;:16;;:32;;;;:::i;:::-;:36;;:46;;;;:::i;:::-;6136:53;;5752:456;;;;;;:::o;3002:26::-;;;;;;;;;;;;;:::o;4922:385::-;5050:15;5102:18;5157:14;1330:5;;;;;;;;;;;1316:19;;:10;:19;;;1308:28;;;;;;;;4992:9;;;;;;;;;;;4984:18;;;;;;;;5022:7;:14;5030:5;5022:14;;;;;;;;;;;;;;;;;;;;;;;;;5021:15;5013:24;;;;;;;;5068:5;:15;;;5084:4;5068:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5068:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5068:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5068:21:0;;;;;;;;;;;;;;;;5050:39;;5123:23;5140:5;5123:16;:23::i;:::-;5102:44;;5174:23;5186:10;5174:7;:11;;:23;;;;:::i;:::-;5157:40;;5227:4;5210:7;:14;5218:5;5210:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;5244:33;5263:5;;;;;;;;;;;5270:6;5244:5;:18;;;;:33;;;;;:::i;:::-;5290:9;;;;;;;;;;4922:385;;;;:::o;3123:21::-;;;;;;;;;;;;;:::o;895:20::-;;;;;;;;;;;;;:::o;3153:44::-;;;;;;;;;;;;;;;;;:::o;3064:20::-;;;;:::o;1519:173::-;1330:5;;;;;;;;;;;1316:19;;:10;:19;;;1308:28;;;;;;;;1616:1;1596:22;;:8;:22;;;;1588:31;;;;;;;;1654:8;1626:37;;1647:5;;;;;;;;;;;1626:37;;;;;;;;;;;;1678:8;1670:5;;:16;;;;;;;;;;;;;;;;;;1519:173;:::o;3204:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;614:113::-;672:7;700:1;695;:6;;688:14;;;;;;720:1;716;:5;709:12;;614:113;;;;:::o;733:133::-;791:7;807:9;823:1;819;:5;807:17;;843:1;838;:6;;831:14;;;;;;859:1;852:8;;733:133;;;;;:::o;2364:122::-;2454:5;:14;;;2469:2;2473:5;2454:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2454:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2454:25:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2454:25:0;;;;;;;;;;;;;;;;2447:33;;;;;;2364:122;;;:::o;152:180::-;210:7;269:9;235:1;230;:6;226:37;;;254:1;247:8;;;;226:37;285:1;281;:5;269:17;;309:1;304;300;:5;;;;;;;;:10;293:18;;;;;;325:1;318:8;;152:180;;;;;;:::o;338:270::-;396:7;487:9;503:1;499;:5;;;;;;;;487:17;;601:1;594:8;;338:270;;;;;:::o

Swarm Source

bzzr://06eac8d78316c1722e5ba05deccc24b685cf97431e9532375207211f2ffd69b3

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  ]

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.