ETH Price: $3,277.62 (-1.88%)

Contract

0xce16F69375520ab01377ce7B88f5BA8C48F8D666
 
Transaction Hash
Method
Block
From
To
0x3f694ad1fb4a4729fcf4b5b71b4202c657cbcc116bb3943683f5c233ab5705c2 Call Bridge Call(pending)2024-12-23 5:11:311 hr ago1734930691IN
Squid: Router
0.0001988215 ETH(Pending)(Pending)
Call Bridge Call214635192024-12-23 6:52:236 mins ago1734936743IN
Squid: Router
0.00058496 ETH0.001219784.82199004
Call Bridge Call214634922024-12-23 6:46:5912 mins ago1734936419IN
Squid: Router
0.00107366 ETH0.001408855.37128855
Execute With Tok...214634532024-12-23 6:39:1119 mins ago1734935951IN
Squid: Router
0 ETH0.000584755.11064153
Fund And Run Mul...214634312024-12-23 6:34:4724 mins ago1734935687IN
Squid: Router
0.00006545 ETH0.000917585.16571295
Execute With Tok...214633612024-12-23 6:20:3538 mins ago1734934835IN
Squid: Router
0 ETH0.000480364.34508102
Express Execute ...214633402024-12-23 6:16:2342 mins ago1734934583IN
Squid: Router
0 ETH0.001312965.38049854
Execute With Tok...214633102024-12-23 6:10:2348 mins ago1734934223IN
Squid: Router
0 ETH0.000721995.34754868
Express Execute ...214632842024-12-23 6:05:1153 mins ago1734933911IN
Squid: Router
0 ETH0.001342734.90890736
Call Bridge Call214632512024-12-23 5:58:351 hr ago1734933515IN
Squid: Router
12.0000851 ETH0.000634984.67315727
Call Bridge Call214632382024-12-23 5:55:591 hr ago1734933359IN
Squid: Router
0.01508499 ETH0.001018944.82492681
Bridge Call214632372024-12-23 5:55:471 hr ago1734933347IN
Squid: Router
0.00005729 ETH0.00077174.98406043
Express Execute ...214632302024-12-23 5:54:231 hr ago1734933263IN
Squid: Router
0 ETH0.000831814.76663457
Execute With Tok...214631852024-12-23 5:45:231 hr ago1734932723IN
Squid: Router
0 ETH0.000556594.71965414
Express Execute ...214631652024-12-23 5:41:231 hr ago1734932483IN
Squid: Router
0 ETH0.001305654.77827853
Call Bridge Call214631632024-12-23 5:40:591 hr ago1734932459IN
Squid: Router
0.00006195 ETH0.001329053.9426957
Execute With Tok...214630872024-12-23 5:25:231 hr ago1734931523IN
Squid: Router
0 ETH0.000785985.06255958
Execute With Tok...214630632024-12-23 5:20:351 hr ago1734931235IN
Squid: Router
0 ETH0.000650995.52010529
Express Execute ...214630372024-12-23 5:15:231 hr ago1734930923IN
Squid: Router
0 ETH0.001615135.91146696
Fund And Run Mul...214630122024-12-23 5:10:231 hr ago1734930623IN
Squid: Router
0 ETH0.00028034.03783438
Call Bridge Call214630032024-12-23 5:08:351 hr ago1734930515IN
Squid: Router
3.00007232 ETH0.001348265.13739833
Call Bridge Call214630002024-12-23 5:07:591 hr ago1734930479IN
Squid: Router
0.40005969 ETH0.001374165.10818875
Execute With Tok...214629882024-12-23 5:05:351 hr ago1734930335IN
Squid: Router
0 ETH0.000615575.21976073
Execute With Tok...214629632024-12-23 5:00:351 hr ago1734930035IN
Squid: Router
0 ETH0.000895335.19472455
Express Execute ...214629602024-12-23 4:59:591 hr ago1734929999IN
Squid: Router
0 ETH0.001367244.58038815
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
214635372024-12-23 6:55:593 mins ago1734936959
Squid: Router
0.00028082 ETH
214635372024-12-23 6:55:593 mins ago1734936959
Squid: Router
0.0099125 ETH
214635372024-12-23 6:55:593 mins ago1734936959
Squid: Router
0.01019332 ETH
214635192024-12-23 6:52:236 mins ago1734936743
Squid: Router
0.00008496 ETH
214635192024-12-23 6:52:236 mins ago1734936743
Squid: Router
0.0005 ETH
214635062024-12-23 6:49:479 mins ago1734936587
Squid: Router
0.00037474 ETH
214635062024-12-23 6:49:479 mins ago1734936587
Squid: Router
0.00793 ETH
214635062024-12-23 6:49:479 mins ago1734936587
Squid: Router
0.00830474 ETH
214634922024-12-23 6:46:5912 mins ago1734936419
Squid: Router
0.00007366 ETH
214634922024-12-23 6:46:5912 mins ago1734936419
Squid: Router
0.001 ETH
214634722024-12-23 6:42:5916 mins ago1734936179
Squid: Router
0.00037633 ETH
214634722024-12-23 6:42:5916 mins ago1734936179
Squid: Router
0.0693875 ETH
214634722024-12-23 6:42:5916 mins ago1734936179
Squid: Router
0.06976383 ETH
214634562024-12-23 6:39:4719 mins ago1734935987
Squid: Router
0.00005123 ETH
214634562024-12-23 6:39:4719 mins ago1734935987
Squid: Router
0.01968 ETH
214634562024-12-23 6:39:4719 mins ago1734935987
Squid: Router
0.01973123 ETH
214634312024-12-23 6:34:4724 mins ago1734935687
Squid: Router
0.00006545 ETH
214633872024-12-23 6:25:4733 mins ago1734935147
Squid: Router
0.00747633 ETH
214633872024-12-23 6:25:4733 mins ago1734935147
Squid: Router
0.00747633 ETH
214633872024-12-23 6:25:4733 mins ago1734935147
Squid: Router
0.00747633 ETH
214633682024-12-23 6:21:5937 mins ago1734934919
Squid: Router
0.00019686 ETH
214633682024-12-23 6:21:5937 mins ago1734934919
Squid: Router
0.00089212 ETH
214633682024-12-23 6:21:5937 mins ago1734934919
Squid: Router
0.00108899 ETH
214633442024-12-23 6:17:1141 mins ago1734934631
Squid: Router
0.00070278 ETH
214633442024-12-23 6:17:1141 mins ago1734934631
Squid: Router
0.00495625 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SquidRouterProxy

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 99999 runs

Other Settings:
default evmVersion
File 1 of 3 : SquidRouterProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;

import {Proxy} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/upgradables/Proxy.sol";

contract SquidRouterProxy is Proxy {
    function contractId() internal pure override returns (bytes32 id) {
        id = keccak256("squid-router");
    }
}

File 2 of 3 : IUpgradable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

// General interface for upgradable contracts
interface IUpgradable {
    error NotOwner();
    error InvalidOwner();
    error InvalidCodeHash();
    error InvalidImplementation();
    error SetupFailed();
    error NotProxy();

    event Upgraded(address indexed newImplementation);
    event OwnershipTransferred(address indexed newOwner);

    // Get current owner
    function owner() external view returns (address);

    function contractId() external pure returns (bytes32);

    function upgrade(
        address newImplementation,
        bytes32 newImplementationCodeHash,
        bytes calldata params
    ) external;

    function setup(bytes calldata data) external;
}

File 3 of 3 : Proxy.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import { IUpgradable } from '../interfaces/IUpgradable.sol';

contract Proxy {
    error InvalidImplementation();
    error SetupFailed();
    error EtherNotAccepted();
    error NotOwner();
    error AlreadyInitialized();

    // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
    bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
    // keccak256('owner')
    bytes32 internal constant _OWNER_SLOT = 0x02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0;

    constructor() {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(_OWNER_SLOT, caller())
        }
    }

    function init(
        address implementationAddress,
        address newOwner,
        bytes memory params
    ) external {
        address owner;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            owner := sload(_OWNER_SLOT)
        }
        if (msg.sender != owner) revert NotOwner();
        if (implementation() != address(0)) revert AlreadyInitialized();
        if (IUpgradable(implementationAddress).contractId() != contractId()) revert InvalidImplementation();

        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(_IMPLEMENTATION_SLOT, implementationAddress)
            sstore(_OWNER_SLOT, newOwner)
        }
        // solhint-disable-next-line avoid-low-level-calls
        (bool success, ) = implementationAddress.delegatecall(
            //0x9ded06df is the setup selector.
            abi.encodeWithSelector(0x9ded06df, params)
        );
        if (!success) revert SetupFailed();
    }

    // solhint-disable-next-line no-empty-blocks
    function contractId() internal pure virtual returns (bytes32) {}

    function implementation() public view returns (address implementation_) {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            implementation_ := sload(_IMPLEMENTATION_SLOT)
        }
    }

    // solhint-disable-next-line no-empty-blocks
    function setup(bytes calldata data) public {}

    // solhint-disable-next-line no-complex-fallback
    fallback() external payable {
        address implementaion_ = implementation();
        // solhint-disable-next-line no-inline-assembly
        assembly {
            calldatacopy(0, 0, calldatasize())

            let result := delegatecall(gas(), implementaion_, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())

            switch result
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    receive() external payable virtual {
        revert EtherNotAccepted();
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 99999
  },
  "viaIR": true,
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[],"name":"EtherNotAccepted","type":"error"},{"inputs":[],"name":"InvalidImplementation","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"SetupFailed","type":"error"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"implementation_","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"implementationAddress","type":"address"},{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"setup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080806040523461003957337f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05561069a908161003f8239f35b600080fdfe6080604052600436101561002c575b361561001f575b61001d6105f7565b005b610027610639565b610015565b6000803560e01c908163378dfd8e1461006b575080635c60da1b1461006257639ded06df0361000e5761005d61029f565b61000e565b5061005d61022d565b346101185760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610118576100a261011b565b6100aa610143565b6044359067ffffffffffffffff8211610114573660238301121561011457816004013592846100d8856101e4565b936100e66040519586610196565b8585523660248783010111610110578561010d9660246020930183880137850101526103b8565b80f35b5080fd5b8380fd5b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013e57565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101d757604052565b6101df610166565b604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff8111610220575b01160190565b610228610166565b61021a565b503461013e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013e5760207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff60405191168152f35b503461013e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013e5760043567ffffffffffffffff80821161013e573660238301121561013e57816004013590811161013e573691016024011161013e57005b9081602091031261013e575190565b506040513d6000823e3d90fd5b60208082528251818301819052939260005b858110610374575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610334565b3d156103b3573d90610399826101e4565b916103a76040519384610196565b82523d6000602084013e565b606090565b91909173ffffffffffffffffffffffffffffffffffffffff917f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0938385541633036105cd577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc93808554166105a357600460207fc097d45e5a99ca772ab5ec2e5457c2e249760944b95b0b97cbb6b03ec55bae8492604051928380927f8291286c00000000000000000000000000000000000000000000000000000000825289165afa908115610596575b600091610568575b500361053e576000948386955555604051610500816104d460208201947f9ded06df00000000000000000000000000000000000000000000000000000000865260248301610322565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610196565b51915af461050c610388565b501561051457565b60046040517f97905dfb000000000000000000000000000000000000000000000000000000008152fd5b60046040517f68155f9a000000000000000000000000000000000000000000000000000000008152fd5b610589915060203d811161058f575b6105818183610196565b810190610306565b3861048b565b503d610577565b61059e610315565b610483565b60046040517f0dc149f0000000000000000000000000000000000000000000000000000000008152fd5b60046040517f30cd7471000000000000000000000000000000000000000000000000000000008152fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546000808092368280378136915af43d82803e15610635573d90f35b3d90fd5b5060046040517f37334834000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212205a1ae4e4554ee5e5b30712df541f3571c30f56cc0963334dec2abbb4f5176f4d64736f6c63430008110033

Deployed Bytecode

0x6080604052600436101561002c575b361561001f575b61001d6105f7565b005b610027610639565b610015565b6000803560e01c908163378dfd8e1461006b575080635c60da1b1461006257639ded06df0361000e5761005d61029f565b61000e565b5061005d61022d565b346101185760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610118576100a261011b565b6100aa610143565b6044359067ffffffffffffffff8211610114573660238301121561011457816004013592846100d8856101e4565b936100e66040519586610196565b8585523660248783010111610110578561010d9660246020930183880137850101526103b8565b80f35b5080fd5b8380fd5b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013e57565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101d757604052565b6101df610166565b604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff8111610220575b01160190565b610228610166565b61021a565b503461013e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013e5760207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff60405191168152f35b503461013e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013e5760043567ffffffffffffffff80821161013e573660238301121561013e57816004013590811161013e573691016024011161013e57005b9081602091031261013e575190565b506040513d6000823e3d90fd5b60208082528251818301819052939260005b858110610374575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610334565b3d156103b3573d90610399826101e4565b916103a76040519384610196565b82523d6000602084013e565b606090565b91909173ffffffffffffffffffffffffffffffffffffffff917f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0938385541633036105cd577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc93808554166105a357600460207fc097d45e5a99ca772ab5ec2e5457c2e249760944b95b0b97cbb6b03ec55bae8492604051928380927f8291286c00000000000000000000000000000000000000000000000000000000825289165afa908115610596575b600091610568575b500361053e576000948386955555604051610500816104d460208201947f9ded06df00000000000000000000000000000000000000000000000000000000865260248301610322565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610196565b51915af461050c610388565b501561051457565b60046040517f97905dfb000000000000000000000000000000000000000000000000000000008152fd5b60046040517f68155f9a000000000000000000000000000000000000000000000000000000008152fd5b610589915060203d811161058f575b6105818183610196565b810190610306565b3861048b565b503d610577565b61059e610315565b610483565b60046040517f0dc149f0000000000000000000000000000000000000000000000000000000008152fd5b60046040517f30cd7471000000000000000000000000000000000000000000000000000000008152fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546000808092368280378136915af43d82803e15610635573d90f35b3d90fd5b5060046040517f37334834000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212205a1ae4e4554ee5e5b30712df541f3571c30f56cc0963334dec2abbb4f5176f4d64736f6c63430008110033

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

Squid allows any token to be swapped between blockchains, and unlocks access to apps across chains in a single click. Use Squid to build seamless user experiences that reach anyone with a crypto wallet, no matter what chain they’re on.

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.