Overview
MNT Balance
MNT Value
$0.00Latest 1 from a total of 1 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer Ownersh... | 89620317 | 24 days ago | IN | 0 MNT | 0.00245396 |
View more zero value Internal Transactions in Advanced View mode
Cross-Chain Transactions
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.27;
import { CrossChainRateReceiver } from "contracts/cross-chain/CrossChainRateReceiver.sol";
/// @title rsETH cross chain rate receiver
/// @notice Receives the rsETH rate from a provider contract on a different chain than the one this contract is deployed
/// on
contract RSETHRateReceiver is CrossChainRateReceiver {
constructor(uint16 _srcChainId, address _rateProvider, address _layerZeroEndpoint) {
rateInfo = RateInfo({ tokenSymbol: "rsETH", baseTokenSymbol: "ETH" });
srcChainId = _srcChainId;
rateProvider = _rateProvider;
layerZeroEndpoint = _layerZeroEndpoint;
}
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.27;
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
import { ILayerZeroReceiver } from "contracts/external/layerzero/interfaces/ILayerZeroReceiver.sol";
/// @title Cross chain rate receiver. By witherblock reference: https://github.com/witherblock/gyarados
/// @notice Receives a rate from a provider contract on a different chain than the one this contract is deployed on
/// @dev Powered using LayerZero
abstract contract CrossChainRateReceiver is ILayerZeroReceiver, Ownable {
/// @notice Last rate updated on the receiver
uint256 public rate;
/// @notice Last time rate was updated
uint256 public lastUpdated;
/// @notice Source chainId
uint16 public srcChainId;
/// @notice Rate Provider address
address public rateProvider;
/// @notice LayerZero endpoint address
address public layerZeroEndpoint;
/// @notice Information of which token and base token rate is being provided
RateInfo public rateInfo;
struct RateInfo {
string tokenSymbol;
string baseTokenSymbol;
}
/// @notice Emitted when rate is updated
/// @param newRate the rate that was updated
event RateUpdated(uint256 newRate);
/// @notice Emitted when RateProvider is updated
/// @param newRateProvider the RateProvider address that was updated
event RateProviderUpdated(address newRateProvider);
/// @notice Emitted when the source chainId is updated
/// @param newSrcChainId the source chainId that was updated
event SrcChainIdUpdated(uint16 newSrcChainId);
/// @notice Emitted when LayerZero Endpoint is updated
/// @param newLayerZeroEndpoint the LayerZero Endpoint address that was updated
event LayerZeroEndpointUpdated(address newLayerZeroEndpoint);
/// @notice Updates the LayerZero Endpoint address
/// @dev Can only be called by owner
/// @param _layerZeroEndpoint the new layer zero endpoint address
function updateLayerZeroEndpoint(address _layerZeroEndpoint) external onlyOwner {
layerZeroEndpoint = _layerZeroEndpoint;
emit LayerZeroEndpointUpdated(_layerZeroEndpoint);
}
/// @notice Updates the RateProvider address
/// @dev Can only be called by owner
/// @param _rateProvider the new rate provider address
function updateRateProvider(address _rateProvider) external onlyOwner {
rateProvider = _rateProvider;
emit RateProviderUpdated(_rateProvider);
}
/// @notice Updates the source chainId
/// @dev Can only be called by owner
/// @param _srcChainId the source chainId
function updateSrcChainId(uint16 _srcChainId) external onlyOwner {
srcChainId = _srcChainId;
emit SrcChainIdUpdated(_srcChainId);
}
/// @notice LayerZero receive function which is called via send from a different chain
/// @param _srcChainId The source chainId
/// @param _srcAddress The source address
/// @param _payload The payload
function lzReceive(uint16 _srcChainId, bytes memory _srcAddress, uint64, bytes calldata _payload) external {
require(msg.sender == layerZeroEndpoint, "Sender should be lz endpoint");
address srcAddress;
assembly {
srcAddress := mload(add(_srcAddress, 20))
}
require(_srcChainId == srcChainId, "Src chainId must be correct");
require(srcAddress == rateProvider, "Src address must be provider");
uint256 _rate = abi.decode(_payload, (uint256));
rate = _rate;
lastUpdated = block.timestamp;
emit RateUpdated(_rate);
}
/// @notice Gets the last stored rate in the contract
function getRate() external view returns (uint256) {
return rate;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
pragma solidity >=0.5.0;
interface ILayerZeroReceiver {
// @notice LayerZero endpoint will invoke this function to deliver the message on the destination
// @param _srcChainId - the source endpoint identifier
// @param _srcAddress - the source sending contract address from the source chain
// @param _nonce - the ordered message nonce
// @param _payload - the signed payload is the UA bytes has encoded to be sent
function lzReceive(uint16 _srcChainId, bytes calldata _srcAddress, uint64 _nonce, bytes calldata _payload) external;
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}{
"remappings": [
"ds-test/=lib/forge-std/src/",
"forge-std/=lib/forge-std/src/",
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"@eigenlayer/contracts/=lib/eigenlayer-contracts/src/contracts/",
"@openzeppelin-upgrades/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/",
"eigenlayer-contracts/=lib/eigenlayer-contracts/",
"erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
"hardhat/=node_modules/hardhat/",
"openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/",
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
"openzeppelin-contracts-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/",
"solidity-code-metrics/=node_modules/solidity-code-metrics/",
"zeus-templates/=lib/eigenlayer-contracts/lib/zeus-templates/src/"
],
"optimizer": {
"enabled": true,
"runs": 4000
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "cancun",
"viaIR": false
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"address","name":"_rateProvider","type":"address"},{"internalType":"address","name":"_layerZeroEndpoint","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newLayerZeroEndpoint","type":"address"}],"name":"LayerZeroEndpointUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newRateProvider","type":"address"}],"name":"RateProviderUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newRate","type":"uint256"}],"name":"RateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"newSrcChainId","type":"uint16"}],"name":"SrcChainIdUpdated","type":"event"},{"inputs":[],"name":"getRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"layerZeroEndpoint","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"lzReceive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateInfo","outputs":[{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"string","name":"baseTokenSymbol","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"srcChainId","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_layerZeroEndpoint","type":"address"}],"name":"updateLayerZeroEndpoint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_rateProvider","type":"address"}],"name":"updateRateProvider","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"}],"name":"updateSrcChainId","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561000f575f5ffd5b50604051610dcd380380610dcd83398101604081905261002e91610157565b610037336100ed565b604080516080810182526005818301818152640e4e68aa8960db1b606084015282528251808401909352600383526208aa8960eb1b6020848101919091528201929092528051909190819061008c9082610237565b50602082015160018201906100a19082610237565b50506003805461ffff959095166001600160b01b031990951694909417620100006001600160a01b039485160217909355600480546001600160a01b03191691909216179055506102f1565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114610152575f5ffd5b919050565b5f5f5f60608486031215610169575f5ffd5b835161ffff8116811461017a575f5ffd5b92506101886020850161013c565b91506101966040850161013c565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101c757607f821691505b6020821081036101e557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561023257805f5260205f20601f840160051c810160208510156102105750805b601f840160051c820191505b8181101561022f575f815560010161021c565b50505b505050565b81516001600160401b038111156102505761025061019f565b6102648161025e84546101b3565b846101eb565b6020601f821160018114610296575f831561027f5750848201515b5f19600385901b1c1916600184901b17845561022f565b5f84815260208120601f198516915b828110156102c557878501518255602094850194600190920191016102a5565b50848210156102e257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b610acf806102fe5f395ff3fe608060405234801561000f575f5ffd5b50600436106100e4575f3560e01c8063679aefce116100885780638da5cb5b116100635780638da5cb5b146101de578063949db658146101fb578063d0b06f5d14610221578063f2fde38b1461022a575f5ffd5b8063679aefce146101b8578063690adb53146101c0578063715018a6146101d6575f5ffd5b80632c4e722e116100c35780632c4e722e1461015a578063496c62e71461017157806349d12605146101845780634a7f931e146101a5575f5ffd5b80621d3567146100e857806307968db1146100fd578063290b535014610147575b5f5ffd5b6100fb6100f636600461087e565b61023d565b005b60045461011d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100fb610155366004610983565b6103cb565b61016360015481565b60405190815260200161013e565b6100fb61017f3660046109a3565b61043b565b6003546101929061ffff1681565b60405161ffff909116815260200161013e565b6100fb6101b33660046109a3565b6104be565b600154610163565b6101c8610539565b60405161013e929190610a04565b6100fb610655565b5f5473ffffffffffffffffffffffffffffffffffffffff1661011d565b60035461011d9062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b61016360025481565b6100fb6102383660046109a3565b610668565b60045473ffffffffffffffffffffffffffffffffffffffff1633146102a95760405162461bcd60e51b815260206004820152601c60248201527f53656e6465722073686f756c64206265206c7a20656e64706f696e740000000060448201526064015b60405180910390fd5b601484015160035461ffff8781169116146103065760405162461bcd60e51b815260206004820152601b60248201527f53726320636861696e4964206d75737420626520636f7272656374000000000060448201526064016102a0565b60035473ffffffffffffffffffffffffffffffffffffffff8281166201000090920416146103765760405162461bcd60e51b815260206004820152601c60248201527f5372632061646472657373206d7573742062652070726f76696465720000000060448201526064016102a0565b5f61038383850185610a31565b6001819055426002556040518181529091507fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b9060200160405180910390a150505050505050565b6103d3610705565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff83169081179091556040519081527f618f724fbcac3c2403733c2935c91acf3b9517362bacd763f22c288a58b17e25906020015b60405180910390a150565b610443610705565b600380547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff8416908102919091179091556040519081527f0d06d9b44e07c32063e5d28b944beae17c12e342870c5e7d956ec5b252a3f56490602001610430565b6104c6610705565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f07ac75b380fe4c5e41ea9b7030179bb21229b84ab9f9ba2fabebccd430ae2f6d90602001610430565b60058054819061054890610a48565b80601f016020809104026020016040519081016040528092919081815260200182805461057490610a48565b80156105bf5780601f10610596576101008083540402835291602001916105bf565b820191905f5260205f20905b8154815290600101906020018083116105a257829003601f168201915b5050505050908060010180546105d490610a48565b80601f016020809104026020016040519081016040528092919081815260200182805461060090610a48565b801561064b5780601f106106225761010080835404028352916020019161064b565b820191905f5260205f20905b81548152906001019060200180831161062e57829003601f168201915b5050505050905082565b61065d610705565b6106665f61076b565b565b610670610705565b73ffffffffffffffffffffffffffffffffffffffff81166106f95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102a0565b6107028161076b565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146106665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102a0565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803561ffff811681146107f0575f5ffd5b919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b803567ffffffffffffffff811681146107f0575f5ffd5b5f5f83601f840112610849575f5ffd5b50813567ffffffffffffffff811115610860575f5ffd5b602083019150836020828501011115610877575f5ffd5b9250929050565b5f5f5f5f5f60808688031215610892575f5ffd5b61089b866107df565b9450602086013567ffffffffffffffff8111156108b6575f5ffd5b8601601f810188136108c6575f5ffd5b803567ffffffffffffffff8111156108e0576108e06107f5565b604051601f19603f601f19601f8501160116810181811067ffffffffffffffff82111715610910576109106107f5565b6040528181528282016020018a1015610927575f5ffd5b816020840160208301375f6020838301015280965050505061094b60408701610822565b9250606086013567ffffffffffffffff811115610966575f5ffd5b61097288828901610839565b969995985093965092949392505050565b5f60208284031215610993575f5ffd5b61099c826107df565b9392505050565b5f602082840312156109b3575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461099c575f5ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b604081525f610a1660408301856109d6565b8281036020840152610a2881856109d6565b95945050505050565b5f60208284031215610a41575f5ffd5b5035919050565b600181811c90821680610a5c57607f821691505b602082108103610a93577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5091905056fea26469706673582212206503ac8ed79f4e30e46b34004b4bcceb56e55c8269c0c63ef0e28b0e65cd452b64736f6c634300081b003300000000000000000000000000000000000000000000000000000000000000650000000000000000000000000788906b19ba8f8d0e8a7015f0714df3179d9ab6000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7
Deployed Bytecode
0x608060405234801561000f575f5ffd5b50600436106100e4575f3560e01c8063679aefce116100885780638da5cb5b116100635780638da5cb5b146101de578063949db658146101fb578063d0b06f5d14610221578063f2fde38b1461022a575f5ffd5b8063679aefce146101b8578063690adb53146101c0578063715018a6146101d6575f5ffd5b80632c4e722e116100c35780632c4e722e1461015a578063496c62e71461017157806349d12605146101845780634a7f931e146101a5575f5ffd5b80621d3567146100e857806307968db1146100fd578063290b535014610147575b5f5ffd5b6100fb6100f636600461087e565b61023d565b005b60045461011d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100fb610155366004610983565b6103cb565b61016360015481565b60405190815260200161013e565b6100fb61017f3660046109a3565b61043b565b6003546101929061ffff1681565b60405161ffff909116815260200161013e565b6100fb6101b33660046109a3565b6104be565b600154610163565b6101c8610539565b60405161013e929190610a04565b6100fb610655565b5f5473ffffffffffffffffffffffffffffffffffffffff1661011d565b60035461011d9062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b61016360025481565b6100fb6102383660046109a3565b610668565b60045473ffffffffffffffffffffffffffffffffffffffff1633146102a95760405162461bcd60e51b815260206004820152601c60248201527f53656e6465722073686f756c64206265206c7a20656e64706f696e740000000060448201526064015b60405180910390fd5b601484015160035461ffff8781169116146103065760405162461bcd60e51b815260206004820152601b60248201527f53726320636861696e4964206d75737420626520636f7272656374000000000060448201526064016102a0565b60035473ffffffffffffffffffffffffffffffffffffffff8281166201000090920416146103765760405162461bcd60e51b815260206004820152601c60248201527f5372632061646472657373206d7573742062652070726f76696465720000000060448201526064016102a0565b5f61038383850185610a31565b6001819055426002556040518181529091507fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b9060200160405180910390a150505050505050565b6103d3610705565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff83169081179091556040519081527f618f724fbcac3c2403733c2935c91acf3b9517362bacd763f22c288a58b17e25906020015b60405180910390a150565b610443610705565b600380547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff8416908102919091179091556040519081527f0d06d9b44e07c32063e5d28b944beae17c12e342870c5e7d956ec5b252a3f56490602001610430565b6104c6610705565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f07ac75b380fe4c5e41ea9b7030179bb21229b84ab9f9ba2fabebccd430ae2f6d90602001610430565b60058054819061054890610a48565b80601f016020809104026020016040519081016040528092919081815260200182805461057490610a48565b80156105bf5780601f10610596576101008083540402835291602001916105bf565b820191905f5260205f20905b8154815290600101906020018083116105a257829003601f168201915b5050505050908060010180546105d490610a48565b80601f016020809104026020016040519081016040528092919081815260200182805461060090610a48565b801561064b5780601f106106225761010080835404028352916020019161064b565b820191905f5260205f20905b81548152906001019060200180831161062e57829003601f168201915b5050505050905082565b61065d610705565b6106665f61076b565b565b610670610705565b73ffffffffffffffffffffffffffffffffffffffff81166106f95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102a0565b6107028161076b565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146106665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102a0565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803561ffff811681146107f0575f5ffd5b919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b803567ffffffffffffffff811681146107f0575f5ffd5b5f5f83601f840112610849575f5ffd5b50813567ffffffffffffffff811115610860575f5ffd5b602083019150836020828501011115610877575f5ffd5b9250929050565b5f5f5f5f5f60808688031215610892575f5ffd5b61089b866107df565b9450602086013567ffffffffffffffff8111156108b6575f5ffd5b8601601f810188136108c6575f5ffd5b803567ffffffffffffffff8111156108e0576108e06107f5565b604051601f19603f601f19601f8501160116810181811067ffffffffffffffff82111715610910576109106107f5565b6040528181528282016020018a1015610927575f5ffd5b816020840160208301375f6020838301015280965050505061094b60408701610822565b9250606086013567ffffffffffffffff811115610966575f5ffd5b61097288828901610839565b969995985093965092949392505050565b5f60208284031215610993575f5ffd5b61099c826107df565b9392505050565b5f602082840312156109b3575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461099c575f5ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b604081525f610a1660408301856109d6565b8281036020840152610a2881856109d6565b95945050505050565b5f60208284031215610a41575f5ffd5b5035919050565b600181811c90821680610a5c57607f821691505b602082108103610a93577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5091905056fea26469706673582212206503ac8ed79f4e30e46b34004b4bcceb56e55c8269c0c63ef0e28b0e65cd452b64736f6c634300081b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000650000000000000000000000000788906b19ba8f8d0e8a7015f0714df3179d9ab6000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7
-----Decoded View---------------
Arg [0] : _srcChainId (uint16): 101
Arg [1] : _rateProvider (address): 0x0788906B19bA8f8d0e8a7015f0714DF3179D9aB6
Arg [2] : _layerZeroEndpoint (address): 0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000065
Arg [1] : 0000000000000000000000000788906b19ba8f8d0e8a7015f0714df3179d9ab6
Arg [2] : 000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7
Net Worth in USD
Net Worth in MNT
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.