MATIC Price: $0.359714 (-20.25%)
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Token Holdings

Sponsored

Transaction Hash
Method
Block
From
To
Log Call602214732024-08-05 11:52:184 mins ago1722858738IN
0x2BADdAe9...bf407406f
0 MATIC0.0124305486.31903503
Log Call602214452024-08-05 11:51:185 mins ago1722858678IN
0x2BADdAe9...bf407406f
0 MATIC0.0136479994.77311633
Log Call602214032024-08-05 11:49:486 mins ago1722858588IN
0x2BADdAe9...bf407406f
0 MATIC0.01831114127.15457599
Log Call602213912024-08-05 11:49:226 mins ago1722858562IN
0x2BADdAe9...bf407406f
0 MATIC0.01831114127.15457599
Log Call602213822024-08-05 11:49:047 mins ago1722858544IN
0x2BADdAe9...bf407406f
0 MATIC0.01955848135.81623128
Log Call602213762024-08-05 11:48:527 mins ago1722858532IN
0x2BADdAe9...bf407406f
0 MATIC0.01964793136.43733198
Log Call602213742024-08-05 11:48:467 mins ago1722858526IN
0x2BADdAe9...bf407406f
0 MATIC0.02298409159.60401557
Log Call602213672024-08-05 11:48:327 mins ago1722858512IN
0x2BADdAe9...bf407406f
0 MATIC0.02193865152.34439742
Log Call602212762024-08-05 11:45:1811 mins ago1722858318IN
0x2BADdAe9...bf407406f
0 MATIC0.02390974166.03182822
Log Call602212482024-08-05 11:43:5012 mins ago1722858230IN
0x2BADdAe9...bf407406f
0 MATIC0.02475438171.8971268
Log Call602212432024-08-05 11:43:3612 mins ago1722858216IN
0x2BADdAe9...bf407406f
0 MATIC0.02244244155.84271516
Log Call602212362024-08-05 11:43:2212 mins ago1722858202IN
0x2BADdAe9...bf407406f
0 MATIC0.02475438171.8971268
Log Call602212162024-08-05 11:42:4013 mins ago1722858160IN
0x2BADdAe9...bf407406f
0 MATIC0.02462277170.9831826
Log Call602210972024-08-05 11:38:2617 mins ago1722857906IN
0x2BADdAe9...bf407406f
0 MATIC0.01457006139.65636214
Log Call602207482024-08-05 11:25:3230 mins ago1722857132IN
0x2BADdAe9...bf407406f
0 MATIC0.01913096132.84746804
Log Call602207302024-08-05 11:24:5431 mins ago1722857094IN
0x2BADdAe9...bf407406f
0 MATIC0.02210109153.47238752
Log Call602207022024-08-05 11:23:5432 mins ago1722857034IN
0x2BADdAe9...bf407406f
0 MATIC0.02189665152.05270894
Log Call602206722024-08-05 11:22:5233 mins ago1722856972IN
0x2BADdAe9...bf407406f
0 MATIC0.02611288181.33069509
Log Call602206462024-08-05 11:21:5634 mins ago1722856916IN
0x2BADdAe9...bf407406f
0 MATIC0.02881746200.11156896
Log Call602203372024-08-05 11:10:2845 mins ago1722856228IN
0x2BADdAe9...bf407406f
0 MATIC0.01186375113.71593022
Log Call602203092024-08-05 11:09:2846 mins ago1722856168IN
0x2BADdAe9...bf407406f
0 MATIC0.01666241115.70557491
Log Call602202192024-08-05 11:06:1650 mins ago1722855976IN
0x2BADdAe9...bf407406f
0 MATIC0.01972944137.0033757
Log Call602200992024-08-05 11:02:0254 mins ago1722855722IN
0x2BADdAe9...bf407406f
0 MATIC0.01687753117.19942403
Log Call602199432024-08-05 10:55:581 hr ago1722855358IN
0x2BADdAe9...bf407406f
0 MATIC0.01877891130.40277415
Log Call602198832024-08-05 10:53:501 hr ago1722855230IN
0x2BADdAe9...bf407406f
0 MATIC0.02386972165.7539292
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ECHeartBeat

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at polygonscan.com on 2023-10-14
*/

// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity ^0.8.0;

contract ECHeartBeat {
    struct Call {
        uint256 timestamp;
        string metadata;
    }

    address private owner;

    event OwnerChanged(address indexed previousOwner, address indexed newOwner);
    constructor() {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Caller is not the owner");
        _;
    }

    mapping(address => Call[]) private callHistory;
    mapping(address => mapping(uint256 => bool)) private callExists;

    mapping(address => mapping(uint256 => uint256[])) private activeDays;
    mapping(address => uint256) private firstCallDay;
    address[] private nodeAddresses;

    event CallLogged(address indexed caller, uint256 timestamp, string metadata);

    function logCall(string calldata metadata) public {
        Call memory newCall = Call(block.timestamp, metadata);
        callHistory[msg.sender].push(newCall);

        if (!callExists[msg.sender][newCall.timestamp / 1 days]) {
            callExists[msg.sender][newCall.timestamp / 1 days] = true;
            activeDays[msg.sender][newCall.timestamp / 1 days].push(callHistory[msg.sender].length - 1);

            if (firstCallDay[msg.sender] == 0) {
                firstCallDay[msg.sender] = newCall.timestamp / 1 days;
                nodeAddresses.push(msg.sender);
            }
        }
        else {
            activeDays[msg.sender][newCall.timestamp / 1 days].push(callHistory[msg.sender].length - 1);
        }

        emit CallLogged(msg.sender, newCall.timestamp, metadata);
    }

    function getCurrentDay() public view returns (uint256){
        return block.timestamp / 1 days;
    }

    function getCallCount(address caller, uint256 day) public view returns (uint256) {
        return activeDays[caller][day].length;
    }

    function getTotalCalls(address caller) public view returns (uint256) {
        return callHistory[caller].length;
    }

    function getActiveDays(address caller) public view returns (uint256) {
        uint256 count = 0;
        for (uint256 day = firstCallDay[caller]; day <= block.timestamp / 1 days; day++) {
            if (callExists[caller][day]) {
                count++;
            }
        }
        return count;
    }

    function getFirstCallDay(address caller) public view returns (uint256) {
        return firstCallDay[caller];
    }

    function getCallMetadata(address caller, uint256 index) public view returns (string memory) {
        require(index < callHistory[caller].length, "Invalid index");
        return callHistory[caller][index].metadata;
    }

    function getCallsforday(address caller, uint256 day) public view returns (uint256[] memory){
        return activeDays[caller][day];
    }

    function getNodesCount() public view returns (uint256){
        return nodeAddresses.length;
    }

    function getNodeAddress(uint256 index) public view returns (address){
        return nodeAddresses[index];
    }

    function getCallHistoryCount(address nodeAddress) public view returns (uint256){
        return callHistory[nodeAddress].length;
    }

    function getCallHistoryLog(address nodeAddress, uint256 index) public view returns (Call memory){
        return callHistory[nodeAddress][index];
    }

    function changeOwner(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Invalid address");
        emit OwnerChanged(owner, newOwner);
        owner = newOwner;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"string","name":"metadata","type":"string"}],"name":"CallLogged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"getActiveDays","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint256","name":"day","type":"uint256"}],"name":"getCallCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"name":"getCallHistoryCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getCallHistoryLog","outputs":[{"components":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"metadata","type":"string"}],"internalType":"struct ECHeartBeat.Call","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getCallMetadata","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint256","name":"day","type":"uint256"}],"name":"getCallsforday","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentDay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"getFirstCallDay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getNodeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNodesCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"getTotalCalls","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"metadata","type":"string"}],"name":"logCall","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610d44806100326000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635f1e2c721161008c5780637b712492116100665780637b712492146101da5780638c1cc04e14610136578063a6f9dae1146101ef578063c3ff6d6b1461020257600080fd5b80635f1e2c721461019257806361ea7208146101b25780636c424ec8146101ba57600080fd5b806301c27880146100d457806317a7bc5e146100fa57806326b071041461012357806327c15a12146101365780633e6968b61461015f578063446e847f14610167575b600080fd5b6100e76100e236600461095e565b610222565b6040519081526020015b60405180910390f35b6100e7610108366004610988565b6001600160a01b031660009081526004602052604090205490565b6100e7610131366004610988565b61024d565b6100e7610144366004610988565b6001600160a01b031660009081526001602052604090205490565b6100e76102cf565b61017a6101753660046109aa565b6102e3565b6040516001600160a01b0390911681526020016100f1565b6101a56101a036600461095e565b610313565b6040516100f19190610a09565b6005546100e7565b6101cd6101c836600461095e565b61040f565b6040516100f19190610a36565b6101ed6101e8366004610a49565b61053a565b005b6101ed6101fd366004610988565b6107d1565b61021561021036600461095e565b6108ce565b6040516100f19190610abb565b6001600160a01b03821660009081526003602090815260408083208484529091529020545b92915050565b6001600160a01b03811660009081526004602052604081205481905b6102766201518042610b15565b81116102c8576001600160a01b038416600090815260026020908152604080832084845290915290205460ff16156102b657816102b281610b37565b9250505b806102c081610b37565b915050610269565b5092915050565b60006102de6201518042610b15565b905090565b6000600582815481106102f8576102f8610b50565b6000918252602090912001546001600160a01b031692915050565b6040805180820190915260008152606060208201526001600160a01b038316600090815260016020526040902080548390811061035257610352610b50565b90600052602060002090600202016040518060400160405290816000820154815260200160018201805461038590610b66565b80601f01602080910402602001604051908101604052809291908181526020018280546103b190610b66565b80156103fe5780601f106103d3576101008083540402835291602001916103fe565b820191906000526020600020905b8154815290600101906020018083116103e157829003601f168201915b505050505081525050905092915050565b6001600160a01b038216600090815260016020526040902054606090821061046e5760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b60448201526064015b60405180910390fd5b6001600160a01b038316600090815260016020526040902080548390811061049857610498610b50565b906000526020600020906002020160010180546104b490610b66565b80601f01602080910402602001604051908101604052809291908181526020018280546104e090610b66565b801561052d5780601f106105025761010080835404028352916020019161052d565b820191906000526020600020905b81548152906001019060200180831161051057829003601f168201915b5050505050905092915050565b6000604051806040016040528042815260200184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505033815260016020818152604083208054808401825590845292819020855160029094020192835584015193945084939192508201906105c49082610c05565b505033600090815260026020526040812083519092506105e8906201518090610b15565b815260208101919091526040016000205460ff1661072757336000908152600260205260408120825160019290610623906201518090610b15565b815260208082019290925260409081016000908120805460ff191694151594909417909355338352600390915281208251909190610665906201518090610b15565b81526020808201929092526040908101600090812033825260019384905291902054909161069291610cc5565b8154600181018355600092835260208084209091019190915533825260049052604081205490036107225780516106cd906201518090610b15565b336000818152600460205260408120929092556005805460018101825592527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db090910180546001600160a01b03191690911790555b61078d565b3360009081526003602052604081208251909190610749906201518090610b15565b81526020808201929092526040908101600090812033825260019384905291902054909161077691610cc5565b815460018101835560009283526020909220909101555b805160405133917f7c7673cbcea84bd307d18815393ee76593a1e3c9e133d9301a6636b37c9fb170916107c4919087908790610cd8565b60405180910390a2505050565b6000546001600160a01b0316331461082b5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606401610465565b6001600160a01b0381166108735760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610465565b600080546040516001600160a01b03808516939216917fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216600090815260036020908152604080832084845282529182902080548351818402810184019094528084526060939283018282801561052d57602002820191906000526020600020905b815481526020019060010190808311610922575050505050905092915050565b80356001600160a01b038116811461095957600080fd5b919050565b6000806040838503121561097157600080fd5b61097a83610942565b946020939093013593505050565b60006020828403121561099a57600080fd5b6109a382610942565b9392505050565b6000602082840312156109bc57600080fd5b5035919050565b6000815180845260005b818110156109e9576020818501810151868301820152016109cd565b506000602082860101526020601f19601f83011685010191505092915050565b602081528151602082015260006020830151604080840152610a2e60608401826109c3565b949350505050565b6020815260006109a360208301846109c3565b60008060208385031215610a5c57600080fd5b823567ffffffffffffffff80821115610a7457600080fd5b818501915085601f830112610a8857600080fd5b813581811115610a9757600080fd5b866020828501011115610aa957600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b81811015610af357835183529284019291840191600101610ad7565b50909695505050505050565b634e487b7160e01b600052601160045260246000fd5b600082610b3257634e487b7160e01b600052601260045260246000fd5b500490565b600060018201610b4957610b49610aff565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600181811c90821680610b7a57607f821691505b602082108103610b9a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b601f821115610c0057600081815260208120601f850160051c81016020861015610bdd5750805b601f850160051c820191505b81811015610bfc57828155600101610be9565b5050505b505050565b815167ffffffffffffffff811115610c1f57610c1f610ba0565b610c3381610c2d8454610b66565b84610bb6565b602080601f831160018114610c685760008415610c505750858301515b600019600386901b1c1916600185901b178555610bfc565b600085815260208120601f198616915b82811015610c9757888601518255948401946001909101908401610c78565b5085821015610cb55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561024757610247610aff565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f191601019291505056fea264697066735822122050b5310b48dac9a9e2b8ed0b4e79885dab85f18c8360e40e5d2c9bdea6d3216164736f6c63430008150033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635f1e2c721161008c5780637b712492116100665780637b712492146101da5780638c1cc04e14610136578063a6f9dae1146101ef578063c3ff6d6b1461020257600080fd5b80635f1e2c721461019257806361ea7208146101b25780636c424ec8146101ba57600080fd5b806301c27880146100d457806317a7bc5e146100fa57806326b071041461012357806327c15a12146101365780633e6968b61461015f578063446e847f14610167575b600080fd5b6100e76100e236600461095e565b610222565b6040519081526020015b60405180910390f35b6100e7610108366004610988565b6001600160a01b031660009081526004602052604090205490565b6100e7610131366004610988565b61024d565b6100e7610144366004610988565b6001600160a01b031660009081526001602052604090205490565b6100e76102cf565b61017a6101753660046109aa565b6102e3565b6040516001600160a01b0390911681526020016100f1565b6101a56101a036600461095e565b610313565b6040516100f19190610a09565b6005546100e7565b6101cd6101c836600461095e565b61040f565b6040516100f19190610a36565b6101ed6101e8366004610a49565b61053a565b005b6101ed6101fd366004610988565b6107d1565b61021561021036600461095e565b6108ce565b6040516100f19190610abb565b6001600160a01b03821660009081526003602090815260408083208484529091529020545b92915050565b6001600160a01b03811660009081526004602052604081205481905b6102766201518042610b15565b81116102c8576001600160a01b038416600090815260026020908152604080832084845290915290205460ff16156102b657816102b281610b37565b9250505b806102c081610b37565b915050610269565b5092915050565b60006102de6201518042610b15565b905090565b6000600582815481106102f8576102f8610b50565b6000918252602090912001546001600160a01b031692915050565b6040805180820190915260008152606060208201526001600160a01b038316600090815260016020526040902080548390811061035257610352610b50565b90600052602060002090600202016040518060400160405290816000820154815260200160018201805461038590610b66565b80601f01602080910402602001604051908101604052809291908181526020018280546103b190610b66565b80156103fe5780601f106103d3576101008083540402835291602001916103fe565b820191906000526020600020905b8154815290600101906020018083116103e157829003601f168201915b505050505081525050905092915050565b6001600160a01b038216600090815260016020526040902054606090821061046e5760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b60448201526064015b60405180910390fd5b6001600160a01b038316600090815260016020526040902080548390811061049857610498610b50565b906000526020600020906002020160010180546104b490610b66565b80601f01602080910402602001604051908101604052809291908181526020018280546104e090610b66565b801561052d5780601f106105025761010080835404028352916020019161052d565b820191906000526020600020905b81548152906001019060200180831161051057829003601f168201915b5050505050905092915050565b6000604051806040016040528042815260200184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505033815260016020818152604083208054808401825590845292819020855160029094020192835584015193945084939192508201906105c49082610c05565b505033600090815260026020526040812083519092506105e8906201518090610b15565b815260208101919091526040016000205460ff1661072757336000908152600260205260408120825160019290610623906201518090610b15565b815260208082019290925260409081016000908120805460ff191694151594909417909355338352600390915281208251909190610665906201518090610b15565b81526020808201929092526040908101600090812033825260019384905291902054909161069291610cc5565b8154600181018355600092835260208084209091019190915533825260049052604081205490036107225780516106cd906201518090610b15565b336000818152600460205260408120929092556005805460018101825592527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db090910180546001600160a01b03191690911790555b61078d565b3360009081526003602052604081208251909190610749906201518090610b15565b81526020808201929092526040908101600090812033825260019384905291902054909161077691610cc5565b815460018101835560009283526020909220909101555b805160405133917f7c7673cbcea84bd307d18815393ee76593a1e3c9e133d9301a6636b37c9fb170916107c4919087908790610cd8565b60405180910390a2505050565b6000546001600160a01b0316331461082b5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606401610465565b6001600160a01b0381166108735760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610465565b600080546040516001600160a01b03808516939216917fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216600090815260036020908152604080832084845282529182902080548351818402810184019094528084526060939283018282801561052d57602002820191906000526020600020905b815481526020019060010190808311610922575050505050905092915050565b80356001600160a01b038116811461095957600080fd5b919050565b6000806040838503121561097157600080fd5b61097a83610942565b946020939093013593505050565b60006020828403121561099a57600080fd5b6109a382610942565b9392505050565b6000602082840312156109bc57600080fd5b5035919050565b6000815180845260005b818110156109e9576020818501810151868301820152016109cd565b506000602082860101526020601f19601f83011685010191505092915050565b602081528151602082015260006020830151604080840152610a2e60608401826109c3565b949350505050565b6020815260006109a360208301846109c3565b60008060208385031215610a5c57600080fd5b823567ffffffffffffffff80821115610a7457600080fd5b818501915085601f830112610a8857600080fd5b813581811115610a9757600080fd5b866020828501011115610aa957600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b81811015610af357835183529284019291840191600101610ad7565b50909695505050505050565b634e487b7160e01b600052601160045260246000fd5b600082610b3257634e487b7160e01b600052601260045260246000fd5b500490565b600060018201610b4957610b49610aff565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600181811c90821680610b7a57607f821691505b602082108103610b9a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b601f821115610c0057600081815260208120601f850160051c81016020861015610bdd5750805b601f850160051c820191505b81811015610bfc57828155600101610be9565b5050505b505050565b815167ffffffffffffffff811115610c1f57610c1f610ba0565b610c3381610c2d8454610b66565b84610bb6565b602080601f831160018114610c685760008415610c505750858301515b600019600386901b1c1916600185901b178555610bfc565b600085815260208120601f198616915b82811015610c9757888601518255948401946001909101908401610c78565b5085821015610cb55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561024757610247610aff565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f191601019291505056fea264697066735822122050b5310b48dac9a9e2b8ed0b4e79885dab85f18c8360e40e5d2c9bdea6d3216164736f6c63430008150033

Deployed Bytecode Sourcemap

74:3553:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1789:137;;;;;;:::i;:::-;;:::i;:::-;;;597:25:1;;;585:2;570:18;1789:137:0;;;;;;;;2387:117;;;;;;:::i;:::-;-1:-1:-1;;;;;2476:20:0;2449:7;2476:20;;;:12;:20;;;;;;;2387:117;2063:316;;;;;;:::i;:::-;;:::i;1934:121::-;;;;;;:::i;:::-;-1:-1:-1;;;;;2021:19:0;1994:7;2021:19;;;:11;:19;;;;;:26;;1934:121;1677:104;;;:::i;3000:114::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1173:32:1;;;1155:51;;1143:2;1128:18;3000:114:0;1009:203:1;3266:153:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2892:100::-;2964:13;:20;2892:100;;2512:224;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;850:819::-;;;;;;:::i;:::-;;:::i;:::-;;3427:197;;;;;;:::i;:::-;;:::i;2744:140::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1789:137::-;-1:-1:-1;;;;;1888:18:0;;1861:7;1888:18;;;:10;:18;;;;;;;;:23;;;;;;;;:30;1789:137;;;;;:::o;2063:316::-;-1:-1:-1;;;;;2190:20:0;;2123:7;2190:20;;;:12;:20;;;;;;2123:7;;2171:178;2219:24;2237:6;2219:15;:24;:::i;:::-;2212:3;:31;2171:178;;-1:-1:-1;;;;;2271:18:0;;;;;;:10;:18;;;;;;;;:23;;;;;;;;;;;2267:71;;;2315:7;;;;:::i;:::-;;;;2267:71;2245:5;;;;:::i;:::-;;;;2171:178;;;-1:-1:-1;2366:5:0;2063:316;-1:-1:-1;;2063:316:0:o;1677:104::-;1723:7;1749:24;1767:6;1749:15;:24;:::i;:::-;1742:31;;1677:104;:::o;3000:114::-;3060:7;3086:13;3100:5;3086:20;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;3086:20:0;;3000:114;-1:-1:-1;;3000:114:0:o;3266:153::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;3380:24:0;;;;;;:11;:24;;;;;:31;;3405:5;;3380:31;;;;;;:::i;:::-;;;;;;;;;;;3373:38;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3266:153;;;;:::o;2512:224::-;-1:-1:-1;;;;;2631:19:0;;;;;;:11;:19;;;;;:26;2589:13;;2623:34;;2615:60;;;;-1:-1:-1;;;2615:60:0;;4710:2:1;2615:60:0;;;4692:21:1;4749:2;4729:18;;;4722:30;-1:-1:-1;;;4768:18:1;;;4761:43;4821:18;;2615:60:0;;;;;;;;;-1:-1:-1;;;;;2693:19:0;;;;;;:11;:19;;;;;:26;;2713:5;;2693:26;;;;;;:::i;:::-;;;;;;;;;;;:35;;2686:42;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2512:224;;;;:::o;850:819::-;911:19;933:31;;;;;;;;938:15;933:31;;;;955:8;;933:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;933:31:0;;;;-1:-1:-1;;987:10:0;975:23;;:11;:23;;;;;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;911:53;;-1:-1:-1;911:53:0;;975:37;;-1:-1:-1;975:37:0;;;;;;;:::i;:::-;-1:-1:-1;;1041:10:0;1030:22;;;;:10;:22;;;;;1053:17;;1030:22;;-1:-1:-1;1053:26:0;;1073:6;;1053:26;:::i;:::-;1030:50;;;;;;;;;;;-1:-1:-1;1030:50:0;;;;1025:568;;1108:10;1097:22;;;;:10;:22;;;;;1120:17;;1150:4;;1097:22;1120:26;;1140:6;;1120:26;:::i;:::-;1097:50;;;;;;;;;;;;;;-1:-1:-1;1097:50:0;;;:57;;-1:-1:-1;;1097:57:0;;;;;;;;;;;1180:10;1169:22;;:10;:22;;;;;1192:17;;1169:22;;-1:-1:-1;1192:26:0;;1212:6;;1192:26;:::i;:::-;1169:50;;;;;;;;;;;;;;-1:-1:-1;1169:50:0;;;1237:10;1225:23;;1258:1;1225:23;;;;;;;:30;1169:50;;1225:34;;;:::i;:::-;1169:91;;;;;;;-1:-1:-1;1169:91:0;;;;;;;;;;;;;;1294:10;1281:24;;:12;:24;;;;;;:29;;1277:172;;1358:17;;:26;;1378:6;;1358:26;:::i;:::-;1344:10;1331:24;;;;:12;:24;;;;;:53;;;;1403:13;:30;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1403:30:0;;;;;;1277:172;1025:568;;;1501:10;1490:22;;;;:10;:22;;;;;1513:17;;1490:22;;;1513:26;;1533:6;;1513:26;:::i;:::-;1490:50;;;;;;;;;;;;;;-1:-1:-1;1490:50:0;;;1558:10;1546:23;;1579:1;1546:23;;;;;;;:30;1490:50;;1546:34;;;:::i;:::-;1490:91;;;;;;;-1:-1:-1;1490:91:0;;;;;;;;;;;1025:568;1633:17;;1610:51;;1621:10;;1610:51;;;;1633:17;1652:8;;;;1610:51;:::i;:::-;;;;;;;;900:769;850:819;;:::o;3427:197::-;409:5;;-1:-1:-1;;;;;409:5:0;395:10;:19;387:55;;;;-1:-1:-1;;;387:55:0;;7987:2:1;387:55:0;;;7969:21:1;8026:2;8006:18;;;7999:30;8065:25;8045:18;;;8038:53;8108:18;;387:55:0;7785:347:1;387:55:0;-1:-1:-1;;;;;3502:22:0;::::1;3494:50;;;::::0;-1:-1:-1;;;3494:50:0;;8339:2:1;3494:50:0::1;::::0;::::1;8321:21:1::0;8378:2;8358:18;;;8351:30;-1:-1:-1;;;8397:18:1;;;8390:45;8452:18;;3494:50:0::1;8137:339:1::0;3494:50:0::1;3573:5;::::0;;3560:29:::1;::::0;-1:-1:-1;;;;;3560:29:0;;::::1;::::0;3573:5;::::1;::::0;3560:29:::1;::::0;::::1;3600:5;:16:::0;;-1:-1:-1;;;;;;3600:16:0::1;-1:-1:-1::0;;;;;3600:16:0;;;::::1;::::0;;;::::1;::::0;;3427:197::o;2744:140::-;-1:-1:-1;;;;;2853:18:0;;;;;;:10;:18;;;;;;;;:23;;;;;;;;;2846:30;;;;;;;;;;;;;;;;;2818:16;;2846:30;;;2853:23;2846:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2744:140;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:1:o;633:186::-;692:6;745:2;733:9;724:7;720:23;716:32;713:52;;;761:1;758;751:12;713:52;784:29;803:9;784:29;:::i;:::-;774:39;633:186;-1:-1:-1;;;633:186:1:o;824:180::-;883:6;936:2;924:9;915:7;911:23;907:32;904:52;;;952:1;949;942:12;904:52;-1:-1:-1;975:23:1;;824:180;-1:-1:-1;824:180:1:o;1217:423::-;1259:3;1297:5;1291:12;1324:6;1319:3;1312:19;1349:1;1359:162;1373:6;1370:1;1367:13;1359:162;;;1435:4;1491:13;;;1487:22;;1481:29;1463:11;;;1459:20;;1452:59;1388:12;1359:162;;;1363:3;1566:1;1559:4;1550:6;1545:3;1541:16;1537:27;1530:38;1629:4;1622:2;1618:7;1613:2;1605:6;1601:15;1597:29;1592:3;1588:39;1584:50;1577:57;;;1217:423;;;;:::o;1645:388::-;1812:2;1801:9;1794:21;1857:6;1851:13;1846:2;1835:9;1831:18;1824:41;1775:4;1912:2;1904:6;1900:15;1894:22;1954:4;1947;1936:9;1932:20;1925:34;1976:51;2023:2;2012:9;2008:18;1994:12;1976:51;:::i;:::-;1968:59;1645:388;-1:-1:-1;;;;1645:388:1:o;2038:220::-;2187:2;2176:9;2169:21;2150:4;2207:45;2248:2;2237:9;2233:18;2225:6;2207:45;:::i;2263:592::-;2334:6;2342;2395:2;2383:9;2374:7;2370:23;2366:32;2363:52;;;2411:1;2408;2401:12;2363:52;2451:9;2438:23;2480:18;2521:2;2513:6;2510:14;2507:34;;;2537:1;2534;2527:12;2507:34;2575:6;2564:9;2560:22;2550:32;;2620:7;2613:4;2609:2;2605:13;2601:27;2591:55;;2642:1;2639;2632:12;2591:55;2682:2;2669:16;2708:2;2700:6;2697:14;2694:34;;;2724:1;2721;2714:12;2694:34;2769:7;2764:2;2755:6;2751:2;2747:15;2743:24;2740:37;2737:57;;;2790:1;2787;2780:12;2737:57;2821:2;2813:11;;;;;2843:6;;-1:-1:-1;2263:592:1;;-1:-1:-1;;;;2263:592:1:o;2860:632::-;3031:2;3083:21;;;3153:13;;3056:18;;;3175:22;;;3002:4;;3031:2;3254:15;;;;3228:2;3213:18;;;3002:4;3297:169;3311:6;3308:1;3305:13;3297:169;;;3372:13;;3360:26;;3441:15;;;;3406:12;;;;3333:1;3326:9;3297:169;;;-1:-1:-1;3483:3:1;;2860:632;-1:-1:-1;;;;;;2860:632:1:o;3497:127::-;3558:10;3553:3;3549:20;3546:1;3539:31;3589:4;3586:1;3579:15;3613:4;3610:1;3603:15;3629:217;3669:1;3695;3685:132;;3739:10;3734:3;3730:20;3727:1;3720:31;3774:4;3771:1;3764:15;3802:4;3799:1;3792:15;3685:132;-1:-1:-1;3831:9:1;;3629:217::o;3851:135::-;3890:3;3911:17;;;3908:43;;3931:18;;:::i;:::-;-1:-1:-1;3978:1:1;3967:13;;3851:135::o;3991:127::-;4052:10;4047:3;4043:20;4040:1;4033:31;4083:4;4080:1;4073:15;4107:4;4104:1;4097:15;4123:380;4202:1;4198:12;;;;4245;;;4266:61;;4320:4;4312:6;4308:17;4298:27;;4266:61;4373:2;4365:6;4362:14;4342:18;4339:38;4336:161;;4419:10;4414:3;4410:20;4407:1;4400:31;4454:4;4451:1;4444:15;4482:4;4479:1;4472:15;4336:161;;4123:380;;;:::o;4850:127::-;4911:10;4906:3;4902:20;4899:1;4892:31;4942:4;4939:1;4932:15;4966:4;4963:1;4956:15;5108:545;5210:2;5205:3;5202:11;5199:448;;;5246:1;5271:5;5267:2;5260:17;5316:4;5312:2;5302:19;5386:2;5374:10;5370:19;5367:1;5363:27;5357:4;5353:38;5422:4;5410:10;5407:20;5404:47;;;-1:-1:-1;5445:4:1;5404:47;5500:2;5495:3;5491:12;5488:1;5484:20;5478:4;5474:31;5464:41;;5555:82;5573:2;5566:5;5563:13;5555:82;;;5618:17;;;5599:1;5588:13;5555:82;;;5559:3;;;5199:448;5108:545;;;:::o;5829:1352::-;5955:3;5949:10;5982:18;5974:6;5971:30;5968:56;;;6004:18;;:::i;:::-;6033:97;6123:6;6083:38;6115:4;6109:11;6083:38;:::i;:::-;6077:4;6033:97;:::i;:::-;6185:4;;6249:2;6238:14;;6266:1;6261:663;;;;6968:1;6985:6;6982:89;;;-1:-1:-1;7037:19:1;;;7031:26;6982:89;-1:-1:-1;;5786:1:1;5782:11;;;5778:24;5774:29;5764:40;5810:1;5806:11;;;5761:57;7084:81;;6231:944;;6261:663;5055:1;5048:14;;;5092:4;5079:18;;-1:-1:-1;;6297:20:1;;;6415:236;6429:7;6426:1;6423:14;6415:236;;;6518:19;;;6512:26;6497:42;;6610:27;;;;6578:1;6566:14;;;;6445:19;;6415:236;;;6419:3;6679:6;6670:7;6667:19;6664:201;;;6740:19;;;6734:26;-1:-1:-1;;6823:1:1;6819:14;;;6835:3;6815:24;6811:37;6807:42;6792:58;6777:74;;6664:201;-1:-1:-1;;;;;6911:1:1;6895:14;;;6891:22;6878:36;;-1:-1:-1;5829:1352:1:o;7186:128::-;7253:9;;;7274:11;;;7271:37;;;7288:18;;:::i;7319:461::-;7506:6;7495:9;7488:25;7549:2;7544;7533:9;7529:18;7522:30;7588:6;7583:2;7572:9;7568:18;7561:34;7645:6;7637;7632:2;7621:9;7617:18;7604:48;7701:1;7672:22;;;7696:2;7668:31;;;7661:42;;;;7764:2;7743:15;;;-1:-1:-1;;7739:29:1;7724:45;7720:54;;7319:461;-1:-1:-1;;7319:461:1:o

Swarm Source

ipfs://50b5310b48dac9a9e2b8ed0b4e79885dab85f18c8360e40e5d2c9bdea6d32161

Block Transaction 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
[ 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.