ETH Price: $1,769.41 (-0.57%)
Gas: 21 Gwei

Contract

0xDd039990Bd551Ce7437d3bF54d155220B7988B71
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Sponsored

Transaction Hash
Method
Block
From
To
Value
Approve168612622023-03-19 10:46:118 days 41 mins ago1679222771IN
0xDd0399...B7988B71
0 ETH0.0002904812.07337774
Approve168537912023-03-18 9:36:359 days 1 hr ago1679132195IN
0xDd0399...B7988B71
0 ETH0.0007177215.50690495
Transfer164890532023-01-26 5:58:2360 days 5 hrs ago1674712703IN
0xDd0399...B7988B71
0 ETH0.0004948616.56128451
Approve164565172023-01-21 16:57:3564 days 18 hrs ago1674320255IN
0xDd0399...B7988B71
0 ETH0.001127224.32265755
Approve164501332023-01-20 19:33:5965 days 15 hrs ago1674243239IN
0xDd0399...B7988B71
0 ETH0.0010444522.53708498
Approve164499752023-01-20 19:01:4765 days 16 hrs ago1674241307IN
0xDd0399...B7988B71
0 ETH0.0011971825.83256655
Approve164498232023-01-20 18:30:5965 days 16 hrs ago1674239459IN
0xDd0399...B7988B71
0 ETH0.0015689433.8982389
Transfer164498052023-01-20 18:27:2365 days 17 hrs ago1674239243IN
0xDd0399...B7988B71
0 ETH0.0012650626.9408533
Approve164123292023-01-15 12:53:3570 days 22 hrs ago1673787215IN
0xDd0399...B7988B71
0 ETH0.0007660816.53044147
Approve164045882023-01-14 10:56:5972 days 30 mins ago1673693819IN
0xDd0399...B7988B71
0 ETH0.0006951615
Approve163286002023-01-03 20:19:1182 days 15 hrs ago1672777151IN
0xDd0399...B7988B71
0 ETH0.000449918.69914946
Approve163285122023-01-03 20:01:2382 days 15 hrs ago1672776083IN
0xDd0399...B7988B71
0 ETH0.0005750623.90125368
Approve162981242022-12-30 14:17:1186 days 21 hrs ago1672409831IN
0xDd0399...B7988B71
0 ETH0.0006717314.49455727
Transfer162762832022-12-27 13:08:4789 days 22 hrs ago1672146527IN
0xDd0399...B7988B71
0 ETH0.0005964912.69982811
Approve162482112022-12-23 15:07:1193 days 20 hrs ago1671808031IN
0xDd0399...B7988B71
0 ETH0.0005543611.96193069
Transfer161987592022-12-16 17:29:59100 days 17 hrs ago1671211799IN
0xDd0399...B7988B71
0 ETH0.0010898823.2043649
Approve161023502022-12-03 5:58:23114 days 5 hrs ago1670047103IN
0xDd0399...B7988B71
0 ETH0.0005663812.22128245
Approve160920602022-12-01 19:31:59115 days 15 hrs ago1669923119IN
0xDd0399...B7988B71
0 ETH0.000614413.25758859
Transfer160919912022-12-01 19:17:59115 days 16 hrs ago1669922279IN
0xDd0399...B7988B71
0 ETH0.0007157313.831891
Transfer160542272022-11-26 12:41:47120 days 22 hrs ago1669466507IN
0xDd0399...B7988B71
0 ETH0.0003282610.98560323
Approve156647472022-10-03 2:48:47175 days 8 hrs ago1664765327IN
0xDd0399...B7988B71
0 ETH0.000221999.22684629
Approve156647462022-10-03 2:48:35175 days 8 hrs ago1664765315IN
0xDd0399...B7988B71
0 ETH0.000209088.69004084
Approve156646852022-10-03 2:36:23175 days 8 hrs ago1664764583IN
0xDd0399...B7988B71
0 ETH0.000175537.29564716
Approve156390812022-09-29 12:44:23178 days 22 hrs ago1664455463IN
0xDd0399...B7988B71
0 ETH0.0006987115.07680182
Approve156390782022-09-29 12:43:47178 days 22 hrs ago1664455427IN
0xDd0399...B7988B71
0 ETH0.0006706414.47110332
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Txn Hash Block From To Value
111200322020-10-24 16:02:34883 days 19 hrs ago1603555354  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DegensToken

Compiler Version
v0.7.3+commit.9bfce1f6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-10-24
*/

pragma solidity ^0.7.0;

// SPDX-License-Identifier: MIT

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "add overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "sub underflow");
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) return 0;
        uint256 c = a * b;
        require(c / a == b, "mul overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "div by zero");
        uint256 c = a / b;
        return c;
    }

    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }
}

contract DegensToken {
    using SafeMath for uint256;

    string public constant name = "Degens Token";
    string public constant symbol = "DEGENS";
    uint8 public constant decimals = 18;
    uint256 immutable public totalSupply;

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    mapping(address => uint256) public nonces;

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);

    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");
    bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");

    constructor(uint256 amountToDistribute) {
        totalSupply = amountToDistribute;
        balanceOf[msg.sender] = amountToDistribute;
        emit Transfer(address(0), msg.sender, amountToDistribute);
    }

    function transfer(address recipient, uint256 amount) external returns (bool) {
        return transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address from, address recipient, uint256 amount) public returns (bool) {
        require(balanceOf[from] >= amount, "insufficient balance");
        if (from != msg.sender && allowance[from][msg.sender] != uint256(-1)) {
            require(allowance[from][msg.sender] >= amount, "insufficient allowance");
            allowance[from][msg.sender] = allowance[from][msg.sender].sub(amount);
        }
        balanceOf[from] = balanceOf[from].sub(amount);
        balanceOf[recipient] = balanceOf[recipient].add(amount);
        emit Transfer(from, recipient, amount);
        return true;
    }

    function approve(address spender, uint256 amount) external returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));

        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "permit: invalid signature");
        require(signatory == owner, "permit: unauthorized");
        require(block.timestamp <= deadline, "permit: signature expired");

        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function getChainId() private pure returns (uint chainId) {
        assembly { chainId := chainid() }
    }
}

contract DegensTokenDistributor {
    using SafeMath for uint256;

    bytes32 immutable public merkleRoot;
    uint256 public unclaimed;
    mapping(uint256 => uint256) public claimed; // index -> tokens claimed

    DegensToken immutable public token;
    uint64 immutable public timeDeployed;

    constructor(bytes32 merkleRoot_, uint256 unclaimed_) {
        merkleRoot = merkleRoot_;
        unclaimed = unclaimed_;

        token = new DegensToken(unclaimed_);
        timeDeployed = uint64(block.timestamp);
    }

    function amountClaimable(uint256 index, uint256 allocation, uint256 vestingYears) public view returns (uint256) {
        uint256 yearsElapsed = block.timestamp.sub(timeDeployed).mul(1e18).div(86400 * 365);

        uint256 fractionVested = vestingYears == 0 ? 1e18 : yearsElapsed.div(vestingYears).min(1e18);

        uint256 amountVested = allocation.mul(fractionVested).div(1e18).min(allocation);

        return amountVested.sub(claimed[index]);
    }

    function claim(uint256 index, address claimer, uint256 allocation, uint256 vestingYears, bytes32[] memory witnesses, uint256 path) public {
        // Validate proof

        bytes32 node = keccak256(abi.encodePacked(index, claimer, allocation, vestingYears));

        for (uint256 i = 0; i < witnesses.length; i++) {
            if ((path & 1) == 0) {
                node = keccak256(abi.encodePacked(node, witnesses[i]));
            } else {
                node = keccak256(abi.encodePacked(witnesses[i], node));
            }

            path >>= 1;
        }

        require(node == merkleRoot, "incorrect proof");

        // Compute amount claimable

        uint256 toClaim = amountClaimable(index, allocation, vestingYears);
        require(toClaim > 0, "nothing claimable");

        // Update distributor records

        claimed[index] = claimed[index].add(toClaim);
        unclaimed = unclaimed.sub(toClaim);

        // Transfer tokens

        token.transfer(claimer, toClaim);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"amountToDistribute","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60a060405234801561001057600080fd5b50604051610b5c380380610b5c8339818101604052602081101561003357600080fd5b5051608081905233600081815260208181526040808320859055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350608051610ac261009a600039806103a05250610ac26000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063313ce5671161008c57806395d89b411161006657806395d89b411461025b578063a9059cbb14610263578063d505accf1461028f578063dd62ed3e146102e2576100cf565b8063313ce567146101f157806370a082311461020f5780637ecebe0014610235576100cf565b806306fdde03146100d4578063095ea7b31461015157806318160ddd1461019157806320606b70146101ab57806323b872dd146101b357806330adf81f146101e9575b600080fd5b6100dc610310565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101165781810151838201526020016100fe565b50505050905090810190601f1680156101435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561016757600080fd5b506001600160a01b038135169060200135610338565b604080519115158252519081900360200190f35b61019961039e565b60408051918252519081900360200190f35b6101996103c2565b61017d600480360360608110156101c957600080fd5b506001600160a01b038135811691602081013590911690604001356103e6565b610199610602565b6101f9610626565b6040805160ff9092168252519081900360200190f35b6101996004803603602081101561022557600080fd5b50356001600160a01b031661062b565b6101996004803603602081101561024b57600080fd5b50356001600160a01b031661063d565b6100dc61064f565b61017d6004803603604081101561027957600080fd5b506001600160a01b038135169060200135610671565b6102e0600480360360e08110156102a557600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610685565b005b610199600480360360408110156102f857600080fd5b506001600160a01b03813581169160200135166109d5565b6040518060400160405280600c81526020016b2232b3b2b739902a37b5b2b760a11b81525081565b3360008181526001602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b6001600160a01b03831660009081526020819052604081205482111561044a576040805162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6001600160a01b038416331480159061048857506001600160a01b038416600090815260016020908152604080832033845290915290205460001914155b15610551576001600160a01b03841660009081526001602090815260408083203384529091529020548211156104fe576040805162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e7420616c6c6f77616e636560501b604482015290519081900360640190fd5b6001600160a01b038416600090815260016020908152604080832033845290915290205461052c90836109f2565b6001600160a01b03851660009081526001602090815260408083203384529091529020555b6001600160a01b03841660009081526020819052604090205461057490836109f2565b6001600160a01b0380861660009081526020819052604080822093909355908516815220546105a39083610a3f565b6001600160a01b038085166000818152602081815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60006020819052908152604090205481565b60026020526000908152604090205481565b60405180604001604052806006815260200165444547454e5360d01b81525081565b600061067e3384846103e6565b9392505050565b60408051808201909152600c81526b2232b3b2b739902a37b5b2b760a11b60209091015260007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8667f063d58d231664b1fd7c6487aa84090f53b16e41a780d6568c08035afef4587126106f5610a88565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a0830182528051908401206001600160a01b038c8116600081815260028752848120805460018082019092557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960c089015260e0880193909352928e1661010087015261012086018d90526101408601919091526101608086018c9052845180870390910181526101808601855280519087012061190160f01b6101a08701526101a286018490526101c2808701829052855180880390910181526101e2870180875281519189019190912090839052610202870180875281905260ff8c1661022288015261024287018b905261026287018a90529451939750959394909391926102828083019392601f198301929081900390910190855afa158015610851573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166108b9576040805162461bcd60e51b815260206004820152601960248201527f7065726d69743a20696e76616c6964207369676e617475726500000000000000604482015290519081900360640190fd5b8a6001600160a01b0316816001600160a01b031614610916576040805162461bcd60e51b81526020600482015260146024820152731c195c9b5a5d0e881d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b8742111561096b576040805162461bcd60e51b815260206004820152601960248201527f7065726d69743a207369676e6174757265206578706972656400000000000000604482015290519081900360640190fd5b6001600160a01b03808c166000818152600160209081526040808320948f16808452948252918290208d905581518d815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35050505050505050505050565b600160209081526000928352604080842090915290825290205481565b600082821115610a39576040805162461bcd60e51b815260206004820152600d60248201526c73756220756e646572666c6f7760981b604482015290519081900360640190fd5b50900390565b60008282018381101561067e576040805162461bcd60e51b815260206004820152600c60248201526b616464206f766572666c6f7760a01b604482015290519081900360640190fd5b469056fea2646970667358221220ce35b8b7e5a1101de304feb14f2f3bec55a67a079b9ee506505effc6f44fa18164736f6c6343000703003300000000000000000000000000000000000000000000fc917b12fa9b62400000

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

00000000000000000000000000000000000000000000fc917b12fa9b62400000

-----Decoded View---------------
Arg [0] : amountToDistribute (uint256): 1192720000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000fc917b12fa9b62400000


Deployed ByteCode Sourcemap

921:3031:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;984:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2788:207;;;;;;;;;;;;;;;;-1:-1:-1;2788:207:0;;-1:-1:-1;;;;;2788:207:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1124:36;;;:::i;:::-;;;;;;;;;;;;;;;;1505:122;;;:::i;2154:626::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2154:626:0;;;;;;;;;;;;;;;;;:::i;1634:137::-;;;:::i;1082:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1169:44;;;;;;;;;;;;;;;;-1:-1:-1;1169:44:0;-1:-1:-1;;;;;1169:44:0;;:::i;1291:41::-;;;;;;;;;;;;;;;;-1:-1:-1;1291:41:0;-1:-1:-1;;;;;1291:41:0;;:::i;1035:40::-;;;:::i;2000:146::-;;;;;;;;;;;;;;;;-1:-1:-1;2000:146:0;;-1:-1:-1;;;;;2000:146:0;;;;;;:::i;3003:829::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3003:829:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3003:829:0;;;;;;;;:::i;:::-;;1220:64;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1220:64:0;;;;;;;;;;:::i;984:44::-;;;;;;;;;;;;;-1:-1:-1;;;984:44:0;;;;;:::o;2788:207::-;2883:10;2856:4;2873:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;2873:30:0;;;;;;;;;;;:39;;;2928:37;;;;;;;2856:4;;2873:30;;2883:10;;2928:37;;;;;;;;-1:-1:-1;2983:4:0;2788:207;;;;:::o;1124:36::-;;;:::o;1505:122::-;1547:80;1505:122;:::o;2154:626::-;-1:-1:-1;;;;;2266:15:0;;2241:4;2266:15;;;;;;;;;;;-1:-1:-1;;2266:25:0;2258:58;;;;;-1:-1:-1;;;2258:58:0;;;;;;;;;;;;-1:-1:-1;;;2258:58:0;;;;;;;;;;;;;;;2339:10;-1:-1:-1;;;;;2331:18:0;;;;;;:64;;-1:-1:-1;;;;;;2353:15:0;;;;;;-1:-1:-1;2353:15:0;;;;;;;;2369:10;2353:27;;;;;;;;-1:-1:-1;;2353:42:0;;2331:64;2327:253;;;-1:-1:-1;;;;;2420:15:0;;;;;;-1:-1:-1;2420:15:0;;;;;;;;2436:10;2420:27;;;;;;;;-1:-1:-1;;2420:37:0;2412:72;;;;;-1:-1:-1;;;2412:72:0;;;;;;;;;;;;-1:-1:-1;;;2412:72:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;2529:15:0;;;;;;-1:-1:-1;2529:15:0;;;;;;;;2545:10;2529:27;;;;;;;;:39;;2561:6;2529:31;:39::i;:::-;-1:-1:-1;;;;;2499:15:0;;;;;;-1:-1:-1;2499:15:0;;;;;;;;2515:10;2499:27;;;;;;;:69;2327:253;-1:-1:-1;;;;;2608:15:0;;:9;:15;;;;;;;;;;;:27;;2628:6;2608:19;:27::i;:::-;-1:-1:-1;;;;;2590:15:0;;;:9;:15;;;;;;;;;;;:45;;;;2669:20;;;;;;;:32;;2694:6;2669:24;:32::i;:::-;-1:-1:-1;;;;;2646:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;2717:33;;;;;;;2646:20;;2717:33;;;;;;;;;;;;;-1:-1:-1;2768:4:0;2154:626;;;;;:::o;1634:137::-;1676:95;1634:137;:::o;1082:35::-;1115:2;1082:35;:::o;1169:44::-;;;;;;;;;;;;;;:::o;1291:41::-;;;;;;;;;;;;;:::o;1035:40::-;;;;;;;;;;;;;-1:-1:-1;;;1035:40:0;;;;;:::o;2000:146::-;2071:4;2095:43;2108:10;2120:9;2131:6;2095:12;:43::i;:::-;2088:50;2000:146;-1:-1:-1;;;2000:146:0:o;3003:829::-;3209:4;;;;;;;;;;;;-1:-1:-1;;;3209:4:0;;;;;-1:-1:-1;1547:80:0;3193:22;3217:12;:10;:12::i;:::-;3165:80;;;;;;;;;;;;;;;;;;;;;;;;;3239:4;3165:80;;;;;;;;;;;;;;;;;;;;;;;3155:91;;;;;;-1:-1:-1;;;;;3339:13:0;;;-1:-1:-1;3339:13:0;;;:6;:13;;;;;:15;;-1:-1:-1;3339:15:0;;;;;;1676:95;3288:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3278:88;;;;;;-1:-1:-1;;;3404:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3394:68;;;;;;;;;3495:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3155:91;;-1:-1:-1;3278:88:0;3394:68;;-1:-1:-1;;;;3495:26:0;;;;;3165:80;-1:-1:-1;;3495:26:0;;;;;;;;;;;-1:-1:-1;3495:26:0;;;;;;;;;;;;;;;-1:-1:-1;;3495:26:0;;-1:-1:-1;;3495:26:0;;;-1:-1:-1;;;;;;;3540:23:0;;3532:61;;;;;-1:-1:-1;;;3532:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3612:18:0;;;;;;;3604:51;;;;;-1:-1:-1;;;3604:51:0;;;;;;;;;;;;-1:-1:-1;;;3604:51:0;;;;;;;;;;;;;;;3693:8;3674:15;:27;;3666:65;;;;;-1:-1:-1;;;3666:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3744:16:0;;;;;;;-1:-1:-1;3744:16:0;;;;;;;;:25;;;;;;;;;;;;;:33;;;3793:31;;;;;;;;;;;;;;;;;3003:829;;;;;;;;;;;:::o;1220:64::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;258:165::-;316:7;349:1;344;:6;;336:32;;;;;-1:-1:-1;;;336:32:0;;;;;;;;;;;;-1:-1:-1;;;336:32:0;;;;;;;;;;;;;;;-1:-1:-1;391:5:0;;;258:165::o;86:164::-;144:7;176:5;;;200:6;;;;192:31;;;;;-1:-1:-1;;;192:31:0;;;;;;;;;;;;-1:-1:-1;;;192:31:0;;;;;;;;;;;;;;3840:109;3931:9;;3918:24::o

Swarm Source

ipfs://ce35b8b7e5a1101de304feb14f2f3bec55a67a079b9ee506505effc6f44fa181

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals
[ 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.