GLMR Price: $0.064377 (+1.59%)

Contract

0xce16F69375520ab01377ce7B88f5BA8C48F8D666
Transaction Hash
Method
Block
From
To
Bridge Call104998132025-04-17 21:38:481 min ago1744925928IN
Squid: Router
2.63625261 GLMR0.03300831.25
Call Bridge Call104988372025-04-17 20:00:061 hr ago1744920006IN
Squid: Router
1.24574778 GLMR0.1295789132.75
Fund And Run Mul...104978952025-04-17 18:23:183 hrs ago1744914198IN
Squid: Router
0 GLMR0.0398000631.5625
Execute With Tok...104977542025-04-17 18:08:423 hrs ago1744913322IN
Squid: Router
0 GLMR0.031818836.25
Fund And Run Mul...104975162025-04-17 17:44:303 hrs ago1744911870IN
Squid: Router
0 GLMR0.03942231.25
Execute With Tok...104975042025-04-17 17:43:243 hrs ago1744911804IN
Squid: Router
0 GLMR0.031818836.25
Express Execute ...104974762025-04-17 17:40:124 hrs ago1744911612IN
Squid: Router
0 GLMR0.3632339486.25
Express Execute ...104972582025-04-17 17:17:424 hrs ago1744910262IN
Squid: Router
0 GLMR0.3633940286.25
Execute With Tok...104971302025-04-17 17:04:424 hrs ago1744909482IN
Squid: Router
0 GLMR0.0274308731.251
Execute With Tok...104970762025-04-17 16:59:184 hrs ago1744909158IN
Squid: Router
0 GLMR0.034287539.0625
Call Bridge Call104969592025-04-17 16:47:064 hrs ago1744908426IN
Squid: Router
1.2078697 GLMR0.0909912933
Execute With Tok...104968842025-04-17 16:39:305 hrs ago1744907970IN
Squid: Router
0 GLMR0.031818836.25
Express Execute ...104968712025-04-17 16:38:185 hrs ago1744907898IN
Squid: Router
0 GLMR0.3625936286.25
Execute With Tok...104968142025-04-17 16:32:305 hrs ago1744907550IN
Squid: Router
0 GLMR0.0274308731.251
Express Execute ...104968082025-04-17 16:31:545 hrs ago1744907514IN
Squid: Router
0 GLMR0.363554186.25
Express Execute ...104966442025-04-17 16:15:185 hrs ago1744906518IN
Squid: Router
0 GLMR0.3629137886.25
Call Bridge Call104965442025-04-17 16:05:125 hrs ago1744905912IN
Squid: Router
16.14564845 GLMR0.094177634.375
Express Execute ...104965322025-04-17 16:04:005 hrs ago1744905840IN
Squid: Router
0 GLMR0.3632339486.25
Execute With Tok...104961132025-04-17 15:21:486 hrs ago1744903308IN
Squid: Router
0 GLMR0.0298885636.25
Express Execute ...104959172025-04-17 15:01:546 hrs ago1744902114IN
Squid: Router
0 GLMR0.0771116486.25
Fund And Run Mul...104955602025-04-17 14:25:307 hrs ago1744899930IN
Squid: Router
0 GLMR0.09260431.25
Execute With Tok...104947142025-04-17 12:59:488 hrs ago1744894788IN
Squid: Router
0 GLMR0.0275299233
Execute With Tok...104946952025-04-17 12:57:548 hrs ago1744894674IN
Squid: Router
0 GLMR0.0260708331.251
Express Execute ...104946902025-04-17 12:57:248 hrs ago1744894644IN
Squid: Router
0 GLMR0.1905048686.25
Fund And Run Mul...104946782025-04-17 12:56:128 hrs ago1744894572IN
Squid: Router
1,100 GLMR0.03707331.25
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
104959282025-04-17 15:02:546 hrs ago1744902174
Squid: Router
1.15350008 GLMR
104815352025-04-16 14:43:1230 hrs ago1744814592
Squid: Router
0.04991835 GLMR
104814072025-04-16 14:30:1831 hrs ago1744813818
Squid: Router
0.07003291 GLMR
104785522025-04-16 9:39:1236 hrs ago1744796352
Squid: Router
1.34363662 GLMR
104721132025-04-15 22:44:3046 hrs ago1744757070
Squid: Router
1.44648215 GLMR
104663472025-04-15 12:58:362 days ago1744721916
Squid: Router
1.18004205 GLMR
104498152025-04-14 8:52:303 days ago1744620750
Squid: Router
1.6342186 GLMR
104481512025-04-14 6:04:243 days ago1744610664
Squid: Router
1.10020941 GLMR
104317722025-04-13 2:14:184 days ago1744510458
Squid: Router
1.15075994 GLMR
104249382025-04-12 14:38:305 days ago1744468710
Squid: Router
1.20794329 GLMR
104241782025-04-12 13:21:065 days ago1744464066
Squid: Router
1.2492839 GLMR
104108432025-04-11 14:43:426 days ago1744382622
Squid: Router
1.67679836 GLMR
103843462025-04-09 17:26:548 days ago1744219614
Squid: Router
2.19963829 GLMR
103820912025-04-09 13:35:548 days ago1744205754
Squid: Router
1.78164945 GLMR
103774762025-04-09 5:41:128 days ago1744177272
Squid: Router
1.81541543 GLMR
103668052025-04-08 11:37:129 days ago1744112232
Squid: Router
1.40260336 GLMR
103468432025-04-07 1:40:0010 days ago1743990000
Squid: Router
1.3502556 GLMR
103444252025-04-06 21:33:3011 days ago1743975210
Squid: Router
1.27728968 GLMR
103355362025-04-06 6:27:4811 days ago1743920868
Squid: Router
0.07942801 GLMR
103271082025-04-05 16:13:3012 days ago1743869610
Squid: Router
5.22665395 GLMR
102969672025-04-03 12:48:4214 days ago1743684522
Squid: Router
1.77993079 GLMR
102808742025-04-02 9:15:2415 days ago1743585324
Squid: Router
1.3167837 GLMR
102616182025-04-01 0:38:4216 days ago1743467922
Squid: Router
1.30166381 GLMR
102576532025-03-31 17:54:4217 days ago1743443682
Squid: Router
1.30401071 GLMR
102409402025-03-30 13:36:1818 days ago1743341778
Squid: Router
1.42222717 GLMR
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 collator

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
Loading...
Loading
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.