[ { "inputs": [ { "internalType": "address", "name": "_layerZeroEndpoint", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "indexed": false, "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "indexed": false, "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "MessageFailed", "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": true, "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": true, "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "indexed": true, "internalType": "address", "name": "_toAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "indexed": false, "internalType": "uint64", "name": "_nonce", "type": "uint64" } ], "name": "ReceiveFromChain", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_sender", "type": "address" }, { "indexed": true, "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "indexed": true, "internalType": "bytes", "name": "_toAddress", "type": "bytes" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "indexed": false, "internalType": "uint64", "name": "_nonce", "type": "uint64" } ], "name": "SendToChain", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes", "name": "_srcAddress", "type": "bytes" } ], "name": "SetTrustedRemote", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "circulatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_toAddress", "type": "bytes" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_useZro", "type": "bool" }, { "internalType": "bytes", "name": "_adapterParams", "type": "bytes" } ], "name": "estimateSendFee", "outputs": [ { "internalType": "uint256", "name": "nativeFee", "type": "uint256" }, { "internalType": "uint256", "name": "zroFee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint64", "name": "", "type": "uint64" } ], "name": "failedMessages", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" } ], "name": "forceResumeReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_version", "type": "uint16" }, { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "_configType", "type": "uint256" } ], "name": "getConfig", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" } ], "name": "isTrustedRemote", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lzEndpoint", "outputs": [ { "internalType": "contract ILayerZeroEndpoint", "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": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "nonblockingLzReceive", "outputs": [], "stateMutability": "nonpayable", "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": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "retryMessage", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_toAddress", "type": "bytes" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address payable", "name": "_refundAddress", "type": "address" }, { "internalType": "address", "name": "_zroPaymentAddress", "type": "address" }, { "internalType": "bytes", "name": "_adapterParams", "type": "bytes" } ], "name": "sendFrom", "outputs": [], "stateMutability": "payable", "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": "_version", "type": "uint16" } ], "name": "setReceiveVersion", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_version", "type": "uint16" } ], "name": "setSendVersion", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" } ], "name": "setTrustedRemote", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_remoteChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_remoteAddress", "type": "bytes" } ], "name": "setTrustedRemoteAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "trustedRemoteLookup", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" } ]
60a06040523480156200001157600080fd5b5060405162002bdd38038062002bdd8339810160408190526200003491620001e4565b604051806040016040528060078152602001664f6d6e6973656160c81b815250604051806040016040528060048152602001634f53454160e01b815250828282828080620000916200008b620000ea60201b60201c565b620000ee565b6001600160a01b031660805250508151620000b49060069060208501906200013e565b508051620000ca9060079060208401906200013e565b5050600880546001600160a01b0319163317905550620002539350505050565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280546200014c9062000216565b90600052602060002090601f016020900481019282620001705760008555620001bb565b82601f106200018b57805160ff1916838001178555620001bb565b82800160010185558215620001bb579182015b82811115620001bb5782518255916020019190600101906200019e565b50620001c9929150620001cd565b5090565b5b80821115620001c95760008155600101620001ce565b600060208284031215620001f757600080fd5b81516001600160a01b03811681146200020f57600080fd5b9392505050565b600181811c908216806200022b57607f821691505b602082108114156200024d57634e487b7160e01b600052602260045260246000fd5b50919050565b60805161292f620002ae60003960008181610521015281816105f9015281816108b50152818161097401528181610a9401528181610ca10152818161103901528181611347015281816119770152611c9e015261292f6000f3fe60806040526004361061017d5760003560e01c80621d35671461018257806301ffc9a7146101a457806306fdde03146101d957806307e0db17146101fb578063095ea7b31461021b57806310ddb1371461023b57806318160ddd1461025b57806323b872dd1461027a5780632a205e3d1461029a578063313ce567146102cf57806339509351146102eb5780633d8b38f61461030b57806342966c681461032b57806342d65a8d1461034b578063519056361461036b5780635b8c41e61461037e57806366ad5c8a146103cd57806370a08231146103ed578063715018a6146104235780637533d788146104385780638da5cb5b146104585780639358928b1461048557806395d89b411461049a578063a457c2d7146104af578063a6c3d165146104cf578063a9059cbb146104ef578063b353aaa71461050f578063cbed8b9c14610543578063d1deba1f14610563578063dd62ed3e14610576578063eb8d72b714610596578063f2fde38b146105b6578063f5ecbdbc146105d6575b600080fd5b34801561018e57600080fd5b506101a261019d366004611fe7565b6105f6565b005b3480156101b057600080fd5b506101c46101bf36600461206f565b61079d565b60405190151581526020015b60405180910390f35b3480156101e557600080fd5b506101ee6107db565b6040516101d091906120f8565b34801561020757600080fd5b506101a261021636600461210b565b61086d565b34801561022757600080fd5b506101c461023636600461213b565b610916565b34801561024757600080fd5b506101a261025636600461210b565b61092c565b34801561026757600080fd5b506005545b6040519081526020016101d0565b34801561028657600080fd5b506101c4610295366004612167565b6109ab565b3480156102a657600080fd5b506102ba6102b53660046121a8565b610a55565b604080519283526020830191909152016101d0565b3480156102db57600080fd5b50604051601281526020016101d0565b3480156102f757600080fd5b506101c461030636600461213b565b610b2f565b34801561031757600080fd5b506101c4610326366004612287565b610b6b565b34801561033757600080fd5b506101a26103463660046122d9565b610c37565b34801561035757600080fd5b506101a2610366366004612287565b610c5b565b6101a26103793660046122f2565b610d11565b34801561038a57600080fd5b5061026c6103993660046123ab565b6002602090815260009384526040808520845180860184018051928152908401958401959095209452929052825290205481565b3480156103d957600080fd5b506101a26103e8366004611fe7565b610d20565b3480156103f957600080fd5b5061026c61040836600461240c565b6001600160a01b031660009081526003602052604090205490565b34801561042f57600080fd5b506101a2610d90565b34801561044457600080fd5b506101ee61045336600461210b565b610dcb565b34801561046457600080fd5b5061046d610e65565b6040516001600160a01b0390911681526020016101d0565b34801561049157600080fd5b5061026c610e74565b3480156104a657600080fd5b506101ee610e84565b3480156104bb57600080fd5b506101c46104ca36600461213b565b610e93565b3480156104db57600080fd5b506101a26104ea366004612287565b610f2c565b3480156104fb57600080fd5b506101c461050a36600461213b565b610fe6565b34801561051b57600080fd5b5061046d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561054f57600080fd5b506101a261055e366004612429565b610ff3565b6101a2610571366004611fe7565b6110af565b34801561058257600080fd5b5061026c610591366004612497565b611201565b3480156105a257600080fd5b506101a26105b1366004612287565b61122c565b3480156105c257600080fd5b506101a26105d136600461240c565b611279565b3480156105e257600080fd5b506101ee6105f13660046124d0565b611316565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146106735760405162461bcd60e51b815260206004820152601e60248201527f4c7a4170703a20696e76616c696420656e64706f696e742063616c6c6572000060448201526064015b60405180910390fd5b61ffff8416600090815260016020526040812080546106919061251d565b80601f01602080910402602001604051908101604052809291908181526020018280546106bd9061251d565b801561070a5780601f106106df5761010080835404028352916020019161070a565b820191906000526020600020905b8154815290600101906020018083116106ed57829003601f168201915b505050505090508051845114801561072f575080805190602001208480519060200120145b61078a5760405162461bcd60e51b815260206004820152602660248201527f4c7a4170703a20696e76616c696420736f757263652073656e64696e6720636f6044820152651b9d1c9858dd60d21b606482015260840161066a565b610796858585856113d6565b5050505050565b60006001600160e01b0319821615806107c657506001600160e01b031982166336372b0760e01b145b806107d557506107d5826114c7565b92915050565b6060600680546107ea9061251d565b80601f01602080910402602001604051908101604052809291908181526020018280546108169061251d565b80156108635780601f1061083857610100808354040283529160200191610863565b820191906000526020600020905b81548152906001019060200180831161084657829003601f168201915b5050505050905090565b33610876610e65565b6001600160a01b03161461089c5760405162461bcd60e51b815260040161066a90612558565b6040516307e0db1760e01b815261ffff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307e0db17906024015b600060405180830381600087803b15801561090257600080fd5b505af1158015610796573d6000803e3d6000fd5b60006109233384846114fc565b50600192915050565b33610935610e65565b6001600160a01b03161461095b5760405162461bcd60e51b815260040161066a90612558565b6040516310ddb13760e01b815261ffff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906310ddb137906024016108e8565b60006109b8848484611621565b6001600160a01b038416600090815260046020908152604080832033845290915290205482811015610a3d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161066a565b610a4a85338584036114fc565b506001949350505050565b60008060008686604051602001610a6d92919061258d565b60408051601f198184030181529082905263040a7bb160e41b825291506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340a7bb1090610ad1908b90309086908b908b906004016125af565b604080518083038186803b158015610ae857600080fd5b505afa158015610afc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b209190612603565b92509250509550959350505050565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610923918590610b6690869061263d565b6114fc565b61ffff831660009081526001602052604081208054829190610b8c9061251d565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb89061251d565b8015610c055780601f10610bda57610100808354040283529160200191610c05565b820191906000526020600020905b815481529060010190602001808311610be857829003601f168201915b505050505090508383604051610c1c929190612655565b60405180910390208180519060200120149150509392505050565b6008546001600160a01b03163314610c4e57600080fd5b610c5833826117dd565b50565b33610c64610e65565b6001600160a01b031614610c8a5760405162461bcd60e51b815260040161066a90612558565b6040516342d65a8d60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342d65a8d90610cda9086908690869060040161268e565b600060405180830381600087803b158015610cf457600080fd5b505af1158015610d08573d6000803e3d6000fd5b50505050505050565b610d0887878787878787611916565b333014610d7e5760405162461bcd60e51b815260206004820152602660248201527f4e6f6e626c6f636b696e674c7a4170703a2063616c6c6572206d7573742062656044820152650204c7a4170760d41b606482015260840161066a565b610d8a84848484611a64565b50505050565b33610d99610e65565b6001600160a01b031614610dbf5760405162461bcd60e51b815260040161066a90612558565b610dc96000611af7565b565b60016020526000908152604090208054610de49061251d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e109061251d565b8015610e5d5780601f10610e3257610100808354040283529160200191610e5d565b820191906000526020600020905b815481529060010190602001808311610e4057829003601f168201915b505050505081565b6000546001600160a01b031690565b6000610e7f60055490565b905090565b6060600780546107ea9061251d565b3360009081526004602090815260408083206001600160a01b038616845290915281205482811015610f155760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161066a565b610f2233858584036114fc565b5060019392505050565b33610f35610e65565b6001600160a01b031614610f5b5760405162461bcd60e51b815260040161066a90612558565b818130604051602001610f70939291906126ac565b60408051601f1981840301815291815261ffff85166000908152600160209081529190208251610fa593919290910190611deb565b507ffa41487ad5d6728f0b19276fa1eddc16558578f5109fc39d2dc33c3230470dab838383604051610fd99392919061268e565b60405180910390a1505050565b6000610923338484611621565b33610ffc610e65565b6001600160a01b0316146110225760405162461bcd60e51b815260040161066a90612558565b6040516332fb62e760e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cbed8b9c9061107690889088908890889088906004016126cd565b600060405180830381600087803b15801561109057600080fd5b505af11580156110a4573d6000803e3d6000fd5b505050505050505050565b61ffff841660009081526002602052604080822090516110d0908690612706565b90815260408051602092819003830190206001600160401b038616600090815292529020549050806111505760405162461bcd60e51b815260206004820152602360248201527f4e6f6e626c6f636b696e674c7a4170703a206e6f2073746f726564206d65737360448201526261676560e81b606482015260840161066a565b8151602083012081146111af5760405162461bcd60e51b815260206004820152602160248201527f4e6f6e626c6f636b696e674c7a4170703a20696e76616c6964207061796c6f616044820152601960fa1b606482015260840161066a565b61ffff851660009081526002602052604080822090516111d0908790612706565b90815260408051602092819003830190206001600160401b0387166000908152925290205561079685858585611a64565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b33611235610e65565b6001600160a01b03161461125b5760405162461bcd60e51b815260040161066a90612558565b61ffff83166000908152600160205260409020610fa5908383611e6f565b33611282610e65565b6001600160a01b0316146112a85760405162461bcd60e51b815260040161066a90612558565b6001600160a01b03811661130d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161066a565b610c5881611af7565b604051633d7b2f6f60e21b815261ffff808616600483015284166024820152306044820152606481018290526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f5ecbdbc9060840160006040518083038186803b15801561139157600080fd5b505afa1580156113a5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113cd919081019061276f565b95945050505050565b604051633356ae4560e11b815230906366ad5c8a906113ff9087908790879087906004016127a3565b600060405180830381600087803b15801561141957600080fd5b505af192505050801561142a575060015b610d8a578080519060200120600260008661ffff1661ffff1681526020019081526020016000208460405161145f9190612706565b9081526040805191829003602090810183206001600160401b0387166000908152915220919091557fe6f254030bcb01ffd20558175c13fcaed6d1520be7becee4c961b65f79243b0d906114ba9086908690869086906127a3565b60405180910390a1610d8a565b60006001600160e01b031982166301d1d13560e71b14806107d557506301ffc9a760e01b6001600160e01b03198316146107d5565b6001600160a01b03831661155e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161066a565b6001600160a01b0382166115bf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161066a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166116855760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161066a565b6001600160a01b0382166116e75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161066a565b6001600160a01b0383166000908152600360205260409020548181101561175f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161066a565b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061179690849061263d565b92505081905550826001600160a01b0316846001600160a01b03166000805160206128da833981519152846040516117d091815260200190565b60405180910390a3610d8a565b6001600160a01b03821661183d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161066a565b6001600160a01b038216600090815260036020526040902054818110156118b15760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161066a565b6001600160a01b03831660009081526003602052604081208383039055600580548492906118e09084906127e1565b90915550506040518281526000906001600160a01b038516906000805160206128da83398151915290602001611614565b505050565b61192287878787611b47565b6000858560405160200161193792919061258d565b60405160208183030381529060405290506119558782868686611b7f565b604051630f428ae960e31b815261ffff881660048201523060248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a1457489060440160206040518083038186803b1580156119c157600080fd5b505afa1580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f991906127f8565b905086604051611a099190612706565b60405180910390208861ffff168a6001600160a01b03167f024797cc77ce15dc717112d54fb1df125fdfd8c81344fb046c5e074427ce15438985604051611a51929190612815565b60405180910390a4505050505050505050565b60008082806020019051810190611a7b919061282c565b60148201519193509150611a90878284611d19565b806001600160a01b031686604051611aa89190612706565b60405180910390208861ffff167f64e10c37f404d128982dce114f5d233c14c5c7f6d8db93099e3d99dacb9e27ba8589604051611ae6929190612815565b60405180910390a450505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b336001600160a01b0385168114611b75576000611b648683611201565b905082811015611b7357600080fd5b505b61079685836117dd565b61ffff851660009081526001602052604081208054611b9d9061251d565b80601f0160208091040260200160405190810160405280929190818152602001828054611bc99061251d565b8015611c165780601f10611beb57610100808354040283529160200191611c16565b820191906000526020600020905b815481529060010190602001808311611bf957829003601f168201915b50505050509050805160001415611c885760405162461bcd60e51b815260206004820152603060248201527f4c7a4170703a2064657374696e6174696f6e20636861696e206973206e6f742060448201526f61207472757374656420736f7572636560801b606482015260840161066a565b60405162c5803160e81b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5803100903490611cdf908a9086908b908b908b908b90600401612872565b6000604051808303818588803b158015611cf857600080fd5b505af1158015611d0c573d6000803e3d6000fd5b5050505050505050505050565b61191182826001600160a01b038216611d745760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161066a565b8060056000828254611d86919061263d565b90915550506001600160a01b03821660009081526003602052604081208054839290611db390849061263d565b90915550506040518181526001600160a01b038316906000906000805160206128da8339815191529060200160405180910390a35050565b828054611df79061251d565b90600052602060002090601f016020900481019282611e195760008555611e5f565b82601f10611e3257805160ff1916838001178555611e5f565b82800160010185558215611e5f579182015b82811115611e5f578251825591602001919060010190611e44565b50611e6b929150611ee3565b5090565b828054611e7b9061251d565b90600052602060002090601f016020900481019282611e9d5760008555611e5f565b82601f10611eb65782800160ff19823516178555611e5f565b82800160010185558215611e5f579182015b82811115611e5f578235825591602001919060010190611ec8565b5b80821115611e6b5760008155600101611ee4565b803561ffff81168114611f0a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611f4d57611f4d611f0f565b604052919050565b60006001600160401b03821115611f6e57611f6e611f0f565b50601f01601f191660200190565b600082601f830112611f8d57600080fd5b8135611fa0611f9b82611f55565b611f25565b818152846020838601011115611fb557600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160401b0381168114610c5857600080fd5b60008060008060808587031215611ffd57600080fd5b61200685611ef8565b935060208501356001600160401b038082111561202257600080fd5b61202e88838901611f7c565b94506040870135915061204082611fd2565b9092506060860135908082111561205657600080fd5b5061206387828801611f7c565b91505092959194509250565b60006020828403121561208157600080fd5b81356001600160e01b03198116811461209957600080fd5b9392505050565b60005b838110156120bb5781810151838201526020016120a3565b83811115610d8a5750506000910152565b600081518084526120e48160208601602086016120a0565b601f01601f19169290920160200192915050565b60208152600061209960208301846120cc565b60006020828403121561211d57600080fd5b61209982611ef8565b6001600160a01b0381168114610c5857600080fd5b6000806040838503121561214e57600080fd5b823561215981612126565b946020939093013593505050565b60008060006060848603121561217c57600080fd5b833561218781612126565b9250602084013561219781612126565b929592945050506040919091013590565b600080600080600060a086880312156121c057600080fd5b6121c986611ef8565b945060208601356001600160401b03808211156121e557600080fd5b6121f189838a01611f7c565b95506040880135945060608801359150811515821461220f57600080fd5b9092506080870135908082111561222557600080fd5b5061223288828901611f7c565b9150509295509295909350565b60008083601f84011261225157600080fd5b5081356001600160401b0381111561226857600080fd5b60208301915083602082850101111561228057600080fd5b9250929050565b60008060006040848603121561229c57600080fd5b6122a584611ef8565b925060208401356001600160401b038111156122c057600080fd5b6122cc8682870161223f565b9497909650939450505050565b6000602082840312156122eb57600080fd5b5035919050565b600080600080600080600060e0888a03121561230d57600080fd5b873561231881612126565b965061232660208901611ef8565b955060408801356001600160401b038082111561234257600080fd5b61234e8b838c01611f7c565b965060608a0135955060808a0135915061236782612126565b90935060a08901359061237982612126565b90925060c0890135908082111561238f57600080fd5b5061239c8a828b01611f7c565b91505092959891949750929550565b6000806000606084860312156123c057600080fd5b6123c984611ef8565b925060208401356001600160401b038111156123e457600080fd5b6123f086828701611f7c565b925050604084013561240181611fd2565b809150509250925092565b60006020828403121561241e57600080fd5b813561209981612126565b60008060008060006080868803121561244157600080fd5b61244a86611ef8565b945061245860208701611ef8565b93506040860135925060608601356001600160401b0381111561247a57600080fd5b6124868882890161223f565b969995985093965092949392505050565b600080604083850312156124aa57600080fd5b82356124b581612126565b915060208301356124c581612126565b809150509250929050565b600080600080608085870312156124e657600080fd5b6124ef85611ef8565b93506124fd60208601611ef8565b9250604085013561250d81612126565b9396929550929360600135925050565b600181811c9082168061253157607f821691505b6020821081141561255257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6040815260006125a060408301856120cc565b90508260208301529392505050565b61ffff861681526001600160a01b038516602082015260a0604082018190526000906125dd908301866120cc565b841515606084015282810360808401526125f781856120cc565b98975050505050505050565b6000806040838503121561261657600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b6000821982111561265057612650612627565b500190565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b61ffff841681526040602082015260006113cd604083018486612665565b8284823760609190911b6001600160601b0319169101908152601401919050565b600061ffff8088168352808716602084015250846040830152608060608301526126fb608083018486612665565b979650505050505050565b600082516127188184602087016120a0565b9190910192915050565b600082601f83011261273357600080fd5b8151612741611f9b82611f55565b81815284602083860101111561275657600080fd5b6127678260208301602087016120a0565b949350505050565b60006020828403121561278157600080fd5b81516001600160401b0381111561279757600080fd5b61276784828501612722565b61ffff851681526080602082015260006127c060808301866120cc565b6001600160401b038516604084015282810360608401526126fb81856120cc565b6000828210156127f3576127f3612627565b500390565b60006020828403121561280a57600080fd5b815161209981611fd2565b9182526001600160401b0316602082015260400190565b6000806040838503121561283f57600080fd5b82516001600160401b0381111561285557600080fd5b61286185828601612722565b925050602083015190509250929050565b61ffff8716815260c06020820152600061288f60c08301886120cc565b82810360408401526128a181886120cc565b6001600160a01b0387811660608601528616608085015283810360a085015290506128cc81856120cc565b999850505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212202ee0c9920376fc719d6fc9e5af6cb78193d29143e0bbf0cc965b5d83be094ec764736f6c63430008090033000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7
0x000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7
----Decoded View------------Arg [0] : _layerZeroEndpoint (address): 0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7
----Encoded View------------Arg [0] : 0x000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7