ETH Price: $3,147.61 (+2.50%)
Gas: 5 Gwei

Contract

0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

Transaction Hash
Method
Block
From
To
Value
Multicall196826962024-04-18 13:39:232 days ago1713447563IN
0x83a93500...7A0670D66
0.00052793 ETH0.0013301716.46582563
Multicall196826902024-04-18 13:38:112 days ago1713447491IN
0x83a93500...7A0670D66
0.00052793 ETH0.0102075615.36571309
Deploy Remote In...196726472024-04-17 3:56:233 days ago1713326183IN
0x83a93500...7A0670D66
0.00010959 ETH0.001140178.65639395
Multicall196411952024-04-12 18:05:478 days ago1712945147IN
0x83a93500...7A0670D66
0.00050133 ETH0.0297791350.33073589
Multicall195994082024-04-06 21:37:5914 days ago1712439479IN
0x83a93500...7A0670D66
0.00018001 ETH0.0066870511.14568867
Multicall195960512024-04-06 10:21:1114 days ago1712398871IN
0x83a93500...7A0670D66
0.00123628 ETH0.0083819513.98593459
Multicall195890712024-04-05 10:54:2315 days ago1712314463IN
0x83a93500...7A0670D66
0.00030295 ETH0.0096956114.56202276
Multicall195804762024-04-04 6:00:3516 days ago1712210435IN
0x83a93500...7A0670D66
0.00146995 ETH0.01017317.01290638
Multicall195596902024-04-01 8:07:2319 days ago1711958843IN
0x83a93500...7A0670D66
0.00034352 ETH0.0119271619.88484613
Multicall195540982024-03-31 13:13:5920 days ago1711890839IN
0x83a93500...7A0670D66
0.00058437 ETH0.0030390823.33787053
Multicall195468432024-03-30 12:43:2321 days ago1711802603IN
0x83a93500...7A0670D66
0.00096417 ETH0.012339620.56796499
Multicall195252902024-03-27 11:12:4724 days ago1711537967IN
0x83a93500...7A0670D66
0.00111851 ETH0.0136448823.06035881
Multicall195219622024-03-26 23:51:4724 days ago1711497107IN
0x83a93500...7A0670D66
0.00084304 ETH0.07672524127.93531957
Multicall195196592024-03-26 16:01:3525 days ago1711468895IN
0x83a93500...7A0670D66
0.00825517 ETH0.0681607472.07567761
Multicall195178962024-03-26 10:03:2325 days ago1711447403IN
0x83a93500...7A0670D66
0.00183976 ETH0.0032678224.38440097
Multicall195178082024-03-26 9:44:4725 days ago1711446287IN
0x83a93500...7A0670D66
0.00094296 ETH0.0085814125.29420681
Multicall195177982024-03-26 9:42:4725 days ago1711446167IN
0x83a93500...7A0670D66
0.00182091 ETH0.0133614921.97867694
Multicall195161032024-03-26 4:00:5925 days ago1711425659IN
0x83a93500...7A0670D66
0.00033597 ETH0.0110455616.63047399
Upgrade195095502024-03-25 5:53:1126 days ago1711345991IN
0x83a93500...7A0670D66
0 ETH0.0007156118.8360086
Multicall195093302024-03-25 5:08:1126 days ago1711343291IN
0x83a93500...7A0670D66
0.01238518 ETH0.0017191515.50130672
Multicall195093292024-03-25 5:07:5926 days ago1711343279IN
0x83a93500...7A0670D66
0.01238518 ETH0.02487315.59694404
Multicall194987052024-03-23 17:11:5928 days ago1711213919IN
0x83a93500...7A0670D66
0.00031982 ETH0.0244269224.78675641
Multicall194967362024-03-23 10:34:3528 days ago1711190075IN
0x83a93500...7A0670D66
0.00096578 ETH0.0174375417.69226549
Multicall194709612024-03-19 19:45:5932 days ago1710877559IN
0x83a93500...7A0670D66
0.00012463 ETH0.0224770737.17775419
Multicall194630312024-03-18 17:02:2333 days ago1710781343IN
0x83a93500...7A0670D66
0.00024961 ETH0.0242730239.7974553
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
196826902024-04-18 13:38:112 days ago1713447491
0x83a93500...7A0670D66
0.00039172 ETH
196826902024-04-18 13:38:112 days ago1713447491
0x83a93500...7A0670D66
0.0001362 ETH
196726472024-04-17 3:56:233 days ago1713326183
0x83a93500...7A0670D66
0.00010959 ETH
196411952024-04-12 18:05:478 days ago1712945147
0x83a93500...7A0670D66
0.00050133 ETH
195994082024-04-06 21:37:5914 days ago1712439479
0x83a93500...7A0670D66
0.00018001 ETH
195960512024-04-06 10:21:1114 days ago1712398871
0x83a93500...7A0670D66
0.00123628 ETH
195890712024-04-05 10:54:2315 days ago1712314463
0x83a93500...7A0670D66
0.00018537 ETH
195890712024-04-05 10:54:2315 days ago1712314463
0x83a93500...7A0670D66
0.00011758 ETH
195804762024-04-04 6:00:3516 days ago1712210435
0x83a93500...7A0670D66
0.00146995 ETH
195596902024-04-01 8:07:2319 days ago1711958843
0x83a93500...7A0670D66
0.00034352 ETH
195540982024-03-31 13:13:5920 days ago1711890839
0x83a93500...7A0670D66
0.00058437 ETH
195468432024-03-30 12:43:2321 days ago1711802603
0x83a93500...7A0670D66
0.00096417 ETH
195252902024-03-27 11:12:4724 days ago1711537967
0x83a93500...7A0670D66
0.00111851 ETH
195219622024-03-26 23:51:4724 days ago1711497107
0x83a93500...7A0670D66
0.00084304 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00042469 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00019438 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00365325 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00173719 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00013031 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00013073 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00017215 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00013617 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00014345 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00020302 ETH
195196592024-03-26 16:01:3525 days ago1711468895
0x83a93500...7A0670D66
0.00092339 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xB5FB4BE0...980dE9e3C
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
InterchainProxy

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 1000 runs

Other Settings:
london EvmVersion
File 1 of 5 : InterchainProxy.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import { Proxy } from '@axelar-network/axelar-gmp-sdk-solidity/contracts/upgradable/Proxy.sol';

/**
 * @title InterchainProxy
 * @notice This contract is a proxy for interchainTokenService and interchainTokenFactory.
 * @dev This contract implements Proxy.
 */
contract InterchainProxy is Proxy {
    constructor(address implementationAddress, address owner, bytes memory setupParams) Proxy(implementationAddress, owner, setupParams) {}
}

File 2 of 5 : IContractIdentifier.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

// General interface for upgradable contracts
interface IContractIdentifier {
    /**
     * @notice Returns the contract ID. It can be used as a check during upgrades.
     * @dev Meant to be overridden in derived contracts.
     * @return bytes32 The contract ID
     */
    function contractId() external pure returns (bytes32);
}

File 3 of 5 : IProxy.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

// General interface for upgradable contracts
interface IProxy {
    error InvalidOwner();
    error InvalidImplementation();
    error SetupFailed();
    error NotOwner();
    error AlreadyInitialized();

    function implementation() external view returns (address);

    function setup(bytes calldata setupParams) external;
}

File 4 of 5 : BaseProxy.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import { IProxy } from '../interfaces/IProxy.sol';

/**
 * @title BaseProxy Contract
 * @dev This abstract contract implements a basic proxy that stores an implementation address. Fallback function
 * calls are delegated to the implementation. This contract is meant to be inherited by other proxy contracts.
 */
abstract contract BaseProxy is IProxy {
    // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
    bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
    // keccak256('owner')
    bytes32 internal constant _OWNER_SLOT = 0x02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0;

    /**
     * @dev Returns the current implementation address.
     * @return implementation_ The address of the current implementation contract
     */
    function implementation() public view virtual returns (address implementation_) {
        assembly {
            implementation_ := sload(_IMPLEMENTATION_SLOT)
        }
    }

    /**
     * @dev Shadows the setup function of the implementation contract so it can't be called directly via the proxy.
     * @param params The setup parameters for the implementation contract.
     */
    function setup(bytes calldata params) external {}

    /**
     * @dev Returns the contract ID. It can be used as a check during upgrades. Meant to be implemented in derived contracts.
     * @return bytes32 The contract ID
     */
    function contractId() internal pure virtual returns (bytes32);

    /**
     * @dev Fallback function. Delegates the call to the current implementation contract.
     */
    fallback() external payable virtual {
        address implementation_ = implementation();
        assembly {
            calldatacopy(0, 0, calldatasize())

            let result := delegatecall(gas(), implementation_, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())

            switch result
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    /**
     * @dev Payable fallback function. Can be overridden in derived contracts.
     */
    receive() external payable virtual {}
}

File 5 of 5 : Proxy.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import { IProxy } from '../interfaces/IProxy.sol';
import { IContractIdentifier } from '../interfaces/IContractIdentifier.sol';
import { BaseProxy } from './BaseProxy.sol';

/**
 * @title Proxy Contract
 * @notice A proxy contract that delegates calls to a designated implementation contract. Inherits from BaseProxy.
 * @dev The constructor takes in the address of the implementation contract, the owner address, and any optional setup
 * parameters for the implementation contract.
 */
contract Proxy is BaseProxy {
    /**
     * @notice Constructs the proxy contract with the implementation address, owner address, and optional setup parameters.
     * @param implementationAddress The address of the implementation contract
     * @param owner The owner address
     * @param setupParams Optional parameters to setup the implementation contract
     * @dev The constructor verifies that the owner address is not the zero address and that the contract ID of the implementation is valid.
     * It then stores the implementation address and owner address in their designated storage slots and calls the setup function on the
     * implementation (if setup params exist).
     */
    constructor(
        address implementationAddress,
        address owner,
        bytes memory setupParams
    ) {
        if (owner == address(0)) revert InvalidOwner();

        bytes32 id = contractId();
        // Skipping the check if contractId() is not set by an inheriting proxy contract
        if (id != bytes32(0) && IContractIdentifier(implementationAddress).contractId() != id)
            revert InvalidImplementation();

        assembly {
            sstore(_IMPLEMENTATION_SLOT, implementationAddress)
            sstore(_OWNER_SLOT, owner)
        }

        if (setupParams.length != 0) {
            (bool success, ) = implementationAddress.delegatecall(
                abi.encodeWithSelector(BaseProxy.setup.selector, setupParams)
            );
            if (!success) revert SetupFailed();
        }
    }

    function contractId() internal pure virtual override returns (bytes32) {
        return bytes32(0);
    }
}

Settings
{
  "evmVersion": "london",
  "optimizer": {
    "enabled": true,
    "runs": 1000,
    "details": {
      "peephole": true,
      "inliner": true,
      "jumpdestRemover": true,
      "orderLiterals": true,
      "deduplicate": true,
      "cse": true,
      "constantOptimizer": true,
      "yul": true,
      "yulDetails": {
        "stackAllocation": true
      }
    }
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"implementationAddress","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes","name":"setupParams","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[],"name":"InvalidImplementation","type":"error"},{"inputs":[],"name":"InvalidOwner","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":"bytes","name":"params","type":"bytes"}],"name":"setup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x60806040526004361061002d5760003560e01c80635c60da1b146100865780639ded06df146100de57610034565b3661003457005b600061005e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e80801561007f573d6000f35b3d6000fd5b005b34801561009257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100ea57600080fd5b506100846100f93660046100fd565b5050565b6000806020838503121561011057600080fd5b823567ffffffffffffffff8082111561012857600080fd5b818501915085601f83011261013c57600080fd5b81358181111561014b57600080fd5b86602082850101111561015d57600080fd5b6020929092019691955090935050505056fea264697066735822122083cc979c34f7a71d3cd53a66104a3b2712b956b8820d9a7b6ff618995b3afcba64736f6c63430008150033

Block Transaction Difficulty 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.