ETH Price: $3,388.75 (+1.62%)

Contract

0xB08fE5DeBb2838d9f4A91132c3a87678007Da9A3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim210232882024-10-22 19:44:1167 days ago1729626251IN
0xB08fE5De...8007Da9A3
0 ETH0.0006916311.58965419
Claim198825492024-05-16 12:30:35226 days ago1715862635IN
0xB08fE5De...8007Da9A3
0 ETH0.000162934.94961155
Claim188901162023-12-29 8:41:59365 days ago1703839319IN
0xB08fE5De...8007Da9A3
0 ETH0.0009533828.96227893
Claim187494082023-12-09 14:56:59385 days ago1702133819IN
0xB08fE5De...8007Da9A3
0 ETH0.0027834846.64258517
Claim183865572023-10-19 19:46:47436 days ago1697744807IN
0xB08fE5De...8007Da9A3
0 ETH0.000480118.04522463
Claim182752702023-10-04 6:08:35451 days ago1696399715IN
0xB08fE5De...8007Da9A3
0 ETH0.000475976.1994269
Claim178007742023-07-29 19:26:35518 days ago1690658795IN
0xB08fE5De...8007Da9A3
0 ETH0.0021027927.38832476
Claim175862912023-06-29 16:57:47548 days ago1688057867IN
0xB08fE5De...8007Da9A3
0 ETH0.0012494537.95659233
Claim175550232023-06-25 7:30:59552 days ago1687678259IN
0xB08fE5De...8007Da9A3
0 ETH0.0005911817.95928433
Claim175549152023-06-25 7:09:23552 days ago1687676963IN
0xB08fE5De...8007Da9A3
0 ETH0.0006255819.00430908
Claim175094672023-06-18 21:54:59558 days ago1687125299IN
0xB08fE5De...8007Da9A3
0 ETH0.0011789315.35534575
Claim174726752023-06-13 17:52:35564 days ago1686678755IN
0xB08fE5De...8007Da9A3
0 ETH0.0011804615.37528358
Claim172879732023-05-18 17:39:23590 days ago1684431563IN
0xB08fE5De...8007Da9A3
0 ETH0.005309469.15356301
Claim170785102023-04-19 5:12:47619 days ago1681881167IN
0xB08fE5De...8007Da9A3
0 ETH0.0037630749.01308444
Claim170625872023-04-16 23:09:47621 days ago1681686587IN
0xB08fE5De...8007Da9A3
0 ETH0.0019255325.07962523
Claim169906892023-04-06 16:18:11632 days ago1680797891IN
0xB08fE5De...8007Da9A3
0 ETH0.0010097630.67510577
Claim169059532023-03-25 17:26:47644 days ago1679765207IN
0xB08fE5De...8007Da9A3
0 ETH0.002001733.54229022
Claim168797132023-03-22 0:58:11647 days ago1679446691IN
0xB08fE5De...8007Da9A3
0 ETH0.0010317813.43869956
Claim168231972023-03-14 2:23:35655 days ago1678760615IN
0xB08fE5De...8007Da9A3
0 ETH0.0022299129.04407774
Claim167396792023-03-02 8:25:11667 days ago1677745511IN
0xB08fE5De...8007Da9A3
0 ETH0.0014789119.26252005
Claim167285482023-02-28 18:50:23669 days ago1677610223IN
0xB08fE5De...8007Da9A3
0 ETH0.0035762146.57928116
Claim167050022023-02-25 11:27:59672 days ago1677324479IN
0xB08fE5De...8007Da9A3
0 ETH0.0012438920.84386638
Claim166633782023-02-19 14:58:23678 days ago1676818703IN
0xB08fE5De...8007Da9A3
0 ETH0.0016498427.64629482
Claim166258522023-02-14 8:39:35683 days ago1676363975IN
0xB08fE5De...8007Da9A3
0 ETH0.0014968219.49574635
Claim165906982023-02-09 10:47:47688 days ago1675939667IN
0xB08fE5De...8007Da9A3
0 ETH0.0016816521.90308146
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.