UNPKG

@layerzerolabs/oft-alt-evm

Version:

LayerZero Labs reference EVM OmniChain Fungible Token (OFT) implementation

1 lines 50.3 kB
{"abi":[{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Approval","inputs":[{"name":"_owner","type":"address","indexed":true,"internalType":"address"},{"name":"_approved","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"_owner","type":"address","indexed":true,"internalType":"address"},{"name":"_operator","type":"address","indexed":true,"internalType":"address"},{"name":"_approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"_from","type":"address","indexed":true,"internalType":"address"},{"name":"_to","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506114438061001d5f395ff3fe6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610252578063b88d4fde14610271578063c87b56dd14610284578063e985e9c5146102a4575f80fd5b80636352211e146101f257806370a082311461021157806395d89b411461023e575f80fd5b8063095ea7b3116100b7578063095ea7b31461019857806323b872dd146101ad57806342842e0e146101c05780634cd88b76146101d3575f80fd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610df4565b6102f8565b60405190151581526020015b60405180910390f35b34801561011c575f80fd5b506101256103dc565b6040516101089190610e77565b34801561013d575f80fd5b5061017361014c366004610e89565b5f9081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b6101ab6101a6366004610ec3565b61046b565b005b6101ab6101bb366004610eeb565b6105b7565b6101ab6101ce366004610eeb565b6108a6565b3480156101de575f80fd5b506101ab6101ed366004611000565b6109f6565b3480156101fd575f80fd5b5061017361020c366004610e89565b610aab565b34801561021c575f80fd5b5061023061022b366004611060565b610b3b565b604051908152602001610108565b348015610249575f80fd5b50610125610be1565b34801561025d575f80fd5b506101ab61026c366004611079565b610bf0565b6101ab61027f3660046110b2565b610c86565b34801561028f575f80fd5b5061012561029e366004610e89565b50606090565b3480156102af575f80fd5b506100fc6102be366004611129565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061038a57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806103d657507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60605f80546103ea9061115a565b80601f01602080910402602001604051908101604052809291908181526020018280546104169061115a565b80156104615780601f1061043857610100808354040283529160200191610461565b820191905f5260205f20905b81548152906001019060200180831161044457829003601f168201915b5050505050905090565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16338114806104cc575073ffffffffffffffffffffffffffffffffffffffff81165f90815260056020908152604080832033845290915290205460ff165b610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b5f8281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff848116911614610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d00000000000000000000000000000000000000000000604482015260640161052e565b73ffffffffffffffffffffffffffffffffffffffff82166106c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e54000000000000000000000000000000604482015260640161052e565b3373ffffffffffffffffffffffffffffffffffffffff84161480610716575073ffffffffffffffffffffffffffffffffffffffff83165f90815260056020908152604080832033845290915290205460ff165b8061074357505f8181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b6107a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015260640161052e565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526003602052604081208054916107d9836111d8565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f90815260036020526040812080549161080e8361120c565b90915550505f818152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108b18383836105b7565b813b158061098b57506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af1158015610943573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109679190611243565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b6109f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e5400000000000000000000000000000000604482015260640161052e565b505050565b60065460ff1615610a63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a454400000000000000000000000000604482015260640161052e565b5f610a6e83826112a9565b506001610a7b82826112a9565b5050600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e54454400000000000000000000000000000000000000000000604482015260640161052e565b919050565b5f73ffffffffffffffffffffffffffffffffffffffff8216610bb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015260640161052e565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526003602052604090205490565b6060600180546103ea9061115a565b335f81815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c918484846105b7565b823b1580610d5857506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610cf49033908990889088906004016113c5565b6020604051808303815f875af1158015610d10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d349190611243565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610dbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e5400000000000000000000000000000000604482015260640161052e565b50505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610df1575f80fd5b50565b5f60208284031215610e04575f80fd5b8135610e0f81610dc4565b9392505050565b5f81518084525f5b81811015610e3a57602081850181015186830182015201610e1e565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610e0f6020830184610e16565b5f60208284031215610e99575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b36575f80fd5b5f8060408385031215610ed4575f80fd5b610edd83610ea0565b946020939093013593505050565b5f805f60608486031215610efd575f80fd5b610f0684610ea0565b9250610f1460208501610ea0565b9150604084013590509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f67ffffffffffffffff80841115610f6b57610f6b610f24565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610fb157610fb1610f24565b81604052809350858152868686011115610fc9575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112610ff1575f80fd5b610e0f83833560208501610f51565b5f8060408385031215611011575f80fd5b823567ffffffffffffffff80821115611028575f80fd5b61103486838701610fe2565b93506020850135915080821115611049575f80fd5b5061105685828601610fe2565b9150509250929050565b5f60208284031215611070575f80fd5b610e0f82610ea0565b5f806040838503121561108a575f80fd5b61109383610ea0565b9150602083013580151581146110a7575f80fd5b809150509250929050565b5f805f80608085870312156110c5575f80fd5b6110ce85610ea0565b93506110dc60208601610ea0565b925060408501359150606085013567ffffffffffffffff8111156110fe575f80fd5b8501601f8101871361110e575f80fd5b61111d87823560208401610f51565b91505092959194509250565b5f806040838503121561113a575f80fd5b61114383610ea0565b915061115160208401610ea0565b90509250929050565b600181811c9082168061116e57607f821691505b6020821081036111a5577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f816111e6576111e66111ab565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361123c5761123c6111ab565b5060010190565b5f60208284031215611253575f80fd5b8151610e0f81610dc4565b601f8211156109f157805f5260205f20601f840160051c810160208510156112835750805b601f840160051c820191505b818110156112a2575f815560010161128f565b5050505050565b815167ffffffffffffffff8111156112c3576112c3610f24565b6112d7816112d1845461115a565b8461125e565b602080601f831160018114611329575f84156112f35750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556113bd565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561137557888601518255948401946001909101908401611356565b50858210156113b157878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526114036080830184610e16565b969550505050505056fea26469706673582212201da2a3ab77e936cb4baff0535942221d392a2ac37dba8ca2d89b8b112710274664736f6c63430008160033","sourceMap":"403:7498:111:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610252578063b88d4fde14610271578063c87b56dd14610284578063e985e9c5146102a4575f80fd5b80636352211e146101f257806370a082311461021157806395d89b411461023e575f80fd5b8063095ea7b3116100b7578063095ea7b31461019857806323b872dd146101ad57806342842e0e146101c05780634cd88b76146101d3575f80fd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610df4565b6102f8565b60405190151581526020015b60405180910390f35b34801561011c575f80fd5b506101256103dc565b6040516101089190610e77565b34801561013d575f80fd5b5061017361014c366004610e89565b5f9081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b6101ab6101a6366004610ec3565b61046b565b005b6101ab6101bb366004610eeb565b6105b7565b6101ab6101ce366004610eeb565b6108a6565b3480156101de575f80fd5b506101ab6101ed366004611000565b6109f6565b3480156101fd575f80fd5b5061017361020c366004610e89565b610aab565b34801561021c575f80fd5b5061023061022b366004611060565b610b3b565b604051908152602001610108565b348015610249575f80fd5b50610125610be1565b34801561025d575f80fd5b506101ab61026c366004611079565b610bf0565b6101ab61027f3660046110b2565b610c86565b34801561028f575f80fd5b5061012561029e366004610e89565b50606090565b3480156102af575f80fd5b506100fc6102be366004611129565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061038a57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806103d657507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60605f80546103ea9061115a565b80601f01602080910402602001604051908101604052809291908181526020018280546104169061115a565b80156104615780601f1061043857610100808354040283529160200191610461565b820191905f5260205f20905b81548152906001019060200180831161044457829003601f168201915b5050505050905090565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16338114806104cc575073ffffffffffffffffffffffffffffffffffffffff81165f90815260056020908152604080832033845290915290205460ff165b610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b5f8281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff848116911614610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d00000000000000000000000000000000000000000000604482015260640161052e565b73ffffffffffffffffffffffffffffffffffffffff82166106c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e54000000000000000000000000000000604482015260640161052e565b3373ffffffffffffffffffffffffffffffffffffffff84161480610716575073ffffffffffffffffffffffffffffffffffffffff83165f90815260056020908152604080832033845290915290205460ff165b8061074357505f8181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b6107a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015260640161052e565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526003602052604081208054916107d9836111d8565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f90815260036020526040812080549161080e8361120c565b90915550505f818152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108b18383836105b7565b813b158061098b57506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af1158015610943573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109679190611243565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b6109f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e5400000000000000000000000000000000604482015260640161052e565b505050565b60065460ff1615610a63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a454400000000000000000000000000604482015260640161052e565b5f610a6e83826112a9565b506001610a7b82826112a9565b5050600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e54454400000000000000000000000000000000000000000000604482015260640161052e565b919050565b5f73ffffffffffffffffffffffffffffffffffffffff8216610bb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015260640161052e565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526003602052604090205490565b6060600180546103ea9061115a565b335f81815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c918484846105b7565b823b1580610d5857506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610cf49033908990889088906004016113c5565b6020604051808303815f875af1158015610d10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d349190611243565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610dbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e5400000000000000000000000000000000604482015260640161052e565b50505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610df1575f80fd5b50565b5f60208284031215610e04575f80fd5b8135610e0f81610dc4565b9392505050565b5f81518084525f5b81811015610e3a57602081850181015186830182015201610e1e565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610e0f6020830184610e16565b5f60208284031215610e99575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b36575f80fd5b5f8060408385031215610ed4575f80fd5b610edd83610ea0565b946020939093013593505050565b5f805f60608486031215610efd575f80fd5b610f0684610ea0565b9250610f1460208501610ea0565b9150604084013590509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f67ffffffffffffffff80841115610f6b57610f6b610f24565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610fb157610fb1610f24565b81604052809350858152868686011115610fc9575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112610ff1575f80fd5b610e0f83833560208501610f51565b5f8060408385031215611011575f80fd5b823567ffffffffffffffff80821115611028575f80fd5b61103486838701610fe2565b93506020850135915080821115611049575f80fd5b5061105685828601610fe2565b9150509250929050565b5f60208284031215611070575f80fd5b610e0f82610ea0565b5f806040838503121561108a575f80fd5b61109383610ea0565b9150602083013580151581146110a7575f80fd5b809150509250929050565b5f805f80608085870312156110c5575f80fd5b6110ce85610ea0565b93506110dc60208601610ea0565b925060408501359150606085013567ffffffffffffffff8111156110fe575f80fd5b8501601f8101871361110e575f80fd5b61111d87823560208401610f51565b91505092959194509250565b5f806040838503121561113a575f80fd5b61114383610ea0565b915061115160208401610ea0565b90509250929050565b600181811c9082168061116e57607f821691505b6020821081036111a5577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f816111e6576111e66111ab565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361123c5761123c6111ab565b5060010190565b5f60208284031215611253575f80fd5b8151610e0f81610dc4565b601f8211156109f157805f5260205f20601f840160051c810160208510156112835750805b601f840160051c820191505b818110156112a2575f815560010161128f565b5050505050565b815167ffffffffffffffff8111156112c3576112c3610f24565b6112d7816112d1845461115a565b8461125e565b602080601f831160018114611329575f84156112f35750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556113bd565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561137557888601518255948401946001909101908401611356565b50858210156113b157878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526114036080830184610e16565b969550505050505056fea26469706673582212201da2a3ab77e936cb4baff0535942221d392a2ac37dba8ca2d89b8b112710274664736f6c63430008160033","sourceMap":"403:7498:111:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5376:332;;;;;;;;;;-1:-1:-1;5376:332:111;;;;;:::i;:::-;;:::i;:::-;;;611:14:141;;604:22;586:41;;574:2;559:18;5376:332:111;;;;;;;;693:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1949:120::-;;;;;;;;;;-1:-1:-1;1949:120:111;;;;;:::i;:::-;2020:7;2046:16;;;:12;:16;;;;;;;;;1949:120;;;;1711:42:141;1699:55;;;1681:74;;1669:2;1654:18;1949:120:111;1535:226:141;3128:301:111;;;;;;:::i;:::-;;:::i;:::-;;3654:693;;;;;;:::i;:::-;;:::i;4353:386::-;;;;;;:::i;:::-;;:::i;2728:212::-;;;;;;;;;;-1:-1:-1;2728:212:111;;;;;:::i;:::-;;:::i;1280:158::-;;;;;;;;;;-1:-1:-1;1280:158:111;;;;;:::i;:::-;;:::i;1444:177::-;;;;;;;;;;-1:-1:-1;1444:177:111;;;;;:::i;:::-;;:::i;:::-;;;4556:25:141;;;4544:2;4529:18;1444:177:111;4410::141;791:96:111;;;;;;;;;;;;;:::i;3435:213::-;;;;;;;;;;-1:-1:-1;3435:213:111;;;;;:::i;:::-;;:::i;4745:443::-;;;;;;:::i;:::-;;:::i;893:85::-;;;;;;;;;;-1:-1:-1;893:85:111;;;;;:::i;:::-;-1:-1:-1;961:13:111;;893:85;2075:161;;;;;;;;;;-1:-1:-1;2075:161:111;;;;;:::i;:::-;2195:24;;;;2172:4;2195:24;;;:17;:24;;;;;;;;:34;;;;;;;;;;;;;;;2075:161;5376:332;5461:4;5484:25;;;;;;:100;;-1:-1:-1;5559:25:111;;;;;5484:100;:175;;;-1:-1:-1;5634:25:111;;;;;5484:175;5477:182;5376:332;-1:-1:-1;;5376:332:111:o;693:92::-;741:13;773:5;766:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;693:92;:::o;3128:301::-;3216:13;3232:12;;;:8;:12;;;;;;;;3263:10;:19;;;:59;;-1:-1:-1;3286:24:111;;;;;;;:17;:24;;;;;;;;3311:10;3286:36;;;;;;;;;;3263:59;3255:86;;;;;;;6525:2:141;3255:86:111;;;6507:21:141;6564:2;6544:18;;;6537:30;6603:16;6583:18;;;6576:44;6637:18;;3255:86:111;;;;;;;;;3352:16;;;;:12;:16;;;;;;:26;;;;;;;;;;;;;;3394:28;;3352:16;;3394:28;;;;;;;3206:223;3128:301;;:::o;3654:693::-;3772:12;;;;:8;:12;;;;;;;3764:20;;;3772:12;;3764:20;3756:43;;;;;;;6868:2:141;3756:43:111;;;6850:21:141;6907:2;6887:18;;;6880:30;6946:12;6926:18;;;6919:40;6976:18;;3756:43:111;6666:334:141;3756:43:111;3818:16;;;3810:46;;;;;;;7207:2:141;3810:46:111;;;7189:21:141;7246:2;7226:18;;;7219:30;7285:19;7265:18;;;7258:47;7322:18;;3810:46:111;7005:341:141;3810:46:111;3888:10;:18;;;;;:57;;-1:-1:-1;3910:23:111;;;;;;;:17;:23;;;;;;;;3934:10;3910:35;;;;;;;;;;3888:57;:91;;;-1:-1:-1;3963:16:111;;;;:12;:16;;;;;;;;3949:10;:30;3888:91;3867:152;;;;;;;6525:2:141;3867:152:111;;;6507:21:141;6564:2;6544:18;;;6537:30;6603:16;6583:18;;;6576:44;6637:18;;3867:152:111;6323:338:141;3867:152:111;4195:16;;;;;;;:10;:16;;;;;:18;;;;;;:::i;:::-;;;;-1:-1:-1;;4224:14:111;;;;;;;:10;:14;;;;;:16;;;;;;:::i;:::-;;;;-1:-1:-1;;4251:12:111;;;;:8;:12;;;;;;;;:17;;;;;;;;;;;;;;;4286:12;:16;;;;;;4279:23;;;;;;;4318:22;;4260:2;;4251:17;;4318:22;;;;;;3654:693;;;:::o;4353:386::-;4459:26;4472:4;4478:2;4482;4459:12;:26::i;:::-;7833:18;;7878:14;;4517:173;;-1:-1:-1;4553:67:111;;4644:46;4553:67;;;4595:10;4553:67;;;8269:34:141;4553:41:111;8339:15:141;;;8319:18;;;8312:43;8371:18;;;8364:34;;;8434:3;8414:18;;;8407:31;-1:-1:-1;8454:19:141;;;8447:30;4644:46:111;;4553:41;;;;4644:46;;8494:19:141;;4553:67:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:137;;;4517:173;4496:236;;;;;;;8980:2:141;4496:236:111;;;8962:21:141;9019:2;8999:18;;;8992:30;9058:18;9038;;;9031:46;9094:18;;4496:236:111;8778:340:141;4496:236:111;4353:386;;;:::o;2728:212::-;2818:11;;;;2817:12;2809:44;;;;;;;9325:2:141;2809:44:111;;;9307:21:141;9364:2;9344:18;;;9337:30;9403:21;9383:18;;;9376:49;9442:18;;2809:44:111;9123:343:141;2809:44:111;2864:5;:13;2872:5;2864;:13;:::i;:::-;-1:-1:-1;2887:7:111;:17;2897:7;2887;:17;:::i;:::-;-1:-1:-1;;2915:11:111;:18;;;;2929:4;2915:18;;;-1:-1:-1;2728:212:111:o;1280:158::-;1347:13;1389:12;;;:8;:12;;;;;;1380:36;1389:12;;1372:59;;;;;;;12022:2:141;1372:59:111;;;12004:21:141;12061:2;12041:18;;;12034:30;12100:12;12080:18;;;12073:40;12130:18;;1372:59:111;11820:334:141;1372:59:111;1280:158;;;:::o;1444:177::-;1516:7;1543:19;;;1535:44;;;;;;;12361:2:141;1535:44:111;;;12343:21:141;12400:2;12380:18;;;12373:30;12439:14;12419:18;;;12412:42;12471:18;;1535:44:111;12159:336:141;1535:44:111;-1:-1:-1;1597:17:111;;;;;;:10;:17;;;;;;;1444:177::o;791:96::-;841:13;873:7;866:14;;;;;:::i;3435:213::-;3547:10;3529:29;;;;:17;:29;;;;;;;;;:39;;;;;;;;;;;;:50;;;;;;;;;;;;;3595:46;;586:41:141;;;3529:39:111;;3547:10;3595:46;;559:18:141;3595:46:111;;;;;;;3435:213;;:::o;4745:443::-;4906:26;4919:4;4925:2;4929;4906:12;:26::i;:::-;7833:18;;7878:14;;4964:175;;-1:-1:-1;5000:69:111;;5093:46;5000:69;;;5093:46;5000:41;;;;5093:46;;5000:69;;5042:10;;5054:4;;5060:2;;5064:4;;5000:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:139;;;4964:175;4943:238;;;;;;;8980:2:141;4943:238:111;;;8962:21:141;9019:2;8999:18;;;8992:30;9058:18;9038;;;9031:46;9094:18;;4943:238:111;8778:340:141;4943:238:111;4745:443;;;;:::o;14:177:141:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;68:117;14:177;:::o;196:245::-;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:141:o;638:482::-;680:3;718:5;712:12;745:6;740:3;733:19;770:1;780:162;794:6;791:1;788:13;780:162;;;856:4;912:13;;;908:22;;902:29;884:11;;;880:20;;873:59;809:12;780:162;;;784:3;987:1;980:4;971:6;966:3;962:16;958:27;951:38;1109:4;1039:66;1034:2;1026:6;1022:15;1018:88;1013:3;1009:98;1005:109;998:116;;;638:482;;;;:::o;1125:220::-;1274:2;1263:9;1256:21;1237:4;1294:45;1335:2;1324:9;1320:18;1312:6;1294:45;:::i;1350:180::-;1409:6;1462:2;1450:9;1441:7;1437:23;1433:32;1430:52;;;1478:1;1475;1468:12;1430:52;-1:-1:-1;1501:23:141;;1350:180;-1:-1:-1;1350:180:141:o;1766:196::-;1834:20;;1894:42;1883:54;;1873:65;;1863:93;;1952:1;1949;1942:12;1967:254;2035:6;2043;2096:2;2084:9;2075:7;2071:23;2067:32;2064:52;;;2112:1;2109;2102:12;2064:52;2135:29;2154:9;2135:29;:::i;:::-;2125:39;2211:2;2196:18;;;;2183:32;;-1:-1:-1;;;1967:254:141:o;2226:328::-;2303:6;2311;2319;2372:2;2360:9;2351:7;2347:23;2343:32;2340:52;;;2388:1;2385;2378:12;2340:52;2411:29;2430:9;2411:29;:::i;:::-;2401:39;;2459:38;2493:2;2482:9;2478:18;2459:38;:::i;:::-;2449:48;;2544:2;2533:9;2529:18;2516:32;2506:42;;2226:328;;;;;:::o;2559:184::-;2611:77;2608:1;2601:88;2708:4;2705:1;2698:15;2732:4;2729:1;2722:15;2748:691;2813:5;2843:18;2884:2;2876:6;2873:14;2870:40;;;2890:18;;:::i;:::-;3024:2;3018:9;3090:2;3078:15;;2929:66;3074:24;;;3100:2;3070:33;3066:42;3054:55;;;3124:18;;;3144:22;;;3121:46;3118:72;;;3170:18;;:::i;:::-;3210:10;3206:2;3199:22;3239:6;3230:15;;3269:6;3261;3254:22;3309:3;3300:6;3295:3;3291:16;3288:25;3285:45;;;3326:1;3323;3316:12;3285:45;3376:6;3371:3;3364:4;3356:6;3352:17;3339:44;3431:1;3424:4;3415:6;3407;3403:19;3399:30;3392:41;;;;2748:691;;;;;:::o;3444:222::-;3487:5;3540:3;3533:4;3525:6;3521:17;3517:27;3507:55;;3558:1;3555;3548:12;3507:55;3580:80;3656:3;3647:6;3634:20;3627:4;3619:6;3615:17;3580:80;:::i;3671:543::-;3759:6;3767;3820:2;3808:9;3799:7;3795:23;3791:32;3788:52;;;3836:1;3833;3826:12;3788:52;3876:9;3863:23;3905:18;3946:2;3938:6;3935:14;3932:34;;;3962:1;3959;3952:12;3932:34;3985:50;4027:7;4018:6;4007:9;4003:22;3985:50;:::i;:::-;3975:60;;4088:2;4077:9;4073:18;4060:32;4044:48;;4117:2;4107:8;4104:16;4101:36;;;4133:1;4130;4123:12;4101:36;;4156:52;4200:7;4189:8;4178:9;4174:24;4156:52;:::i;:::-;4146:62;;;3671:543;;;;;:::o;4219:186::-;4278:6;4331:2;4319:9;4310:7;4306:23;4302:32;4299:52;;;4347:1;4344;4337:12;4299:52;4370:29;4389:9;4370:29;:::i;4592:347::-;4657:6;4665;4718:2;4706:9;4697:7;4693:23;4689:32;4686:52;;;4734:1;4731;4724:12;4686:52;4757:29;4776:9;4757:29;:::i;:::-;4747:39;;4836:2;4825:9;4821:18;4808:32;4883:5;4876:13;4869:21;4862:5;4859:32;4849:60;;4905:1;4902;4895:12;4849:60;4928:5;4918:15;;;4592:347;;;;;:::o;4944:667::-;5039:6;5047;5055;5063;5116:3;5104:9;5095:7;5091:23;5087:33;5084:53;;;5133:1;5130;5123:12;5084:53;5156:29;5175:9;5156:29;:::i;:::-;5146:39;;5204:38;5238:2;5227:9;5223:18;5204:38;:::i;:::-;5194:48;;5289:2;5278:9;5274:18;5261:32;5251:42;;5344:2;5333:9;5329:18;5316:32;5371:18;5363:6;5360:30;5357:50;;;5403:1;5400;5393:12;5357:50;5426:22;;5479:4;5471:13;;5467:27;-1:-1:-1;5457:55:141;;5508:1;5505;5498:12;5457:55;5531:74;5597:7;5592:2;5579:16;5574:2;5570;5566:11;5531:74;:::i;:::-;5521:84;;;4944:667;;;;;;;:::o;5616:260::-;5684:6;5692;5745:2;5733:9;5724:7;5720:23;5716:32;5713:52;;;5761:1;5758;5751:12;5713:52;5784:29;5803:9;5784:29;:::i;:::-;5774:39;;5832:38;5866:2;5855:9;5851:18;5832:38;:::i;:::-;5822:48;;5616:260;;;;;:::o;5881:437::-;5960:1;5956:12;;;;6003;;;6024:61;;6078:4;6070:6;6066:17;6056:27;;6024:61;6131:2;6123:6;6120:14;6100:18;6097:38;6094:218;;6168:77;6165:1;6158:88;6269:4;6266:1;6259:15;6297:4;6294:1;6287:15;6094:218;;5881:437;;;:::o;7351:184::-;7403:77;7400:1;7393:88;7500:4;7497:1;7490:15;7524:4;7521:1;7514:15;7540:196;7579:3;7607:5;7597:39;;7616:18;;:::i;:::-;-1:-1:-1;7663:66:141;7652:78;;7540:196::o;7741:195::-;7780:3;7811:66;7804:5;7801:77;7798:103;;7881:18;;:::i;:::-;-1:-1:-1;7928:1:141;7917:13;;7741:195::o;8524:249::-;8593:6;8646:2;8634:9;8625:7;8621:23;8617:32;8614:52;;;8662:1;8659;8652:12;8614:52;8694:9;8688:16;8713:30;8737:5;8713:30;:::i;9597:518::-;9699:2;9694:3;9691:11;9688:421;;;9735:5;9732:1;9725:16;9779:4;9776:1;9766:18;9849:2;9837:10;9833:19;9830:1;9826:27;9820:4;9816:38;9885:4;9873:10;9870:20;9867:47;;;-1:-1:-1;9908:4:141;9867:47;9963:2;9958:3;9954:12;9951:1;9947:20;9941:4;9937:31;9927:41;;10018:81;10036:2;10029:5;10026:13;10018:81;;;10095:1;10081:16;;10062:1;10051:13;10018:81;;;10022:3;;9597:518;;;:::o;10351:1464::-;10477:3;10471:10;10504:18;10496:6;10493:30;10490:56;;;10526:18;;:::i;:::-;10555:97;10645:6;10605:38;10637:4;10631:11;10605:38;:::i;:::-;10599:4;10555:97;:::i;:::-;10707:4;;10764:2;10753:14;;10781:1;10776:782;;;;11602:1;11619:6;11616:89;;;-1:-1:-1;11671:19:141;;;11665:26;11616:89;10257:66;10248:1;10244:11;;;10240:84;10236:89;10226:100;10332:1;10328:11;;;10223:117;11718:81;;10746:1063;;10776:782;9544:1;9537:14;;;9581:4;9568:18;;10824:66;10812:79;;;10989:236;11003:7;11000:1;10997:14;10989:236;;;11092:19;;;11086:26;11071:42;;11184:27;;;;11152:1;11140:14;;;;11019:19;;10989:236;;;10993:3;11253:6;11244:7;11241:19;11238:261;;;11314:19;;;11308:26;11415:66;11397:1;11393:14;;;11409:3;11389:24;11385:97;11381:102;11366:118;11351:134;;11238:261;;;11545:1;11536:6;11533:1;11529:14;11525:22;11519:4;11512:36;10746:1063;;;;;10351:1464;;:::o;12500:512::-;12694:4;12723:42;12804:2;12796:6;12792:15;12781:9;12774:34;12856:2;12848:6;12844:15;12839:2;12828:9;12824:18;12817:43;;12896:6;12891:2;12880:9;12876:18;12869:34;12939:3;12934:2;12923:9;12919:18;12912:31;12960:46;13001:3;12990:9;12986:19;12978:6;12960:46;:::i;:::-;12952:54;12500:512;-1:-1:-1;;;;;;12500:512:141:o","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","initialize(string,string)":"4cd88b76","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"This emits when the approved address for an NFT is changed or reaffirmed. The zero address indicates there is no approved address. When a Transfer event emits, this also indicates that the approved address for that NFT (if any) is reset to none.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"This emits when an operator is enabled or disabled for an owner. The operator can manage all NFTs of the owner.\"},\"Transfer(address,address,uint256)\":{\"details\":\"This emits when ownership of any NFT changes by any mechanism. This event emits when NFTs are created (`from` == 0) and destroyed (`to` == 0). Exception: during contract creation, any number of NFTs may be created and assigned without emitting Transfer. At the time of any transfer, the approved address for that NFT (if any) is reset to none.\"}},\"kind\":\"dev\",\"methods\":{\"initialize(string,string)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"name()\":{\"notice\":\"A descriptive name for a collection of NFTs in this contract\"},\"symbol()\":{\"notice\":\"An abbreviated name for NFTs in this contract\"}},\"notice\":\"This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/mocks/MockERC721.sol\":\"MockERC721\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@layerzerolabs/=node_modules/@layerzerolabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/@layerzerolabs/toolbox-foundry/lib/ds-test/\",\":forge-std/=node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/\",\":solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/\"]},\"sources\":{\"node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/mocks/MockERC721.sol\":{\"keccak256\":\"0xbfbb755bb379f58b97699f7cda0e9a2b9113daaa072e41b280a5ce6a3bff44c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ae0c31d29db14d6a0e9b62d33d550feb307f48a6f45068901a013321f337f87\",\"dweb:/ipfs/QmX25DVXW6XZDvRm6SNBGCWrZQ6oNhdq5CmgtVocvsUdwv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.22+commit.4fc1097e"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address","indexed":true},{"internalType":"address","name":"_approved","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"_owner","type":"address","indexed":true},{"internalType":"address","name":"_operator","type":"address","indexed":true},{"internalType":"bool","name":"_approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"_from","type":"address","indexed":true},{"internalType":"address","name":"_to","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"initialize(string,string)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"name()":{"notice":"A descriptive name for a collection of NFTs in this contract"},"symbol()":{"notice":"An abbreviated name for NFTs in this contract"}},"version":1}},"settings":{"remappings":["@layerzerolabs/=node_modules/@layerzerolabs/","@openzeppelin/=node_modules/@openzeppelin/","ds-test/=node_modules/@layerzerolabs/toolbox-foundry/lib/ds-test/","forge-std/=node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/","solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/mocks/MockERC721.sol":"MockERC721"},"evmVersion":"shanghai","libraries":{}},"sources":{"node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"node_modules/@laye