ETH Price: $3,457.39 (+1.53%)
Gas: 8 Gwei

Contract

0x453a8f1c6d60aa487Af1e21203001017A4F45fA3
 
Transaction Hash
Method
Block
From
To
Withdraw203261272024-07-17 12:03:5927 mins ago1721217839IN
0x453a8f1c...7A4F45fA3
0 ETH0.001217388.80534011
Withdraw203261152024-07-17 12:01:3530 mins ago1721217695IN
0x453a8f1c...7A4F45fA3
0 ETH0.001338939.68451708
Withdraw203227852024-07-17 0:52:5911 hrs ago1721177579IN
0x453a8f1c...7A4F45fA3
0 ETH0.001234356.83891626
Withdraw203225392024-07-17 0:03:4712 hrs ago1721174627IN
0x453a8f1c...7A4F45fA3
0 ETH0.000811435.86908755
Withdraw203225272024-07-17 0:01:2312 hrs ago1721174483IN
0x453a8f1c...7A4F45fA3
0 ETH0.00081445.89061855
Withdraw203189512024-07-16 12:04:1124 hrs ago1721131451IN
0x453a8f1c...7A4F45fA3
0 ETH0.001356829.81393874
Withdraw203189372024-07-16 12:01:2324 hrs ago1721131283IN
0x453a8f1c...7A4F45fA3
0 ETH0.001120938.10772056
Withdraw203153682024-07-16 0:04:1136 hrs ago1721088251IN
0x453a8f1c...7A4F45fA3
0 ETH0.000960886.9500797
Withdraw203153552024-07-16 0:01:3536 hrs ago1721088095IN
0x453a8f1c...7A4F45fA3
0 ETH0.000981247.09734697
Withdraw203117912024-07-15 12:03:592 days ago1721045039IN
0x453a8f1c...7A4F45fA3
0 ETH0.000636344.60271804
Withdraw203117782024-07-15 12:01:232 days ago1721044883IN
0x453a8f1c...7A4F45fA3
0 ETH0.000513823.71653295
Withdraw203082062024-07-15 0:03:592 days ago1721001839IN
0x453a8f1c...7A4F45fA3
0 ETH0.000332492.40493625
Withdraw203081932024-07-15 0:01:232 days ago1721001683IN
0x453a8f1c...7A4F45fA3
0 ETH0.000268731.94376692
Withdraw203046232024-07-14 12:04:113 days ago1720958651IN
0x453a8f1c...7A4F45fA3
0 ETH0.000301452.18041604
Withdraw203046102024-07-14 12:01:233 days ago1720958483IN
0x453a8f1c...7A4F45fA3
0 ETH0.000272761.9729162
Withdraw203010402024-07-14 0:03:593 days ago1720915439IN
0x453a8f1c...7A4F45fA3
0 ETH0.001186178.57959284
Withdraw203010272024-07-14 0:01:233 days ago1720915283IN
0x453a8f1c...7A4F45fA3
0 ETH0.001141888.25926647
Withdraw202974652024-07-13 12:03:474 days ago1720872227IN
0x453a8f1c...7A4F45fA3
0 ETH0.000205381.48552615
Withdraw202974532024-07-13 12:01:234 days ago1720872083IN
0x453a8f1c...7A4F45fA3
0 ETH0.00020391.47481806
Get Reward202947102024-07-13 2:49:594 days ago1720838999IN
0x453a8f1c...7A4F45fA3
0 ETH0.000541133.61931788
Withdraw202938872024-07-13 0:03:474 days ago1720829027IN
0x453a8f1c...7A4F45fA3
0 ETH0.000195391.41331152
Withdraw202938752024-07-13 0:01:234 days ago1720828883IN
0x453a8f1c...7A4F45fA3
0 ETH0.00019641.42060593
Withdraw202902972024-07-12 12:03:475 days ago1720785827IN
0x453a8f1c...7A4F45fA3
0 ETH0.000380682.75352843
Withdraw202902852024-07-12 12:01:235 days ago1720785683IN
0x453a8f1c...7A4F45fA3
0 ETH0.000372122.69156508
Get Reward202868802024-07-12 0:35:355 days ago1720744535IN
0x453a8f1c...7A4F45fA3
0 ETH0.000287691.80497248
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 0x359763ef...b6A59527f
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
StrikeStakingProxy

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-11-14
*/

// File: contracts\Staking\StrikeStakingStorage.sol

pragma solidity ^0.5.16;

contract StrikeStakingProxyAdminStorage {
    /**
    * @notice Administrator for this contract
    */
    address public admin;

    /**
    * @notice Pending administrator for this contract
    */
    address public pendingAdmin;

    /**
    * @notice Active brains of StrikeStakingProxy
    */
    address public strikeStakingImplementation;

    /**
    * @notice Pending brains of StrikeStakingProxy
    */
    address public pendingStrikeStakingImplementation;
}

contract StrikeStakingG1Storage is StrikeStakingProxyAdminStorage {
}

// File: contracts\Staking\StrikeStakingProxy.sol

pragma solidity ^0.5.16;
/**
 * @title StrikeStakingProxy
 * @dev Storage for the strike staking is at this address, while execution is delegated to the `strikeStakingImplementation`.
 */
contract StrikeStakingProxy is StrikeStakingProxyAdminStorage {

    /**
      * @notice Emitted when pendingStrikeStakingImplementation is changed
      */
    event NewPendingImplementation(address oldPendingImplementation, address newPendingImplementation);

    /**
      * @notice Emitted when pendingStrikeStakingImplementation is accepted, which means strikeStaking implementation is updated
      */
    event NewImplementation(address oldImplementation, address newImplementation);

    /**
      * @notice Emitted when pendingAdmin is changed
      */
    event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin);

    /**
      * @notice Emitted when pendingAdmin is accepted, which means admin is updated
      */
    event NewAdmin(address oldAdmin, address newAdmin);

    constructor() public {
        // Set admin to caller
        admin = msg.sender;
    }

    /*** Admin Functions ***/
    function _setPendingImplementation(address newPendingImplementation) public {
        require(msg.sender == admin, "SET_PENDING_IMPLEMENTATION_OWNER_CHECK");

        address oldPendingImplementation = pendingStrikeStakingImplementation;

        pendingStrikeStakingImplementation = newPendingImplementation;

        emit NewPendingImplementation(oldPendingImplementation, pendingStrikeStakingImplementation);
    }

    /**
    * @notice Accepts new implementation of strikeStaking. msg.sender must be pendingImplementation
    * @dev Admin function for new implementation to accept it's role as implementation
    */
    function _acceptImplementation() public {
        // Check caller is pendingImplementation and pendingImplementation ≠ address(0)
        require(msg.sender == pendingStrikeStakingImplementation && pendingStrikeStakingImplementation != address(0), "ACCEPT_PENDING_IMPLEMENTATION_ADDRESS_CHECK");

        // Save current values for inclusion in log
        address oldImplementation = strikeStakingImplementation;
        address oldPendingImplementation = pendingStrikeStakingImplementation;

        strikeStakingImplementation = pendingStrikeStakingImplementation;

        pendingStrikeStakingImplementation = address(0);

        emit NewImplementation(oldImplementation, strikeStakingImplementation);
        emit NewPendingImplementation(oldPendingImplementation, pendingStrikeStakingImplementation);
    }

    /**
      * @notice Begins transfer of admin rights. The newPendingAdmin must call `_acceptAdmin` to finalize the transfer.
      * @dev Admin function to begin change of admin. The newPendingAdmin must call `_acceptAdmin` to finalize the transfer.
      * @param newPendingAdmin New pending admin.
      * @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
      */
    function _setPendingAdmin(address newPendingAdmin) public {
        require(msg.sender == admin, "SET_PENDING_ADMIN_OWNER_CHECK");

        // Save current value, if any, for inclusion in log
        address oldPendingAdmin = pendingAdmin;

        // Store pendingAdmin with value newPendingAdmin
        pendingAdmin = newPendingAdmin;

        // Emit NewPendingAdmin(oldPendingAdmin, newPendingAdmin)
        emit NewPendingAdmin(oldPendingAdmin, newPendingAdmin);
    }

    /**
      * @notice Accepts transfer of admin rights. msg.sender must be pendingAdmin
      * @dev Admin function for pending admin to accept role and update admin
      * @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
      */
    function _acceptAdmin() public {
        require(msg.sender == pendingAdmin && msg.sender == address(0), "ACCEPT_ADMIN_PENDING_ADMIN_CHECK");

        // Save current values for inclusion in log
        address oldAdmin = admin;
        address oldPendingAdmin = pendingAdmin;

        // Store admin with value pendingAdmin
        admin = pendingAdmin;

        // Clear the pending value
        pendingAdmin = address(0);

        emit NewAdmin(oldAdmin, admin);
        emit NewPendingAdmin(oldPendingAdmin, pendingAdmin);
    }

    /**
     * @dev Delegates execution to an implementation contract.
     * It returns to the external caller whatever the implementation returns
     * or forwards reverts.
     */
    function () external payable {
        // delegate all other functions to current implementation
        (bool success, ) = strikeStakingImplementation.delegatecall(msg.data);

        assembly {
              let free_mem_ptr := mload(0x40)
              returndatacopy(free_mem_ptr, 0, returndatasize)

              switch success
              case 0 { revert(free_mem_ptr, returndatasize) }
              default { return(free_mem_ptr, returndatasize) }
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newImplementation","type":"address"}],"name":"NewImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"NewPendingAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingImplementation","type":"address"}],"name":"NewPendingImplementation","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"_acceptAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"_acceptImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"_setPendingAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newPendingImplementation","type":"address"}],"name":"_setPendingImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingStrikeStakingImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"strikeStakingImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]

Deployed Bytecode

0x60806040526004361061007b5760003560e01c8063ce6d67cd1161004e578063ce6d67cd1461018e578063e992a041146101a3578063e9c714f2146101d6578063f851a440146101eb5761007b565b806326782247146100fe57806392c72cc31461012f578063b71d1a0c14610144578063c1e8033414610179575b6002546040516000916001600160a01b031690829036908083838082843760405192019450600093509091505080830381855af49150503d80600081146100de576040519150601f19603f3d011682016040523d82523d6000602084013e6100e3565b606091505b505090506040513d6000823e8180156100fa573d82f35b3d82fd5b34801561010a57600080fd5b50610113610200565b604080516001600160a01b039092168252519081900360200190f35b34801561013b57600080fd5b5061011361020f565b34801561015057600080fd5b506101776004803603602081101561016757600080fd5b50356001600160a01b031661021e565b005b34801561018557600080fd5b506101776102e0565b34801561019a57600080fd5b506101136103f6565b3480156101af57600080fd5b50610177600480360360208110156101c657600080fd5b50356001600160a01b0316610405565b3480156101e257600080fd5b506101776104b0565b3480156101f757600080fd5b506101136105d0565b6001546001600160a01b031681565b6003546001600160a01b031681565b6000546001600160a01b0316331461027d576040805162461bcd60e51b815260206004820152601d60248201527f5345545f50454e44494e475f41444d494e5f4f574e45525f434845434b000000604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a15050565b6003546001600160a01b03163314801561030457506003546001600160a01b031615155b61033f5760405162461bcd60e51b815260040180806020018281038252602b815260200180610606602b913960400191505060405180910390fd5b60028054600380546001600160a01b038082166001600160a01b031980861682179687905590921690925560408051938316808552949092166020840152815190927fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a92908290030190a1600354604080516001600160a01b038085168252909216602083015280517fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d8159281900390910190a15050565b6002546001600160a01b031681565b6000546001600160a01b0316331461044e5760405162461bcd60e51b81526004018080602001828103825260268152602001806105e06026913960400191505060405180910390fd5b600380546001600160a01b038381166001600160a01b0319831617928390556040805192821680845293909116602083015280517fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d8159281900390910190a15050565b6001546001600160a01b0316331480156104c8575033155b610519576040805162461bcd60e51b815260206004820181905260248201527f4143434550545f41444d494e5f50454e44494e475f41444d494e5f434845434b604482015290519081900360640190fd5b60008054600180546001600160a01b038082166001600160a01b031980861682179687905590921690925560408051938316808552949092166020840152815190927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92908290030190a1600154604080516001600160a01b038085168252909216602083015280517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99281900390910190a15050565b6000546001600160a01b03168156fe5345545f50454e44494e475f494d504c454d454e544154494f4e5f4f574e45525f434845434b4143434550545f50454e44494e475f494d504c454d454e544154494f4e5f414444524553535f434845434ba265627a7a7231582050c7c1a3fb130fa00f0b4aca926c5992460130065fb24ffa97256883fe4f3cca64736f6c63430005100032

Deployed Bytecode Sourcemap

896:4832:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5365:27;;:50;;5347:12;;-1:-1:-1;;;;;5365:27:0;;5347:12;;5406:8;;5365:50;5347:12;5406:8;;5347:12;5365:50;1:33:-1;5365:50:0;;45:16:-1;;;-1:-1;5365:50:0;;-1:-1:-1;5365:50:0;;-1:-1:-1;;5365:50:0;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;5346:69:0;;;5480:4;5474:11;5533:14;5530:1;5516:12;5501:47;5573:7;5596:47;;;;5690:14;5676:12;5669:36;5596:47;5626:14;5612:12;5605:36;295:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;295:27:0;;;:::i;:::-;;;;-1:-1:-1;;;;;295:27:0;;;;;;;;;;;;;;519:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;519:49:0;;;:::i;3731:485::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3731:485:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3731:485:0;-1:-1:-1;;;;;3731:485:0;;:::i;:::-;;2488:829;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2488:829:0;;;:::i;399:42::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;399:42:0;;;:::i;1849:425::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1849:425:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1849:425:0;-1:-1:-1;;;;;1849:425:0;;:::i;4494:548::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4494:548:0;;;:::i;194:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;194:20:0;;;:::i;295:27::-;;;-1:-1:-1;;;;;295:27:0;;:::o;519:49::-;;;-1:-1:-1;;;;;519:49:0;;:::o;3731:485::-;3822:5;;-1:-1:-1;;;;;3822:5:0;3808:10;:19;3800:61;;;;;-1:-1:-1;;;3800:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3961:12;;;-1:-1:-1;;;;;4044:30:0;;;-1:-1:-1;;;;;;4044:30:0;;;;;;;4159:49;;;3961:12;;;;4159:49;;;;;;;;;;;;;;;;;;;;;;;3731:485;;:::o;2488:829::-;2652:34;;-1:-1:-1;;;;;2652:34:0;2638:10;:48;:100;;;;-1:-1:-1;2690:34:0;;-1:-1:-1;;;;;2690:34:0;:48;;2638:100;2630:156;;;;-1:-1:-1;;;2630:156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2880:27;;;2953:34;;;-1:-1:-1;;;;;2953:34:0;;;-1:-1:-1;;;;;;3000:64:0;;;;;;;;;3077:47;;;;;;3142:65;;;2880:27;;;3142:65;;;3179:27;;;;3142:65;;;;;;2953:34;;3142:65;;;;;;;;;3274:34;;3223:86;;;-1:-1:-1;;;;;3223:86:0;;;;;3274:34;;;3223:86;;;;;;;;;;;;;;;;2488:829;;:::o;399:42::-;;;-1:-1:-1;;;;;399:42:0;;:::o;1849:425::-;1958:5;;-1:-1:-1;;;;;1958:5:0;1944:10;:19;1936:70;;;;-1:-1:-1;;;1936:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2054:34;;;-1:-1:-1;;;;;2101:61:0;;;-1:-1:-1;;;;;;2101:61:0;;;;;;;2180:86;;;2054:34;;;2180:86;;;2231:34;;;;2180:86;;;;;;;;;;;;;;;;1849:425;;:::o;4494:548::-;4558:12;;-1:-1:-1;;;;;4558:12:0;4544:10;:26;:54;;;;-1:-1:-1;4574:10:0;:24;4544:54;4536:99;;;;;-1:-1:-1;;;4536:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4701:16;4720:5;;;4762:12;;-1:-1:-1;;;;;4762:12:0;;;-1:-1:-1;;;;;;4835:20:0;;;;;;;;;4904:25;;;;;;4947;;;4720:5;;;4947:25;;;4966:5;;;;4947:25;;;;;;4762:12;;4947:25;;;;;;;;;5021:12;;4988:46;;;-1:-1:-1;;;;;4988:46:0;;;;;5021:12;;;4988:46;;;;;;;;;;;;;;;;4494:548;;:::o;194:20::-;;;-1:-1:-1;;;;;194:20:0;;:::o

Swarm Source

bzzr://50c7c1a3fb130fa00f0b4aca926c5992460130065fb24ffa97256883fe4f3cca

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