Sepolia Testnet

Contract

0x5B4909cE6Ca82d2CE23BD46738953c7959E710Cd

Overview

ETH Balance

0 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Value
Send Token61370762024-06-19 0:33:3656 mins ago1718757216IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.000159641.50000014
Send Token61334542024-06-18 11:59:0013 hrs ago1718711940IN
0x5B4909cE...959E710Cd
0.0000055 ETH0.000250712.42657917
Send Token61262372024-06-17 10:42:3638 hrs ago1718620956IN
0x5B4909cE...959E710Cd
0.0000055 ETH0.000408273.77699121
Send Token61092542024-06-14 23:18:484 days ago1718407128IN
0x5B4909cE...959E710Cd
0.0000055 ETH0.000154961.50000001
Submit V161066632024-06-14 14:18:124 days ago1718374692IN
0x5B4909cE...959E710Cd
0 ETH0.000411892.80857214
Send Token61063522024-06-14 13:12:484 days ago1718370768IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.00087488.21973515
Send Token61055532024-06-14 10:23:004 days ago1718360580IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.0014426113.55499873
Send Token60926372024-06-12 13:26:126 days ago1718198772IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.0057741954.25494472
Submit V160914382024-06-12 9:16:246 days ago1718183784IN
0x5B4909cE...959E710Cd
0 ETH0.0054576836.8080836
Send Token60911842024-06-12 8:24:366 days ago1718180676IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.000831828.59298159
Send Token60911682024-06-12 8:21:126 days ago1718180472IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.00075017.74875001
Send Token60911182024-06-12 8:10:486 days ago1718179848IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.000774697.27914323
Submit V160899642024-06-12 4:06:366 days ago1718165196IN
0x5B4909cE...959E710Cd
0 ETH0.000789685.35543095
Send Token60895272024-06-12 2:33:126 days ago1718159592IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.000701366.59012551
Submit V160823042024-06-11 1:15:248 days ago1718068524IN
0x5B4909cE...959E710Cd
0 ETH0.000091710.61572805
Send Token60818702024-06-10 23:48:248 days ago1718063304IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.000272322.55875738
Submit V160796372024-06-10 16:15:368 days ago1718036136IN
0x5B4909cE...959E710Cd
0 ETH0.0086228657.85993436
Submit V160780192024-06-10 10:39:008 days ago1718015940IN
0x5B4909cE...959E710Cd
0 ETH0.0018260112.32021981
Send Token60776602024-06-10 9:24:368 days ago1718011476IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.0014000913.15549595
Send Token60734752024-06-09 19:04:369 days ago1717959876IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.00015961.50054763
Submit V160653742024-06-08 14:18:0010 days ago1717856280IN
0x5B4909cE...959E710Cd
0 ETH0.000097380.66047147
Send Token60648342024-06-08 12:23:1210 days ago1717849392IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.000161261.51529994
Send Token60578122024-06-07 11:31:2411 days ago1717759884IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.000412433.87533052
Send Token60528952024-06-06 18:37:3612 days ago1717699056IN
0x5B4909cE...959E710Cd
0.0000005 ETH0.000596615.60587698
Submit V160476952024-06-06 0:19:0013 days ago1717633140IN
0x5B4909cE...959E710Cd
0 ETH0.000649454.40480916
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
61370762024-06-19 0:33:3656 mins ago1718757216
0x5B4909cE...959E710Cd
0.0000005 ETH
61334542024-06-18 11:59:0013 hrs ago1718711940
0x5B4909cE...959E710Cd
0.0000055 ETH
61262372024-06-17 10:42:3638 hrs ago1718620956
0x5B4909cE...959E710Cd
0.0000055 ETH
61092542024-06-14 23:18:484 days ago1718407128
0x5B4909cE...959E710Cd
0.0000055 ETH
61063522024-06-14 13:12:484 days ago1718370768
0x5B4909cE...959E710Cd
0.0000005 ETH
61055532024-06-14 10:23:004 days ago1718360580
0x5B4909cE...959E710Cd
0.0000005 ETH
60926372024-06-12 13:26:126 days ago1718198772
0x5B4909cE...959E710Cd
0.0000005 ETH
60911842024-06-12 8:24:366 days ago1718180676
0x5B4909cE...959E710Cd
0.0000005 ETH
60911682024-06-12 8:21:126 days ago1718180472
0x5B4909cE...959E710Cd
0.0000005 ETH
60911182024-06-12 8:10:486 days ago1718179848
0x5B4909cE...959E710Cd
0.0000005 ETH
60895272024-06-12 2:33:126 days ago1718159592
0x5B4909cE...959E710Cd
0.0000005 ETH
60818702024-06-10 23:48:248 days ago1718063304
0x5B4909cE...959E710Cd
0.0000005 ETH
60776602024-06-10 9:24:368 days ago1718011476
0x5B4909cE...959E710Cd
0.0000005 ETH
60734752024-06-09 19:04:369 days ago1717959876
0x5B4909cE...959E710Cd
0.0000005 ETH
60648342024-06-08 12:23:1210 days ago1717849392
0x5B4909cE...959E710Cd
0.0000005 ETH
60578122024-06-07 11:31:2411 days ago1717759884
0x5B4909cE...959E710Cd
0.0000005 ETH
60528952024-06-06 18:37:3612 days ago1717699056
0x5B4909cE...959E710Cd
0.0000005 ETH
60473782024-06-05 23:10:1213 days ago1717629012
0x5B4909cE...959E710Cd
0.0000005 ETH
60472812024-06-05 22:48:4813 days ago1717627728
0x5B4909cE...959E710Cd
0.0000005 ETH
60458472024-06-05 17:45:2413 days ago1717609524
0x5B4909cE...959E710Cd
0.0000005 ETH
60458422024-06-05 17:44:2413 days ago1717609464
0x5B4909cE...959E710Cd
0.0000005 ETH
60457532024-06-05 17:25:3613 days ago1717608336
0x5B4909cE...959E710Cd
0.0000005 ETH
60432412024-06-05 8:38:3613 days ago1717576716
0x5B4909cE...959E710Cd
0.0000005 ETH
60431482024-06-05 8:19:1213 days ago1717575552
0x5B4909cE...959E710Cd
0.0000005 ETH
60385132024-06-04 15:03:3614 days ago1717513416
0x5B4909cE...959E710Cd
0.0000005 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GatewayProxy

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 20000 runs

Other Settings:
paris EvmVersion
File 1 of 4 : GatewayProxy.sol
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: 2023 Snowfork <[email protected]>
pragma solidity 0.8.23;

import {ERC1967} from "./utils/ERC1967.sol";
import {Call} from "./utils/Call.sol";
import {IInitializable} from "./interfaces/IInitializable.sol";

contract GatewayProxy is IInitializable {
    error Unauthorized();
    error NativeCurrencyNotAccepted();

    constructor(address implementation, bytes memory params) {
        // Store the address of the implementation contract
        ERC1967.store(implementation);
        // Initialize storage by calling the implementation's `initialize(bytes)` function
        // using `delegatecall`.
        (bool success, bytes memory returndata) =
            implementation.delegatecall(abi.encodeCall(IInitializable.initialize, params));
        Call.verifyResult(success, returndata);
    }

    // Prevent fallback() from calling `IInitializable.initialize(bytes)` on the implementation contract
    function initialize(bytes calldata) external pure {
        revert Unauthorized();
    }

    fallback() external payable {
        address implementation = ERC1967.load();
        assembly {
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            switch result
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }

    // Prevent users from unwittingly sending ether to the gateway, as these funds
    // would otherwise be lost forever.
    receive() external payable {
        revert NativeCurrencyNotAccepted();
    }
}

File 2 of 4 : ERC1967.sol
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: 2023 Snowfork <[email protected]>
pragma solidity 0.8.23;

/// @title Minimal implementation of ERC1967 storage slot
library ERC1967 {
    // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
    bytes32 public constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    function load() internal view returns (address implementation) {
        assembly {
            implementation := sload(_IMPLEMENTATION_SLOT)
        }
    }

    function store(address implementation) internal {
        assembly {
            sstore(_IMPLEMENTATION_SLOT, implementation)
        }
    }
}

File 3 of 4 : Call.sol
// SPDX-License-Identifier: MIT
// SPDX-FileCopyrightText: 2023 OpenZeppelin
// SPDX-FileCopyrightText: 2023 Snowfork <[email protected]>
pragma solidity 0.8.23;

// Derived from OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)
library Call {
    function verifyResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly
                /// @solidity memory-safe-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert();
            }
        }
    }
}

File 4 of 4 : IInitializable.sol
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: 2023 Snowfork <[email protected]>
pragma solidity 0.8.23;

/**
 * @title Initialization of gateway logic contracts
 */
interface IInitializable {
    function initialize(bytes calldata data) external;
}

Settings
{
  "remappings": [
    "canonical-weth/=lib/canonical-weth/contracts/",
    "ds-test/=lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin/=lib/openzeppelin-contracts/contracts/",
    "prb/math/=lib/prb-math/",
    "@prb/test/=lib/prb-math/lib/prb-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "prb-math/=lib/prb-math/src/",
    "prb-test/=lib/prb-math/lib/prb-test/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 20000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "viaIR": true,
  "libraries": {
    "src/Assets.sol": {
      "Assets": "0x83dd4b153b90402962a1ae4c9f09c7a0c4922064"
    },
    "src/Verification.sol": {
      "Verification": "0xc00e4148d294e77abf8ce74e67b6770b082c74bb"
    }
  }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"params","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NativeCurrencyNotAccepted","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"pure","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604090808252346101525761034a803803809161001e8285610157565b833981019082818303126101525780516001600160a01b03811681036101525760208281015190926001600160401b03821161015257019083601f830112156101525781519061006d82610190565b61007987519182610157565b82815284810195858486010111610152578561009f6000959461013b98888897016101ab565b827f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5561010b6064895180936100f48a83019663439fab9160e01b88528b6024850152518092816044860152858501906101ab565b601f80199101168101036044810184520182610157565b51915af43d15610149573d61011f81610190565b9061012c86519283610157565b8152600081933d92013e6101ce565b505161016590816101e58239f35b606091506101ce565b600080fd5b601f909101601f19168101906001600160401b0382119082101761017a57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161017a57601f01601f191660200190565b60005b8381106101be5750506000910152565b81810151838201526020016101ae565b156101d65790565b805190811561015257602001fdfe60806040526004361015610018575b366100ee576100c4565b6000803560e01c63439fab911461002f575061000e565b346100bd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bd5760043567ffffffffffffffff8082116100c057366023830112156100c05781600401359081116100c057369101602401116100bd577f82b429000000000000000000000000000000000000000000000000000000000060805260046080fd5b80fd5b8280fd5b60046040517f858d70bd000000000000000000000000000000000000000000000000000000008152fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546000808092368280378136915af43d82803e1561012b573d90f35b3d90fdfea26469706673582212207f2027f894d3e8a2f161f4a24cefbf3e1bf108ac61a9e4aca1bcd9e14e0e2b9164736f6c63430008170033000000000000000000000000978fa670674b3bec78aed9bfebb1d271aa57cc6a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000000000000003e881c5ab2571199e3188135178f3c2c8e2d268be1313d029b30f534fa579b69b7900000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000004563918244f40000

Deployed Bytecode

0x60806040526004361015610018575b366100ee576100c4565b6000803560e01c63439fab911461002f575061000e565b346100bd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bd5760043567ffffffffffffffff8082116100c057366023830112156100c05781600401359081116100c057369101602401116100bd577f82b429000000000000000000000000000000000000000000000000000000000060805260046080fd5b80fd5b8280fd5b60046040517f858d70bd000000000000000000000000000000000000000000000000000000008152fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546000808092368280378136915af43d82803e1561012b573d90f35b3d90fdfea26469706673582212207f2027f894d3e8a2f161f4a24cefbf3e1bf108ac61a9e4aca1bcd9e14e0e2b9164736f6c63430008170033

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

000000000000000000000000978fa670674b3bec78aed9bfebb1d271aa57cc6a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000000000000003e881c5ab2571199e3188135178f3c2c8e2d268be1313d029b30f534fa579b69b7900000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000004563918244f40000

-----Decoded View---------------
Arg [0] : implementation (address): 0x978fa670674b3Bec78AEd9BFeBB1d271aa57CC6a
Arg [1] : params (bytes): 0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000000000000003e881c5ab2571199e3188135178f3c2c8e2d268be1313d029b30f534fa579b69b7900000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000004563918244f40000

-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 000000000000000000000000978fa670674b3bec78aed9bfebb1d271aa57cc6a
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [4] : 00000000000000000000000000000000000000000000000000000002540be400
Arg [5] : 000000000000000000000000000000000000000000000000000016bcc41e9000
Arg [6] : 00000000000000000000000000000000000000000000000000000000000003e8
Arg [7] : 81c5ab2571199e3188135178f3c2c8e2d268be1313d029b30f534fa579b69b79
Arg [8] : 00000000000000000000000000000000000000000000000000000002540be400
Arg [9] : 00000000000000000000000000000000000000000000000000000002540be400
Arg [10] : 0000000000000000000000000000000000000000000000004563918244f40000


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.