ETH Price: $3,212.29 (+3.04%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim215822102025-01-08 20:40:4721 days ago1736368847IN
0xB08fE5De...8007Da9A3
0 ETH0.000758319.87682403
Claim210232882024-10-22 19:44:1199 days ago1729626251IN
0xB08fE5De...8007Da9A3
0 ETH0.0006916311.58965419
Claim198825492024-05-16 12:30:35258 days ago1715862635IN
0xB08fE5De...8007Da9A3
0 ETH0.000162934.94961155
Claim188901162023-12-29 8:41:59398 days ago1703839319IN
0xB08fE5De...8007Da9A3
0 ETH0.0009533828.96227893
Claim187494082023-12-09 14:56:59417 days ago1702133819IN
0xB08fE5De...8007Da9A3
0 ETH0.0027834846.64258517
Claim183865572023-10-19 19:46:47468 days ago1697744807IN
0xB08fE5De...8007Da9A3
0 ETH0.000480118.04522463
Claim182752702023-10-04 6:08:35484 days ago1696399715IN
0xB08fE5De...8007Da9A3
0 ETH0.000475976.1994269
Claim178007742023-07-29 19:26:35550 days ago1690658795IN
0xB08fE5De...8007Da9A3
0 ETH0.0021027927.38832476
Claim175862912023-06-29 16:57:47580 days ago1688057867IN
0xB08fE5De...8007Da9A3
0 ETH0.0012494537.95659233
Claim175550232023-06-25 7:30:59585 days ago1687678259IN
0xB08fE5De...8007Da9A3
0 ETH0.0005911817.95928433
Claim175549152023-06-25 7:09:23585 days ago1687676963IN
0xB08fE5De...8007Da9A3
0 ETH0.0006255819.00430908
Claim175094672023-06-18 21:54:59591 days ago1687125299IN
0xB08fE5De...8007Da9A3
0 ETH0.0011789315.35534575
Claim174726752023-06-13 17:52:35596 days ago1686678755IN
0xB08fE5De...8007Da9A3
0 ETH0.0011804615.37528358
Claim172879732023-05-18 17:39:23622 days ago1684431563IN
0xB08fE5De...8007Da9A3
0 ETH0.005309469.15356301
Claim170785102023-04-19 5:12:47652 days ago1681881167IN
0xB08fE5De...8007Da9A3
0 ETH0.0037630749.01308444
Claim170625872023-04-16 23:09:47654 days ago1681686587IN
0xB08fE5De...8007Da9A3
0 ETH0.0019255325.07962523
Claim169906892023-04-06 16:18:11664 days ago1680797891IN
0xB08fE5De...8007Da9A3
0 ETH0.0010097630.67510577
Claim169059532023-03-25 17:26:47676 days ago1679765207IN
0xB08fE5De...8007Da9A3
0 ETH0.002001733.54229022
Claim168797132023-03-22 0:58:11680 days ago1679446691IN
0xB08fE5De...8007Da9A3
0 ETH0.0010317813.43869956
Claim168231972023-03-14 2:23:35688 days ago1678760615IN
0xB08fE5De...8007Da9A3
0 ETH0.0022299129.04407774
Claim167396792023-03-02 8:25:11700 days ago1677745511IN
0xB08fE5De...8007Da9A3
0 ETH0.0014789119.26252005
Claim167285482023-02-28 18:50:23701 days ago1677610223IN
0xB08fE5De...8007Da9A3
0 ETH0.0035762146.57928116
Claim167050022023-02-25 11:27:59705 days ago1677324479IN
0xB08fE5De...8007Da9A3
0 ETH0.0012438920.84386638
Claim166633782023-02-19 14:58:23710 days ago1676818703IN
0xB08fE5De...8007Da9A3
0 ETH0.0016498427.64629482
Claim166258522023-02-14 8:39:35716 days ago1676363975IN
0xB08fE5De...8007Da9A3
0 ETH0.0014968219.49574635
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OwnedUpgradeabilityProxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-02-03
*/

// SPDX-License-Identifier: (c) Armor.Fi DAO, 2021

pragma solidity 0.6.12;

/**
 * @title Proxy
 * @dev Gives the possibility to delegate any call to a foreign implementation.
 */
abstract contract Proxy {
    /**
    * @dev Fallback function allowing to perform a delegatecall to the given implementation.
    * This function will return whatever the implementation call returns
    */
    fallback() external payable {
        address _impl = implementation();
        require(_impl != address(0));

        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize())
            let result := delegatecall(gas(), _impl, ptr, calldatasize(), 0, 0)
            let size := returndatasize()
            returndatacopy(ptr, 0, size)

            switch result
            case 0 { revert(ptr, size) }
            default { return(ptr, size) }
            }
    }

    /**
    * @dev Tells the address of the implementation where every call will be delegated.
    * @return address of the implementation to which it will be delegated
    */
    function implementation() public view virtual returns (address);
}

/**
 * @title UpgradeabilityProxy
 * @dev This contract represents a proxy where the implementation address to which it will delegate can be upgraded
 */
contract UpgradeabilityProxy is Proxy {
    /**
    * @dev This event will be emitted every time the implementation gets upgraded
    * @param implementation representing the address of the upgraded implementation
    */
    event Upgraded(address indexed implementation);

    // Storage position of the address of the current implementation
    bytes32 private constant IMPLEMENTATION_POSITION = keccak256("org.govblocks.proxy.implementation");

    /**
    * @dev Constructor function
    */
    constructor() public {}

    /**
    * @dev Tells the address of the current implementation
    * @return impl address of the current implementation
    */
    function implementation() public view override returns (address impl) {
        bytes32 position = IMPLEMENTATION_POSITION;
        assembly {
            impl := sload(position)
        }
    }

    /**
    * @dev Sets the address of the current implementation
    * @param _newImplementation address representing the new implementation to be set
    */
    function _setImplementation(address _newImplementation) internal {
        bytes32 position = IMPLEMENTATION_POSITION;
        assembly {
        sstore(position, _newImplementation)
        }
    }

    /**
    * @dev Upgrades the implementation address
    * @param _newImplementation representing the address of the new implementation to be set
    */
    function _upgradeTo(address _newImplementation) internal {
        address currentImplementation = implementation();
        require(currentImplementation != _newImplementation);
        _setImplementation(_newImplementation);
        emit Upgraded(_newImplementation);
    }
}

/**
 * @title OwnedUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with basic authorization control functionalities
 */
contract OwnedUpgradeabilityProxy is UpgradeabilityProxy {
    /**
    * @dev Event to show ownership has been transferred
    * @param previousOwner representing the address of the previous owner
    * @param newOwner representing the address of the new owner
    */
    event ProxyOwnershipTransferred(address previousOwner, address newOwner);

    // Storage position of the owner of the contract
    bytes32 private constant PROXY_OWNER_POSITION = keccak256("org.govblocks.proxy.owner");

    /**
    * @dev the constructor sets the original owner of the contract to the sender account.
    */
    constructor(address _implementation) public {
        _setUpgradeabilityOwner(msg.sender);
        _upgradeTo(_implementation);
    }

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

    /**
    * @dev Tells the address of the owner
    * @return owner the address of the owner
    */
    function proxyOwner() public view returns (address owner) {
        bytes32 position = PROXY_OWNER_POSITION;
        assembly {
            owner := sload(position)
        }
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param _newOwner The address to transfer ownership to.
    */
    function transferProxyOwnership(address _newOwner) public onlyProxyOwner {
        require(_newOwner != address(0));
        _setUpgradeabilityOwner(_newOwner);
        emit ProxyOwnershipTransferred(proxyOwner(), _newOwner);
    }

    /**
    * @dev Allows the proxy owner to upgrade the current version of the proxy.
    * @param _implementation representing the address of the new implementation to be set.
    */
    function upgradeTo(address _implementation) public onlyProxyOwner {
        _upgradeTo(_implementation);
    }

    /**
     * @dev Sets the address of the owner
    */
    function _setUpgradeabilityOwner(address _newProxyOwner) internal {
        bytes32 position = PROXY_OWNER_POSITION;
        assembly {
            sstore(position, _newProxyOwner)
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"ProxyOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516104563803806104568339818101604052602081101561003357600080fd5b505161003e3361004d565b61004781610071565b50610102565b7f2dbc9b6b8d09ee15269835797a45b6f772b81406ec218e6fd64b114f376266ba55565b600061007b6100dd565b9050816001600160a01b0316816001600160a01b0316141561009c57600080fd5b6100a5826100f0565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000805160206104368339815191525490565b60008051602061043683398151915255565b610325806101116000396000f3fe60806040526004361061003f5760003560e01c8063025313a2146100835780633659cfe6146100b45780635c60da1b146100e9578063f1739cae146100fe575b6000610049610131565b90506001600160a01b03811661005e57600080fd5b60405136600082376000803683855af43d806000843e81801561007f578184f35b8184fd5b34801561008f57600080fd5b50610098610156565b604080516001600160a01b039092168252519081900360200190f35b3480156100c057600080fd5b506100e7600480360360208110156100d757600080fd5b50356001600160a01b031661017b565b005b3480156100f557600080fd5b50610098610131565b34801561010a57600080fd5b506100e76004803603602081101561012157600080fd5b50356001600160a01b03166101ac565b7f7fb5080a7084f4c60aade0a78fc13ba4ba6555b60e554360d005f0d684cea1865490565b7f2dbc9b6b8d09ee15269835797a45b6f772b81406ec218e6fd64b114f376266ba5490565b610183610156565b6001600160a01b0316336001600160a01b0316146101a057600080fd5b6101a98161023b565b50565b6101b4610156565b6001600160a01b0316336001600160a01b0316146101d157600080fd5b6001600160a01b0381166101e457600080fd5b6101ed816102a7565b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd9610216610156565b604080516001600160a01b03928316815291841660208301528051918290030190a150565b6000610245610131565b9050816001600160a01b0316816001600160a01b0316141561026657600080fd5b61026f826102cb565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b7f2dbc9b6b8d09ee15269835797a45b6f772b81406ec218e6fd64b114f376266ba55565b7f7fb5080a7084f4c60aade0a78fc13ba4ba6555b60e554360d005f0d684cea1865556fea264697066735822122032d05dba64b51e05e459bcb8d29b7006b520c04d01f152d295df9e4dd693e12464736f6c634300060c00337fb5080a7084f4c60aade0a78fc13ba4ba6555b60e554360d005f0d684cea1860000000000000000000000008723eb25fc67a6ea3693718019fe7294f078d2b2

Deployed Bytecode

0x60806040526004361061003f5760003560e01c8063025313a2146100835780633659cfe6146100b45780635c60da1b146100e9578063f1739cae146100fe575b6000610049610131565b90506001600160a01b03811661005e57600080fd5b60405136600082376000803683855af43d806000843e81801561007f578184f35b8184fd5b34801561008f57600080fd5b50610098610156565b604080516001600160a01b039092168252519081900360200190f35b3480156100c057600080fd5b506100e7600480360360208110156100d757600080fd5b50356001600160a01b031661017b565b005b3480156100f557600080fd5b50610098610131565b34801561010a57600080fd5b506100e76004803603602081101561012157600080fd5b50356001600160a01b03166101ac565b7f7fb5080a7084f4c60aade0a78fc13ba4ba6555b60e554360d005f0d684cea1865490565b7f2dbc9b6b8d09ee15269835797a45b6f772b81406ec218e6fd64b114f376266ba5490565b610183610156565b6001600160a01b0316336001600160a01b0316146101a057600080fd5b6101a98161023b565b50565b6101b4610156565b6001600160a01b0316336001600160a01b0316146101d157600080fd5b6001600160a01b0381166101e457600080fd5b6101ed816102a7565b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd9610216610156565b604080516001600160a01b03928316815291841660208301528051918290030190a150565b6000610245610131565b9050816001600160a01b0316816001600160a01b0316141561026657600080fd5b61026f826102cb565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b7f2dbc9b6b8d09ee15269835797a45b6f772b81406ec218e6fd64b114f376266ba55565b7f7fb5080a7084f4c60aade0a78fc13ba4ba6555b60e554360d005f0d684cea1865556fea264697066735822122032d05dba64b51e05e459bcb8d29b7006b520c04d01f152d295df9e4dd693e12464736f6c634300060c0033

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

0000000000000000000000008723eb25fc67a6ea3693718019fe7294f078d2b2

-----Decoded View---------------
Arg [0] : _implementation (address): 0x8723eb25Fc67A6ea3693718019fE7294f078D2B2

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008723eb25fc67a6ea3693718019fe7294f078d2b2


Deployed Bytecode Sourcemap

3198:2225:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;444:13;460:16;:14;:16::i;:::-;444:32;-1:-1:-1;;;;;;495:19:0;;487:28;;;;;;569:4;563:11;609:14;606:1;601:3;588:36;703:1;700;684:14;679:3;672:5;665;652:53;731:16;784:4;781:1;776:3;761:28;812:6;832:28;;;;896:4;891:3;884:17;832:28;853:4;848:3;841:17;4247:185;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4247:185:0;;;;;;;;;;;;;;5039:112;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5039:112:0;-1:-1:-1;;;;;5039:112:0;;:::i;:::-;;2020:199;;;;;;;;;;;;;:::i;4607:235::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4607:235:0;-1:-1:-1;;;;;4607:235:0;;:::i;2020:199::-;1748:47;2186:15;;2163:49::o;4247:185::-;3659:38;4399:15;;4375:50::o;5039:112::-;4100:12;:10;:12::i;:::-;-1:-1:-1;;;;;4086:26:0;:10;-1:-1:-1;;;;;4086:26:0;;4078:35;;;;;;5116:27:::1;5127:15;5116:10;:27::i;:::-;5039:112:::0;:::o;4607:235::-;4100:12;:10;:12::i;:::-;-1:-1:-1;;;;;4086:26:0;:10;-1:-1:-1;;;;;4086:26:0;;4078:35;;;;;;-1:-1:-1;;;;;4699:23:0;::::1;4691:32;;;::::0;::::1;;4734:34;4758:9;4734:23;:34::i;:::-;4784:50;4810:12;:10;:12::i;:::-;4784:50;::::0;;-1:-1:-1;;;;;4784:50:0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;4607:235:::0;:::o;2760:280::-;2828:29;2860:16;:14;:16::i;:::-;2828:48;;2920:18;-1:-1:-1;;;;;2895:43:0;:21;-1:-1:-1;;;;;2895:43:0;;;2887:52;;;;;;2950:38;2969:18;2950;:38::i;:::-;3004:28;;-1:-1:-1;;;;;3004:28:0;;;;;;;;2760:280;;:::o;5219:201::-;3659:38;5370:32;5355:58::o;2390:203::-;1748:47;2539:36;2528:58::o

Swarm Source

ipfs://32d05dba64b51e05e459bcb8d29b7006b520c04d01f152d295df9e4dd693e124

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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