FTM Testnet

Contract

0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C

Overview

FTM Balance

Fantom LogoFantom LogoFantom Logo51.574785485513603437 FTM

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Value
Interchain Trans...255702122024-05-04 2:31:5813 days ago1714789918IN
0xB5FB4BE0...980dE9e3C
0.39492178 FTM0.000121221.025274
Interchain Trans...255700552024-05-04 2:06:2713 days ago1714788387IN
0xB5FB4BE0...980dE9e3C
0.39133 FTM0.00013881.025462
Execute255648742024-05-03 15:50:0214 days ago1714751402IN
0xB5FB4BE0...980dE9e3C
0 FTM0.000129751.2021012
Execute255647242024-05-03 15:35:1814 days ago1714750518IN
0xB5FB4BE0...980dE9e3C
0 FTM0.000129781.202352
Execute255599092024-05-03 8:10:3414 days ago1714723834IN
0xB5FB4BE0...980dE9e3C
0 FTM0.00044651.2305832
Interchain Trans...255487332024-05-02 13:50:2215 days ago1714657822IN
0xB5FB4BE0...980dE9e3C
1.19341251 FTM0.000341312.5
Interchain Trans...255485912024-05-02 13:37:2015 days ago1714657040IN
0xB5FB4BE0...980dE9e3C
1.19341251 FTM0.000384122.5
Deploy Token Man...255479772024-05-02 12:56:3015 days ago1714654590IN
0xB5FB4BE0...980dE9e3C
0.1 FTM0.00126272.5
Execute255336632024-05-01 13:01:1616 days ago1714568476IN
0xB5FB4BE0...980dE9e3C
0 FTM0.000156451.20138
Execute255086202024-04-29 16:22:5318 days ago1714407773IN
0xB5FB4BE0...980dE9e3C
0 FTM0.001004461.2007476
Execute254858152024-04-28 0:23:3819 days ago1714263818IN
0xB5FB4BE0...980dE9e3C
0 FTM0.00015641.2000012
Execute254855352024-04-27 23:51:0820 days ago1714261868IN
0xB5FB4BE0...980dE9e3C
0 FTM0.001002151.20021
Interchain Trans...254658862024-04-26 15:37:5521 days ago1714145875IN
0xB5FB4BE0...980dE9e3C
11.93172729 FTM0.000340692.5
Interchain Trans...254641512024-04-26 13:15:3821 days ago1714137338IN
0xB5FB4BE0...980dE9e3C
1.19341251 FTM0.000342712.5
Deploy Token Man...254631782024-04-26 11:41:2721 days ago1714131687IN
0xB5FB4BE0...980dE9e3C
0.6 FTM0.000309282.5
Deploy Token Man...254631442024-04-26 11:38:0221 days ago1714131482IN
0xB5FB4BE0...980dE9e3C
0.6 FTM0.000309282.5
Deploy Token Man...254631322024-04-26 11:35:2021 days ago1714131320IN
0xB5FB4BE0...980dE9e3C
0.9 FTM0.000284222.5
Deploy Token Man...254631242024-04-26 11:34:4421 days ago1714131284IN
0xB5FB4BE0...980dE9e3C
0.9 FTM0.000284282.5
Deploy Token Man...254631062024-04-26 11:33:2921 days ago1714131209IN
0xB5FB4BE0...980dE9e3C
0.9 FTM0.000284222.5
Deploy Token Man...254630992024-04-26 11:32:5921 days ago1714131179IN
0xB5FB4BE0...980dE9e3C
0.9 FTM0.000284282.5
Deploy Token Man...254630912024-04-26 11:31:4621 days ago1714131106IN
0xB5FB4BE0...980dE9e3C
0.9 FTM0.000284282.5
Deploy Token Man...254630662024-04-26 11:29:5121 days ago1714130991IN
0xB5FB4BE0...980dE9e3C
1 FTM0.000284282.5
Token Manager Ad...254630442024-04-26 11:27:0921 days ago1714130829IN
0xB5FB4BE0...980dE9e3C
0 FTM0.000068322.5
Interchain Token...254630402024-04-26 11:26:5921 days ago1714130819IN
0xB5FB4BE0...980dE9e3C
0 FTM0.00006892.5
Deploy Token Man...254630242024-04-26 11:26:3921 days ago1714130799IN
0xB5FB4BE0...980dE9e3C
0 FTM0.001248472.5
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To Value
256986892024-05-13 15:18:004 days ago1715613480
0xB5FB4BE0...980dE9e3C
0.30328956 FTM
256986842024-05-13 15:16:444 days ago1715613404
0xB5FB4BE0...980dE9e3C
0.30328956 FTM
256986112024-05-13 15:07:454 days ago1715612865
0xB5FB4BE0...980dE9e3C
0.30244074 FTM
256971412024-05-13 12:52:544 days ago1715604774
0xB5FB4BE0...980dE9e3C
0.3040492 FTM
256602752024-05-10 20:08:197 days ago1715371699
0xB5FB4BE0...980dE9e3C
0.33527656 FTM
256600822024-05-10 19:46:147 days ago1715370374
0xB5FB4BE0...980dE9e3C
0.33702907 FTM
256600712024-05-10 19:44:157 days ago1715370255
0xB5FB4BE0...980dE9e3C
0.33702907 FTM
256572102024-05-10 14:33:387 days ago1715351618
0xB5FB4BE0...980dE9e3C
0.33158503 FTM
256549692024-05-10 10:42:427 days ago1715337762
0xB5FB4BE0...980dE9e3C
0.333979 FTM
256531552024-05-10 7:50:237 days ago1715327423
0xB5FB4BE0...980dE9e3C
0.33474236 FTM
255704432024-05-04 3:08:2113 days ago1714792101
0xB5FB4BE0...980dE9e3C
0.69730869 FTM
255700212024-05-04 2:01:2313 days ago1714788083
0xB5FB4BE0...980dE9e3C
0.39133 FTM
255494072024-05-02 14:52:2815 days ago1714661548
0xB5FB4BE0...980dE9e3C
0.48901451 FTM
255241292024-04-30 19:33:5517 days ago1714505635
0xB5FB4BE0...980dE9e3C
0.48923576 FTM
255182582024-04-30 10:05:2417 days ago1714471524
0xB5FB4BE0...980dE9e3C
2.60119635 FTM
255177072024-04-30 9:12:3517 days ago1714468355
0xB5FB4BE0...980dE9e3C
1.0444576 FTM
255172602024-04-30 8:37:5817 days ago1714466278
0xB5FB4BE0...980dE9e3C
3.43465367 FTM
254755282024-04-27 7:08:5220 days ago1714201732
0xB5FB4BE0...980dE9e3C
2.32911815 FTM
254753952024-04-27 6:58:1020 days ago1714201090
0xB5FB4BE0...980dE9e3C
4.84566728 FTM
254752722024-04-27 6:49:2820 days ago1714200568
0xB5FB4BE0...980dE9e3C
1.97028868 FTM
254752132024-04-27 6:45:1320 days ago1714200313
0xB5FB4BE0...980dE9e3C
2.09392737 FTM
254751152024-04-27 6:40:0620 days ago1714200006
0xB5FB4BE0...980dE9e3C
2.82632071 FTM
254750382024-04-27 6:33:0520 days ago1714199585
0xB5FB4BE0...980dE9e3C
1.90601998 FTM
254748892024-04-27 6:20:0120 days ago1714198801
0xB5FB4BE0...980dE9e3C
0.7572075 FTM
254747792024-04-27 6:11:1520 days ago1714198275
0xB5FB4BE0...980dE9e3C
0.6151622 FTM
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xE2980DF8...938d981A4
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, MIT license
/**
 *Submitted for verification at testnet.ftmscan.com on 2023-12-28
*/

// Source: contracts/proxies/InterchainProxy.sol

pragma solidity 0.8.21;

// SPDX-License-Identifier: MIT

// File @axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/[email protected]

// 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 @axelar-network/axelar-gmp-sdk-solidity/contracts/upgradable/[email protected]

/**
 * @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 @axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/[email protected]

// 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 @axelar-network/axelar-gmp-sdk-solidity/contracts/upgradable/[email protected]

/**
 * @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);
    }
}

// File contracts/proxies/InterchainProxy.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) {}
}

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

Deployed Bytecode Sourcemap

5610:179:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2311:23;2337:16;1585:20;1579:27;;1445:179;2337:16;2311:42;;2407:14;2404:1;2401;2388:34;2511:1;2508;2492:14;2489:1;2472:15;2465:5;2452:61;2548:16;2545:1;2542;2527:38;2588:6;2608:68;;;;2727:16;2724:1;2717:27;2608:68;2644:16;2641:1;2634:27;2581:178;;1445:179;;;;;;;;;;-1:-1:-1;1585:20:0;1579:27;1445:179;;190:42:1;178:55;;;160:74;;148:2;133:18;1445:179:0;;;;;;;1843:49;;;;;;;;;;-1:-1:-1;1843:49:0;;;;;:::i;:::-;;;;245:591:1;315:6;323;376:2;364:9;355:7;351:23;347:32;344:52;;;392:1;389;382:12;344:52;432:9;419:23;461:18;502:2;494:6;491:14;488:34;;;518:1;515;508:12;488:34;556:6;545:9;541:22;531:32;;601:7;594:4;590:2;586:13;582:27;572:55;;623:1;620;613:12;572:55;663:2;650:16;689:2;681:6;678:14;675:34;;;705:1;702;695:12;675:34;750:7;745:2;736:6;732:2;728:15;724:24;721:37;718:57;;;771:1;768;761:12;718:57;802:2;794:11;;;;;824:6;;-1:-1:-1;245:591:1;;-1:-1:-1;;;;245:591:1:o

Swarm Source

ipfs://83cc979c34f7a71d3cd53a66104a3b2712b956b8820d9a7b6ff618995b3afcba

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.