ETH Price: $2,397.53 (-0.33%)

Contract

0x2367012aB9c3da91290F71590D5ce217721eEfE4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve206534222024-09-01 4:46:354 days ago1725165995IN
xToken: xSNXa Token
0 ETH0.000056471.09767719
Burn206497622024-08-31 16:31:595 days ago1725121919IN
xToken: xSNXa Token
0 ETH0.000313651.29472807
Transfer206496872024-08-31 16:16:475 days ago1725121007IN
xToken: xSNXa Token
0 ETH0.000039791.23629285
Approve198688002024-05-14 14:21:59114 days ago1715696519IN
xToken: xSNXa Token
0 ETH0.0007976815.4207751
Burn198686542024-05-14 13:52:11114 days ago1715694731IN
xToken: xSNXa Token
0 ETH0.0025777810.64084772
Approve184044202023-10-22 7:42:23319 days ago1697960543IN
xToken: xSNXa Token
0 ETH0.0003240111
Approve183973612023-10-21 8:01:47320 days ago1697875307IN
xToken: xSNXa Token
0 ETH0.000182326.18976311
Approve155921852022-09-22 23:32:11714 days ago1663889531IN
xToken: xSNXa Token
0 ETH0.000257325
Transfer155099372022-09-10 17:05:11726 days ago1662829511IN
xToken: xSNXa Token
0 ETH0.0006735612.98480662
Approve151604502022-07-17 13:32:36781 days ago1658064756IN
xToken: xSNXa Token
0 ETH0.0004586815.57199725
Transfer143984672022-03-16 15:34:34904 days ago1647444874IN
xToken: xSNXa Token
0 ETH0.0021487441.1849155
Approve139638012022-01-08 8:48:26971 days ago1641631706IN
xToken: xSNXa Token
0 ETH0.0033972665.66032786
Approve137253882021-12-02 4:55:241008 days ago1638420924IN
xToken: xSNXa Token
0 ETH0.00365254124
Transfer Ownersh...131807462021-09-07 20:14:331094 days ago1631045673IN
xToken: xSNXa Token
0 ETH0.00523295154.08275993
Approve131328052021-08-31 10:32:351101 days ago1630405955IN
xToken: xSNXa Token
0 ETH0.0041632880.46550037
Approve131266402021-08-30 11:38:091102 days ago1630323489IN
xToken: xSNXa Token
0 ETH0.0013735546.63064323
Approve131192322021-08-29 8:12:491103 days ago1630224769IN
xToken: xSNXa Token
0 ETH0.001873463.6
Approve129519492021-08-03 11:07:401129 days ago1627988860IN
xToken: xSNXa Token
0 ETH0.0016039431
Approve128632242021-07-20 11:47:061143 days ago1626781626IN
xToken: xSNXa Token
0 ETH0.0009780419
Approve128568592021-07-19 12:02:141144 days ago1626696134IN
xToken: xSNXa Token
0 ETH0.0009313218
Approve128463622021-07-17 20:21:111146 days ago1626553271IN
xToken: xSNXa Token
0 ETH0.0016273631.46
Transfer128199212021-07-13 16:38:321150 days ago1626194312IN
xToken: xSNXa Token
0 ETH0.0010665325.41
Approve128092832021-07-12 0:32:581152 days ago1626049978IN
xToken: xSNXa Token
0 ETH0.0008236116
Transfer128057442021-07-11 11:29:171152 days ago1626002957IN
xToken: xSNXa Token
0 ETH0.0004826811.5
Approve127421472021-07-01 13:49:431162 days ago1625147383IN
xToken: xSNXa Token
0 ETH0.001034820
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
131923942021-09-09 15:47:501092 days ago1631202470
xToken: xSNXa Token
4.07209211 ETH
124199182021-05-12 13:43:461212 days ago1620827026
xToken: xSNXa Token
414.81221024 ETH
124199182021-05-12 13:43:461212 days ago1620827026
xToken: xSNXa Token
415.64349723 ETH
124199182021-05-12 13:43:461212 days ago1620827026
xToken: xSNXa Token
0.12475 ETH
124199182021-05-12 13:43:461212 days ago1620827026
xToken: xSNXa Token
0.125 ETH
124015102021-05-09 17:31:131215 days ago1620581473
xToken: xSNXa Token
3.36354086 ETH
124015102021-05-09 17:31:131215 days ago1620581473
xToken: xSNXa Token
3.37028142 ETH
123966612021-05-08 23:36:491216 days ago1620517009
xToken: xSNXa Token
1.11192298 ETH
123966612021-05-08 23:36:491216 days ago1620517009
xToken: xSNXa Token
1.11415128 ETH
123879072021-05-07 15:19:111217 days ago1620400751
xToken: xSNXa Token
15.17235301 ETH
123879072021-05-07 15:19:111217 days ago1620400751
xToken: xSNXa Token
15.20275852 ETH
123878992021-05-07 15:17:381217 days ago1620400658
xToken: xSNXa Token
15.32099075 ETH
123878992021-05-07 15:17:381217 days ago1620400658
xToken: xSNXa Token
15.35169414 ETH
123860132021-05-07 8:14:571217 days ago1620375297
xToken: xSNXa Token
34.15455348 ETH
123860132021-05-07 8:14:571217 days ago1620375297
xToken: xSNXa Token
34.22299948 ETH
123439542021-04-30 20:28:451224 days ago1619814525
xToken: xSNXa Token
1.92822411 ETH
123439542021-04-30 20:28:451224 days ago1619814525
xToken: xSNXa Token
1.93208828 ETH
123438782021-04-30 20:10:211224 days ago1619813421
xToken: xSNXa Token
331.5323126 ETH
123438782021-04-30 20:10:211224 days ago1619813421
xToken: xSNXa Token
332.19670601 ETH
123438642021-04-30 20:07:231224 days ago1619813243
xToken: xSNXa Token
8.58800467 ETH
123438642021-04-30 20:07:231224 days ago1619813243
xToken: xSNXa Token
8.6052151 ETH
123391222021-04-30 2:20:041225 days ago1619749204
xToken: xSNXa Token
20.10635554 ETH
123391222021-04-30 2:20:041225 days ago1619749204
xToken: xSNXa Token
20.14664883 ETH
123113022021-04-25 19:15:311229 days ago1619378131
xToken: xSNXa Token
2.5948 ETH
123011182021-04-24 5:42:391230 days ago1619242959
xToken: xSNXa Token
0.1996 ETH
View All Internal Transactions
Loading...
Loading

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

Contract Name:
xSNXProxy

Compiler Version
v0.5.15+commit.6a57276f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-09-29
*/

// File: contracts/proxies/Proxy.sol

pragma solidity 0.5.15;

/**
 * @title Proxy - Generic proxy contract allows to execute all transactions
 */

contract Proxy {

    // storage position of the address of the current implementation
    bytes32 private constant IMPLEMENTATION_POSITION = keccak256("xsnx.implementationPosition");
    bytes32 private constant PROPOSED_IMPLEMENTATION_POSITION = keccak256("xsnx.proposedImplementationPosition");

    bytes32 private constant PROXY_ADMIN_POSITION = keccak256("xsnx.proxyAdmin");
    bytes32 private constant PROXY_COSIGNER1_POSITION = keccak256("xsnx.cosigner1");
    bytes32 private constant PROXY_COSIGNER2_POSITION = keccak256("xsnx.cosigner2");

    bytes32 private constant PROPOSED_NEW_ADMIN  = keccak256("xsnx.proposedNewAdmin");
    bytes32 private constant PROPOSED_NEW_ADMIN_TIMESTAMP  = keccak256("xsnx.proposedNewAdminTimestamp");

    modifier onlyProxyAdmin() {
        require(msg.sender == readAddressAtPosition(PROXY_ADMIN_POSITION));
        _;
    }

    modifier onlySigner() {
        address signer1 = readAddressAtPosition(PROXY_COSIGNER1_POSITION);
        address signer2 = readAddressAtPosition(PROXY_COSIGNER2_POSITION);
        require(msg.sender == signer1 || msg.sender == signer2);
        _;
    }

    /**
     * @dev Constructor function sets address of master copy contract.
     * @param implementation the address of the implementation contract that this proxy uses
     * @param proxyAdmin the address of the admin of this proxy
     * @param signer1 the first signer of this proxy
     * @param signer2 the second signer of this proxy
     */
    constructor(
        address implementation,
        address proxyAdmin,
        address signer1,
        address signer2
    ) public {
        require(
            implementation != address(0),
            "Invalid implementation address provided"
        );
        require(
            proxyAdmin != address(0),
            "Invalid proxyAdmin address provided"
        );
        require(signer1 != address(0), "Invalid signer1 address provided");
        require(signer2 != address(0), "Invalid signer2 address provided");
        require(signer1 != signer2, "Signers must have different addresses");
        setNewAddressAtPosition(IMPLEMENTATION_POSITION, implementation);
        setNewAddressAtPosition(PROXY_ADMIN_POSITION, proxyAdmin);
        setNewAddressAtPosition(PROXY_COSIGNER1_POSITION, signer1);
        setNewAddressAtPosition(PROXY_COSIGNER2_POSITION, signer2);
    }

    /**
     * @dev Proposes a new implementation contract for this proxy if sender is the Admin
     * @param newImplementation the address of the new implementation
     */
    function proposeNewImplementation(address newImplementation) public onlyProxyAdmin {
        require(newImplementation != address(0), "new proposed implementation cannot be address(0)");
        require(isContract(newImplementation), "new proposed implementation is not a contract");
        require(newImplementation != implementation(), "new proposed address cannot be the same as the current implementation address");
        setNewAddressAtPosition(PROPOSED_IMPLEMENTATION_POSITION, newImplementation);
    }

    /**
     * @dev Confirms a previously proposed implementation if the sender is one of the two cosigners
     * @param confirmedImplementation the address of previously proposed implementation (has to match the previously proposed implementation)
     */
    function confirmImplementation(address confirmedImplementation)
        public
        onlySigner
    {
        address proposedImplementation = readAddressAtPosition(
            PROPOSED_IMPLEMENTATION_POSITION
        );
        require(
            proposedImplementation != address(0),
            "proposed implementation cannot be address(0)"
        );
        require(
            confirmedImplementation == proposedImplementation,
            "proposed implementation doesn't match the confirmed implementation"
        );
        setNewAddressAtPosition(IMPLEMENTATION_POSITION, confirmedImplementation);
        setNewAddressAtPosition(PROPOSED_IMPLEMENTATION_POSITION, address(0));
    }

    /**
     * @dev Proposes a new admin address if the sender is the Admin
     * @param newAdminAddress address of the new admin role
     */
    function proposeAdminTransfer(address newAdminAddress) public onlyProxyAdmin {
        require(newAdminAddress != address(0), "new Admin address cannot be address(0)");
        setProposedAdmin(newAdminAddress);
    }


    /**
     * @dev Changes the admin address to the previously proposed admin address if 24 hours has past since it was proposed
     */
    function confirmAdminTransfer() public onlyProxyAdmin {
        address newAdminAddress = proposedNewAdmin();
        require(newAdminAddress != address(0), "new Admin address cannot be address(0)");
        require(proposedNewAdminTimestamp() <= block.timestamp, "admin change can only be submitted after 1 day");
        setProxyAdmin(newAdminAddress);
        setProposedAdmin(address(0));
    }

    /**
     * @dev Returns whether address is a contract
     */
    function isContract(address _addr) private view returns (bool){
        uint32 size;
        assembly {
            size := extcodesize(_addr)
        }
        return (size > 0);
    }

    /**
     * @dev Returns the address of the implementation contract of this proxy
     */
    function implementation() public view returns (address impl) {
        impl = readAddressAtPosition(IMPLEMENTATION_POSITION);
    }

    /**
     * @dev Returns the admin address of this proxy
     */
    function proxyAdmin() public view returns (address admin) {
        admin = readAddressAtPosition(PROXY_ADMIN_POSITION);
    }

    /**
     * @dev Returns the new proposed implementation address of this proxy (if there is no proposed implementations, returns address(0x0))
     */
    function proposedNewImplementation() public view returns (address impl) {
        impl = readAddressAtPosition(PROPOSED_IMPLEMENTATION_POSITION);
    }

    /**
     * @dev Returns the new proposed admin address of this proxy (if there is no proposed implementations, returns address(0x0))
     */
    function proposedNewAdmin() public view returns (address newAdmin) {
        newAdmin = readAddressAtPosition(PROPOSED_NEW_ADMIN);
    }

    /**
     * @dev Returns the timestamp that the proposed admin can be changed/confirmed
     */
    function proposedNewAdminTimestamp() public view returns (uint256 timestamp) {
        timestamp = readIntAtPosition(PROPOSED_NEW_ADMIN_TIMESTAMP);
    }

    /**
     * @dev Returns the address of the first cosigner if 'id' == 0, otherwise returns the address of the second cosigner
     */
    function proxySigner(uint256 id) public view returns (address signer) {
        if (id == 0) {
            signer = readAddressAtPosition(PROXY_COSIGNER1_POSITION);
        } else {
            signer = readAddressAtPosition(PROXY_COSIGNER2_POSITION);
        }
    }

    /**
     * @dev Returns the proxy type, specified by EIP-897
     * @return Always return 2
     **/
    function proxyType() public pure returns (uint256) {
        return 2; // type 2 is for upgradeable proxy as per EIP-897
    }


    function setProposedAdmin(address proposedAdmin) private {
        setNewAddressAtPosition(PROPOSED_NEW_ADMIN, proposedAdmin);
        setNewIntAtPosition(PROPOSED_NEW_ADMIN_TIMESTAMP, block.timestamp + 1 days);
    }

    function setProxyAdmin(address newAdmin) private {
        setNewAddressAtPosition(PROXY_ADMIN_POSITION, newAdmin);
    }

    function setNewAddressAtPosition(bytes32 position, address newAddr) private {
        assembly { sstore(position, newAddr) }
    }

    function readAddressAtPosition(bytes32 position) private view returns (address result) {
        assembly { result := sload(position) }
    }

    function setNewIntAtPosition(bytes32 position, uint256 newInt) private {
        assembly { sstore(position, newInt) }
    }

    function readIntAtPosition(bytes32 position) private view returns (uint256 result) {
        assembly { result := sload(position) }
    }

    /**
     * @dev Fallback function forwards all transactions and returns all received return data.
     */
    function() external payable {
        bytes32 position = IMPLEMENTATION_POSITION;
        // solium-disable-next-line security/no-inline-assembly
        assembly {
            let masterCopy := and(
                sload(position),
                0xffffffffffffffffffffffffffffffffffffffff
            )
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize())
            let success := delegatecall(
                gas,
                masterCopy,
                ptr,
                calldatasize(),
                0,
                0
            )
            returndatacopy(ptr, 0, returndatasize())
            switch eq(success, 0)
                case 1 {
                    revert(ptr, returndatasize())
                }
            return(ptr, returndatasize())
        }
    }
}

// File: contracts/proxies/xSNXProxy.sol

pragma solidity 0.5.15;


contract xSNXProxy is Proxy {
    constructor(
        address implementation,
        address proxyAdmin,
        address signer1,
        address signer2
    ) public Proxy(
        implementation,
        proxyAdmin,
        signer1,
        signer2
    ) {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"address","name":"proxyAdmin","type":"address"},{"internalType":"address","name":"signer1","type":"address"},{"internalType":"address","name":"signer2","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"confirmAdminTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"confirmedImplementation","type":"address"}],"name":"confirmImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newAdminAddress","type":"address"}],"name":"proposeAdminTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"proposeNewImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proposedNewAdmin","outputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposedNewAdminTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposedNewImplementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxyAdmin","outputs":[{"internalType":"address","name":"admin","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"proxySigner","outputs":[{"internalType":"address","name":"signer","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"}]

Deployed Bytecode

0x60806040526004361061009c5760003560e01c80635c60da1b116100645780635c60da1b146102c25780637e8aa69d146103195780637edae5101461036a5780638c01c3f714610381578063f7ea370d146103d2578063fe938dcb146104295761009c565b806320698c4f1461011d5780633e47158c146101745780634555d5c9146101cb57806347757fb6146101f65780634e6c564514610247575b600060405180807f78736e782e696d706c656d656e746174696f6e506f736974696f6e0000000000815250601b0190506040518091039020905073ffffffffffffffffffffffffffffffffffffffff81541660405136600082376000803683855af43d6000833e600081146001811461011457610118565b3d83fd5b503d82f35b34801561012957600080fd5b50610132610454565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561018057600080fd5b5061018961047c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101d757600080fd5b506101e06104c1565b6040518082815260200191505060405180910390f35b34801561020257600080fd5b506102456004803603602081101561021957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104ca565b005b34801561025357600080fd5b506102806004803603602081101561026a57600080fd5b81019080803590602001909291905050506106d4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ce57600080fd5b506102d7610769565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032557600080fd5b506103686004803603602081101561033c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ae565b005b34801561037657600080fd5b5061037f6108b5565b005b34801561038d57600080fd5b506103d0600480360360208110156103a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a32565b005b3480156103de57600080fd5b506103e7610cbb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043557600080fd5b5061043e610d00565b6040518082815260200191505060405180910390f35b60006104776040518080610eee6023913960230190506040518091039020610d45565b905090565b60006104bc60405180807f78736e782e70726f787941646d696e0000000000000000000000000000000000815250600f0190506040518091039020610d45565b905090565b60006002905090565b61050860405180807f78736e782e70726f787941646d696e0000000000000000000000000000000000815250600f0190506040518091039020610d45565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461053f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105c5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180610e4b6030913960400191505060405180910390fd5b6105ce81610d50565b610623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610f11602d913960400191505060405180910390fd5b61062b610769565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156106af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604d815260200180610e7b604d913960600191505060405180910390fd5b6106d16040518080610eee602391396023019050604051809103902082610d69565b50565b6000808214156107235761071c60405180807f78736e782e636f7369676e657231000000000000000000000000000000000000815250600e0190506040518091039020610d45565b9050610764565b61076160405180807f78736e782e636f7369676e657232000000000000000000000000000000000000815250600e0190506040518091039020610d45565b90505b919050565b60006107a960405180807f78736e782e696d706c656d656e746174696f6e506f736974696f6e0000000000815250601b0190506040518091039020610d45565b905090565b6107ec60405180807f78736e782e70726f787941646d696e0000000000000000000000000000000000815250600f0190506040518091039020610d45565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461082357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108a9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610ec86026913960400191505060405180910390fd5b6108b281610d70565b50565b6108f360405180807f78736e782e70726f787941646d696e0000000000000000000000000000000000815250600f0190506040518091039020610d45565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461092a57600080fd5b6000610934610cbb565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610ec86026913960400191505060405180910390fd5b426109c5610d00565b1115610a1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610fac602e913960400191505060405180910390fd5b610a2581610df6565b610a2f6000610d70565b50565b6000610a7260405180807f78736e782e636f7369676e657231000000000000000000000000000000000000815250600e0190506040518091039020610d45565b90506000610ab460405180807f78736e782e636f7369676e657232000000000000000000000000000000000000815250600e0190506040518091039020610d45565b90508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b1b57508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b2457600080fd5b6000610b476040518080610eee6023913960230190506040518091039020610d45565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610bcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610f3e602c913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526042815260200180610f6a6042913960600191505060405180910390fd5b610c9260405180807f78736e782e696d706c656d656e746174696f6e506f736974696f6e0000000000815250601b019050604051809103902085610d69565b610cb56040518080610eee60239139602301905060405180910390206000610d69565b50505050565b6000610cfb60405180807f78736e782e70726f706f7365644e657741646d696e000000000000000000000081525060150190506040518091039020610d45565b905090565b6000610d4060405180807f78736e782e70726f706f7365644e657741646d696e54696d657374616d700000815250601e0190506040518091039020610e38565b905090565b600081549050919050565b600080823b905060008163ffffffff1611915050919050565b8082555050565b610daf60405180807f78736e782e70726f706f7365644e657741646d696e00000000000000000000008152506015019050604051809103902082610d69565b610df360405180807f78736e782e70726f706f7365644e657741646d696e54696d657374616d700000815250601e0190506040518091039020620151804201610e43565b50565b610e3560405180807f78736e782e70726f787941646d696e0000000000000000000000000000000000815250600f019050604051809103902082610d69565b50565b600081549050919050565b808255505056fe6e65772070726f706f73656420696d706c656d656e746174696f6e2063616e6e6f7420626520616464726573732830296e65772070726f706f73656420616464726573732063616e6e6f74206265207468652073616d65206173207468652063757272656e7420696d706c656d656e746174696f6e20616464726573736e65772041646d696e20616464726573732063616e6e6f74206265206164647265737328302978736e782e70726f706f736564496d706c656d656e746174696f6e506f736974696f6e6e65772070726f706f73656420696d706c656d656e746174696f6e206973206e6f74206120636f6e747261637470726f706f73656420696d706c656d656e746174696f6e2063616e6e6f74206265206164647265737328302970726f706f73656420696d706c656d656e746174696f6e20646f65736e2774206d617463682074686520636f6e6669726d656420696d706c656d656e746174696f6e61646d696e206368616e67652063616e206f6e6c79206265207375626d6974746564206166746572203120646179a265627a7a72315820510518b96281f0480901191e766691bfc4d23e9e0b662af39c770562389dcca564736f6c634300050f0032

Deployed Bytecode Sourcemap

9443:275:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8556:16;301:40;;;;;;;;;;;;;;;;;;;8556:42;;8772;8744:8;8738:15;8716:113;8860:4;8854:11;8900:14;8897:1;8892:3;8879:36;9101:1;9081;9048:14;9026:3;8997:10;8975:3;8944:173;9154:16;9151:1;9146:3;9131:40;9204:1;9195:7;9192:14;9229:1;9224:78;;;;9185:117;;9224:78;9266:16;9261:3;9254:29;9185:117;;9328:16;9323:3;9316:29;6085:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6085:153:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5792:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5792:128:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7335;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7335:128:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2773:517;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2773:517:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2773:517:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6945:273;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6945:273:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6945:273:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5580:133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5580:133:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4433:220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4433:220:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4433:220:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4804:404;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4804:404:0;;;:::i;:::-;;3560:717;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3560:717:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3560:717:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6394:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6394:138:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6642:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6642:155:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6085:153;6143:12;6175:55;408:48;;;;;;;;;;;;;;;;;;;6175:21;:55::i;:::-;6168:62;;6085:153;:::o;5792:128::-;5835:13;5869:43;513:28;;;;;;;;;;;;;;;;;;;5869:21;:43::i;:::-;5861:51;;5792:128;:::o;7335:::-;7377:7;7404:1;7397:8;;7335:128;:::o;2773:517::-;978:43;513:28;;;;;;;;;;;;;;;;;;;978:21;:43::i;:::-;964:57;;:10;:57;;;956:66;;;;;;2904:1;2875:31;;:17;:31;;;;2867:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2978:29;2989:17;2978:10;:29::i;:::-;2970:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3097:16;:14;:16::i;:::-;3076:37;;:17;:37;;;;3068:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3206:76;408:48;;;;;;;;;;;;;;;;;;;3264:17;3206:23;:76::i;:::-;2773:517;:::o;6945:273::-;6999:14;7036:1;7030:2;:7;7026:185;;;7063:47;600:27;;;;;;;;;;;;;;;;;;;7063:21;:47::i;:::-;7054:56;;7026:185;;;7152:47;686:27;;;;;;;;;;;;;;;;;;;7152:21;:47::i;:::-;7143:56;;7026:185;6945:273;;;:::o;5580:133::-;5627:12;5659:46;301:40;;;;;;;;;;;;;;;;;;;5659:21;:46::i;:::-;5652:53;;5580:133;:::o;4433:220::-;978:43;513:28;;;;;;;;;;;;;;;;;;;978:21;:43::i;:::-;964:57;;:10;:57;;;956:66;;;;;;4556:1;4529:29;;:15;:29;;;;4521:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4612:33;4629:15;4612:16;:33::i;:::-;4433:220;:::o;4804:404::-;978:43;513:28;;;;;;;;;;;;;;;;;;;978:21;:43::i;:::-;964:57;;:10;:57;;;956:66;;;;;;4869:23;4895:18;:16;:18::i;:::-;4869:44;;4959:1;4932:29;;:15;:29;;;;4924:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5054:15;5023:27;:25;:27::i;:::-;:46;;5015:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5131:30;5145:15;5131:13;:30::i;:::-;5172:28;5197:1;5172:16;:28::i;:::-;1033:1;4804:404::o;3560:717::-;1083:15;1101:47;600:27;;;;;;;;;;;;;;;;;;;1101:21;:47::i;:::-;1083:65;;1159:15;1177:47;686:27;;;;;;;;;;;;;;;;;;;1177:21;:47::i;:::-;1159:65;;1257:7;1243:21;;:10;:21;;;:46;;;;1282:7;1268:21;;:10;:21;;;1243:46;1235:55;;;;;;3676:30;3709:79;408:48;;;;;;;;;;;;;;;;;;;3709:21;:79::i;:::-;3676:112;;3855:1;3821:36;;:22;:36;;;;3799:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3989:22;3962:49;;:23;:49;;;3940:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4116:73;301:40;;;;;;;;;;;;;;;;;;;4165:23;4116;:73::i;:::-;4200:69;408:48;;;;;;;;;;;;;;;;;;;4266:1;4200:23;:69::i;:::-;1301:1;3560:717;;;:::o;6394:138::-;6443:16;6483:41;769:34;;;;;;;;;;;;;;;;;;;6483:21;:41::i;:::-;6472:52;;6394:138;:::o;6642:155::-;6700:17;6742:47;867:43;;;;;;;;;;;;;;;;;;;6742:17;:47::i;:::-;6730:59;;6642:155;:::o;7972:143::-;8043:14;8097:8;8091:15;8081:25;;8079:29;;;:::o;5285:191::-;5342:4;5358:11;5424:5;5412:18;5404:26;;5466:1;5459:4;:8;;;5451:17;;;5285:191;;;:::o;7832:132::-;7947:7;7937:8;7930:25;7928:29;;:::o;7473:220::-;7541:58;769:34;;;;;;;;;;;;;;;;;;;7585:13;7541:23;:58::i;:::-;7610:75;867:43;;;;;;;;;;;;;;;;;;;7678:6;7660:15;:24;7610:19;:75::i;:::-;7473:220;:::o;7701:123::-;7761:55;513:28;;;;;;;;;;;;;;;;;;;7807:8;7761:23;:55::i;:::-;7701:123;:::o;8257:139::-;8324:14;8378:8;8372:15;8362:25;;8360:29;;;:::o;8123:126::-;8233:6;8223:8;8216:24;8214:28;;:::o

Swarm Source

bzzr://510518b96281f0480901191e766691bfc4d23e9e0b662af39c770562389dcca5

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

SNX staking wrapper.

Validator Index Block Amount
View All Withdrawals

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

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