@settlemint/solidity-token-erc721
Version:
Smart contract set to build an ERC721 token in SettleMint
1 lines • 74.4 kB
JSON
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchSafeTransferFrom","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchTransferFrom","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"tokenId","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":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"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},{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60806040523461030f57604080519081016001600160401b03811182821017610225576040908152600a8252694d6f636b45524337323160b01b602083015280519081016001600160401b038111828210176102255760405260048152634d37323160e01b602082015281516001600160401b038111610225575f54600181811c91168015610305575b602082101461020757601f81116102a3575b50602092601f821160011461024457928192935f92610239575b50508160011b915f199060031b1c1916175f555b80516001600160401b03811161022557600154600181811c9116801561021b575b602082101461020757601f81116101a4575b50602091601f8211600114610144579181925f92610139575b50508160011b915f199060031b1c1916176001555b604051610d7490816103148239f35b015190505f80610115565b601f1982169260015f52805f20915f5b85811061018c57508360019510610174575b505050811b0160015561012a565b01515f1960f88460031b161c191690555f8080610166565b91926020600181928685015181550194019201610154565b60015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f830160051c810191602084106101fd575b601f0160051c01905b8181106101f257506100fc565b5f81556001016101e5565b90915081906101dc565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b5565b601f198216935f8052805f20915f5b86811061028b5750836001959610610273575b505050811b015f556100c9565b01515f1960f88460031b161c191690555f8080610266565b91926020600181928685015181550194019201610253565b5f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563601f830160051c810191602084106102fb575b601f0160051c01905b8181106102f0575061009b565b5f81556001016102e3565b90915081906102da565b90607f1690610089565b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146108205750806306fdde0314610768578063081812fc1461072c578063095ea7b31461064257806323b872dd1461062b57806340c10f191461052157806342842e0e146104f85780635a4fee301461046c5780636352211e1461043c57806370a08231146103eb57806395d89b41146102e3578063a22cb46514610248578063b88d4fde146101f7578063c87b56dd1461019a578063e985e9c5146101425763f3993d11146100ce575f80fd5b3461013f57606036600319011261013f576100e76108af565b906100f06108c5565b60443567ffffffffffffffff811161013d5761011090369060040161094b565b825b8151811015610139578061013361012b60019385610ba2565b518588610a15565b01610112565b8380f35b825b80fd5b503461013f57604036600319011261013f57604061015e6108af565b916101676108c5565b9260018060a01b031681526005602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101f35760203660031901126101f3576101b6600435610d0a565b505f6040516101c6602082610915565b526101ef6040516101d8602082610915565b5f815260405191829160208352602083019061088b565b0390f35b5f80fd5b346101f35760803660031901126101f3576102106108af565b6102186108c5565b6064359167ffffffffffffffff83116101f35761023c6102469336906004016109cf565b9160443591610bca565b005b346101f35760403660031901126101f3576102616108af565b602435908115158092036101f3576001600160a01b03169081156102d057335f52600560205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b50630b61174360e31b5f5260045260245ffd5b346101f3575f3660031901126101f3576040515f6001548060011c906001811680156103e1575b6020831081146103cd578285529081156103a9575060011461034b575b6101ef8361033781850382610915565b60405191829160208352602083019061088b565b91905060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f905b80821061038f57509091508101602001610337610327565b919260018160209254838588010152019101909291610377565b60ff191660208086019190915291151560051b840190910191506103379050610327565b634e487b7160e01b5f52602260045260245ffd5b91607f169161030a565b346101f35760203660031901126101f3576001600160a01b0361040c6108af565b168015610429575f526003602052602060405f2054604051908152f35b6322718ad960e21b5f525f60045260245ffd5b346101f35760203660031901126101f357602061045a600435610d0a565b6040516001600160a01b039091168152f35b346101f35760803660031901126101f3576104856108af565b61048d6108c5565b9060443567ffffffffffffffff81116101f3576104ae90369060040161094b565b60643567ffffffffffffffff81116101f3576104ce9036906004016109cf565b5f5b825181101561024657806104f2836104ea60019487610ba2565b518888610bca565b016104d0565b346101f357610246610509366108db565b9060405192610519602085610915565b5f8452610bca565b346101f35760403660031901126101f35761053a6108af565b6001600160a01b03166024358115610618575f818152600260205260409020546001600160a01b031680151592909190836105e5575b805f52600360205260405f2060018154019055815f52600260205260405f20816bffffffffffffffffffffffff60a01b825416179055827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4506105d257005b6339e3563760e11b5f525f60045260245ffd5b5f82815260046020526040902080546001600160a01b0319169055825f52600360205260405f205f198154019055610570565b633250574960e11b5f525f60045260245ffd5b346101f35761024661063c366108db565b91610a15565b346101f35760403660031901126101f35761065b6108af565b60243561066781610d0a565b33151580610719575b806106ec575b6106d95781906001600160a01b0384811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f90815260046020526040902080546001600160a01b0319166001600160a01b03909216919091179055005b63a9fbf51f60e01b5f523360045260245ffd5b506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff1615610676565b506001600160a01b038116331415610670565b346101f35760203660031901126101f35760043561074981610d0a565b505f526004602052602060018060a01b0360405f205416604051908152f35b346101f3575f3660031901126101f3576040515f5f548060011c90600181168015610816575b6020831081146103cd578285529081156103a957506001146107ba576101ef8361033781850382610915565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b8082106107fc57509091508101602001610337610327565b9192600181602092548385880101520191019092916107e4565b91607f169161078e565b346101f35760203660031901126101f3576004359063ffffffff60e01b82168092036101f3576020916380ac58cd60e01b811490811561087a575b8115610869575b5015158152f35b6301ffc9a760e01b14905083610862565b635b5e139f60e01b8114915061085b565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036101f357565b602435906001600160a01b03821682036101f357565b60609060031901126101f3576004356001600160a01b03811681036101f357906024356001600160a01b03811681036101f3579060443590565b90601f8019910116810190811067ffffffffffffffff82111761093757604052565b634e487b7160e01b5f52604160045260245ffd5b9080601f830112156101f35781359167ffffffffffffffff8311610937578260051b906040519361097f6020840186610915565b84526020808501928201019283116101f357602001905b8282106109a35750505090565b8135815260209182019101610996565b67ffffffffffffffff811161093757601f01601f191660200190565b81601f820112156101f3578035906109e6826109b3565b926109f46040519485610915565b828452602083830101116101f357815f926020809301838601378301015290565b6001600160a01b0390911691908215610618575f828152600260205260409020546001600160a01b031692829033151580610b0d575b5084610ada575b805f52600360205260405f2060018154019055815f52600260205260405f20816bffffffffffffffffffffffff60a01b825416179055847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a46001600160a01b0316808303610ac257505050565b6364283d7b60e01b5f5260045260245260445260645ffd5b5f82815260046020526040902080546001600160a01b0319169055845f52600360205260405f205f198154019055610a52565b90915080610b51575b15610b235782905f610a4b565b8284610b3b57637e27328960e01b5f5260045260245ffd5b63177e802f60e01b5f523360045260245260445ffd5b503384148015610b80575b80610b1657505f838152600460205260409020546001600160a01b03163314610b16565b505f84815260056020908152604080832033845290915290205460ff16610b5c565b8051821015610bb65760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b9291610bd7818386610a15565b813b610be4575b50505050565b604051630a85bd0160e11b81523360048201526001600160a01b0394851660248201526044810191909152608060648201529216919060209082908190610c2f90608483019061088b565b03815f865af15f9181610cc5575b50610c9257503d15610c8b573d610c53816109b3565b90610c616040519283610915565b81523d5f602083013e5b80519081610c865782633250574960e11b5f5260045260245ffd5b602001fd5b6060610c6b565b6001600160e01b03191663757a42ff60e11b01610cb357505f808080610bde565b633250574960e11b5f5260045260245ffd5b9091506020813d602011610d02575b81610ce160209383610915565b810103126101f357516001600160e01b0319811681036101f357905f610c3d565b3d9150610cd4565b5f818152600260205260409020546001600160a01b0316908115610d2c575090565b637e27328960e01b5f5260045260245ffdfea2646970667358221220a1257d4d09b1cc6985456785e86855e7173aa54e767329c69f8664d5a30ec41864736f6c634300081e0033","sourceMap":"1965:182:51:-:0;;;;;;;;;;;;-1:-1:-1;;;;;1965:182:51;;;;;;;;;;;;;;;-1:-1:-1;;;1965:182:51;;;;;;;;;-1:-1:-1;;;;;1965:182:51;;;;;;;;;;;;;-1:-1:-1;;;1965:182:51;;;;;;-1:-1:-1;;;;;1965:182:51;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;-1:-1:-1;;;;;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;-1:-1:-1;1965:182:51;;-1:-1:-1;1965:182:51;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;-1:-1:-1;1965:182:51;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;-1:-1:-1;1965:182:51;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;-1:-1:-1;1965:182:51;;;-1:-1:-1;1965:182:51;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146108205750806306fdde0314610768578063081812fc1461072c578063095ea7b31461064257806323b872dd1461062b57806340c10f191461052157806342842e0e146104f85780635a4fee301461046c5780636352211e1461043c57806370a08231146103eb57806395d89b41146102e3578063a22cb46514610248578063b88d4fde146101f7578063c87b56dd1461019a578063e985e9c5146101425763f3993d11146100ce575f80fd5b3461013f57606036600319011261013f576100e76108af565b906100f06108c5565b60443567ffffffffffffffff811161013d5761011090369060040161094b565b825b8151811015610139578061013361012b60019385610ba2565b518588610a15565b01610112565b8380f35b825b80fd5b503461013f57604036600319011261013f57604061015e6108af565b916101676108c5565b9260018060a01b031681526005602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101f35760203660031901126101f3576101b6600435610d0a565b505f6040516101c6602082610915565b526101ef6040516101d8602082610915565b5f815260405191829160208352602083019061088b565b0390f35b5f80fd5b346101f35760803660031901126101f3576102106108af565b6102186108c5565b6064359167ffffffffffffffff83116101f35761023c6102469336906004016109cf565b9160443591610bca565b005b346101f35760403660031901126101f3576102616108af565b602435908115158092036101f3576001600160a01b03169081156102d057335f52600560205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b50630b61174360e31b5f5260045260245ffd5b346101f3575f3660031901126101f3576040515f6001548060011c906001811680156103e1575b6020831081146103cd578285529081156103a9575060011461034b575b6101ef8361033781850382610915565b60405191829160208352602083019061088b565b91905060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f905b80821061038f57509091508101602001610337610327565b919260018160209254838588010152019101909291610377565b60ff191660208086019190915291151560051b840190910191506103379050610327565b634e487b7160e01b5f52602260045260245ffd5b91607f169161030a565b346101f35760203660031901126101f3576001600160a01b0361040c6108af565b168015610429575f526003602052602060405f2054604051908152f35b6322718ad960e21b5f525f60045260245ffd5b346101f35760203660031901126101f357602061045a600435610d0a565b6040516001600160a01b039091168152f35b346101f35760803660031901126101f3576104856108af565b61048d6108c5565b9060443567ffffffffffffffff81116101f3576104ae90369060040161094b565b60643567ffffffffffffffff81116101f3576104ce9036906004016109cf565b5f5b825181101561024657806104f2836104ea60019487610ba2565b518888610bca565b016104d0565b346101f357610246610509366108db565b9060405192610519602085610915565b5f8452610bca565b346101f35760403660031901126101f35761053a6108af565b6001600160a01b03166024358115610618575f818152600260205260409020546001600160a01b031680151592909190836105e5575b805f52600360205260405f2060018154019055815f52600260205260405f20816bffffffffffffffffffffffff60a01b825416179055827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4506105d257005b6339e3563760e11b5f525f60045260245ffd5b5f82815260046020526040902080546001600160a01b0319169055825f52600360205260405f205f198154019055610570565b633250574960e11b5f525f60045260245ffd5b346101f35761024661063c366108db565b91610a15565b346101f35760403660031901126101f35761065b6108af565b60243561066781610d0a565b33151580610719575b806106ec575b6106d95781906001600160a01b0384811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f90815260046020526040902080546001600160a01b0319166001600160a01b03909216919091179055005b63a9fbf51f60e01b5f523360045260245ffd5b506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff1615610676565b506001600160a01b038116331415610670565b346101f35760203660031901126101f35760043561074981610d0a565b505f526004602052602060018060a01b0360405f205416604051908152f35b346101f3575f3660031901126101f3576040515f5f548060011c90600181168015610816575b6020831081146103cd578285529081156103a957506001146107ba576101ef8361033781850382610915565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b8082106107fc57509091508101602001610337610327565b9192600181602092548385880101520191019092916107e4565b91607f169161078e565b346101f35760203660031901126101f3576004359063ffffffff60e01b82168092036101f3576020916380ac58cd60e01b811490811561087a575b8115610869575b5015158152f35b6301ffc9a760e01b14905083610862565b635b5e139f60e01b8114915061085b565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036101f357565b602435906001600160a01b03821682036101f357565b60609060031901126101f3576004356001600160a01b03811681036101f357906024356001600160a01b03811681036101f3579060443590565b90601f8019910116810190811067ffffffffffffffff82111761093757604052565b634e487b7160e01b5f52604160045260245ffd5b9080601f830112156101f35781359167ffffffffffffffff8311610937578260051b906040519361097f6020840186610915565b84526020808501928201019283116101f357602001905b8282106109a35750505090565b8135815260209182019101610996565b67ffffffffffffffff811161093757601f01601f191660200190565b81601f820112156101f3578035906109e6826109b3565b926109f46040519485610915565b828452602083830101116101f357815f926020809301838601378301015290565b6001600160a01b0390911691908215610618575f828152600260205260409020546001600160a01b031692829033151580610b0d575b5084610ada575b805f52600360205260405f2060018154019055815f52600260205260405f20816bffffffffffffffffffffffff60a01b825416179055847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a46001600160a01b0316808303610ac257505050565b6364283d7b60e01b5f5260045260245260445260645ffd5b5f82815260046020526040902080546001600160a01b0319169055845f52600360205260405f205f198154019055610a52565b90915080610b51575b15610b235782905f610a4b565b8284610b3b57637e27328960e01b5f5260045260245ffd5b63177e802f60e01b5f523360045260245260445ffd5b503384148015610b80575b80610b1657505f838152600460205260409020546001600160a01b03163314610b16565b505f84815260056020908152604080832033845290915290205460ff16610b5c565b8051821015610bb65760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b9291610bd7818386610a15565b813b610be4575b50505050565b604051630a85bd0160e11b81523360048201526001600160a01b0394851660248201526044810191909152608060648201529216919060209082908190610c2f90608483019061088b565b03815f865af15f9181610cc5575b50610c9257503d15610c8b573d610c53816109b3565b90610c616040519283610915565b81523d5f602083013e5b80519081610c865782633250574960e11b5f5260045260245ffd5b602001fd5b6060610c6b565b6001600160e01b03191663757a42ff60e11b01610cb357505f808080610bde565b633250574960e11b5f5260045260245ffd5b9091506020813d602011610d02575b81610ce160209383610915565b810103126101f357516001600160e01b0319811681036101f357905f610c3d565b3d9150610cd4565b5f818152600260205260409020546001600160a01b0316908115610d2c575090565b637e27328960e01b5f5260045260245ffdfea2646970667358221220a1257d4d09b1cc6985456785e86855e7173aa54e767329c69f8664d5a30ec41864736f6c634300081e0033","sourceMap":"1965:182:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1965:182:51;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;311:13:1;348:3;1965:182:51;;326:20:1;;;;;392:12;;;1965:182:51;392:12:1;;;:::i;:::-;1965:182:51;392:12:1;;;:::i;:::-;1965:182:51;311:13:1;;326:20;;1965:182:51;;;;;;;;;;;;;;-1:-1:-1;;1965:182:51;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;3776:18:28;1965:182:51;;;3776:35:28;1965:182:51;;;;;;-1:-1:-1;1965:182:51;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;-1:-1:-1;;1965:182:51;;;;2618:22:28;1965:182:51;;2618:22:28;:::i;:::-;;1965:182:51;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;2702:75:28;1965:182:51;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;1965:182:51;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;1965:182:51;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1965:182:51;;15418:22:28;;15414:91;;735:10:39;1965:182:51;;15514:18:28;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15575:41:28;1965:182:51;735:10:39;15575:41:28;;1965:182:51;15414:91:28;15463:31;;;;1965:182:51;15463:31:28;1965:182:51;;;;15463:31:28;1965:182:51;;;;;;-1:-1:-1;;1965:182:51;;;;;;;2473:7:28;1965:182:51;;2473:7:28;1965:182:51;;2473:7:28;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;2473:7:28;1965:182:51;;;;;;;;;;;;-1:-1:-1;1965:182:51;;-1:-1:-1;1965:182:51;;;;;;;;;;2473:7:28;1965:182:51;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1965:182:51;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1965:182:51;;;;-1:-1:-1;;;;;1965:182:51;;:::i;:::-;;1947:19:28;;1943:87;;1965:182:51;;2046:9:28;1965:182:51;;;;;;;;;;;;;1943:87:28;1989:30;;;1965:182:51;1989:30:28;1965:182:51;;;;;1989:30:28;1965:182:51;;;;;;-1:-1:-1;;1965:182:51;;;;;2192:22:28;1965:182:51;;2192:22:28;:::i;:::-;1965:182:51;;-1:-1:-1;;;;;1965:182:51;;;;;;;;;;;;-1:-1:-1;;1965:182:51;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;594:3:1;1965:182:51;;572:20:1;;;;;642:12;656:5;642:12;;1965:182:51;642:12:1;;;:::i;:::-;1965:182:51;656:5:1;;;:::i;:::-;1965:182:51;557:13:1;;1965:182:51;;;;4550:39:28;1965:182:51;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;4550:39:28;:::i;1965:182:51:-;;;;;;-1:-1:-1;;1965:182:51;;;;;;:::i;:::-;-1:-1:-1;;;;;1965:182:51;;;9691:16:28;;9687:87;;1965:182:51;;;;5470:7:28;1965:182:51;;;;;;-1:-1:-1;;;;;1965:182:51;8830:18:28;;;;1965:182:51;;;8830:18:28;8826:256;;1965:182:51;;;;9156:9:28;1965:182:51;;;;;8704:18:28;1965:182:51;;;;;;;;5470:7:28;1965:182:51;;;;;;;;;;;;;;;9246:27:28;;1965:182:51;9246:27:28;;9849:96;;;1965:182:51;9849:96:28;9903:31;;;1965:182:51;9903:31:28;1965:182:51;;;;;9903:31:28;8826:256;1965:182:51;;;;15066:15:28;1965:182:51;;;;;;;-1:-1:-1;;;;;;1965:182:51;;;;;;9037:9:28;1965:182:51;;;;;;;;;;;;8826:256:28;;9687:87;9730:33;;;1965:182:51;9730:33:28;1965:182:51;;;;;9730:33:28;1965:182:51;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;1965:182:51;;;;;;:::i;:::-;;;14663:22:28;;;:::i;:::-;735:10:39;14813:18:28;;:35;;;1965:182:51;14813:69:28;;;1965:182:51;14809:142:28;;1965:182:51;;-1:-1:-1;;;;;1965:182:51;;;;;15003:28:28;1965:182:51;;15003:28:28;1965:182:51;;;;;;;;;;;;-1:-1:-1;;;;;;1965:182:51;-1:-1:-1;;;;;1965:182:51;;;;;;;;;;14809:142:28;14909:27;;;1965:182:51;14909:27:28;735:10:39;1965:182:51;;;;14909:27:28;14813:69;-1:-1:-1;;;;;;1965:182:51;;;;;;3776:18:28;1965:182:51;;;;;;;;735:10:39;1965:182:51;;;;;;;;;;14852:30:28;14813:69;;:35;-1:-1:-1;;;;;;1965:182:51;;735:10:39;14835:13:28;;14813:35;;1965:182:51;;;;;;-1:-1:-1;;1965:182:51;;;;;;3385:22:28;;;:::i;:::-;;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;-1:-1:-1;1965:182:51;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1965:182:51;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1664:40:28;;;:104;;;;1965:182:51;1664:156:28;;;;1965:182:51;;;;;;;1664:156:28;-1:-1:-1;;;829:40:46;;-1:-1:-1;1664:156:28;;;:104;-1:-1:-1;;;1720:48:28;;;-1:-1:-1;1664:104:28;;1965:182:51;;;;;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;-1:-1:-1;;1965:182:51;;;;:::o;:::-;;;;-1:-1:-1;;;;;1965:182:51;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1965:182:51;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1965:182:51;;;;;;;;;-1:-1:-1;;;;;1965:182:51;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1965:182:51;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1965:182:51;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1965:182:51;;;;;;;;;;;;;;:::o;3852:578:28:-;-1:-1:-1;;;;;1965:182:51;;;;3852:578:28;3946:16;;3942:87;;3960:1;1965:182:51;;;5470:7:28;1965:182:51;;;;;;-1:-1:-1;;;;;1965:182:51;;;;735:10:39;8704:18:28;;;8700:86;;3852:578;8830:18;;8826:256;;3852:578;1965:182:51;3960:1:28;1965:182:51;9156:9:28;1965:182:51;;;3960:1:28;1965:182:51;9096:16:28;1965:182:51;;;;;;3960:1:28;1965:182:51;5470:7:28;1965:182:51;;;3960:1:28;1965:182:51;;;;;;;;;;;9246:27:28;;3960:1;9246:27;;-1:-1:-1;;;;;1965:182:51;4319:21:28;;;4315:109;;3852:578;;;:::o;4315:109::-;4363:50;;;3960:1;4363:50;;1965:182:51;;;;;;3960:1:28;4363:50;8826:256;1965:182:51;;;;15066:15:28;1965:182:51;;;;;;;-1:-1:-1;;;;;;1965:182:51;;;;3960:1:28;1965:182:51;9037:9:28;1965:182:51;;;3960:1:28;1965:182:51;;;;;;;;8826:256:28;;8700:86;6185:127;;-1:-1:-1;6185:127:28;;;8700:86;6862:39;6858:255;;8700:86;;;;;6858:255;6921:19;;1965:182:51;;6967:31:28;;;3960:1;6967:31;;1965:182:51;;3960:1:28;6967:31;6917:186;7044:44;;;3960:1;7044:44;735:10:39;7044:44:28;1965:182:51;;;;3960:1:28;7044:44;6185:127;735:10:39;;6223:16:28;;:52;;;;6185:127;6223:88;6185:127;6223:88;-1:-1:-1;3960:1:28;1965:182:51;;;5705:15:28;1965:182:51;;;;;;-1:-1:-1;;;;;1965:182:51;735:10:39;6279:32:28;6185:127;;6223:52;-1:-1:-1;3960:1:28;1965:182:51;;;3776:18:28;1965:182:51;;;;;;;;735:10:39;1965:182:51;;;;;;;;;;6223:52:28;;1965:182:51;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;4630:233:28;;;4766:7;;;;;:::i;:::-;1173:14:37;;1169:744;;4630:233:28;;;;;:::o;1169:744:37:-;1965:182:51;;-1:-1:-1;;;1211:67:37;;735:10:39;1211:67:37;;;1965:182:51;-1:-1:-1;;;;;1965:182:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1211:67:37;;1190:1;1211:67;;;1190:1;;1211:67;;;1169:744;-1:-1:-1;1207:696:37;;-1:-1:-1;1965:182:51;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;1190:1:37;1965:182:51;;;;;;;;1568:18:37;;;9730:33:28;;;;1190:1:37;1672:39;1211:67;1965:182:51;;1190:1:37;1672:39;1564:325;1965:182:51;1758:113:37;;1965:182:51;;;;1207:696:37;-1:-1:-1;;;;;;1965:182:51;-1:-1:-1;;;1325:51:37;1321:182;;1207:696;1169:744;;;;;;1321:182;9730:33:28;;;1190:1:37;1445:39;1211:67;1965:182:51;;1190:1:37;1445:39;1211:67;;;;1965:182:51;1211:67:37;;1965:182:51;1211:67:37;;;;;;1965:182:51;1211:67:37;;;:::i;:::-;;;1965:182:51;;;;;-1:-1:-1;;;;;;1965:182:51;;;;;;1211:67:37;;;;;;;-1:-1:-1;1211:67:37;;15858:241:28;-1:-1:-1;1965:182:51;;;5470:7:28;1965:182:51;;;;;;-1:-1:-1;;;;;1965:182:51;;15987:19:28;;15983:88;;16080:12;15858:241;:::o;15983:88::-;6967:31;;;-1:-1:-1;16029:31:28;;1965:182:51;;-1:-1:-1;16029:31:28","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","batchSafeTransferFrom(address,address,uint256[],bytes)":"5a4fee30","batchTransferFrom(address,address,uint256[])":"f3993d11","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","mint(address,uint256)":"40c10f19","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.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"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\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"batchSafeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"batchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"tokenId\",\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC-721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the address zero. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC-721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/ERC721BatchTest.t.sol\":\"ERC721Mock\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/extensions/ERC721Batch.sol\":{\"keccak256\":\"0x80a6fcd1fb92bd82466cc919bef682343e7a99eb22a5b3ffd0aa10162530bc43\",\"license\":\"FSL-1.1-MIT\",\"urls\":[\"bzz-raw://1e9bc74acd3b008522d5d41175905ad4a1533291eaea8ef4b0e819b5e5aa31de\",\"dweb:/ipfs/QmU5tbxyMMVbzSDRh8JmWeX4pAxuHE6MAXMMuxsHw4Rv5P\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xac92c13b860c991644592312ddded2cba1ac741360a7b8902e12e9b28b9614ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f910448483ba0902764c5606f40e070b5899ec174de044b057ffa19678f058b5\",\"dweb:/ipfs/QmNgcS1S1igRY4BhSBaXynoB1BpiRiQzJAeLZyhwFynCZy\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xb2cbca1a6ffa19926c31bad47393a070305c809fe5d88c52214d5c51ce0733c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cf20975cfd9733910305fc8e746c7631c2ab210289aab036cec32f3c530335c7\",\"dweb:/ipfs/QmYYvVzvAN1uCt8XtDmWo5x2inSVJBYajFexe92rVWEuMf\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x07852d61fcf2fe5e25fa66e607f52cb97eab8adaf2e3fd4cb8404eb69baee90c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed97c9c7372b77a0b417c1285f631aa1396d8c3104f14b80abd559f305d67d1e\",\"dweb:/ipfs/QmeHLpi3g9XKLT8z76AF5ofwrXQm2yxPDpWztCZ2wPDW6i\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9de30197a56fe90c443948c3feeb20e9a29e0e9c0b8fa893e8ac4c1344acd589\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://444783bd32a8abfd3fbcf16c5d1cdccef5608b2a9cfddd789fa1b045b077ed2a\",\"dweb:/ipfs/QmY94NxHDFW1Knxs9GcgFhq2QZQpRXgor4NMamKQ9CCVyp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xab2a75a814f280bfcb4e8bfad9c2108fb3ab29a15cfaf74fa0758594e836ea80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9baa5aacc065172569c3b1d12bb42b5b703476690de481c4c11e88acc216da33\",\"dweb:/ipfs/QmetZcd1KvZHKYMbdKBVNpKHidqYHsWc2A2NZeh5NLow5y\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9a713f54fb97feca432be59f4105779b6041d55f09e814b47e820dabac8a6ffe\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://1b023d74b975d6ec572f2fa88b8310688c223803ef71376667b780188772e1a2\",\"dweb:/ipfs/QmbxEQvNUBxeSUi1w9Fr1BvmLiUyGwXrSDTfX3sWTY5WXV\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0xeb0daba50f85adb160209f03ebf7b3b548e09651aa799087795daf17b1495c7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b5b356871e51267728d69c662d8d8ce653dd0a8edc47098b6f8064ea1173e28\",\"dweb:/ipfs/QmRJTAmV68NYGSkDGKrGpsJnEZ8wQF4dDCevXGtNU4RWtQ\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x6ead281d4569c26b3dee7313aefff24add906f3600b57d8aef1255a17d6b34e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae