ETH Price: $3,870.34 (-2.61%)

Contract

0x27ca963C279c93801941e1eB8799c23f407d68e7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Send Token213644852024-12-09 10:55:4710 mins ago1733741747IN
Snowbridge: Gateway
0.00043513 ETH0.0012126911.38627167
Submit V1213644722024-12-09 10:53:1113 mins ago1733741591IN
Snowbridge: Gateway
0 ETH0.0016240510.04856458
Send Token213644042024-12-09 10:39:2327 mins ago1733740763IN
Snowbridge: Gateway
0.00043513 ETH0.000980939.20918825
Submit V1213641802024-12-09 9:54:351 hr ago1733738075IN
Snowbridge: Gateway
0 ETH0.0016480910.29499666
Send Token213641292024-12-09 9:44:231 hr ago1733737463IN
Snowbridge: Gateway
0.00043513 ETH0.0012561111.79259834
Send Token213639782024-12-09 9:14:111 hr ago1733735651IN
Snowbridge: Gateway
0.00043513 ETH0.0012894912.107323
Submit V1213639252024-12-09 9:03:352 hrs ago1733735015IN
Snowbridge: Gateway
0 ETH0.0019033712.06380112
Send Token213638082024-12-09 8:40:112 hrs ago1733733611IN
Snowbridge: Gateway
0.00043513 ETH0.0011324911.13512799
Submit V1213636592024-12-09 8:10:232 hrs ago1733731823IN
Snowbridge: Gateway
0 ETH0.00144238.9260106
Send Token213614822024-12-09 0:53:2310 hrs ago1733705603IN
Snowbridge: Gateway
0.00043513 ETH0.0020536918.45706792
Send Token213562612024-12-08 7:24:3527 hrs ago1733642675IN
Snowbridge: Gateway
0.00043513 ETH0.000877118.62306411
Send Token213558882024-12-08 6:09:4728 hrs ago1733638187IN
Snowbridge: Gateway
0.00031734 ETH0.000793397.58500768
Send Token213551412024-12-08 3:39:2331 hrs ago1733629163IN
Snowbridge: Gateway
0.00043513 ETH0.001007589.46042873
Send Token213527642024-12-07 19:41:2339 hrs ago1733600483IN
Snowbridge: Gateway
0.00043513 ETH0.0013924713.68967085
Send Token213515662024-12-07 15:39:5943 hrs ago1733585999IN
Snowbridge: Gateway
0.00031734 ETH0.0014002514.14384765
Send Token213515582024-12-07 15:38:2343 hrs ago1733585903IN
Snowbridge: Gateway
0.00031734 ETH0.0014412814.55476209
Send Token213478112024-12-07 3:04:232 days ago1733540663IN
Snowbridge: Gateway
0.00043513 ETH0.0013993613.13896625
Submit V1213457382024-12-06 20:06:472 days ago1733515607IN
Snowbridge: Gateway
0 ETH0.0046038326.02123053
Send Token213456182024-12-06 19:42:472 days ago1733514167IN
Snowbridge: Gateway
0.00031734 ETH0.0028474226.82532739
Send Token213445592024-12-06 16:10:112 days ago1733501411IN
Snowbridge: Gateway
0.00031734 ETH0.0041717239.30583152
Submit V1213432112024-12-06 11:39:352 days ago1733485175IN
Snowbridge: Gateway
0 ETH0.0018109211.9127846
Submit V1213430122024-12-06 10:59:233 days ago1733482763IN
Snowbridge: Gateway
0 ETH0.0020234312.84695493
Send Token213429742024-12-06 10:51:473 days ago1733482307IN
Snowbridge: Gateway
0.0003409 ETH0.0016169314.6048852
Send Token213429082024-12-06 10:38:233 days ago1733481503IN
Snowbridge: Gateway
0.0003409 ETH0.0017309315.63454519
Send Token213428432024-12-06 10:25:233 days ago1733480723IN
Snowbridge: Gateway
0.0003409 ETH0.0017667115.95771544
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
213644852024-12-09 10:55:4710 mins ago1733741747
Snowbridge: Gateway
0.00043513 ETH
213644042024-12-09 10:39:2327 mins ago1733740763
Snowbridge: Gateway
0.00043513 ETH
213641292024-12-09 9:44:231 hr ago1733737463
Snowbridge: Gateway
0.00043513 ETH
213639782024-12-09 9:14:111 hr ago1733735651
Snowbridge: Gateway
0.00043513 ETH
213638082024-12-09 8:40:112 hrs ago1733733611
Snowbridge: Gateway
0.00043513 ETH
213614822024-12-09 0:53:2310 hrs ago1733705603
Snowbridge: Gateway
0.00043513 ETH
213562612024-12-08 7:24:3527 hrs ago1733642675
Snowbridge: Gateway
0.00043513 ETH
213558882024-12-08 6:09:4728 hrs ago1733638187
Snowbridge: Gateway
0.00031734 ETH
213551412024-12-08 3:39:2331 hrs ago1733629163
Snowbridge: Gateway
0.00043513 ETH
213527642024-12-07 19:41:2339 hrs ago1733600483
Snowbridge: Gateway
0.00043513 ETH
213515662024-12-07 15:39:5943 hrs ago1733585999
Snowbridge: Gateway
0.00031734 ETH
213515582024-12-07 15:38:2343 hrs ago1733585903
Snowbridge: Gateway
0.00031734 ETH
213478112024-12-07 3:04:232 days ago1733540663
Snowbridge: Gateway
0.00043513 ETH
213456182024-12-06 19:42:472 days ago1733514167
Snowbridge: Gateway
0.00031734 ETH
213445592024-12-06 16:10:112 days ago1733501411
Snowbridge: Gateway
0.00031734 ETH
213429742024-12-06 10:51:473 days ago1733482307
Snowbridge: Gateway
0.0003409 ETH
213429082024-12-06 10:38:233 days ago1733481503
Snowbridge: Gateway
0.0003409 ETH
213428432024-12-06 10:25:233 days ago1733480723
Snowbridge: Gateway
0.0003409 ETH
213424822024-12-06 9:12:353 days ago1733476355
Snowbridge: Gateway
0.0003409 ETH
213406662024-12-06 3:07:233 days ago1733454443
Snowbridge: Gateway
0.00043513 ETH
213404542024-12-06 2:24:353 days ago1733451875
Snowbridge: Gateway
0.00043513 ETH
213402702024-12-06 1:47:473 days ago1733449667
Snowbridge: Gateway
0.00043513 ETH
213400342024-12-06 1:00:353 days ago1733446835
Snowbridge: Gateway
0.00043513 ETH
213354462024-12-05 9:37:474 days ago1733391467
Snowbridge: Gateway
0.00043513 ETH
213353282024-12-05 9:14:114 days ago1733390051
Snowbridge: Gateway
0.00031734 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.