ETH Price: $2,714.01 (-9.20%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Change Owner242964562026-01-23 9:00:596 days ago1769158859IN
0x535e274E...6fd693AaA
0 ETH0.000001350.0411745
Cast Vote238898572025-11-27 11:49:3563 days ago1764244175IN
0x535e274E...6fd693AaA
0 ETH0.000008320.04797376
Set Governor And...236353402025-10-22 20:07:4799 days ago1761163667IN
0x535e274E...6fd693AaA
0 ETH0.000051490.16898253

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Proxy

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
prague EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.30;

/// @dev Zero implementation address.
error ZeroImplementationAddress();

/// @dev Zero proxy data.
error ZeroProxyData();

/// @dev Proxy initialization failed.
error InitializationFailed();

/*
* This is a proxy contract.
* Proxy implementation is created based on the Slots (ERC-1967) and Universal Upgradeable Proxy Standard (UUPS) EIP-1822.
* The implementation address must be located in a unique storage slot of the proxy contract.
* The upgrade logic must be located in the implementation contract.
* Special lock implementation address slot is produced by hashing the "eip1967.proxy.implementation"
* string in order to make the slot unique.
* The fallback() implementation for all the delegatecall-s is inspired by the Gnosis Safe set of contracts.
*/

/// @title Proxy - Smart contract for proxy implementation
contract Proxy {
    // Code position in storage is bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1) = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"
    bytes32 public constant PROXY_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /// @dev Proxy constructor.
    /// @param implementation Implementation address.
    /// @param proxyData Proxy initialization data.
    constructor(address implementation, bytes memory proxyData) {
        // Check for the zero address, since the delegatecall works even with the zero one
        if (implementation == address(0)) {
            revert ZeroImplementationAddress();
        }

        // Check for the zero data
        if (proxyData.length == 0) {
            revert ZeroProxyData();
        }

        // Store the lock implementation address
        assembly {
            sstore(PROXY_SLOT, implementation)
        }
        // Initialize proxy tokenomics storage
        (bool success,) = implementation.delegatecall(proxyData);
        if (!success) {
            revert InitializationFailed();
        }
    }

    /// @dev Delegatecall to all the incoming data.
    fallback() external payable {
        assembly {
            let implementation := sload(PROXY_SLOT)
            calldatacopy(0, 0, calldatasize())
            let success := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            if eq(success, 0) { revert(0, returndatasize()) }
            return(0, returndatasize())
        }
    }

    /// @dev Gets the implementation address.
    /// @return implementation Implementation address.
    function getImplementation() external view returns (address implementation) {
        // solhint-disable-next-line avoid-low-level-calls
        assembly {
            implementation := sload(PROXY_SLOT)
        }
    }
}

Settings
{
  "remappings": [
    "@gnosis.pm/=node_modules/@gnosis.pm/",
    "@layerzerolabs/oapp-evm/=lib/devtools/packages/oapp-evm/",
    "@layerzerolabs/lz-evm-protocol-v2/=lib/layerzero-v2/packages/layerzero-v2/evm/protocol/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "@registries/=lib/autonolas-registries/",
    "@solmate/=lib/solmate/",
    "autonolas-registries/=lib/autonolas-registries/",
    "devtools/=lib/devtools/packages/toolbox-foundry/src/",
    "ds-test/=lib/autonolas-registries/lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "forge-std/=lib/autonolas-registries/lib/forge-std/src/",
    "halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",
    "layerzero-v2/=lib/layerzero-v2/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "solmate/=lib/solmate/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 1000000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "prague",
  "viaIR": true
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"proxyData","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InitializationFailed","type":"error"},{"inputs":[],"name":"ZeroImplementationAddress","type":"error"},{"inputs":[],"name":"ZeroProxyData","type":"error"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"PROXY_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523461012e576102ed8038038061001981610132565b92833981019060408183031261012e5780516001600160a01b0381169182820361012e576020810151906001600160401b03821161012e57019183601f8401121561012e57825161007161006c8261016b565b610132565b9381855260208501956020838301011161012e57815f926020809301885e850101521561011f57815115610110575f928392827f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5551915af43d1561010b573d6100dd61006c8261016b565b9081525f60203d92013e5b156100fc5760405161016690816101878239f35b630337323560e31b5f5260045ffd5b6100e8565b6376e27ff360e11b5f5260045ffd5b63d02c623d60e01b5f5260045ffd5b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761015757604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03811161015757601f01601f19166020019056fe6080604052600436106100f2575f3560e01c8063aa3d10df1461009a5763aaf10f42036100f25734610096575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100965760207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff60405191168152f35b5f80fd5b34610096575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610096577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60805260206080f35b5f807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54368280378136915af43d5f803e1561012c573d5ff35b3d5ffdfea26469706673582212207f9cd4396cc1ca8859f9a2162bed7466391148754ab67bc1292ca6b5340bc80664736f6c634300081e003300000000000000000000000062a7033dcb94486f3da962bfc10631c9f5ef311e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000048129fc1c00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100f2575f3560e01c8063aa3d10df1461009a5763aaf10f42036100f25734610096575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100965760207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff60405191168152f35b5f80fd5b34610096575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610096577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60805260206080f35b5f807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54368280378136915af43d5f803e1561012c573d5ff35b3d5ffdfea26469706673582212207f9cd4396cc1ca8859f9a2162bed7466391148754ab67bc1292ca6b5340bc80664736f6c634300081e0033

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

00000000000000000000000062a7033dcb94486f3da962bfc10631c9f5ef311e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000048129fc1c00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : implementation (address): 0x62a7033dCB94486F3dA962BfC10631C9f5eF311e
Arg [1] : proxyData (bytes): 0x8129fc1c

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000062a7033dcb94486f3da962bfc10631c9f5ef311e
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [3] : 8129fc1c00000000000000000000000000000000000000000000000000000000


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.