Contract 0x1233aca9fadc6fd9e7b212bf632cc2ef9d5316a8 7
Contract Overview
My Name Tag:
Not Available, login to update
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0xcab5a2c756ab3aa69ecd4b1454ec12938d5ff39bae050951a6ffe6b705276752 | Set Config | 28351029 | 294 days 23 hrs ago | 0x15051107651f3420144d3a2412d49402c2fac3c0 | IN | 0x1233aca9fadc6fd9e7b212bf632cc2ef9d5316a8 | 0 xDAI | 0.000063831 | |
0x5170d504fec36574ad90c9beb715cb86a512bc8f08fcfae133a825d960298d35 | Set Oracle | 28247518 | 301 days 6 hrs ago | 0x15051107651f3420144d3a2412d49402c2fac3c0 | IN | 0x1233aca9fadc6fd9e7b212bf632cc2ef9d5316a8 | 0 xDAI | 0.0000762126 | |
0xc6dcb8434ee83bbfcbd21823184de8814cfe49c729e7132f90819d09aded45da | 0x60806040 | 28247447 | 301 days 6 hrs ago | 0x15051107651f3420144d3a2412d49402c2fac3c0 | IN | Create: MailboxL0 | 0 xDAI | 0.0035428638 |
[ Download CSV Export ]
View more zero value Internal Transactions in Advanced View mode
Contract Name:
MailboxL0
Compiler Version
v0.8.14+commit.80d49f37
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.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 anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing 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 // 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; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./ILayerZeroUserApplicationConfig.sol"; interface ILayerZeroEndpoint is ILayerZeroUserApplicationConfig { // @notice send a LayerZero message to the specified address at a LayerZero endpoint. // @param _dstChainId - the destination chain identifier // @param _destination - the address on destination chain (in bytes). address length/format may vary by chains // @param _payload - a custom bytes payload to send to the destination contract // @param _refundAddress - if the source transaction is cheaper than the amount of value passed, refund the additional amount to this address // @param _zroPaymentAddress - the address of the ZRO token holder who would pay for the transaction // @param _adapterParams - parameters for custom functionality. e.g. receive airdropped native gas from the relayer on destination function send(uint16 _dstChainId, bytes calldata _destination, bytes calldata _payload, address payable _refundAddress, address _zroPaymentAddress, bytes calldata _adapterParams) external payable; // @notice used by the messaging library to publish verified payload // @param _srcChainId - the source chain identifier // @param _srcAddress - the source contract (as bytes) at the source chain // @param _dstAddress - the address on destination chain // @param _nonce - the unbound message ordering nonce // @param _gasLimit - the gas limit for external contract execution // @param _payload - verified payload to send to the destination contract function receivePayload(uint16 _srcChainId, bytes calldata _srcAddress, address _dstAddress, uint64 _nonce, uint _gasLimit, bytes calldata _payload) external; // @notice get the inboundNonce of a receiver from a source chain which could be EVM or non-EVM chain // @param _srcChainId - the source chain identifier // @param _srcAddress - the source chain contract address function getInboundNonce(uint16 _srcChainId, bytes calldata _srcAddress) external view returns (uint64); // @notice get the outboundNonce from this source chain which, consequently, is always an EVM // @param _srcAddress - the source chain contract address function getOutboundNonce(uint16 _dstChainId, address _srcAddress) external view returns (uint64); // @notice gets a quote in source native gas, for the amount that send() requires to pay for message delivery // @param _dstChainId - the destination chain identifier // @param _userApplication - the user app address on this EVM chain // @param _payload - the custom message to send over LayerZero // @param _payInZRO - if false, user app pays the protocol fee in native token // @param _adapterParam - parameters for the adapter service, e.g. send some dust native token to dstChain function estimateFees(uint16 _dstChainId, address _userApplication, bytes calldata _payload, bool _payInZRO, bytes calldata _adapterParam) external view returns (uint nativeFee, uint zroFee); // @notice get this Endpoint's immutable source identifier function getChainId() external view returns (uint16); // @notice the interface to retry failed message on this Endpoint destination // @param _srcChainId - the source chain identifier // @param _srcAddress - the source chain contract address // @param _payload - the payload to be retried function retryPayload(uint16 _srcChainId, bytes calldata _srcAddress, bytes calldata _payload) external; // @notice query if any STORED payload (message blocking) at the endpoint. // @param _srcChainId - the source chain identifier // @param _srcAddress - the source chain contract address function hasStoredPayload(uint16 _srcChainId, bytes calldata _srcAddress) external view returns (bool); // @notice query if the _libraryAddress is valid for sending msgs. // @param _userApplication - the user app address on this EVM chain function getSendLibraryAddress(address _userApplication) external view returns (address); // @notice query if the _libraryAddress is valid for receiving msgs. // @param _userApplication - the user app address on this EVM chain function getReceiveLibraryAddress(address _userApplication) external view returns (address); // @notice query if the non-reentrancy guard for send() is on // @return true if the guard is on. false otherwise function isSendingPayload() external view returns (bool); // @notice query if the non-reentrancy guard for receive() is on // @return true if the guard is on. false otherwise function isReceivingPayload() external view returns (bool); // @notice get the configuration of the LayerZero messaging library of the specified version // @param _version - messaging library version // @param _chainId - the chainId for the pending config change // @param _userApplication - the contract address of the user application // @param _configType - type of configuration. every messaging library has its own convention. function getConfig(uint16 _version, uint16 _chainId, address _userApplication, uint _configType) external view returns (bytes memory); // @notice get the send() LayerZero messaging library version // @param _userApplication - the contract address of the user application function getSendVersion(address _userApplication) external view returns (uint16); // @notice get the lzReceive() LayerZero messaging library version // @param _userApplication - the contract address of the user application function getReceiveVersion(address _userApplication) external view returns (uint16); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.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 pragma solidity ^0.8.0; interface ILayerZeroUserApplicationConfig { // @notice set the configuration of the LayerZero messaging library of the specified version // @param _version - messaging library version // @param _chainId - the chainId for the pending config change // @param _configType - type of configuration. every messaging library has its own convention. // @param _config - configuration in the bytes. can encode arbitrary content. function setConfig(uint16 _version, uint16 _chainId, uint _configType, bytes calldata _config) external; // @notice set the send() LayerZero messaging library version to _version // @param _version - new messaging library version function setSendVersion(uint16 _version) external; // @notice set the lzReceive() LayerZero messaging library version to _version // @param _version - new messaging library version function setReceiveVersion(uint16 _version) external; // @notice Only when the UA needs to resume the message flow in blocking mode and clear the stored payload // @param _srcChainId - the chainId of the source chain // @param _srcAddress - the contract address of the source contract at the source chain function forceResumeReceive(uint16 _srcChainId, bytes calldata _srcAddress) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./interfaces/ILayerZeroReceiver.sol"; import "./interfaces/ILayerZeroEndpoint.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract MailboxL0 is ILayerZeroReceiver,Ownable { event MessageReceived( uint64 indexed nonce, uint32 indexed sourceChainId, bytes indexed sourceAddress, address sender, address recipient, string message ); struct Msg { address sender; string message; } address public layerZeroEndpoint; // recipient=>Msg mapping(address => Msg[]) public messages; constructor(address _layerZeroEndpoint) { layerZeroEndpoint = _layerZeroEndpoint; } function lzReceive(uint16 _srcChainId, bytes calldata _srcAddress, uint64 _nonce, bytes calldata _payload) public virtual override { require(msg.sender == layerZeroEndpoint, "invalid endpoint caller"); (address sender, address recipient, string memory message) = abi.decode(_payload, (address, address, string)); messages[recipient].push(Msg(sender, message)); emit MessageReceived( _nonce, _srcChainId, _srcAddress, sender, recipient, message ); } function messagesLength(address recipient) external view returns (uint256) { return messages[recipient].length; } function setConfig(uint16 _version, uint16 _chainId, uint _configType, bytes calldata _config) public onlyOwner { ILayerZeroEndpoint(layerZeroEndpoint).setConfig(_version, _chainId, _configType, _config); } function getConfig(uint16 _version, uint16 _chainId, uint _configType) view public returns (bytes memory){ return ILayerZeroEndpoint(layerZeroEndpoint).getConfig(_version, _chainId, address(this), _configType); } function setOracle(uint16 dstChainId, address oracle) external onlyOwner { uint TYPE_ORACLE = 6; // set the Oracle ILayerZeroEndpoint(layerZeroEndpoint).setConfig(ILayerZeroEndpoint(layerZeroEndpoint).getSendVersion(address(this)), dstChainId, TYPE_ORACLE, abi.encode(oracle)); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_layerZeroEndpoint","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"nonce","type":"uint64"},{"indexed":true,"internalType":"uint32","name":"sourceChainId","type":"uint32"},{"indexed":true,"internalType":"bytes","name":"sourceAddress","type":"bytes"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"string","name":"message","type":"string"}],"name":"MessageReceived","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"},{"inputs":[{"internalType":"uint16","name":"_version","type":"uint16"},{"internalType":"uint16","name":"_chainId","type":"uint16"},{"internalType":"uint256","name":"_configType","type":"uint256"}],"name":"getConfig","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"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":"_nonce","type":"uint64"},{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"lzReceive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"messages","outputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"string","name":"message","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"messagesLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_version","type":"uint16"},{"internalType":"uint16","name":"_chainId","type":"uint16"},{"internalType":"uint256","name":"_configType","type":"uint256"},{"internalType":"bytes","name":"_config","type":"bytes"}],"name":"setConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"dstChainId","type":"uint16"},{"internalType":"address","name":"oracle","type":"address"}],"name":"setOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610e54380380610e5483398101604081905261002f916100ad565b6100383361005d565b600180546001600160a01b0319166001600160a01b03929092169190911790556100dd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100bf57600080fd5b81516001600160a01b03811681146100d657600080fd5b9392505050565b610d68806100ec6000396000f3fe608060405234801561001057600080fd5b506004361061009d5760003560e01c8063715018a611610066578063715018a6146101515780638da5cb5b14610159578063c45d9bea1461016a578063cbed8b9c1461018b578063f2fde38b1461019e57600080fd5b80621d3567146100a257806307968db1146100b7578063492e527e146100e75780635f6716f7146100fa57806366bf84d31461011a575b600080fd5b6100b56100b036600461080d565b6101b1565b005b6001546100ca906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100b56100f53660046108be565b61030f565b61010d6101083660046108f7565b610409565b6040516100de9190610994565b6101436101283660046109ae565b6001600160a01b031660009081526002602052604090205490565b6040519081526020016100de565b6100b561049b565b6000546001600160a01b03166100ca565b61017d6101783660046109cb565b6104af565b6040516100de9291906109f7565b6100b5610199366004610a1b565b61057f565b6100b56101ac3660046109ae565b6105f8565b6001546001600160a01b031633146102105760405162461bcd60e51b815260206004820152601760248201527f696e76616c696420656e64706f696e742063616c6c657200000000000000000060448201526064015b60405180910390fd5b6000808061022084860186610afd565b6001600160a01b038281166000908152600260208181526040808420815180830190925288861682528183018781528154600180820184559287529584902083519690950290940180546001600160a01b0319169590961694909417855591518051979a5095985093965094919361029e939185019291019061071b565b50505087876040516102b1929190610ba2565b60405180910390208961ffff168767ffffffffffffffff167f6e6778596c3eac0deecb58426b34f7320d8abe03f1bd23f11821accc659561f28686866040516102fc93929190610bb2565b60405180910390a4505050505050505050565b610317610671565b6001546040516304b2b47b60e11b81523060048201526006916001600160a01b03169063cbed8b9c90829063096568f690602401602060405180830381865afa158015610368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038c9190610be7565b604080516001600160a01b038716602082015287918691016040516020818303038152906040526040518563ffffffff1660e01b81526004016103d29493929190610c04565b600060405180830381600087803b1580156103ec57600080fd5b505af1158015610400573d6000803e3d6000fd5b50505050505050565b600154604051633d7b2f6f60e21b815261ffff808616600483015284166024820152306044820152606481018390526060916001600160a01b03169063f5ecbdbc90608401600060405180830381865afa15801561046b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104939190810190610c3b565b949350505050565b6104a3610671565b6104ad60006106cb565b565b600260205281600052604060002081815481106104cb57600080fd5b6000918252602090912060029091020180546001820180546001600160a01b0390921694509192506104fc90610ca9565b80601f016020809104026020016040519081016040528092919081815260200182805461052890610ca9565b80156105755780601f1061054a57610100808354040283529160200191610575565b820191906000526020600020905b81548152906001019060200180831161055857829003601f168201915b5050505050905082565b610587610671565b6001546040516332fb62e760e21b81526001600160a01b039091169063cbed8b9c906105bf9088908890889088908890600401610ce3565b600060405180830381600087803b1580156105d957600080fd5b505af11580156105ed573d6000803e3d6000fd5b505050505050505050565b610600610671565b6001600160a01b0381166106655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610207565b61066e816106cb565b50565b6000546001600160a01b031633146104ad5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610207565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b82805461072790610ca9565b90600052602060002090601f016020900481019282610749576000855561078f565b82601f1061076257805160ff191683800117855561078f565b8280016001018555821561078f579182015b8281111561078f578251825591602001919060010190610774565b5061079b92915061079f565b5090565b5b8082111561079b57600081556001016107a0565b61ffff8116811461066e57600080fd5b60008083601f8401126107d657600080fd5b50813567ffffffffffffffff8111156107ee57600080fd5b60208301915083602082850101111561080657600080fd5b9250929050565b6000806000806000806080878903121561082657600080fd5b8635610831816107b4565b9550602087013567ffffffffffffffff8082111561084e57600080fd5b61085a8a838b016107c4565b909750955060408901359150808216821461087457600080fd5b9093506060880135908082111561088a57600080fd5b5061089789828a016107c4565b979a9699509497509295939492505050565b6001600160a01b038116811461066e57600080fd5b600080604083850312156108d157600080fd5b82356108dc816107b4565b915060208301356108ec816108a9565b809150509250929050565b60008060006060848603121561090c57600080fd5b8335610917816107b4565b92506020840135610927816107b4565b929592945050506040919091013590565b60005b8381101561095357818101518382015260200161093b565b83811115610962576000848401525b50505050565b60008151808452610980816020860160208601610938565b601f01601f19169290920160200192915050565b6020815260006109a76020830184610968565b9392505050565b6000602082840312156109c057600080fd5b81356109a7816108a9565b600080604083850312156109de57600080fd5b82356109e9816108a9565b946020939093013593505050565b6001600160a01b038316815260406020820181905260009061049390830184610968565b600080600080600060808688031215610a3357600080fd5b8535610a3e816107b4565b94506020860135610a4e816107b4565b935060408601359250606086013567ffffffffffffffff811115610a7157600080fd5b610a7d888289016107c4565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610acd57610acd610a8e565b604052919050565b600067ffffffffffffffff821115610aef57610aef610a8e565b50601f01601f191660200190565b600080600060608486031215610b1257600080fd5b8335610b1d816108a9565b92506020840135610b2d816108a9565b9150604084013567ffffffffffffffff811115610b4957600080fd5b8401601f81018613610b5a57600080fd5b8035610b6d610b6882610ad5565b610aa4565b818152876020838501011115610b8257600080fd5b816020840160208301376000602083830101528093505050509250925092565b8183823760009101908152919050565b6001600160a01b03848116825283166020820152606060408201819052600090610bde90830184610968565b95945050505050565b600060208284031215610bf957600080fd5b81516109a7816107b4565b600061ffff808716835280861660208401525083604083015260806060830152610c316080830184610968565b9695505050505050565b600060208284031215610c4d57600080fd5b815167ffffffffffffffff811115610c6457600080fd5b8201601f81018413610c7557600080fd5b8051610c83610b6882610ad5565b818152856020838501011115610c9857600080fd5b610bde826020830160208601610938565b600181811c90821680610cbd57607f821691505b602082108103610cdd57634e487b7160e01b600052602260045260246000fd5b50919050565b600061ffff808816835280871660208401525084604083015260806060830152826080830152828460a0840137600060a0848401015260a0601f19601f8501168301019050969550505050505056fea2646970667358221220af1432e067f7a7a86d07c5dd08d7d2f38b130112a1a065f642706846dfa6655664736f6c634300080e00330000000000000000000000009740ff91f1985d8d2b71494ae1a2f723bb3ed9e4
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009d5760003560e01c8063715018a611610066578063715018a6146101515780638da5cb5b14610159578063c45d9bea1461016a578063cbed8b9c1461018b578063f2fde38b1461019e57600080fd5b80621d3567146100a257806307968db1146100b7578063492e527e146100e75780635f6716f7146100fa57806366bf84d31461011a575b600080fd5b6100b56100b036600461080d565b6101b1565b005b6001546100ca906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100b56100f53660046108be565b61030f565b61010d6101083660046108f7565b610409565b6040516100de9190610994565b6101436101283660046109ae565b6001600160a01b031660009081526002602052604090205490565b6040519081526020016100de565b6100b561049b565b6000546001600160a01b03166100ca565b61017d6101783660046109cb565b6104af565b6040516100de9291906109f7565b6100b5610199366004610a1b565b61057f565b6100b56101ac3660046109ae565b6105f8565b6001546001600160a01b031633146102105760405162461bcd60e51b815260206004820152601760248201527f696e76616c696420656e64706f696e742063616c6c657200000000000000000060448201526064015b60405180910390fd5b6000808061022084860186610afd565b6001600160a01b038281166000908152600260208181526040808420815180830190925288861682528183018781528154600180820184559287529584902083519690950290940180546001600160a01b0319169590961694909417855591518051979a5095985093965094919361029e939185019291019061071b565b50505087876040516102b1929190610ba2565b60405180910390208961ffff168767ffffffffffffffff167f6e6778596c3eac0deecb58426b34f7320d8abe03f1bd23f11821accc659561f28686866040516102fc93929190610bb2565b60405180910390a4505050505050505050565b610317610671565b6001546040516304b2b47b60e11b81523060048201526006916001600160a01b03169063cbed8b9c90829063096568f690602401602060405180830381865afa158015610368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038c9190610be7565b604080516001600160a01b038716602082015287918691016040516020818303038152906040526040518563ffffffff1660e01b81526004016103d29493929190610c04565b600060405180830381600087803b1580156103ec57600080fd5b505af1158015610400573d6000803e3d6000fd5b50505050505050565b600154604051633d7b2f6f60e21b815261ffff808616600483015284166024820152306044820152606481018390526060916001600160a01b03169063f5ecbdbc90608401600060405180830381865afa15801561046b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104939190810190610c3b565b949350505050565b6104a3610671565b6104ad60006106cb565b565b600260205281600052604060002081815481106104cb57600080fd5b6000918252602090912060029091020180546001820180546001600160a01b0390921694509192506104fc90610ca9565b80601f016020809104026020016040519081016040528092919081815260200182805461052890610ca9565b80156105755780601f1061054a57610100808354040283529160200191610575565b820191906000526020600020905b81548152906001019060200180831161055857829003601f168201915b5050505050905082565b610587610671565b6001546040516332fb62e760e21b81526001600160a01b039091169063cbed8b9c906105bf9088908890889088908890600401610ce3565b600060405180830381600087803b1580156105d957600080fd5b505af11580156105ed573d6000803e3d6000fd5b505050505050505050565b610600610671565b6001600160a01b0381166106655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610207565b61066e816106cb565b50565b6000546001600160a01b031633146104ad5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610207565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b82805461072790610ca9565b90600052602060002090601f016020900481019282610749576000855561078f565b82601f1061076257805160ff191683800117855561078f565b8280016001018555821561078f579182015b8281111561078f578251825591602001919060010190610774565b5061079b92915061079f565b5090565b5b8082111561079b57600081556001016107a0565b61ffff8116811461066e57600080fd5b60008083601f8401126107d657600080fd5b50813567ffffffffffffffff8111156107ee57600080fd5b60208301915083602082850101111561080657600080fd5b9250929050565b6000806000806000806080878903121561082657600080fd5b8635610831816107b4565b9550602087013567ffffffffffffffff8082111561084e57600080fd5b61085a8a838b016107c4565b909750955060408901359150808216821461087457600080fd5b9093506060880135908082111561088a57600080fd5b5061089789828a016107c4565b979a9699509497509295939492505050565b6001600160a01b038116811461066e57600080fd5b600080604083850312156108d157600080fd5b82356108dc816107b4565b915060208301356108ec816108a9565b809150509250929050565b60008060006060848603121561090c57600080fd5b8335610917816107b4565b92506020840135610927816107b4565b929592945050506040919091013590565b60005b8381101561095357818101518382015260200161093b565b83811115610962576000848401525b50505050565b60008151808452610980816020860160208601610938565b601f01601f19169290920160200192915050565b6020815260006109a76020830184610968565b9392505050565b6000602082840312156109c057600080fd5b81356109a7816108a9565b600080604083850312156109de57600080fd5b82356109e9816108a9565b946020939093013593505050565b6001600160a01b038316815260406020820181905260009061049390830184610968565b600080600080600060808688031215610a3357600080fd5b8535610a3e816107b4565b94506020860135610a4e816107b4565b935060408601359250606086013567ffffffffffffffff811115610a7157600080fd5b610a7d888289016107c4565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610acd57610acd610a8e565b604052919050565b600067ffffffffffffffff821115610aef57610aef610a8e565b50601f01601f191660200190565b600080600060608486031215610b1257600080fd5b8335610b1d816108a9565b92506020840135610b2d816108a9565b9150604084013567ffffffffffffffff811115610b4957600080fd5b8401601f81018613610b5a57600080fd5b8035610b6d610b6882610ad5565b610aa4565b818152876020838501011115610b8257600080fd5b816020840160208301376000602083830101528093505050509250925092565b8183823760009101908152919050565b6001600160a01b03848116825283166020820152606060408201819052600090610bde90830184610968565b95945050505050565b600060208284031215610bf957600080fd5b81516109a7816107b4565b600061ffff808716835280861660208401525083604083015260806060830152610c316080830184610968565b9695505050505050565b600060208284031215610c4d57600080fd5b815167ffffffffffffffff811115610c6457600080fd5b8201601f81018413610c7557600080fd5b8051610c83610b6882610ad5565b818152856020838501011115610c9857600080fd5b610bde826020830160208601610938565b600181811c90821680610cbd57607f821691505b602082108103610cdd57634e487b7160e01b600052602260045260246000fd5b50919050565b600061ffff808816835280871660208401525084604083015260806060830152826080830152828460a0840137600060a0848401015260a0601f19601f8501168301019050969550505050505056fea2646970667358221220af1432e067f7a7a86d07c5dd08d7d2f38b130112a1a065f642706846dfa6655664736f6c634300080e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009740ff91f1985d8d2b71494ae1a2f723bb3ed9e4
-----Decoded View---------------
Arg [0] : _layerZeroEndpoint (address): 0x9740ff91f1985d8d2b71494ae1a2f723bb3ed9e4
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009740ff91f1985d8d2b71494ae1a2f723bb3ed9e4
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.