Source Code
Latest 25 from a total of 29 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Multicall | 30552989 | 15 days ago | IN | 0.00006127 FRAX | 0.00000303 | ||||
| Multicall | 30552450 | 15 days ago | IN | 0.00006127 FRAX | 0.00000314 | ||||
| Multicall | 25135015 | 141 days ago | IN | 0.00062004 FRAX | 0.00010198 | ||||
| Multicall | 24573887 | 154 days ago | IN | 0.00009709 FRAX | 0.00004008 | ||||
| Multicall | 24573691 | 154 days ago | IN | 0.0000611 FRAX | 0.00003237 | ||||
| Multicall | 24573537 | 154 days ago | IN | 0.00005683 FRAX | 0.00003852 | ||||
| Multicall | 24486788 | 156 days ago | IN | 0.00011179 FRAX | 0.00010573 | ||||
| Multicall | 23511445 | 178 days ago | IN | 0.00007982 FRAX | 0.00012563 | ||||
| Multicall | 23511393 | 178 days ago | IN | 0.00006779 FRAX | 0.00011761 | ||||
| Multicall | 23004851 | 190 days ago | IN | 0.00003717 FRAX | 0.00050044 | ||||
| Multicall | 22983520 | 190 days ago | IN | 0.00009219 FRAX | 0.00073624 | ||||
| Upgrade | 22642737 | 198 days ago | IN | 0 FRAX | 0.00042234 | ||||
| Multicall | 21887525 | 216 days ago | IN | 0.00005483 FRAX | 0.00003732 | ||||
| Multicall | 21886984 | 216 days ago | IN | 0.0000547 FRAX | 0.00003021 | ||||
| Multicall | 21886369 | 216 days ago | IN | 0.00005001 FRAX | 0.00003671 | ||||
| Multicall | 21827000 | 217 days ago | IN | 0.00004928 FRAX | 0.00003997 | ||||
| Multicall | 20342028 | 252 days ago | IN | 0.00013756 FRAX | 0.00000006 | ||||
| Multicall | 19795705 | 264 days ago | IN | 0.00016204 FRAX | 0.00000072 | ||||
| Multicall | 19795655 | 264 days ago | IN | 0.00016204 FRAX | 0.00000072 | ||||
| Multicall | 19753368 | 265 days ago | IN | 0.00015681 FRAX | 0.00000016 | ||||
| Multicall | 19753346 | 265 days ago | IN | 0 FRAX | 0.00000063 | ||||
| Multicall | 18898139 | 285 days ago | IN | 0.00016332 FRAX | 0.00000077 | ||||
| Multicall | 18866365 | 286 days ago | IN | 0.00016919 FRAX | 0.00000079 | ||||
| Upgrade | 16685114 | 336 days ago | IN | 0 FRAX | 0.00005702 | ||||
| Upgrade | 14865068 | 378 days ago | IN | 0 FRAX | 0.00005743 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 30552989 | 15 days ago | 0.00006127 FRAX | ||||
| 30552450 | 15 days ago | 0.00006127 FRAX | ||||
| 26468958 | 110 days ago | 0.00000002 FRAX | ||||
| 26407558 | 111 days ago | 0.00000002 FRAX | ||||
| 25135015 | 141 days ago | 0.00062004 FRAX | ||||
| 24573887 | 154 days ago | 0.00009709 FRAX | ||||
| 24573691 | 154 days ago | 0.0000611 FRAX | ||||
| 24573537 | 154 days ago | 0.00005683 FRAX | ||||
| 24486788 | 156 days ago | 0.00011179 FRAX | ||||
| 23511445 | 178 days ago | 0.00007982 FRAX | ||||
| 23511393 | 178 days ago | 0.00006779 FRAX | ||||
| 23004851 | 190 days ago | 0.00003717 FRAX | ||||
| 22983520 | 190 days ago | 0.00009219 FRAX | ||||
| 21887525 | 216 days ago | 0.00005483 FRAX | ||||
| 21886984 | 216 days ago | 0.0000547 FRAX | ||||
| 21886369 | 216 days ago | 0.00005001 FRAX | ||||
| 21827000 | 217 days ago | 0.00004928 FRAX | ||||
| 20342028 | 252 days ago | 0.00013756 FRAX | ||||
| 19795705 | 264 days ago | 0.00016204 FRAX | ||||
| 19795655 | 264 days ago | 0.00016204 FRAX | ||||
| 19753368 | 265 days ago | 0.00015681 FRAX | ||||
| 18898139 | 285 days ago | 0.00016332 FRAX | ||||
| 18866365 | 286 days ago | 0.00016919 FRAX | ||||
| 11639474 | 453 days ago | 0.00010986 FRAX | ||||
| 11639474 | 453 days ago | 0.00006941 FRAX |
Cross-Chain Transactions
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
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
Contract Source Code (Solidity Standard Json-Input format)
// 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) {}
}// 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);
}
}// 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;
}// 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);
}// 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 {}
}{
"remappings": [
"@axelar-network/=lib/node_modules/@axelar-network/",
"eth-gas-reporter/=lib/node_modules/eth-gas-reporter/",
"forge-std/=lib/forge-std/src/",
"hardhat/=lib/node_modules/hardhat/"
],
"optimizer": {
"enabled": true,
"runs": 1000,
"details": {
"yulDetails": {
"stackAllocation": true
}
}
},
"metadata": {
"useLiteralContent": true,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
},
"evmVersion": "london",
"viaIR": false,
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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"}]Contract Creation Code
0x608060405234801561001057600080fd5b506040516104a63803806104a683398101604081905261002f916101d3565b8282826001600160a01b038216610059576040516349e27cff60e01b815260040160405180910390fd5b6000837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0558151600014610171576000846001600160a01b0316639ded06df60e01b846040516024016100cf91906102a3565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161010d91906102d6565b600060405180830381855af49150503d8060008114610148576040519150601f19603f3d011682016040523d82523d6000602084013e61014d565b606091505b505090508061016f576040516397905dfb60e01b815260040160405180910390fd5b505b505050505050506102f2565b80516001600160a01b038116811461019457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101ca5781810151838201526020016101b2565b50506000910152565b6000806000606084860312156101e857600080fd5b6101f18461017d565b92506101ff6020850161017d565b60408501519092506001600160401b038082111561021c57600080fd5b818601915086601f83011261023057600080fd5b81518181111561024257610242610199565b604051601f8201601f19908116603f0116810190838211818310171561026a5761026a610199565b8160405282815289602084870101111561028357600080fd5b6102948360208301602088016101af565b80955050505050509250925092565b60208152600082518060208401526102c28160408501602087016101af565b601f01601f19169190910160400192915050565b600082516102e88184602087016101af565b9190910192915050565b6101a5806103016000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100865780639ded06df146100de57610034565b3661003457005b600061005e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e80801561007f573d6000f35b3d6000fd5b005b34801561009257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100ea57600080fd5b506100846100f93660046100fd565b5050565b6000806020838503121561011057600080fd5b823567ffffffffffffffff8082111561012857600080fd5b818501915085601f83011261013c57600080fd5b81358181111561014b57600080fd5b86602082850101111561015d57600080fd5b6020929092019691955090935050505056fea264697066735822122083cc979c34f7a71d3cd53a66104a3b2712b956b8820d9a7b6ff618995b3afcba64736f6c63430008150033000000000000000000000000440b118f34d6224b20b4641835ac9161bd4f09940000000000000000000000006f24a47fc8ae5441eb47effc3665e70e69ac3f0500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061002d5760003560e01c80635c60da1b146100865780639ded06df146100de57610034565b3661003457005b600061005e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e80801561007f573d6000f35b3d6000fd5b005b34801561009257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100ea57600080fd5b506100846100f93660046100fd565b5050565b6000806020838503121561011057600080fd5b823567ffffffffffffffff8082111561012857600080fd5b818501915085601f83011261013c57600080fd5b81358181111561014b57600080fd5b86602082850101111561015d57600080fd5b6020929092019691955090935050505056fea264697066735822122083cc979c34f7a71d3cd53a66104a3b2712b956b8820d9a7b6ff618995b3afcba64736f6c63430008150033
Deployed Bytecode Sourcemap
320:177:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1744:23:3;1770:16;1038:20;1032:27;;900:175;1770:16;1744:42;;1838:14;1835:1;1832;1819:34;1940:1;1937;1921:14;1918:1;1901:15;1894:5;1881:61;1976:16;1973:1;1970;1955:38;2014:6;2033:66;;;;2148:16;2145:1;2138:27;2033:66;2068:16;2065:1;2058:27;2007:172;;900:175;;;;;;;;;;-1:-1:-1;1038:20:3;1032:27;900:175;;190:42:5;178:55;;;160:74;;148:2;133:18;900:175:3;;;;;;;1288:49;;;;;;;;;;-1:-1:-1;1288:49:3;;;;;:::i;:::-;;;;245:591:5;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:5;;-1:-1:-1;;;;245:591:5:o
Swarm Source
ipfs://83cc979c34f7a71d3cd53a66104a3b2712b956b8820d9a7b6ff618995b3afcba
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$131.18
Net Worth in FRAX
130.614164
Token Allocations
ETH
94.79%
BNB
3.38%
AVAX
1.83%
Others
0.00%
Multichain Portfolio | 35 Chains
Loading...
Loading
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.