ETH Price: $3,273.04 (-1.72%)

Contract

0xce16F69375520ab01377ce7B88f5BA8C48F8D666
 
Transaction Hash
Method
Block
From
To
0x3f694ad1fb4a4729fcf4b5b71b4202c657cbcc116bb3943683f5c233ab5705c2 Call Bridge Call(pending)2024-12-23 5:11:312 hrs ago1734930691IN
Squid: Router
0.0001988215 ETH(Pending)(Pending)
Call Bridge Call214636542024-12-23 7:19:2343 secs ago1734938363IN
Squid: Router
0.0033853 ETH0.001471695.33640977
Fund And Run Mul...214636502024-12-23 7:18:351 min ago1734938315IN
Squid: Router
0.00308845 ETH0.000627673.94964414
Express Execute ...214636492024-12-23 7:18:231 min ago1734938303IN
Squid: Router
0 ETH0.001613255.40993224
Express Execute ...214636402024-12-23 7:16:353 mins ago1734938195IN
Squid: Router
0 ETH0.000879915.04293599
Call Bridge Call214636362024-12-23 7:15:474 mins ago1734938147IN
Squid: Router
0.00006718 ETH0.00103014.46753042
Execute With Tok...214636362024-12-23 7:15:474 mins ago1734938147IN
Squid: Router
0 ETH0.000783165.01753042
Execute With Tok...214636352024-12-23 7:15:354 mins ago1734938135IN
Squid: Router
0 ETH0.000628945.33224459
Express Execute ...214636132024-12-23 7:11:118 mins ago1734937871IN
Squid: Router
0 ETH0.001780815.8237773
Execute With Tok...214636102024-12-23 7:10:359 mins ago1734937835IN
Squid: Router
0 ETH0.000650035.58027206
Express Execute ...214635992024-12-23 7:08:2311 mins ago1734937703IN
Squid: Router
0 ETH0.001893095.51369239
Fund And Run Mul...214635652024-12-23 7:01:3518 mins ago1734937295IN
Squid: Router
0.00006533 ETH0.000687123.90509514
Call Bridge Call214635192024-12-23 6:52:2327 mins ago1734936743IN
Squid: Router
0.00058496 ETH0.001219784.82199004
Call Bridge Call214634922024-12-23 6:46:5933 mins ago1734936419IN
Squid: Router
0.00107366 ETH0.001408855.37128855
Execute With Tok...214634532024-12-23 6:39:1140 mins ago1734935951IN
Squid: Router
0 ETH0.000584755.11064153
Fund And Run Mul...214634312024-12-23 6:34:4745 mins ago1734935687IN
Squid: Router
0.00006545 ETH0.000917585.16571295
Execute With Tok...214633612024-12-23 6:20:351 hrs ago1734934835IN
Squid: Router
0 ETH0.000480364.34508102
Express Execute ...214633402024-12-23 6:16:231 hr ago1734934583IN
Squid: Router
0 ETH0.001312965.38049854
Execute With Tok...214633102024-12-23 6:10:231 hr ago1734934223IN
Squid: Router
0 ETH0.000721995.34754868
Express Execute ...214632842024-12-23 6:05:111 hr 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
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
214636562024-12-23 7:19:4719 secs ago1734938387
Squid: Router
0.00037587 ETH
214636562024-12-23 7:19:4719 secs ago1734938387
Squid: Router
0.00495625 ETH
214636562024-12-23 7:19:4719 secs ago1734938387
Squid: Router
0.00533212 ETH
214636542024-12-23 7:19:2343 secs ago1734938363
Squid: Router
0.0000853 ETH
214636542024-12-23 7:19:2343 secs ago1734938363
Squid: Router
0.0033 ETH
214636502024-12-23 7:18:351 min ago1734938315
Squid: Router
0.00308845 ETH
214636502024-12-23 7:18:351 min ago1734938315
Squid: Router
0.00017084 ETH
214636502024-12-23 7:18:351 min ago1734938315
Squid: Router
0.0099125 ETH
214636502024-12-23 7:18:351 min ago1734938315
Squid: Router
0.01008334 ETH
214636502024-12-23 7:18:351 min ago1734938315
Squid: Router
0.00037558 ETH
214636502024-12-23 7:18:351 min ago1734938315
Squid: Router
0.00037558 ETH
214636452024-12-23 7:17:352 mins ago1734938255
Squid: Router
0.00006212 ETH
214636452024-12-23 7:17:352 mins ago1734938255
Squid: Router
0.00006212 ETH
214636362024-12-23 7:15:474 mins ago1734938147
Squid: Router
0.00006718 ETH
214635652024-12-23 7:01:3518 mins ago1734937295
Squid: Router
0.00006533 ETH
214635372024-12-23 6:55:5924 mins ago1734936959
Squid: Router
0.00028082 ETH
214635372024-12-23 6:55:5924 mins ago1734936959
Squid: Router
0.0099125 ETH
214635372024-12-23 6:55:5924 mins ago1734936959
Squid: Router
0.01019332 ETH
214635192024-12-23 6:52:2327 mins ago1734936743
Squid: Router
0.00008496 ETH
214635192024-12-23 6:52:2327 mins ago1734936743
Squid: Router
0.0005 ETH
214635062024-12-23 6:49:4730 mins ago1734936587
Squid: Router
0.00037474 ETH
214635062024-12-23 6:49:4730 mins ago1734936587
Squid: Router
0.00793 ETH
214635062024-12-23 6:49:4730 mins ago1734936587
Squid: Router
0.00830474 ETH
214634922024-12-23 6:46:5933 mins ago1734936419
Squid: Router
0.00007366 ETH
214634922024-12-23 6:46:5933 mins ago1734936419
Squid: Router
0.001 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.