GLMR Price: $0.51 (-14.69%)
Gas: 152 GWei

Contract

0xce16F69375520ab01377ce7B88f5BA8C48F8D666

Overview

GLMR Balance

Moonbeam Chain LogoMoonbeam Chain LogoMoonbeam Chain Logo0 GLMR

GLMR Value

$0.00
Transaction Hash
Method
Block
From
To
Value
Execute With Tok...57553472024-03-19 4:02:301 hr ago1710820950IN
Squid: Router
0 GLMR0.02789946131.33859259
Express Execute ...57552612024-03-19 3:45:181 hr ago1710819918IN
Squid: Router
0 GLMR0.15972783186.85814574
Execute With Tok...57552002024-03-19 3:32:481 hr ago1710819168IN
Squid: Router
0 GLMR0.02906273136.81474266
Execute With Tok...57551882024-03-19 3:30:241 hr ago1710819024IN
Squid: Router
0 GLMR0.03210361151.12987402
Express Execute ...57551032024-03-19 3:13:241 hr ago1710818004IN
Squid: Router
0 GLMR0.16785348194.41887785
Express Execute ...57550872024-03-19 3:09:541 hr ago1710817794IN
Squid: Router
0 GLMR0.16761738195.34550801
Execute With Tok...57550452024-03-19 3:01:242 hrs ago1710817284IN
Squid: Router
0 GLMR0.0306531144.30149856
Execute With Tok...57549682024-03-19 2:45:482 hrs ago1710816348IN
Squid: Router
0 GLMR0.03095574149.14120658
Express Execute ...57549582024-03-19 2:43:422 hrs ago1710816222IN
Squid: Router
0 GLMR0.10649244200.85790087
Execute With Tok...57549452024-03-19 2:41:062 hrs ago1710816066IN
Squid: Router
0 GLMR0.03088758148.81281714
Express Execute ...57548692024-03-19 2:25:422 hrs ago1710815142IN
Squid: Router
0 GLMR0.10875944205.13372655
Call Bridge Call57548542024-03-19 2:22:422 hrs ago1710814962IN
Squid: Router
652.07219861 GLMR0.13348653152.76764352
Execute With Tok...57547652024-03-19 2:04:183 hrs ago1710813858IN
Squid: Router
0 GLMR0.03166288149.8678903
Express Execute ...57547562024-03-19 2:02:243 hrs ago1710813744IN
Squid: Router
0 GLMR0.14704649205.06632062
Call Bridge Call57546372024-03-19 1:38:063 hrs ago1710812286IN
Squid: Router
6.08247512 GLMR0.0857677152.41414379
Call Bridge Call57544302024-03-19 0:55:364 hrs ago1710809736IN
Squid: Router
141.13028069 GLMR0.14122152165
Express Execute ...57543212024-03-19 0:33:244 hrs ago1710808404IN
Squid: Router
0 GLMR0.16157137188.29934103
Execute With Tok...57542752024-03-19 0:24:064 hrs ago1710807846IN
Squid: Router
0 GLMR0.02893581136.21725842
Execute With Tok...57542562024-03-19 0:20:064 hrs ago1710807606IN
Squid: Router
0 GLMR0.0284666133.84712291
Call Bridge Call57542022024-03-19 0:08:484 hrs ago1710806928IN
Squid: Router
55.97482232 GLMR0.1189919133
Execute With Tok...57541422024-03-18 23:56:245 hrs ago1710806184IN
Squid: Router
0 GLMR0.02745389132.26966775
Express Execute ...57541172024-03-18 23:51:125 hrs ago1710805872IN
Squid: Router
0 GLMR0.15413148184.33781782
Express Execute ...57540882024-03-18 23:45:245 hrs ago1710805524IN
Squid: Router
0 GLMR0.1577199183.91018258
Execute With Tok...57540482024-03-18 23:36:545 hrs ago1710805014IN
Squid: Router
0 GLMR0.02704812127.33084772
Express Execute ...57540392024-03-18 23:34:545 hrs ago1710804894IN
Squid: Router
0 GLMR0.1560526181.96602265
View all transactions

Latest 25 internal transactions (View All)

Parent Txn Hash Block From To Value
43747632023-09-06 8:04:06194 days ago1693987446
Squid: Router
1.12772229 GLMR
43747592023-09-06 8:03:18194 days ago1693987398
Squid: Router
1.26149627 GLMR
43732592023-09-06 3:01:06195 days ago1693969266
Squid: Router
193.68276347 GLMR
43732492023-09-06 2:59:06195 days ago1693969146
Squid: Router
1.31769914 GLMR
43662912023-09-05 3:28:06196 days ago1693884486
Squid: Router
11.82726806 GLMR
43662042023-09-05 3:10:36196 days ago1693883436
Squid: Router
111.77611348 GLMR
43661502023-09-05 2:59:36196 days ago1693882776
Squid: Router
0.47211376 GLMR
43661172023-09-05 2:53:00196 days ago1693882380
Squid: Router
100.47372991 GLMR
43660262023-09-05 2:34:48196 days ago1693881288
Squid: Router
30.02895589 GLMR
43659802023-09-05 2:25:30196 days ago1693880730
Squid: Router
236.54477729 GLMR
43658582023-09-05 2:01:06196 days ago1693879266
Squid: Router
5.68160419 GLMR
43657552023-09-05 1:40:24196 days ago1693878024
Squid: Router
82.41989603 GLMR
43614412023-09-04 11:10:48196 days ago1693825848
Squid: Router
0.54531374 GLMR
43613482023-09-04 10:52:12196 days ago1693824732
Squid: Router
50.54116352 GLMR
43609992023-09-04 9:42:18196 days ago1693820538
Squid: Router
0.54111148 GLMR
43607652023-09-04 8:54:48196 days ago1693817688
Squid: Router
50.5627725 GLMR
43607552023-09-04 8:52:48196 days ago1693817568
Squid: Router
1.2854386 GLMR
28841332023-02-05 14:01:06407 days ago1675605666
Squid: Router
2.82914142 GLMR
28840732023-02-05 13:49:00407 days ago1675604940
Squid: Router
2.75277569 GLMR
28839752023-02-05 13:29:12407 days ago1675603752
Squid: Router
2.00445667 GLMR
28837182023-02-05 12:36:19407 days ago1675600579
Squid: Router
0.1020075 GLMR
28836952023-02-05 12:31:30407 days ago1675600290
Squid: Router
1 GLMR
28799112023-02-04 23:44:24408 days ago1675554264
Squid: Router
1 GLMR
28793252023-02-04 21:45:00408 days ago1675547100
Squid: Router
2.31849812 GLMR
28791602023-02-04 21:11:42408 days ago1675545102
Squid: Router
2.30395097 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

[{"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

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