ETH Price: $2,699.33 (-1.84%)

Contract

0x27ca963C279c93801941e1eB8799c23f407d68e7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Send Token218719962025-02-18 8:14:112 hrs ago1739866451IN
Snowbridge: Gateway
0.00028456 ETH0.000086470.78915154
Submit V1218718282025-02-18 7:40:353 hrs ago1739864435IN
Snowbridge: Gateway
0 ETH0.000095340.73544573
Submit V1218678732025-02-17 18:25:3516 hrs ago1739816735IN
Snowbridge: Gateway
0 ETH0.00074585.05037104
Send Token218673662025-02-17 16:43:4717 hrs ago1739810627IN
Snowbridge: Gateway
0.0003409 ETH0.0025090822.89624719
Submit V1218673392025-02-17 16:38:2318 hrs ago1739810303IN
Snowbridge: Gateway
0 ETH0.0035232721.48323327
Submit V1218668092025-02-17 14:51:3519 hrs ago1739803895IN
Snowbridge: Gateway
0 ETH0.0121322155.31944794
Send Token218664202025-02-17 13:33:3521 hrs ago1739799215IN
Snowbridge: Gateway
0.00031734 ETH0.00060386.09751309
Submit V1218664152025-02-17 13:32:3521 hrs ago1739799155IN
Snowbridge: Gateway
0 ETH0.000698814.71407017
Send Token218662322025-02-17 12:55:1121 hrs ago1739796911IN
Snowbridge: Gateway
0.0003409 ETH0.000844884.1713001
Submit V1218658512025-02-17 11:38:4723 hrs ago1739792327IN
Snowbridge: Gateway
0 ETH0.000586853.94113603
Submit V1218658352025-02-17 11:35:3523 hrs ago1739792135IN
Snowbridge: Gateway
0 ETH0.000836823.8160034
Submit V1218656652025-02-17 11:00:4723 hrs ago1739790047IN
Snowbridge: Gateway
0 ETH0.000144120.87451729
Send Token218656132025-02-17 10:50:1123 hrs ago1739789411IN
Snowbridge: Gateway
0.0003409 ETH0.000215911.77674136
Send Token218652002025-02-17 9:27:2325 hrs ago1739784443IN
Snowbridge: Gateway
0.00032205 ETH0.000089290.81473432
Send Token218555862025-02-16 1:07:232 days ago1739668043IN
Snowbridge: Gateway
0.00043513 ETH0.000072740.65360563
Send Token218528462025-02-15 15:54:352 days ago1739634875IN
Snowbridge: Gateway
0.00043513 ETH0.000138551.30104778
Submit V1218510562025-02-15 9:52:353 days ago1739613155IN
Snowbridge: Gateway
0 ETH0.000117010.80497076
Send Token218470462025-02-14 20:21:593 days ago1739564519IN
Snowbridge: Gateway
0.00043513 ETH0.000086630.77840826
Submit V1218462382025-02-14 17:38:233 days ago1739554703IN
Snowbridge: Gateway
0 ETH0.000212521.22764165
Send Token218457752025-02-14 16:04:473 days ago1739549087IN
Snowbridge: Gateway
0.00032205 ETH0.000226172.06373683
Send Token218454852025-02-14 15:06:113 days ago1739545571IN
Snowbridge: Gateway
0.00031734 ETH0.00048234.13236504
Submit V1218453732025-02-14 14:43:473 days ago1739544227IN
Snowbridge: Gateway
0 ETH0.000278741.79520914
Send Token218449742025-02-14 13:23:353 days ago1739539415IN
Snowbridge: Gateway
0.00031734 ETH0.000210231.7301504
Send Token218448382025-02-14 12:56:113 days ago1739537771IN
Snowbridge: Gateway
0.0003409 ETH0.00021671.77714467
Send Token218448182025-02-14 12:51:593 days ago1739537519IN
Snowbridge: Gateway
0.0003409 ETH0.00033771.68391445
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
218719962025-02-18 8:14:112 hrs ago1739866451
Snowbridge: Gateway
0.00028456 ETH
218673662025-02-17 16:43:4717 hrs ago1739810627
Snowbridge: Gateway
0.0003409 ETH
218664202025-02-17 13:33:3521 hrs ago1739799215
Snowbridge: Gateway
0.00031734 ETH
218662322025-02-17 12:55:1121 hrs ago1739796911
Snowbridge: Gateway
0.0003409 ETH
218656132025-02-17 10:50:1123 hrs ago1739789411
Snowbridge: Gateway
0.0003409 ETH
218652002025-02-17 9:27:2325 hrs ago1739784443
Snowbridge: Gateway
0.00032205 ETH
218555862025-02-16 1:07:232 days ago1739668043
Snowbridge: Gateway
0.00043513 ETH
218528462025-02-15 15:54:352 days ago1739634875
Snowbridge: Gateway
0.00043513 ETH
218470462025-02-14 20:21:593 days ago1739564519
Snowbridge: Gateway
0.00043513 ETH
218457752025-02-14 16:04:473 days ago1739549087
Snowbridge: Gateway
0.00032205 ETH
218454852025-02-14 15:06:113 days ago1739545571
Snowbridge: Gateway
0.00031734 ETH
218449742025-02-14 13:23:353 days ago1739539415
Snowbridge: Gateway
0.00031734 ETH
218448382025-02-14 12:56:113 days ago1739537771
Snowbridge: Gateway
0.0003409 ETH
218448182025-02-14 12:51:593 days ago1739537519
Snowbridge: Gateway
0.0003409 ETH
218447922025-02-14 12:46:473 days ago1739537207
Snowbridge: Gateway
0.00032205 ETH
218447832025-02-14 12:44:593 days ago1739537099
Snowbridge: Gateway
0.0003409 ETH
218447522025-02-14 12:38:353 days ago1739536715
Snowbridge: Gateway
0.00031734 ETH
218440732025-02-14 10:21:474 days ago1739528507
Snowbridge: Gateway
0.00043513 ETH
218435752025-02-14 8:40:594 days ago1739522459
Snowbridge: Gateway
0.00043513 ETH
218427142025-02-14 5:47:354 days ago1739512055
Snowbridge: Gateway
0.0003409 ETH
218418992025-02-14 3:03:354 days ago1739502215
Snowbridge: Gateway
0.00043513 ETH
218403262025-02-13 21:45:474 days ago1739483147
Snowbridge: Gateway
0.00043513 ETH
218377642025-02-13 13:09:354 days ago1739452175
Snowbridge: Gateway
0.00043513 ETH
218358232025-02-13 6:37:595 days ago1739428679
Snowbridge: Gateway
0.00043513 ETH
218354152025-02-13 5:16:115 days ago1739423771
Snowbridge: Gateway
0.00043513 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 100000 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": 100000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "viaIR": true,
  "libraries": {}
}

Contract Security Audit

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"}]

6080604090808252346101525761034a803803809161001e8285610157565b833981019082818303126101525780516001600160a01b03811681036101525760208281015190926001600160401b03821161015257019083601f830112156101525781519061006d82610190565b61007987519182610157565b82815284810195858486010111610152578561009f6000959461013b98888897016101ab565b827f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5561010b6064895180936100f48a83019663439fab9160e01b88528b6024850152518092816044860152858501906101ab565b601f80199101168101036044810184520182610157565b51915af43d15610149573d61011f81610190565b9061012c86519283610157565b8152600081933d92013e6101ce565b505161016590816101e58239f35b606091506101ce565b600080fd5b601f909101601f19168101906001600160401b0382119082101761017a57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161017a57601f01601f191660200190565b60005b8381106101be5750506000910152565b81810151838201526020016101ae565b156101d65790565b805190811561015257602001fdfe60806040526004361015610018575b366100ee576100c4565b6000803560e01c63439fab911461002f575061000e565b346100bd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bd5760043567ffffffffffffffff8082116100c057366023830112156100c05781600401359081116100c057369101602401116100bd577f82b429000000000000000000000000000000000000000000000000000000000060805260046080fd5b80fd5b8280fd5b60046040517f858d70bd000000000000000000000000000000000000000000000000000000008152fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546000808092368280378136915af43d82803e1561012b573d90f35b3d90fdfea2646970667358221220d8fae508b8669b85b5745726fbaf4c36e7f5050764cceeb27f2c624c2a3c8e9f64736f6c63430008170033000000000000000000000000015637649f83ca8cea840c149178f040fd7bd3a400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015610018575b366100ee576100c4565b6000803560e01c63439fab911461002f575061000e565b346100bd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bd5760043567ffffffffffffffff8082116100c057366023830112156100c05781600401359081116100c057369101602401116100bd577f82b429000000000000000000000000000000000000000000000000000000000060805260046080fd5b80fd5b8280fd5b60046040517f858d70bd000000000000000000000000000000000000000000000000000000008152fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546000808092368280378136915af43d82803e1561012b573d90f35b3d90fdfea2646970667358221220d8fae508b8669b85b5745726fbaf4c36e7f5050764cceeb27f2c624c2a3c8e9f64736f6c63430008170033

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

000000000000000000000000015637649f83ca8cea840c149178f040fd7bd3a400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : implementation (address): 0x015637649F83ca8cea840C149178f040fD7BD3a4
Arg [1] : params (bytes): 0x

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000015637649f83ca8cea840c149178f040fd7bd3a4
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

This the main gateway contract (proxy) for the Snowbridge bridge between Ethereum and Polkadot

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.