Sepolia Testnet

Contract

0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66

Overview

ETH Balance

0.092988072949022816 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Multicall71608352024-11-27 3:59:367 days ago1732679976IN
0x83a93500...7A0670D66
0 ETH0.003078713.40202302
Multicall71607582024-11-27 3:43:007 days ago1732678980IN
0x83a93500...7A0670D66
0.00004781 ETH0.003136713.18200356
Multicall71607382024-11-27 3:38:127 days ago1732678692IN
0x83a93500...7A0670D66
0.00004779 ETH0.002521992.55831476
Multicall71567182024-11-26 13:31:248 days ago1732627884IN
0x83a93500...7A0670D66
0.00004619 ETH0.0170876217.3341141
Multicall71238242024-11-21 16:52:3613 days ago1732207956IN
0x83a93500...7A0670D66
0.00045119 ETH0.10304305104.53583094
Multicall71137582024-11-20 5:15:3614 days ago1732079736IN
0x83a93500...7A0670D66
0 ETH0.0513980456.78357137
Multicall71092422024-11-19 13:09:4815 days ago1732021788IN
0x83a93500...7A0670D66
0.00005525 ETH0.005686349.48815287
Multicall71026752024-11-18 13:49:1216 days ago1731937752IN
0x83a93500...7A0670D66
0 ETH0.002943593.25280361
Multicall71026392024-11-18 13:41:2416 days ago1731937284IN
0x83a93500...7A0670D66
0 ETH0.003225753.56440938
Multicall70827302024-11-15 15:01:3619 days ago1731682896IN
0x83a93500...7A0670D66
0.00010246 ETH0.00567685.36409092
Multicall70643382024-11-12 22:03:4822 days ago1731449028IN
0x83a93500...7A0670D66
0.00009371 ETH0.000091860.08727459
Multicall70643352024-11-12 22:03:1222 days ago1731448992IN
0x83a93500...7A0670D66
0 ETH0.001422221.57145475
Multicall70281352024-11-07 5:21:2427 days ago1730956884IN
0x83a93500...7A0670D66
0.00322367 ETH0.007583637.20617035
Multicall70279732024-11-07 4:46:4827 days ago1730954808IN
0x83a93500...7A0670D66
0 ETH0.005528246.10943789
Multicall69785482024-10-30 19:22:1235 days ago1730316132IN
0x83a93500...7A0670D66
0.00011513 ETH0.003906913.71177611
Multicall69438022024-10-25 16:35:1240 days ago1729874112IN
0x83a93500...7A0670D66
0 ETH0.001386522.01937578
Multicall69437662024-10-25 16:26:3640 days ago1729873596IN
0x83a93500...7A0670D66
0.0000625 ETH0.00113651.88309564
Multicall69437612024-10-25 16:25:3640 days ago1729873536IN
0x83a93500...7A0670D66
0 ETH0.001755761.94032708
Multicall69368852024-10-24 16:06:1241 days ago1729785972IN
0x83a93500...7A0670D66
0.00006677 ETH0.000662755.0828962
Multicall69366772024-10-24 15:21:3641 days ago1729783296IN
0x83a93500...7A0670D66
0 ETH0.003457215.03520534
Multicall69366692024-10-24 15:20:0041 days ago1729783200IN
0x83a93500...7A0670D66
0 ETH0.004807735.31233417
Multicall69303712024-10-23 17:00:1242 days ago1729702812IN
0x83a93500...7A0670D66
0.00046849 ETH0.000402333.06249762
Multicall69303462024-10-23 16:55:1242 days ago1729702512IN
0x83a93500...7A0670D66
0.00007509 ETH0.000435073.3134842
Multicall69301032024-10-23 16:02:3642 days ago1729699356IN
0x83a93500...7A0670D66
0.00016095 ETH0.000363342.76519637
Multicall69273022024-10-23 5:46:2442 days ago1729662384IN
0x83a93500...7A0670D66
0 ETH0.001053982.01804642
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
71607582024-11-27 3:43:007 days ago1732678980
0x83a93500...7A0670D66
0.00004781 ETH
71607382024-11-27 3:38:127 days ago1732678692
0x83a93500...7A0670D66
0.00004779 ETH
71567182024-11-26 13:31:248 days ago1732627884
0x83a93500...7A0670D66
0.00004619 ETH
71238242024-11-21 16:52:3613 days ago1732207956
0x83a93500...7A0670D66
0.00045119 ETH
71092422024-11-19 13:09:4815 days ago1732021788
0x83a93500...7A0670D66
0.00005525 ETH
70827302024-11-15 15:01:3619 days ago1731682896
0x83a93500...7A0670D66
0.00005794 ETH
70827302024-11-15 15:01:3619 days ago1731682896
0x83a93500...7A0670D66
0.00004451 ETH
70643382024-11-12 22:03:4822 days ago1731449028
0x83a93500...7A0670D66
0.00004685 ETH
70643382024-11-12 22:03:4822 days ago1731449028
0x83a93500...7A0670D66
0.00004685 ETH
70281352024-11-07 5:21:2427 days ago1730956884
0x83a93500...7A0670D66
0.0028029 ETH
70281352024-11-07 5:21:2427 days ago1730956884
0x83a93500...7A0670D66
0.00042076 ETH
69785482024-10-30 19:22:1235 days ago1730316132
0x83a93500...7A0670D66
0.00005754 ETH
69785482024-10-30 19:22:1235 days ago1730316132
0x83a93500...7A0670D66
0.00005759 ETH
69437662024-10-25 16:26:3640 days ago1729873596
0x83a93500...7A0670D66
0.0000625 ETH
69368852024-10-24 16:06:1241 days ago1729785972
0x83a93500...7A0670D66
0.00006677 ETH
69303712024-10-23 17:00:1242 days ago1729702812
0x83a93500...7A0670D66
0.00046849 ETH
69303462024-10-23 16:55:1242 days ago1729702512
0x83a93500...7A0670D66
0.00007509 ETH
69301032024-10-23 16:02:3642 days ago1729699356
0x83a93500...7A0670D66
0.00016095 ETH
69253282024-10-22 22:26:4843 days ago1729636008
0x83a93500...7A0670D66
0.00006774 ETH
69253282024-10-22 22:26:4843 days ago1729636008
0x83a93500...7A0670D66
0.00006775 ETH
69252902024-10-22 22:18:3643 days ago1729635516
0x83a93500...7A0670D66
0.00006731 ETH
69252902024-10-22 22:18:3643 days ago1729635516
0x83a93500...7A0670D66
0.00006759 ETH
69239232024-10-22 17:06:4843 days ago1729616808
0x83a93500...7A0670D66
0.0000655 ETH
69239232024-10-22 17:06:4843 days ago1729616808
0x83a93500...7A0670D66
0.00006623 ETH
69187722024-10-21 21:51:3644 days ago1729547496
0x83a93500...7A0670D66
0.00007 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 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

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.