ETH Price: $2,953.52 (-0.38%)
 

More Info

Private Name Tags

Multichain Info

Transaction Hash
Method
Block
From
To
Execute With Tok...287108532026-01-24 13:00:103 hrs ago1769259610IN
Squid: Squid Router Proxy
0 ETH0.000000080.0001201
Call Bridge Call286824052026-01-24 2:44:5514 hrs ago1769222695IN
Squid: Squid Router Proxy
0.0000989 ETH0.000000160.0001201
Call Bridge Call286658102026-01-23 19:38:1121 hrs ago1769197091IN
Squid: Squid Router Proxy
0.0015797 ETH0.000002470.004999
Execute With Tok...286398152026-01-23 11:00:1029 hrs ago1769166010IN
Squid: Squid Router Proxy
0 ETH0.000000080.0001201
Express Execute ...286390552026-01-23 10:41:4530 hrs ago1769164905IN
Squid: Squid Router Proxy
0 ETH0.00000010.0001203
Execute With Tok...286097882026-01-22 21:35:5843 hrs ago1769117758IN
Squid: Squid Router Proxy
0 ETH0.000000120.0001201
Execute With Tok...285803382026-01-22 11:10:302 days ago1769080230IN
Squid: Squid Router Proxy
0 ETH0.000000070.0001201
Execute With Tok...285756702026-01-22 9:19:452 days ago1769073585IN
Squid: Squid Router Proxy
0 ETH0.000000090.0001203
Call Bridge Call285691382026-01-22 6:24:412 days ago1769063081IN
Squid: Squid Router Proxy
0.00055873 ETH0.000000140.0001201
Execute With Tok...285552032026-01-21 23:53:362 days ago1769039616IN
Squid: Squid Router Proxy
0 ETH0.000000120.0001201
Express Execute ...285540912026-01-21 23:30:482 days ago1769038248IN
Squid: Squid Router Proxy
0 ETH0.000000070.0001203
Execute With Tok...284894272026-01-20 21:50:593 days ago1768945859IN
Squid: Squid Router Proxy
0 ETH0.000000070.0001201
Call Bridge Call284770352026-01-20 17:38:563 days ago1768930736IN
Squid: Squid Router Proxy
0.09257398 ETH0.000003150.004999
Call Bridge Call283744832026-01-19 9:45:515 days ago1768815951IN
Squid: Squid Router Proxy
0.01301657 ETH0.000000130.0001201
Call Bridge Call283744582026-01-19 9:45:065 days ago1768815906IN
Squid: Squid Router Proxy
0.01762662 ETH0.000000140.0001201
Call Bridge Call283743662026-01-19 9:42:375 days ago1768815757IN
Squid: Squid Router Proxy
0.01391665 ETH0.000000150.0001201
Call Bridge Call283741802026-01-19 9:36:425 days ago1768815402IN
Squid: Squid Router Proxy
0.01941692 ETH0.000000170.0001201
Call Bridge Call283741332026-01-19 9:35:025 days ago1768815302IN
Squid: Squid Router Proxy
0.01738695 ETH0.000000170.0001201
Execute With Tok...283703662026-01-19 8:06:115 days ago1768809971IN
Squid: Squid Router Proxy
0 ETH0.000000040.0001201
Express Execute ...283693832026-01-19 7:44:015 days ago1768808641IN
Squid: Squid Router Proxy
0 ETH0.000000040.0001203
Execute With Tok...283283152026-01-18 15:26:366 days ago1768749996IN
Squid: Squid Router Proxy
0 ETH0.000000060.0001201
Express Execute ...283271162026-01-18 15:06:306 days ago1768748790IN
Squid: Squid Router Proxy
0 ETH0.000000110.0001203
Execute With Tok...283135422026-01-18 10:58:526 days ago1768733932IN
Squid: Squid Router Proxy
0 ETH0.000000060.0001201
Call Bridge Call282019932026-01-16 21:27:587 days ago1768598878IN
Squid: Squid Router Proxy
0.00098932 ETH0.000002640.00505
Fund And Run Mul...281526092026-01-15 23:08:238 days ago1768518503IN
Squid: Squid Router Proxy
0.00004977 ETH0.000000070.0001201
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
287185902026-01-24 15:52:3458 mins ago1769269954
Squid: Squid Router Proxy
0.00001199 ETH
287185902026-01-24 15:52:3458 mins ago1769269954
Squid: Squid Router Proxy
0.00001199 ETH
287163272026-01-24 14:58:511 hr ago1769266731
Squid: Squid Router Proxy
0.00001247 ETH
287163272026-01-24 14:58:511 hr ago1769266731
Squid: Squid Router Proxy
0.00001247 ETH
287149032026-01-24 14:26:292 hrs ago1769264789
Squid: Squid Router Proxy
0.00002412 ETH
287149032026-01-24 14:26:292 hrs ago1769264789
Squid: Squid Router Proxy
0.00002412 ETH
287033302026-01-24 10:17:186 hrs ago1769249838
Squid: Squid Router Proxy
0.00001059 ETH
287033302026-01-24 10:17:186 hrs ago1769249838
Squid: Squid Router Proxy
0.00001059 ETH
286824052026-01-24 2:44:5514 hrs ago1769222695
Squid: Squid Router Proxy
0.00000923 ETH
286824052026-01-24 2:44:5514 hrs ago1769222695
Squid: Squid Router Proxy
0.00008967 ETH
286697282026-01-23 21:05:3119 hrs ago1769202331
Squid: Squid Router Proxy
0.00015778 ETH
286697282026-01-23 21:05:3119 hrs ago1769202331
Squid: Squid Router Proxy
0.00015778 ETH
286692242026-01-23 20:54:1519 hrs ago1769201655
Squid: Squid Router Proxy
0.00019942 ETH
286692242026-01-23 20:54:1519 hrs ago1769201655
Squid: Squid Router Proxy
0.00019942 ETH
286658102026-01-23 19:38:1121 hrs ago1769197091
Squid: Squid Router Proxy
0.00007585 ETH
286658102026-01-23 19:38:1121 hrs ago1769197091
Squid: Squid Router Proxy
0.00150384 ETH
286530772026-01-23 15:26:2925 hrs ago1769181989
Squid: Squid Router Proxy
0.00034528 ETH
286530772026-01-23 15:26:2925 hrs ago1769181989
Squid: Squid Router Proxy
0.00034528 ETH
286501402026-01-23 14:37:2126 hrs ago1769179041
Squid: Squid Router Proxy
0.00003023 ETH
286501402026-01-23 14:37:2126 hrs ago1769179041
Squid: Squid Router Proxy
0.00003023 ETH
286439682026-01-23 12:27:1528 hrs ago1769171235
Squid: Squid Router Proxy
0.0000241 ETH
286439682026-01-23 12:27:1528 hrs ago1769171235
Squid: Squid Router Proxy
0.0000241 ETH
286218012026-01-23 3:49:3737 hrs ago1769140177
Squid: Squid Router Proxy
0.00002736 ETH
286218012026-01-23 3:49:3737 hrs ago1769140177
Squid: Squid Router Proxy
0.00002736 ETH
286029842026-01-22 18:46:4346 hrs ago1769107603
Squid: Squid Router Proxy
0.00001177 ETH
View All Internal Transactions
Cross-Chain 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
// 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");
    }
}

// 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;
}

// 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

API
[{"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 Gas Used Reward
view all blocks sequenced

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

Validator Index Block Amount
View All Withdrawals

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