ETH Price: $1,806.54 (+10.76%)
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x4912f69a8ab34f06377ef979e665c0534c97c6bdd8a85827d26e6b0eeff73729 Prove Withdrawal...(pending)2025-04-21 3:06:152 days ago1745204775IN
Manta Pacific: Escrow for ETH
0 ETH(Pending)(Pending)
0x927f95b6882ee588ec7cfe7aca84b120985520f1a3559ec3108ed66a4e059b34 Finalize Withdra...(pending)2025-04-20 9:55:323 days ago1745142932IN
Manta Pacific: Escrow for ETH
0 ETH(Pending)(Pending)
0x97572e1f3118dd153a4c0a7125652b5e3ef6868a9f54bb2820f53b2bce605a02 Transfer(pending)2025-04-20 9:48:003 days ago1745142480IN
Manta Pacific: Escrow for ETH
0 ETH(Pending)(Pending)
0x0d7ad80a28d6bd445e081c33045d3d93dda6c52f5118a95da7b56e4e5e0979a4 Transfer(pending)2025-04-20 3:38:393 days ago1745120319IN
Manta Pacific: Escrow for ETH
0 ETH(Pending)(Pending)
0x482f8699217a7a2f79cfd7d91291a15b94696ef0cb2089ef3ffeb3594c43e4aa Prove Withdrawal...(pending)2025-04-20 1:28:503 days ago1745112530IN
Manta Pacific: Escrow for ETH
0 ETH(Pending)(Pending)
0x9ab6aee450d345a571adc75ac8f3e4a811017c98964028ac34842503986989c4 Prove Withdrawal...(pending)2025-04-20 1:24:293 days ago1745112269IN
Manta Pacific: Escrow for ETH
0 ETH(Pending)(Pending)
0x5c7d15cd135b34d255771cb81e980a96d5b601e386dcaba6aecbbc0707a8de5d Prove Withdrawal...(pending)2025-04-20 1:24:293 days ago1745112269IN
Manta Pacific: Escrow for ETH
0 ETH(Pending)(Pending)
0x009fb295a0ac30f6dcf3db3e406d86f7e9fff3ae43a9fa0b1749c84a08f603ec Finalize Withdra...(pending)2025-04-20 1:24:203 days ago1745112260IN
Manta Pacific: Escrow for ETH
0 ETH(Pending)(Pending)
Prove Withdrawal...223306552025-04-23 8:58:112 hrs ago1745398691IN
Manta Pacific: Escrow for ETH
0 ETH0.000438241.6
Prove Withdrawal...223303642025-04-23 7:59:233 hrs ago1745395163IN
Manta Pacific: Escrow for ETH
0 ETH0.000396471.45184685
Prove Withdrawal...223303482025-04-23 7:56:113 hrs ago1745394971IN
Manta Pacific: Escrow for ETH
0 ETH0.0002230.81210527
Prove Withdrawal...223300772025-04-23 7:01:234 hrs ago1745391683IN
Manta Pacific: Escrow for ETH
0 ETH0.000938223.43923841
Finalize Withdra...223290162025-04-23 3:27:118 hrs ago1745378831IN
Manta Pacific: Escrow for ETH
0 ETH0.000230981.12211561
Finalize Withdra...223290042025-04-23 3:24:478 hrs ago1745378687IN
Manta Pacific: Escrow for ETH
0 ETH0.00023331.13281437
Finalize Withdra...223289442025-04-23 3:12:478 hrs ago1745377967IN
Manta Pacific: Escrow for ETH
0 ETH0.000284251.56231226
Finalize Withdra...223276162025-04-22 22:44:5912 hrs ago1745361899IN
Manta Pacific: Escrow for ETH
0 ETH0.000363872
Prove Withdrawal...223274152025-04-22 22:04:2313 hrs ago1745359463IN
Manta Pacific: Escrow for ETH
0 ETH0.001543545.09990415
Prove Withdrawal...223267752025-04-22 19:55:4715 hrs ago1745351747IN
Manta Pacific: Escrow for ETH
0 ETH0.000498261.65177552
Finalize Withdra...223259032025-04-22 17:00:4718 hrs ago1745341247IN
Manta Pacific: Escrow for ETH
0 ETH0.000624392.71265192
Finalize Withdra...223258972025-04-22 16:59:3518 hrs ago1745341175IN
Manta Pacific: Escrow for ETH
0 ETH0.000689632.93952448
Finalize Withdra...223257362025-04-22 16:27:2319 hrs ago1745339243IN
Manta Pacific: Escrow for ETH
0 ETH0.000771194.2371501
Prove Withdrawal...223250282025-04-22 14:05:2321 hrs ago1745330723IN
Manta Pacific: Escrow for ETH
0 ETH0.002148827.87143666
Finalize Withdra...223249632025-04-22 13:52:2321 hrs ago1745329943IN
Manta Pacific: Escrow for ETH
0 ETH0.001387157.62292189
Prove Withdrawal...223228712025-04-22 6:52:2328 hrs ago1745304743IN
Manta Pacific: Escrow for ETH
0 ETH0.000238260.86744281
Prove Withdrawal...223213122025-04-22 1:39:2334 hrs ago1745285963IN
Manta Pacific: Escrow for ETH
0 ETH0.000109530.4
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Deposit Transact...223306672025-04-23 9:00:352 hrs ago1745398835
Manta Pacific: Escrow for ETH
0.001 ETH
Deposit Transact...223304922025-04-23 8:24:593 hrs ago1745396699
Manta Pacific: Escrow for ETH
0.0001 ETH
Deposit Transact...223300672025-04-23 6:59:234 hrs ago1745391563
Manta Pacific: Escrow for ETH
0.04 ETH
Deposit Transact...223292782025-04-23 4:19:597 hrs ago1745381999
Manta Pacific: Escrow for ETH
0.01 ETH
Relay Message223289442025-04-23 3:12:478 hrs ago1745377967
Manta Pacific: Escrow for ETH
0.0041 ETH
Relay Message223276162025-04-22 22:44:5912 hrs ago1745361899
Manta Pacific: Escrow for ETH
0.002 ETH
Deposit Transact...223266962025-04-22 19:39:4716 hrs ago1745350787
Manta Pacific: Escrow for ETH
0.101 ETH
Deposit Transact...223264262025-04-22 18:45:2316 hrs ago1745347523
Manta Pacific: Escrow for ETH
0.0015 ETH
Relay Message223257362025-04-22 16:27:2319 hrs ago1745339243
Manta Pacific: Escrow for ETH
0.199 ETH
Deposit Transact...223251932025-04-22 14:38:2321 hrs ago1745332703
Manta Pacific: Escrow for ETH
0.02 ETH
Relay Message223249632025-04-22 13:52:2321 hrs ago1745329943
Manta Pacific: Escrow for ETH
0.264 ETH
Deposit Transact...223247702025-04-22 13:13:3522 hrs ago1745327615
Manta Pacific: Escrow for ETH
0.0005 ETH
Deposit Transact...223235002025-04-22 8:58:4726 hrs ago1745312327
Manta Pacific: Escrow for ETH
0.001 ETH
Deposit Transact...223230982025-04-22 7:38:1128 hrs ago1745307491
Manta Pacific: Escrow for ETH
0.00101 ETH
Deposit Transact...223218272025-04-22 3:23:1132 hrs ago1745292191
Manta Pacific: Escrow for ETH
0.31 ETH
Relay Message223209932025-04-22 0:35:1135 hrs ago1745282111
Manta Pacific: Escrow for ETH
0.00399 ETH
Deposit Transact...223204482025-04-21 22:45:2336 hrs ago1745275523
Manta Pacific: Escrow for ETH
0.009 ETH
Deposit Transact...223199672025-04-21 21:08:4738 hrs ago1745269727
Manta Pacific: Escrow for ETH
0.0005 ETH
Deposit Transact...223192612025-04-21 18:46:2340 hrs ago1745261183
Manta Pacific: Escrow for ETH
0.001 ETH
Deposit Transact...223190082025-04-21 17:55:4741 hrs ago1745258147
Manta Pacific: Escrow for ETH
0.0012 ETH
Deposit Transact...223190012025-04-21 17:54:2341 hrs ago1745258063
Manta Pacific: Escrow for ETH
0.002 ETH
Deposit Transact...223189792025-04-21 17:49:5941 hrs ago1745257799
Manta Pacific: Escrow for ETH
0.0023 ETH
Deposit Transact...223189762025-04-21 17:49:2341 hrs ago1745257763
Manta Pacific: Escrow for ETH
0.0013 ETH
Deposit Transact...223187532025-04-21 17:04:3542 hrs ago1745255075
Manta Pacific: Escrow for ETH
0.001 ETH
Deposit Transact...223186612025-04-21 16:45:5942 hrs ago1745253959
Manta Pacific: Escrow for ETH
0.0011 ETH
View All Internal Transactions
Loading...
Loading

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

Contract Name:
Proxy

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion
File 1 of 1 : Proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

/**
 * @title Proxy
 * @notice Proxy is a transparent proxy that passes through the call if the caller is the owner or
 *         if the caller is address(0), meaning that the call originated from an off-chain
 *         simulation.
 */
contract Proxy {
    /**
     * @notice The storage slot that holds the address of the implementation.
     *         bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
     */
    bytes32 internal constant IMPLEMENTATION_KEY =
        0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /**
     * @notice The storage slot that holds the address of the owner.
     *         bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1)
     */
    bytes32 internal constant OWNER_KEY =
        0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

    /**
     * @notice An event that is emitted each time the implementation is changed. This event is part
     *         of the EIP-1967 specification.
     *
     * @param implementation The address of the implementation contract
     */
    event Upgraded(address indexed implementation);

    /**
     * @notice An event that is emitted each time the owner is upgraded. This event is part of the
     *         EIP-1967 specification.
     *
     * @param previousAdmin The previous owner of the contract
     * @param newAdmin      The new owner of the contract
     */
    event AdminChanged(address previousAdmin, address newAdmin);

    /**
     * @notice A modifier that reverts if not called by the owner or by address(0) to allow
     *         eth_call to interact with this proxy without needing to use low-level storage
     *         inspection. We assume that nobody is able to trigger calls from address(0) during
     *         normal EVM execution.
     */
    modifier proxyCallIfNotAdmin() {
        if (msg.sender == _getAdmin() || msg.sender == address(0)) {
            _;
        } else {
            // This WILL halt the call frame on completion.
            _doProxyCall();
        }
    }

    /**
     * @notice Sets the initial admin during contract deployment. Admin address is stored at the
     *         EIP-1967 admin storage slot so that accidental storage collision with the
     *         implementation is not possible.
     *
     * @param _admin Address of the initial contract admin. Admin as the ability to access the
     *               transparent proxy interface.
     */
    constructor(address _admin) {
        _changeAdmin(_admin);
    }

    // slither-disable-next-line locked-ether
    receive() external payable {
        // Proxy call by default.
        _doProxyCall();
    }

    // slither-disable-next-line locked-ether
    fallback() external payable {
        // Proxy call by default.
        _doProxyCall();
    }

    /**
     * @notice Set the implementation contract address. The code at the given address will execute
     *         when this contract is called.
     *
     * @param _implementation Address of the implementation contract.
     */
    function upgradeTo(address _implementation) public virtual proxyCallIfNotAdmin {
        _setImplementation(_implementation);
    }

    /**
     * @notice Set the implementation and call a function in a single transaction. Useful to ensure
     *         atomic execution of initialization-based upgrades.
     *
     * @param _implementation Address of the implementation contract.
     * @param _data           Calldata to delegatecall the new implementation with.
     */
    function upgradeToAndCall(address _implementation, bytes calldata _data)
        public
        payable
        virtual
        proxyCallIfNotAdmin
        returns (bytes memory)
    {
        _setImplementation(_implementation);
        (bool success, bytes memory returndata) = _implementation.delegatecall(_data);
        require(success, "Proxy: delegatecall to new implementation contract failed");
        return returndata;
    }

    /**
     * @notice Changes the owner of the proxy contract. Only callable by the owner.
     *
     * @param _admin New owner of the proxy contract.
     */
    function changeAdmin(address _admin) public virtual proxyCallIfNotAdmin {
        _changeAdmin(_admin);
    }

    /**
     * @notice Gets the owner of the proxy contract.
     *
     * @return Owner address.
     */
    function admin() public virtual proxyCallIfNotAdmin returns (address) {
        return _getAdmin();
    }

    /**
     * @notice Queries the implementation address.
     *
     * @return Implementation address.
     */
    function implementation() public virtual proxyCallIfNotAdmin returns (address) {
        return _getImplementation();
    }

    /**
     * @notice Sets the implementation address.
     *
     * @param _implementation New implementation address.
     */
    function _setImplementation(address _implementation) internal {
        assembly {
            sstore(IMPLEMENTATION_KEY, _implementation)
        }
        emit Upgraded(_implementation);
    }

    /**
     * @notice Changes the owner of the proxy contract.
     *
     * @param _admin New owner of the proxy contract.
     */
    function _changeAdmin(address _admin) internal {
        address previous = _getAdmin();
        assembly {
            sstore(OWNER_KEY, _admin)
        }
        emit AdminChanged(previous, _admin);
    }

    /**
     * @notice Performs the proxy call via a delegatecall.
     */
    function _doProxyCall() internal {
        address impl = _getImplementation();
        require(impl != address(0), "Proxy: implementation not initialized");

        assembly {
            // Copy calldata into memory at 0x0....calldatasize.
            calldatacopy(0x0, 0x0, calldatasize())

            // Perform the delegatecall, make sure to pass all available gas.
            let success := delegatecall(gas(), impl, 0x0, calldatasize(), 0x0, 0x0)

            // Copy returndata into memory at 0x0....returndatasize. Note that this *will*
            // overwrite the calldata that we just copied into memory but that doesn't really
            // matter because we'll be returning in a second anyway.
            returndatacopy(0x0, 0x0, returndatasize())

            // Success == 0 means a revert. We'll revert too and pass the data up.
            if iszero(success) {
                revert(0x0, returndatasize())
            }

            // Otherwise we'll just return and pass the data up.
            return(0x0, returndatasize())
        }
    }

    /**
     * @notice Queries the implementation address.
     *
     * @return Implementation address.
     */
    function _getImplementation() internal view returns (address) {
        address impl;
        assembly {
            impl := sload(IMPLEMENTATION_KEY)
        }
        return impl;
    }

    /**
     * @notice Queries the owner of the proxy contract.
     *
     * @return Owner address.
     */
    function _getAdmin() internal view returns (address) {
        address owner;
        assembly {
            owner := sload(OWNER_KEY)
        }
        return owner;
    }
}

Settings
{
  "remappings": [
    "@openzeppelin/=node_modules/@openzeppelin/",
    "@openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/",
    "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/",
    "@rari-capital/=node_modules/@rari-capital/",
    "@rari-capital/solmate/=node_modules/@rari-capital/solmate/",
    "ds-test/=node_modules/ds-test/src/",
    "forge-std/=node_modules/forge-std/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 999999
  },
  "metadata": {
    "bytecodeHash": "none"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a

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