@uniswap/v4-periphery
Version:
🦄 Peripheral smart contracts for interacting with Uniswap v4
1 lines • 46.2 kB
JSON
{"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":"0x608080604052346015576115ad908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610ef05750806306fdde0314610e30578063081812fc14610dd2578063095ea7b314610cdf57806323b872dd14610ccd57806342842e0e14610bbc5780634cd88b76146106de5780636352211e1461061b57806370a082311461055457806395d89b4114610436578063a22cb46514610368578063b88d4fde146101cb578063c87b56dd1461014b5763e985e9c5146100b6575f80fd5b346101475760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576100ed611020565b73ffffffffffffffffffffffffffffffffffffffff61010a611043565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060ff60405f2054166040519015158152f35b5f80fd5b346101475760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101475760405160208152602081817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6060518084860152806080604087015e5f84808388010101520116820101030190f35b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576101fd611020565b610205611043565b9060443560643567ffffffffffffffff811161014757366023820112156101475761023a903690602481600401359101611119565b92610246828285611251565b803b1592831561025c575b61025a8461153b565b005b602093505f73ffffffffffffffffffffffffffffffffffffffff80926102ca604051988997889687947f150b7a020000000000000000000000000000000000000000000000000000000086523360048701521660248501526044840152608060648401526084830190610fdd565b0393165af1801561035d577fffffffff000000000000000000000000000000000000000000000000000000007f150b7a02000000000000000000000000000000000000000000000000000000009161025a935f9161032e575b501614828080610251565b610350915060203d602011610356575b61034881836110d8565b810190611503565b84610323565b503d61033e565b6040513d5f823e3d90fd5b346101475760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101475761039f611020565b602435908115158092036101475773ffffffffffffffffffffffffffffffffffffffff90335f52600560205260405f208282165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff851617905560405192835216907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b34610147575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576040515f6001546104748161119b565b808452906001811690811561051257506001146104b4575b6104b08361049c818503826110d8565b604051918291602083526020830190610fdd565b0390f35b91905060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f905b8082106104f85750909150810160200161049c61048c565b9192600181602092548385880101520191019092916104e0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b8401909101915061049c905061048c565b346101475760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101475773ffffffffffffffffffffffffffffffffffffffff6105a0611020565b1680156105bd575f526003602052602060405f2054604051908152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4144445245535300000000000000000000000000000000000000006044820152fd5b346101475760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576004355f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f205416801561068057602090604051908152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e544544000000000000000000000000000000000000000000006044820152fd5b346101475760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101475760043567ffffffffffffffff81116101475761072d90369060040161117d565b60243567ffffffffffffffff81116101475761074d90369060040161117d565b60ff60065416610b5e57815167ffffffffffffffff81116109cc576107725f5461119b565b601f8111610abe575b50602092601f8211600114610a0457928192935f926109f9575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916175f555b805167ffffffffffffffff81116109cc576107e360015461119b565b601f811161092b575b50602091601f8211600114610870579181925f92610865575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176001555b600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b015190508280610805565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082169260015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f5b858110610913575083600195106108dc575b505050811b01600155610838565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558280806108ce565b919260206001819286850151815501940192016108bc565b60015f52601f820160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190602083106109a4575b601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601905b81811061099957506107ec565b5f815560010161098c565b7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69150610962565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b015190508380610795565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216935f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563915f5b868110610aa65750836001959610610a6f575b505050811b015f556107c7565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055838080610a62565b91926020600181928685015181550194019201610a4f565b5f8052601f820160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563019060208310610b36575b601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301905b818110610b2b575061077b565b5f8155600101610b1e565b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639150610af4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a4544000000000000000000000000006044820152fd5b610bc536611066565b91610bd1838383611251565b813b15918215610be5575b61025a8361153b565b6020925073ffffffffffffffffffffffffffffffffffffffff915f8360a49360405197889687957f150b7a02000000000000000000000000000000000000000000000000000000008752336004880152166024860152604485015260806064850152826084850152165af1801561035d577fffffffff000000000000000000000000000000000000000000000000000000007f150b7a02000000000000000000000000000000000000000000000000000000009161025a935f91610cae575b5016148280610bdc565b610cc7915060203d6020116103565761034881836110d8565b84610ca4565b61025a610cd936611066565b91611251565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014757610d11611020565b60243590815f52600260205273ffffffffffffffffffffffffffffffffffffffff8060405f205416918233148015610dab575b610d4d906111ec565b835f52600460205260405f208282167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905516907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4005b50825f52600560205260405f208233165f52602052610d4d60ff60405f2054169050610d44565b346101475760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576004355f526004602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b34610147575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576040515f8054610e6d8161119b565b80845290600181169081156105125750600114610e94576104b08361049c818503826110d8565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b808210610ed65750909150810160200161049c61048c565b919260018160209254838588010152019101909291610ebe565b346101475760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014757600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361014757817f01ffc9a70000000000000000000000000000000000000000000000000000000060209314908115610fb3575b8115610f89575b5015158152f35b7f5b5e139f0000000000000000000000000000000000000000000000000000000091501483610f82565b7f80ac58cd0000000000000000000000000000000000000000000000000000000081149150610f7b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361014757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361014757565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126101475760043573ffffffffffffffffffffffffffffffffffffffff81168103610147579060243573ffffffffffffffffffffffffffffffffffffffff81168103610147579060443590565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176109cc57604052565b92919267ffffffffffffffff82116109cc5760405191611161601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016602001846110d8565b829481845281830111610147578281602093845f960137010152565b9080601f830112156101475781602061119893359101611119565b90565b90600182811c921680156111e2575b60208310146111b557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916111aa565b156111f357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152fd5b90825f52600260205273ffffffffffffffffffffffffffffffffffffffff8060405f20541692169182036114a55773ffffffffffffffffffffffffffffffffffffffff16908115611447578033148015611411575b80156113e1575b6112b6906111ec565b805f52600360205260405f20805480156113b4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055815f52600360205260405f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113b4576001019055825f52600260205260405f20827fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055825f52600460205260405f207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b50825f5260046020526112b673ffffffffffffffffffffffffffffffffffffffff60405f205416331490506112ad565b50805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f2054166112a6565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d000000000000000000000000000000000000000000006044820152fd5b9081602091031261014757517fffffffff00000000000000000000000000000000000000000000000000000000811681036101475790565b1561154257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152fdfea164736f6c634300081a000a","sourceMap":"403:7498:21:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610ef05750806306fdde0314610e30578063081812fc14610dd2578063095ea7b314610cdf57806323b872dd14610ccd57806342842e0e14610bbc5780634cd88b76146106de5780636352211e1461061b57806370a082311461055457806395d89b4114610436578063a22cb46514610368578063b88d4fde146101cb578063c87b56dd1461014b5763e985e9c5146100b6575f80fd5b346101475760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576100ed611020565b73ffffffffffffffffffffffffffffffffffffffff61010a611043565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060ff60405f2054166040519015158152f35b5f80fd5b346101475760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101475760405160208152602081817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6060518084860152806080604087015e5f84808388010101520116820101030190f35b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576101fd611020565b610205611043565b9060443560643567ffffffffffffffff811161014757366023820112156101475761023a903690602481600401359101611119565b92610246828285611251565b803b1592831561025c575b61025a8461153b565b005b602093505f73ffffffffffffffffffffffffffffffffffffffff80926102ca604051988997889687947f150b7a020000000000000000000000000000000000000000000000000000000086523360048701521660248501526044840152608060648401526084830190610fdd565b0393165af1801561035d577fffffffff000000000000000000000000000000000000000000000000000000007f150b7a02000000000000000000000000000000000000000000000000000000009161025a935f9161032e575b501614828080610251565b610350915060203d602011610356575b61034881836110d8565b810190611503565b84610323565b503d61033e565b6040513d5f823e3d90fd5b346101475760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101475761039f611020565b602435908115158092036101475773ffffffffffffffffffffffffffffffffffffffff90335f52600560205260405f208282165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff851617905560405192835216907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b34610147575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576040515f6001546104748161119b565b808452906001811690811561051257506001146104b4575b6104b08361049c818503826110d8565b604051918291602083526020830190610fdd565b0390f35b91905060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f905b8082106104f85750909150810160200161049c61048c565b9192600181602092548385880101520191019092916104e0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b8401909101915061049c905061048c565b346101475760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101475773ffffffffffffffffffffffffffffffffffffffff6105a0611020565b1680156105bd575f526003602052602060405f2054604051908152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4144445245535300000000000000000000000000000000000000006044820152fd5b346101475760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576004355f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f205416801561068057602090604051908152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e544544000000000000000000000000000000000000000000006044820152fd5b346101475760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101475760043567ffffffffffffffff81116101475761072d90369060040161117d565b60243567ffffffffffffffff81116101475761074d90369060040161117d565b60ff60065416610b5e57815167ffffffffffffffff81116109cc576107725f5461119b565b601f8111610abe575b50602092601f8211600114610a0457928192935f926109f9575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916175f555b805167ffffffffffffffff81116109cc576107e360015461119b565b601f811161092b575b50602091601f8211600114610870579181925f92610865575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176001555b600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b015190508280610805565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082169260015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f5b858110610913575083600195106108dc575b505050811b01600155610838565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558280806108ce565b919260206001819286850151815501940192016108bc565b60015f52601f820160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190602083106109a4575b601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601905b81811061099957506107ec565b5f815560010161098c565b7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69150610962565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b015190508380610795565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216935f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563915f5b868110610aa65750836001959610610a6f575b505050811b015f556107c7565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055838080610a62565b91926020600181928685015181550194019201610a4f565b5f8052601f820160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563019060208310610b36575b601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301905b818110610b2b575061077b565b5f8155600101610b1e565b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639150610af4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a4544000000000000000000000000006044820152fd5b610bc536611066565b91610bd1838383611251565b813b15918215610be5575b61025a8361153b565b6020925073ffffffffffffffffffffffffffffffffffffffff915f8360a49360405197889687957f150b7a02000000000000000000000000000000000000000000000000000000008752336004880152166024860152604485015260806064850152826084850152165af1801561035d577fffffffff000000000000000000000000000000000000000000000000000000007f150b7a02000000000000000000000000000000000000000000000000000000009161025a935f91610cae575b5016148280610bdc565b610cc7915060203d6020116103565761034881836110d8565b84610ca4565b61025a610cd936611066565b91611251565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014757610d11611020565b60243590815f52600260205273ffffffffffffffffffffffffffffffffffffffff8060405f205416918233148015610dab575b610d4d906111ec565b835f52600460205260405f208282167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905516907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4005b50825f52600560205260405f208233165f52602052610d4d60ff60405f2054169050610d44565b346101475760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576004355f526004602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b34610147575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610147576040515f8054610e6d8161119b565b80845290600181169081156105125750600114610e94576104b08361049c818503826110d8565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b808210610ed65750909150810160200161049c61048c565b919260018160209254838588010152019101909291610ebe565b346101475760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014757600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361014757817f01ffc9a70000000000000000000000000000000000000000000000000000000060209314908115610fb3575b8115610f89575b5015158152f35b7f5b5e139f0000000000000000000000000000000000000000000000000000000091501483610f82565b7f80ac58cd0000000000000000000000000000000000000000000000000000000081149150610f7b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361014757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361014757565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126101475760043573ffffffffffffffffffffffffffffffffffffffff81168103610147579060243573ffffffffffffffffffffffffffffffffffffffff81168103610147579060443590565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176109cc57604052565b92919267ffffffffffffffff82116109cc5760405191611161601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016602001846110d8565b829481845281830111610147578281602093845f960137010152565b9080601f830112156101475781602061119893359101611119565b90565b90600182811c921680156111e2575b60208310146111b557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916111aa565b156111f357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152fd5b90825f52600260205273ffffffffffffffffffffffffffffffffffffffff8060405f20541692169182036114a55773ffffffffffffffffffffffffffffffffffffffff16908115611447578033148015611411575b80156113e1575b6112b6906111ec565b805f52600360205260405f20805480156113b4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055815f52600360205260405f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113b4576001019055825f52600260205260405f20827fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055825f52600460205260405f207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b50825f5260046020526112b673ffffffffffffffffffffffffffffffffffffffff60405f205416331490506112ad565b50805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f2054166112a6565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d000000000000000000000000000000000000000000006044820152fd5b9081602091031261014757517fffffffff00000000000000000000000000000000000000000000000000000000811681036101475790565b1561154257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152fdfea164736f6c634300081a000a","sourceMap":"403:7498:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;2195:17;403:7498;;;;;;2195:34;403:7498;-1:-1:-1;403:7498:21;;;;;;-1:-1:-1;403:7498:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4929:2;;;;;;:::i;:::-;7796:65;;7878:14;;;;4964:175;;403:7498;4943:238;;;:::i;:::-;403:7498;4964:175;403:7498;;;;;;;;;;5000:69;;;;;;;403:7498;5000:69;;5042:10;403:7498;5000:69;;403:7498;;;;;;;;;;;;;;;;;;;;:::i;:::-;5000:69;403:7498;;5000:69;;;;;;403:7498;;5000:69;4943:238;5000:69;403:7498;5000:69;;;4964:175;403:7498;;5000:139;4964:175;;;;;5000:69;;;;403:7498;5000:69;403:7498;5000:69;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;403:7498;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3547:10;;403:7498;;3529:17;403:7498;;;;;;;;-1:-1:-1;403:7498:21;;;;-1:-1:-1;403:7498:21;;;;;;;;;;;;;;;;;3547:10;3595:46;403:7498;3547:10;3595:46;;403:7498;;;;;;;;;;;;;;;873:7;403:7498;;;;:::i;:::-;;;;;873:7;403:7498;;;873:7;;;;403:7498;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;873:7;403:7498;;;;;;;;;;;;-1:-1:-1;403:7498:21;;-1:-1:-1;403:7498:21;;;;;;;;;;873:7;403:7498;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;403:7498:21;;-1:-1:-1;403:7498:21;;;;;;;;;;;;;;;;:::i;:::-;;1543:19;;403:7498;;;;1597:10;403:7498;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1389:8;403:7498;;;;;;;;1380:36;;403:7498;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;2818:11;403:7498;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:17;403:7498;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:17;403:7498;;;;;;;;2887:17;403:7498;;2818:11;403:7498;;;;2887:17;403:7498;;;;;;;;-1:-1:-1;403:7498:21;;;;;;;;;2887:17;403:7498;;;;;;;;;;;;;2887:17;403:7498;;;;;;;;;;;2887:17;403:7498;;;;;;;;;;;;;;;;;;;;;;;;;;2887:17;403:7498;;;;;;;;;;;;;;;;2887:17;403:7498;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:17;403:7498;;;;;;-1:-1:-1;403:7498:21;;;;;;;;;;;;;;;;-1:-1:-1;403:7498:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;403:7498:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4482:2;;;;;;:::i;:::-;7796:65;;7878:14;;;;4517:173;;403:7498;4496:236;;;:::i;4517:173::-;403:7498;;;;;;;4553:67;403:7498;;;4553:67;;;;;403:7498;4553:67;;4595:10;403:7498;4553:67;;403:7498;;;;;;;;;;;;;;;;;;;;;4553:67;;;;;;403:7498;;4553:67;4496:236;4553:67;403:7498;4553:67;;;4517:173;403:7498;;4553:137;4517:173;;;;4553:67;;;;403:7498;4553:67;403:7498;4553:67;;;;;;;:::i;:::-;;;;403:7498;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;3232:8;403:7498;;;;;;;;;3263:10;;;:19;:59;;;;403:7498;3255:86;;;:::i;:::-;403:7498;;;;;;;;;;;;;;;;;;;;3394:28;;403:7498;3394:28;;403:7498;3263:59;403:7498;;;;3286:17;403:7498;;;;;3263:10;;403:7498;-1:-1:-1;403:7498:21;;;3255:86;403:7498;;-1:-1:-1;403:7498:21;;;3263:59;;;;403:7498;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;403:7498:21;;;;;;;-1:-1:-1;403:7498:21;;-1:-1:-1;403:7498:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5484:25;403:7498;;5484:25;;:100;;;;;403:7498;5484:175;;;;403:7498;;;;;;;5484:175;403:7498;5634:25;;;5484:175;;;:100;403:7498;5559:25;;;-1:-1:-1;5484:100:21;;403:7498;;;;;;;;;;;;;;;;;;;;-1:-1:-1;403:7498:21;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;403:7498:21;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;3654:693;;403:7498;-1:-1:-1;403:7498:21;3772:8;403:7498;;;;;-1:-1:-1;403:7498:21;;;;;3764:20;;;403:7498;;;;3818:16;;;403:7498;;3888:10;;:18;:57;;;;3654:693;3888:91;;;;3654:693;3867:152;;;:::i;:::-;403:7498;-1:-1:-1;403:7498:21;4195:10;403:7498;;;-1:-1:-1;403:7498:21;;;;;;;;;;;;-1:-1:-1;403:7498:21;4195:10;403:7498;;;-1:-1:-1;403:7498:21;;;;;;;;;;;;;-1:-1:-1;403:7498:21;3772:8;403:7498;;;-1:-1:-1;403:7498:21;;;;;;;;;;-1:-1:-1;403:7498:21;4286:12;403:7498;;;-1:-1:-1;403:7498:21;;;;;;;4318:22;-1:-1:-1;4318:22:21;;3654:693::o;403:7498::-;;-1:-1:-1;403:7498:21;;;;;-1:-1:-1;403:7498:21;3888:91;403:7498;;-1:-1:-1;403:7498:21;3963:12;403:7498;;3867:152;403:7498;;-1:-1:-1;403:7498:21;;;3888:10;3949:30;3888:91;;;;:57;403:7498;;-1:-1:-1;403:7498:21;3910:17;403:7498;;;-1:-1:-1;403:7498:21;;3888:10;403:7498;-1:-1:-1;403:7498:21;;;;;-1:-1:-1;403:7498:21;;;3888:57;;403:7498;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;:::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.26+commit.8a97fa7a\"},\"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\":{\"lib/v4-core/lib/forge-std/src/mocks/MockERC721.sol\":\"MockERC721\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/\",\":@uniswap/v4-core/=lib/v4-core/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/v4-core/lib/forge-std/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/src/\"],\"viaIR\":true},\"sources\":{\"lib/v4-core/lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/v4-core/lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/v4-core/lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xbfbb755bb379f58b97699f7cda0e9a2b9113daaa072e41b280a5ce6a3bff44c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ae0c31d29db14d6a0e9b62d33d550feb307f48a6f45068901a013321f337f87\",\"dweb:/ipfs/QmX25DVXW6XZDvRm6SNBGCWrZQ6oNhdq5CmgtVocvsUdwv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"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":["@ensdomains/=lib/v4-core/node_modules/@ensdomains/","@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/","@uniswap/v4-core/=lib/v4-core/","ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/v4-core/lib/forge-std/src/","hardhat/=lib/v4-core/node_modules/hardhat/","openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/","permit2/=lib/permit2/","solmate/=lib/v4-core/lib/solmate/","v4-core/=lib/v4-core/src/"],"optimizer":{"enabled":true,"runs":44444444},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/v4-core/lib/forge-std/src/mocks/MockERC721.sol":"MockERC721"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/v4-core/lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/v4-core/lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/v4-core/lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xbfbb755bb379f58b97699f7cda0e9a2b9113daaa072e41b280a5ce6a3bff44c9","urls":["bzz-raw://5ae0c31d29db14d6a0e9b62d33d550feb307f48a6f45068901a013321f337f87","dweb:/ipfs/QmX25DVXW6XZDvRm6SNBGCWrZQ6oNhdq5CmgtVocvsUdwv"],"license":"MIT"}},"version":1},"id":21}