Source Code
Overview
ETH Balance
ETH Value
$0.00Latest 1 from a total of 1 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer Ownersh... | 15543695 | 370 days ago | IN | 0 ETH | 0.00000315 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 28818281 | 6 hrs ago | 0 ETH | ||||
| 28803655 | 18 hrs ago | 0 ETH | ||||
| 28775234 | 42 hrs ago | 0 ETH | ||||
| 28767277 | 2 days ago | 0 ETH | ||||
| 28755072 | 2 days ago | 0 ETH | ||||
| 28755072 | 2 days ago | 0 ETH | ||||
| 28754338 | 2 days ago | 0 ETH | ||||
| 28754338 | 2 days ago | 0 ETH | ||||
| 28754329 | 2 days ago | 0 ETH | ||||
| 28754329 | 2 days ago | 0 ETH | ||||
| 28754319 | 2 days ago | 0 ETH | ||||
| 28754319 | 2 days ago | 0 ETH | ||||
| 28754304 | 2 days ago | 0 ETH | ||||
| 28754304 | 2 days ago | 0 ETH | ||||
| 28754043 | 2 days ago | 0 ETH | ||||
| 28754043 | 2 days ago | 0 ETH | ||||
| 28753216 | 2 days ago | 0 ETH | ||||
| 28750858 | 2 days ago | 0 ETH | ||||
| 28750851 | 2 days ago | 0 ETH | ||||
| 28750835 | 2 days ago | 0 ETH | ||||
| 28750799 | 2 days ago | 0 ETH | ||||
| 28730217 | 3 days ago | 0 ETH | ||||
| 28714214 | 4 days ago | 0 ETH | ||||
| 28708085 | 4 days ago | 0 ETH | ||||
| 28699124 | 5 days ago | 0 ETH |
Loading...
Loading
Contract Name:
RSETHRateReceiver
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
Yes with 10000 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;
import { CrossChainRateReceiver } from "./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.21;
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
import { ILayerZeroReceiver } from "../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/lib/ds-test/src/",
"forge-std/=lib/forge-std/src/",
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
"eth-gas-reporter/=node_modules/eth-gas-reporter/",
"hardhat/=node_modules/hardhat/",
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/",
"solidity-code-metrics/=node_modules/solidity-code-metrics/"
],
"optimizer": {
"enabled": true,
"runs": 10000
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "paris",
"viaIR": false,
"libraries": {}
}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
60806040523480156200001157600080fd5b5060405162000ef938038062000ef9833981016040819052620000349162000167565b6200003f33620000fa565b604080516080810182526005818301818152640e4e68aa8960db1b606084015282528251808401909352600383526208aa8960eb1b602084810191909152820192909252805190919081906200009690826200025e565b5060208201516001820190620000ad90826200025e565b50506003805461ffff959095166001600160b01b031990951694909417620100006001600160a01b039485160217909355600480546001600160a01b03191691909216179055506200032a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200016257600080fd5b919050565b6000806000606084860312156200017d57600080fd5b835161ffff811681146200019057600080fd5b9250620001a0602085016200014a565b9150620001b0604085016200014a565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001e457607f821691505b6020821081036200020557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200025957600081815260208120601f850160051c81016020861015620002345750805b601f850160051c820191505b81811015620002555782815560010162000240565b5050505b505050565b81516001600160401b038111156200027a576200027a620001b9565b62000292816200028b8454620001cf565b846200020b565b602080601f831160018114620002ca5760008415620002b15750858301515b600019600386901b1c1916600185901b17855562000255565b600085815260208120601f198616915b82811015620002fb57888601518255948401946001909101908401620002da565b50858210156200031a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610bbf806200033a6000396000f3fe608060405234801561001057600080fd5b50600436106100e95760003560e01c8063679aefce1161008c5780638da5cb5b116100665780638da5cb5b146101e4578063949db65814610202578063d0b06f5d14610228578063f2fde38b1461023157600080fd5b8063679aefce146101be578063690adb53146101c6578063715018a6146101dc57600080fd5b80632c4e722e116100c85780632c4e722e14610160578063496c62e71461017757806349d126051461018a5780634a7f931e146101ab57600080fd5b80621d3567146100ee57806307968db114610103578063290b53501461014d575b600080fd5b6101016100fc366004610917565b610244565b005b6004546101239073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61010161015b366004610a33565b610421565b61016960015481565b604051908152602001610144565b610101610185366004610a55565b610491565b6003546101989061ffff1681565b60405161ffff9091168152602001610144565b6101016101b9366004610a55565b610514565b600154610169565b6101ce61058f565b604051610144929190610aef565b6101016106af565b60005473ffffffffffffffffffffffffffffffffffffffff16610123565b6003546101239062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b61016960025481565b61010161023f366004610a55565b6106c3565b60045473ffffffffffffffffffffffffffffffffffffffff1633146102ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f53656e6465722073686f756c64206265206c7a20656e64706f696e740000000060448201526064015b60405180910390fd5b601484015160035461ffff878116911614610341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f53726320636861696e4964206d75737420626520636f7272656374000000000060448201526064016102c1565b60035473ffffffffffffffffffffffffffffffffffffffff8281166201000090920416146103cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5372632061646472657373206d7573742062652070726f76696465720000000060448201526064016102c1565b60006103d983850185610b1d565b6001819055426002556040518181529091507fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b9060200160405180910390a150505050505050565b61042961077a565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff83169081179091556040519081527f618f724fbcac3c2403733c2935c91acf3b9517362bacd763f22c288a58b17e25906020015b60405180910390a150565b61049961077a565b600380547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff8416908102919091179091556040519081527f0d06d9b44e07c32063e5d28b944beae17c12e342870c5e7d956ec5b252a3f56490602001610486565b61051c61077a565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f07ac75b380fe4c5e41ea9b7030179bb21229b84ab9f9ba2fabebccd430ae2f6d90602001610486565b60058054819061059e90610b36565b80601f01602080910402602001604051908101604052809291908181526020018280546105ca90610b36565b80156106175780601f106105ec57610100808354040283529160200191610617565b820191906000526020600020905b8154815290600101906020018083116105fa57829003601f168201915b50505050509080600101805461062c90610b36565b80601f016020809104026020016040519081016040528092919081815260200182805461065890610b36565b80156106a55780601f1061067a576101008083540402835291602001916106a5565b820191906000526020600020905b81548152906001019060200180831161068857829003601f168201915b5050505050905082565b6106b761077a565b6106c160006107fb565b565b6106cb61077a565b73ffffffffffffffffffffffffffffffffffffffff811661076e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102c1565b610777816107fb565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c1565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803561ffff8116811461088257600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b803567ffffffffffffffff8116811461088257600080fd5b60008083601f8401126108e057600080fd5b50813567ffffffffffffffff8111156108f857600080fd5b60208301915083602082850101111561091057600080fd5b9250929050565b60008060008060006080868803121561092f57600080fd5b61093886610870565b9450602086013567ffffffffffffffff8082111561095557600080fd5b818801915088601f83011261096957600080fd5b81358181111561097b5761097b610887565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156109c1576109c1610887565b816040528281528b60208487010111156109da57600080fd5b826020860160208301376000602084830101528098505050506109ff604089016108b6565b94506060880135915080821115610a1557600080fd5b50610a22888289016108ce565b969995985093965092949392505050565b600060208284031215610a4557600080fd5b610a4e82610870565b9392505050565b600060208284031215610a6757600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610a4e57600080fd5b6000815180845260005b81811015610ab157602081850181015186830182015201610a95565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b604081526000610b026040830185610a8b565b8281036020840152610b148185610a8b565b95945050505050565b600060208284031215610b2f57600080fd5b5035919050565b600181811c90821680610b4a57607f821691505b602082108103610b83577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220b4a20ebb9805aa27ae4e604ee7f77a1df0979bf34cf076000edf957966b5c69264736f6c6343000815003300000000000000000000000000000000000000000000000000000000000000650000000000000000000000000788906b19ba8f8d0e8a7015f0714df3179d9ab6000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100e95760003560e01c8063679aefce1161008c5780638da5cb5b116100665780638da5cb5b146101e4578063949db65814610202578063d0b06f5d14610228578063f2fde38b1461023157600080fd5b8063679aefce146101be578063690adb53146101c6578063715018a6146101dc57600080fd5b80632c4e722e116100c85780632c4e722e14610160578063496c62e71461017757806349d126051461018a5780634a7f931e146101ab57600080fd5b80621d3567146100ee57806307968db114610103578063290b53501461014d575b600080fd5b6101016100fc366004610917565b610244565b005b6004546101239073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61010161015b366004610a33565b610421565b61016960015481565b604051908152602001610144565b610101610185366004610a55565b610491565b6003546101989061ffff1681565b60405161ffff9091168152602001610144565b6101016101b9366004610a55565b610514565b600154610169565b6101ce61058f565b604051610144929190610aef565b6101016106af565b60005473ffffffffffffffffffffffffffffffffffffffff16610123565b6003546101239062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b61016960025481565b61010161023f366004610a55565b6106c3565b60045473ffffffffffffffffffffffffffffffffffffffff1633146102ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f53656e6465722073686f756c64206265206c7a20656e64706f696e740000000060448201526064015b60405180910390fd5b601484015160035461ffff878116911614610341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f53726320636861696e4964206d75737420626520636f7272656374000000000060448201526064016102c1565b60035473ffffffffffffffffffffffffffffffffffffffff8281166201000090920416146103cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5372632061646472657373206d7573742062652070726f76696465720000000060448201526064016102c1565b60006103d983850185610b1d565b6001819055426002556040518181529091507fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b9060200160405180910390a150505050505050565b61042961077a565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff83169081179091556040519081527f618f724fbcac3c2403733c2935c91acf3b9517362bacd763f22c288a58b17e25906020015b60405180910390a150565b61049961077a565b600380547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff8416908102919091179091556040519081527f0d06d9b44e07c32063e5d28b944beae17c12e342870c5e7d956ec5b252a3f56490602001610486565b61051c61077a565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f07ac75b380fe4c5e41ea9b7030179bb21229b84ab9f9ba2fabebccd430ae2f6d90602001610486565b60058054819061059e90610b36565b80601f01602080910402602001604051908101604052809291908181526020018280546105ca90610b36565b80156106175780601f106105ec57610100808354040283529160200191610617565b820191906000526020600020905b8154815290600101906020018083116105fa57829003601f168201915b50505050509080600101805461062c90610b36565b80601f016020809104026020016040519081016040528092919081815260200182805461065890610b36565b80156106a55780601f1061067a576101008083540402835291602001916106a5565b820191906000526020600020905b81548152906001019060200180831161068857829003601f168201915b5050505050905082565b6106b761077a565b6106c160006107fb565b565b6106cb61077a565b73ffffffffffffffffffffffffffffffffffffffff811661076e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102c1565b610777816107fb565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c1565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803561ffff8116811461088257600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b803567ffffffffffffffff8116811461088257600080fd5b60008083601f8401126108e057600080fd5b50813567ffffffffffffffff8111156108f857600080fd5b60208301915083602082850101111561091057600080fd5b9250929050565b60008060008060006080868803121561092f57600080fd5b61093886610870565b9450602086013567ffffffffffffffff8082111561095557600080fd5b818801915088601f83011261096957600080fd5b81358181111561097b5761097b610887565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156109c1576109c1610887565b816040528281528b60208487010111156109da57600080fd5b826020860160208301376000602084830101528098505050506109ff604089016108b6565b94506060880135915080821115610a1557600080fd5b50610a22888289016108ce565b969995985093965092949392505050565b600060208284031215610a4557600080fd5b610a4e82610870565b9392505050565b600060208284031215610a6757600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610a4e57600080fd5b6000815180845260005b81811015610ab157602081850181015186830182015201610a95565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b604081526000610b026040830185610a8b565b8281036020840152610b148185610a8b565b95945050505050565b600060208284031215610b2f57600080fd5b5035919050565b600181811c90821680610b4a57607f821691505b602082108103610b83577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220b4a20ebb9805aa27ae4e604ee7f77a1df0979bf34cf076000edf957966b5c69264736f6c63430008150033
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
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.