AVAX Price: $22.97 (+13.77%)
Gas: 1 nAVAX
 

Multichain Info

Transaction Hash
Method
Block
From
To
Fund And Run Mul...607865152025-04-23 8:53:3512 mins ago1745398415IN
0xce16F693...C48F8D666
0 AVAX0.000463091.6104516
Execute With Tok...607858102025-04-23 8:36:4429 mins ago1745397404IN
0xce16F693...C48F8D666
0 AVAX0.000203121.29895127
Execute With Tok...607855132025-04-23 8:30:0536 mins ago1745397005IN
0xce16F693...C48F8D666
0 AVAX0.000016350.11320309
Express Execute ...607854192025-04-23 8:28:0538 mins ago1745396885IN
0xce16F693...C48F8D666
0 AVAX0.0032944511.98512151
Call Bridge Call607848522025-04-23 8:15:4450 mins ago1745396144IN
0xce16F693...C48F8D666
0.06130452 AVAX0.000611171.01
Fund And Run Mul...607848042025-04-23 8:14:5051 mins ago1745396090IN
0xce16F693...C48F8D666
4.45 AVAX0.000729871.71321882
Fund And Run Mul...607838762025-04-23 7:53:331 hr ago1745394813IN
0xce16F693...C48F8D666
0.2 AVAX0.000374171.60909425
Bridge Call607824922025-04-23 7:21:341 hr ago1745392894IN
0xce16F693...C48F8D666
0.04100738 AVAX0.000166081.01
Execute With Tok...607819642025-04-23 7:09:451 hr ago1745392185IN
0xce16F693...C48F8D666
0 AVAX0.000180351.15362471
Express Execute ...607810522025-04-23 6:49:302 hrs ago1745390970IN
0xce16F693...C48F8D666
0 AVAX0.000102750.2232067
Fund And Run Mul...607808982025-04-23 6:45:502 hrs ago1745390750IN
0xce16F693...C48F8D666
13.64 AVAX0.000236291.01
Fund And Run Mul...607808812025-04-23 6:45:222 hrs ago1745390722IN
0xce16F693...C48F8D666
13.64 AVAX0.000245831.2
Express Execute ...607808062025-04-23 6:43:262 hrs ago1745390606IN
0xce16F693...C48F8D666
0 AVAX0.000074730.16231883
Execute With Tok...607805812025-04-23 6:38:132 hrs ago1745390293IN
0xce16F693...C48F8D666
0 AVAX0.000029930.17245345
Fund And Run Mul...607799942025-04-23 6:24:452 hrs ago1745389485IN
0xce16F693...C48F8D666
1.32439411 AVAX0.000233881
Fund And Run Mul...607799652025-04-23 6:24:082 hrs ago1745389448IN
0xce16F693...C48F8D666
1.32553513 AVAX0.000236221.01
Express Execute ...607797572025-04-23 6:19:402 hrs ago1745389180IN
0xce16F693...C48F8D666
0 AVAX0.0303242859.98323056
Fund And Run Mul...607790192025-04-23 6:02:073 hrs ago1745388127IN
0xce16F693...C48F8D666
0 AVAX0.000505641.01
Execute With Tok...607779312025-04-23 5:36:123 hrs ago1745386572IN
0xce16F693...C48F8D666
0 AVAX0.000058290.12558052
Execute With Tok...607766512025-04-23 5:07:463 hrs ago1745384866IN
0xce16F693...C48F8D666
0 AVAX0.0028106819.4477392
Fund And Run Mul...607759482025-04-23 4:52:434 hrs ago1745383963IN
0xce16F693...C48F8D666
2.22 AVAX0.000651491.6077809
Bridge Call607758972025-04-23 4:51:364 hrs ago1745383896IN
0xce16F693...C48F8D666
0.12171845 AVAX0.0016618510.10749079
Bridge Call607751322025-04-23 4:33:254 hrs ago1745382805IN
0xce16F693...C48F8D666
0.12264928 AVAX0.0016674710.14168664
Fund And Run Mul...607748022025-04-23 4:25:434 hrs ago1745382343IN
0xce16F693...C48F8D666
0.06669141 AVAX0.000025510.12411689
Fund And Run Mul...607746162025-04-23 4:21:164 hrs ago1745382076IN
0xce16F693...C48F8D666
0 AVAX0.000505421.01
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
607857742025-04-23 8:35:5030 mins ago1745397350
0xce16F693...C48F8D666
0.07455876 AVAX
607857742025-04-23 8:35:5030 mins ago1745397350
0xce16F693...C48F8D666
0.07455876 AVAX
607848522025-04-23 8:15:4450 mins ago1745396144
0xce16F693...C48F8D666
0.06130452 AVAX
607848042025-04-23 8:14:5051 mins ago1745396090
0xce16F693...C48F8D666
4.45 AVAX
607838762025-04-23 7:53:331 hr ago1745394813
0xce16F693...C48F8D666
0.2 AVAX
607824922025-04-23 7:21:341 hr ago1745392894
0xce16F693...C48F8D666
0.04100738 AVAX
607808982025-04-23 6:45:502 hrs ago1745390750
0xce16F693...C48F8D666
13.64 AVAX
607808812025-04-23 6:45:222 hrs ago1745390722
0xce16F693...C48F8D666
13.64 AVAX
607799942025-04-23 6:24:452 hrs ago1745389485
0xce16F693...C48F8D666
1.32439411 AVAX
607799652025-04-23 6:24:082 hrs ago1745389448
0xce16F693...C48F8D666
1.32553513 AVAX
607796362025-04-23 6:16:292 hrs ago1745388989
0xce16F693...C48F8D666
0.00560304 AVAX
607796362025-04-23 6:16:292 hrs ago1745388989
0xce16F693...C48F8D666
0.00560304 AVAX
607784992025-04-23 5:49:343 hrs ago1745387374
0xce16F693...C48F8D666
0.00561373 AVAX
607784992025-04-23 5:49:343 hrs ago1745387374
0xce16F693...C48F8D666
0.00561373 AVAX
607784882025-04-23 5:49:213 hrs ago1745387361
0xce16F693...C48F8D666
0.05766093 AVAX
607784882025-04-23 5:49:213 hrs ago1745387361
0xce16F693...C48F8D666
0.05766093 AVAX
607776262025-04-23 5:29:083 hrs ago1745386148
0xce16F693...C48F8D666
0.00568846 AVAX
607776262025-04-23 5:29:083 hrs ago1745386148
0xce16F693...C48F8D666
0.00568846 AVAX
607759482025-04-23 4:52:434 hrs ago1745383963
0xce16F693...C48F8D666
2.22 AVAX
607758972025-04-23 4:51:364 hrs ago1745383896
0xce16F693...C48F8D666
0.12171845 AVAX
607751322025-04-23 4:33:254 hrs ago1745382805
0xce16F693...C48F8D666
0.12264928 AVAX
607748022025-04-23 4:25:434 hrs ago1745382343
0xce16F693...C48F8D666
0.06669141 AVAX
607741232025-04-23 4:09:494 hrs ago1745381389
0xce16F693...C48F8D666
0.05567821 AVAX
607740282025-04-23 4:07:124 hrs ago1745381232
0xce16F693...C48F8D666
0.00413424 AVAX
607740282025-04-23 4:07:124 hrs ago1745381232
0xce16F693...C48F8D666
0.00413424 AVAX
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

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 ##produced##

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

Validator Index Block Amount
View All Withdrawals

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