{"matchId":"52314457","creationMatch":"match","runtimeMatch":"match","verifiedAt":"2026-09-25T14:03:35Z","creationBytecode":{"onchainBytecode":"0x60a0346100a357601f610adf38819003918201601f19168301916001600160401b038311848410176100a7578084926020946040528339810103126100a357516001600160a01b0381168082036100a3578015610094573b1561008557608052604051610a2390816100bc8239608051818181610117015281816105d101526109740152f35b63172a818760e31b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c8063a574cea41461063b578063c8837871146105f5578063e2fdcc1714610587578063e8868e9f1461054d5763f2a18cd814610050575f80fd5b346105495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760043560243567ffffffffffffffff811161054957366023820112156105495780600401359167ffffffffffffffff8311610549573660248484010111610549578215801561053e575b61051657604051927fb9db15b400000000000000000000000000000000000000000000000000000000845281600485015260808460248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa93841561050b575f946104da575b5073ffffffffffffffffffffffffffffffffffffffff845116156104b25773ffffffffffffffffffffffffffffffffffffffff845116330361048a57601f8101604080516101ba60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085160182610751565b8381526020810190846024880183375f60208683010152519020950151850361046257825f525f60205260405f2093600285019163ffffffff835460401c1680151580610455575b61042d576001019563ffffffff87116104005787916102218254610700565b90601f82116103b7575b5050845f601f821160011461030757600193945f926102f9575b505085831b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8760031b1c19161781555b015580546bffffffff00000000000000008560401b16907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000067ffffffffffffffff421691161717905563ffffffff6040519316835260208301527f5a36035f90e027d637e3074b4eaebde775277a417e7ed9daf7db1d31a754bf9e60403393a4005b602492500101355f80610245565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01693825f5260205f2091875f965b80881061039357600196975010610358575b5050508185811b018155610277565b01602401357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191690555f8080610349565b8284016024013585556020978801978d975060019095019490920191899150610337565b90918093505f5260205f209060051c810191602087106103f6575b90601f8a9493920160051c01905b8181101561022b575f81558993506001016103e0565b90915081906103d2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fc0cf59cb000000000000000000000000000000000000000000000000000000005f5260045ffd5b5087600188015414610202565b7f0cca4ace000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f82b42900000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f79de4af5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6104fd91945060803d608011610504575b6104f58183610751565b81019061087d565b925f610147565b503d6104eb565b6040513d5f823e3d90fd5b7fb423cfa1000000000000000000000000000000000000000000000000000000005f5260045ffd5b5061100083116100c9565b5f80fd5b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760206040516110008152f35b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602061063160043561090c565b6040519015158152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610549576004355f525f60205260405f2060a06001820154917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602067ffffffffffffffff6106bb6002860154956107bf565b946040519788966080885280519485918260808b0152018989015e5f888589010152602087015263ffffffff8160401c16604087015216606085015201168101030190f35b90600182811c92168015610747575b602083101461071a57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f169161070f565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761079257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9060405191825f8254926107d284610700565b808452936001811690811561083d57506001146107f9575b506107f792500383610751565b565b90505f9291925260205f20905f915b8183106108215750509060206107f7928201015f6107ea565b6020919350806001915483858901015201910190918492610808565b602093506107f79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f6107ea565b9081608091031261054957604051906080820182811067ffffffffffffffff82111761079257604052805173ffffffffffffffffffffffffffffffffffffffff811681036105495782526020810151906fffffffffffffffffffffffffffffffff8216820361054957606091602084015260408101516040840152015160ff8116810361054957606082015290565b805f525f60205260405f209063ffffffff600283015460401c1615610a1d57604051907fb9db15b4000000000000000000000000000000000000000000000000000000008252600482015260808160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561050b575f916109fe575b5073ffffffffffffffffffffffffffffffffffffffff815116151591826109ec575b826109d057505090565b60409192506109de906107bf565b602081519101209101511490565b600181015460408301511492506109c6565b610a17915060803d608011610504576104f58183610751565b5f6109a4565b50505f9056000000000000000000000000642da3859ded225cf42efd21346e317e8e26f58e","recompiledBytecode":"0x60a0346100a357601f610adf38819003918201601f19168301916001600160401b038311848410176100a7578084926020946040528339810103126100a357516001600160a01b0381168082036100a3578015610094573b1561008557608052604051610a2390816100bc8239608051818181610117015281816105d101526109740152f35b63172a818760e31b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c8063a574cea41461063b578063c8837871146105f5578063e2fdcc1714610587578063e8868e9f1461054d5763f2a18cd814610050575f80fd5b346105495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760043560243567ffffffffffffffff811161054957366023820112156105495780600401359167ffffffffffffffff8311610549573660248484010111610549578215801561053e575b61051657604051927fb9db15b400000000000000000000000000000000000000000000000000000000845281600485015260808460248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa93841561050b575f946104da575b5073ffffffffffffffffffffffffffffffffffffffff845116156104b25773ffffffffffffffffffffffffffffffffffffffff845116330361048a57601f8101604080516101ba60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085160182610751565b8381526020810190846024880183375f60208683010152519020950151850361046257825f525f60205260405f2093600285019163ffffffff835460401c1680151580610455575b61042d576001019563ffffffff87116104005787916102218254610700565b90601f82116103b7575b5050845f601f821160011461030757600193945f926102f9575b505085831b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8760031b1c19161781555b015580546bffffffff00000000000000008560401b16907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000067ffffffffffffffff421691161717905563ffffffff6040519316835260208301527f5a36035f90e027d637e3074b4eaebde775277a417e7ed9daf7db1d31a754bf9e60403393a4005b602492500101355f80610245565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01693825f5260205f2091875f965b80881061039357600196975010610358575b5050508185811b018155610277565b01602401357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191690555f8080610349565b8284016024013585556020978801978d975060019095019490920191899150610337565b90918093505f5260205f209060051c810191602087106103f6575b90601f8a9493920160051c01905b8181101561022b575f81558993506001016103e0565b90915081906103d2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fc0cf59cb000000000000000000000000000000000000000000000000000000005f5260045ffd5b5087600188015414610202565b7f0cca4ace000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f82b42900000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f79de4af5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6104fd91945060803d608011610504575b6104f58183610751565b81019061087d565b925f610147565b503d6104eb565b6040513d5f823e3d90fd5b7fb423cfa1000000000000000000000000000000000000000000000000000000005f5260045ffd5b5061100083116100c9565b5f80fd5b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760206040516110008152f35b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602061063160043561090c565b6040519015158152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610549576004355f525f60205260405f2060a06001820154917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602067ffffffffffffffff6106bb6002860154956107bf565b946040519788966080885280519485918260808b0152018989015e5f888589010152602087015263ffffffff8160401c16604087015216606085015201168101030190f35b90600182811c92168015610747575b602083101461071a57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f169161070f565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761079257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9060405191825f8254926107d284610700565b808452936001811690811561083d57506001146107f9575b506107f792500383610751565b565b90505f9291925260205f20905f915b8183106108215750509060206107f7928201015f6107ea565b6020919350806001915483858901015201910190918492610808565b602093506107f79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f6107ea565b9081608091031261054957604051906080820182811067ffffffffffffffff82111761079257604052805173ffffffffffffffffffffffffffffffffffffffff811681036105495782526020810151906fffffffffffffffffffffffffffffffff8216820361054957606091602084015260408101516040840152015160ff8116810361054957606082015290565b805f525f60205260405f209063ffffffff600283015460401c1615610a1d57604051907fb9db15b4000000000000000000000000000000000000000000000000000000008252600482015260808160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561050b575f916109fe575b5073ffffffffffffffffffffffffffffffffffffffff815116151591826109ec575b826109d057505090565b60409192506109de906107bf565b602081519101209101511490565b600181015460408301511492506109c6565b610a17915060803d608011610504576104f58183610751565b5f6109a4565b50505f9056","sourceMap":"620:3328:0:-:0;;;;;;;;;;;;;-1:-1:-1;;620:3328:0;;;;-1:-1:-1;;;;;620:3328:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;620:3328:0;;;;;;;1447:30;;1443:56;;1513:28;:33;1509:63;;1582:16;;620:3328;;;;;;;;1582:16;620:3328;;;;;;;;;;;;;;;;1509:63;1555:17;;;-1:-1:-1;1555:17:0;;-1:-1:-1;1555:17:0;1443:56;1486:13;;;-1:-1:-1;1486:13:0;;-1:-1:-1;1486:13:0;620:3328;-1:-1:-1;620:3328:0;;;;;;-1:-1:-1;620:3328:0;;;;;-1:-1:-1;620:3328:0","linkReferences":{},"cborAuxdata":{},"transformations":[{"type":"insert","offset":2783,"reason":"constructorArguments"}],"transformationValues":{"constructorArguments":"0x000000000000000000000000642da3859ded225cf42efd21346e317e8e26f58e"}},"runtimeBytecode":{"onchainBytecode":"0x60806040526004361015610011575f80fd5b5f3560e01c8063a574cea41461063b578063c8837871146105f5578063e2fdcc1714610587578063e8868e9f1461054d5763f2a18cd814610050575f80fd5b346105495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760043560243567ffffffffffffffff811161054957366023820112156105495780600401359167ffffffffffffffff8311610549573660248484010111610549578215801561053e575b61051657604051927fb9db15b400000000000000000000000000000000000000000000000000000000845281600485015260808460248173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000642da3859ded225cf42efd21346e317e8e26f58e165afa93841561050b575f946104da575b5073ffffffffffffffffffffffffffffffffffffffff845116156104b25773ffffffffffffffffffffffffffffffffffffffff845116330361048a57601f8101604080516101ba60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085160182610751565b8381526020810190846024880183375f60208683010152519020950151850361046257825f525f60205260405f2093600285019163ffffffff835460401c1680151580610455575b61042d576001019563ffffffff87116104005787916102218254610700565b90601f82116103b7575b5050845f601f821160011461030757600193945f926102f9575b505085831b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8760031b1c19161781555b015580546bffffffff00000000000000008560401b16907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000067ffffffffffffffff421691161717905563ffffffff6040519316835260208301527f5a36035f90e027d637e3074b4eaebde775277a417e7ed9daf7db1d31a754bf9e60403393a4005b602492500101355f80610245565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01693825f5260205f2091875f965b80881061039357600196975010610358575b5050508185811b018155610277565b01602401357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191690555f8080610349565b8284016024013585556020978801978d975060019095019490920191899150610337565b90918093505f5260205f209060051c810191602087106103f6575b90601f8a9493920160051c01905b8181101561022b575f81558993506001016103e0565b90915081906103d2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fc0cf59cb000000000000000000000000000000000000000000000000000000005f5260045ffd5b5087600188015414610202565b7f0cca4ace000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f82b42900000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f79de4af5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6104fd91945060803d608011610504575b6104f58183610751565b81019061087d565b925f610147565b503d6104eb565b6040513d5f823e3d90fd5b7fb423cfa1000000000000000000000000000000000000000000000000000000005f5260045ffd5b5061100083116100c9565b5f80fd5b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760206040516110008152f35b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000642da3859ded225cf42efd21346e317e8e26f58e168152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602061063160043561090c565b6040519015158152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610549576004355f525f60205260405f2060a06001820154917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602067ffffffffffffffff6106bb6002860154956107bf565b946040519788966080885280519485918260808b0152018989015e5f888589010152602087015263ffffffff8160401c16604087015216606085015201168101030190f35b90600182811c92168015610747575b602083101461071a57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f169161070f565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761079257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9060405191825f8254926107d284610700565b808452936001811690811561083d57506001146107f9575b506107f792500383610751565b565b90505f9291925260205f20905f915b8183106108215750509060206107f7928201015f6107ea565b6020919350806001915483858901015201910190918492610808565b602093506107f79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f6107ea565b9081608091031261054957604051906080820182811067ffffffffffffffff82111761079257604052805173ffffffffffffffffffffffffffffffffffffffff811681036105495782526020810151906fffffffffffffffffffffffffffffffff8216820361054957606091602084015260408101516040840152015160ff8116810361054957606082015290565b805f525f60205260405f209063ffffffff600283015460401c1615610a1d57604051907fb9db15b4000000000000000000000000000000000000000000000000000000008252600482015260808160248173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000642da3859ded225cf42efd21346e317e8e26f58e165afa90811561050b575f916109fe575b5073ffffffffffffffffffffffffffffffffffffffff815116151591826109ec575b826109d057505090565b60409192506109de906107bf565b602081519101209101511490565b600181015460408301511492506109c6565b610a17915060803d608011610504576104f58183610751565b5f6109a4565b50505f9056","recompiledBytecode":"0x60806040526004361015610011575f80fd5b5f3560e01c8063a574cea41461063b578063c8837871146105f5578063e2fdcc1714610587578063e8868e9f1461054d5763f2a18cd814610050575f80fd5b346105495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760043560243567ffffffffffffffff811161054957366023820112156105495780600401359167ffffffffffffffff8311610549573660248484010111610549578215801561053e575b61051657604051927fb9db15b400000000000000000000000000000000000000000000000000000000845281600485015260808460248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa93841561050b575f946104da575b5073ffffffffffffffffffffffffffffffffffffffff845116156104b25773ffffffffffffffffffffffffffffffffffffffff845116330361048a57601f8101604080516101ba60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085160182610751565b8381526020810190846024880183375f60208683010152519020950151850361046257825f525f60205260405f2093600285019163ffffffff835460401c1680151580610455575b61042d576001019563ffffffff87116104005787916102218254610700565b90601f82116103b7575b5050845f601f821160011461030757600193945f926102f9575b505085831b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8760031b1c19161781555b015580546bffffffff00000000000000008560401b16907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000067ffffffffffffffff421691161717905563ffffffff6040519316835260208301527f5a36035f90e027d637e3074b4eaebde775277a417e7ed9daf7db1d31a754bf9e60403393a4005b602492500101355f80610245565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01693825f5260205f2091875f965b80881061039357600196975010610358575b5050508185811b018155610277565b01602401357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191690555f8080610349565b8284016024013585556020978801978d975060019095019490920191899150610337565b90918093505f5260205f209060051c810191602087106103f6575b90601f8a9493920160051c01905b8181101561022b575f81558993506001016103e0565b90915081906103d2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fc0cf59cb000000000000000000000000000000000000000000000000000000005f5260045ffd5b5087600188015414610202565b7f0cca4ace000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f82b42900000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f79de4af5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6104fd91945060803d608011610504575b6104f58183610751565b81019061087d565b925f610147565b503d6104eb565b6040513d5f823e3d90fd5b7fb423cfa1000000000000000000000000000000000000000000000000000000005f5260045ffd5b5061100083116100c9565b5f80fd5b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760206040516110008152f35b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602061063160043561090c565b6040519015158152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610549576004355f525f60205260405f2060a06001820154917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602067ffffffffffffffff6106bb6002860154956107bf565b946040519788966080885280519485918260808b0152018989015e5f888589010152602087015263ffffffff8160401c16604087015216606085015201168101030190f35b90600182811c92168015610747575b602083101461071a57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f169161070f565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761079257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9060405191825f8254926107d284610700565b808452936001811690811561083d57506001146107f9575b506107f792500383610751565b565b90505f9291925260205f20905f915b8183106108215750509060206107f7928201015f6107ea565b6020919350806001915483858901015201910190918492610808565b602093506107f79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f6107ea565b9081608091031261054957604051906080820182811067ffffffffffffffff82111761079257604052805173ffffffffffffffffffffffffffffffffffffffff811681036105495782526020810151906fffffffffffffffffffffffffffffffff8216820361054957606091602084015260408101516040840152015160ff8116810361054957606082015290565b805f525f60205260405f209063ffffffff600283015460401c1615610a1d57604051907fb9db15b4000000000000000000000000000000000000000000000000000000008252600482015260808160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561050b575f916109fe575b5073ffffffffffffffffffffffffffffffffffffffff815116151591826109ec575b826109d057505090565b60409192506109de906107bf565b602081519101209101511490565b600181015460408301511492506109c6565b610a17915060803d608011610504576104f58183610751565b5f6109a4565b50505f9056","sourceMap":"620:3328:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1989:11;;:43;;;;620:3328;1985:79;;620:3328;;2124:28;620:3328;2124:28;;;620:3328;2124:28;;620:3328;2124:28;:6;620:3328;2124:6;620:3328;2124:6;620:3328;2124:28;;;;;;;620:3328;2124:28;;;620:3328;;;;;;2166:28;2162:58;;620:3328;;;;2234:10;:28;2230:55;;620:3328;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2319:19;;2368:20;;620:3328;2352:36;;2348:71;;620:3328;;;;;;;;;2495:15;;;;620:3328;;;;;;;2495:20;;;:59;;;620:3328;2491:116;;620:3328;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2700:19;620:3328;;;;;;;;2922:15;620:3328;;2922:15;620:3328;;;;;;;;;;;;;;;;;;2990:72;620:3328;2234:10;2990:72;;620:3328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;620:3328:0;;;;;;;;;;;-1:-1:-1;620:3328:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;620:3328:0;;;;;;;-1:-1:-1;620:3328:0;;;;;;;;;;;;;;2491:116;2577:19;620:3328;2577:19;620:3328;;2577:19;2495:59;2519:19;;620:3328;2519:19;;620:3328;2519:35;2495:59;;2348:71;2397:22;620:3328;2397:22;620:3328;;2397:22;2230:55;2271:14;620:3328;2271:14;620:3328;;2271:14;2162:58;2203:17;620:3328;2203:17;620:3328;;2203:17;2124:28;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;620:3328;;;;;;;;;1985:79;2041:23;620:3328;2041:23;620:3328;;2041:23;1989:43;2004:28;705:5;2004:28;;1989:43;;620:3328;;;;;;;;;;;;;;;;;;705:5;620:3328;;;;;;;;;;;;;;;;;;1259:47;620:3328;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:19;;620:3328;3365:15;620:3328;;;;;3365:15;;;620:3328;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;620:3328:0;;;;;-1:-1:-1;620:3328:0;;;;;;;-1:-1:-1;620:3328:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;620:3328:0;;;;;-1:-1:-1;620:3328:0;;-1:-1:-1;620:3328:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3517:429::-;620:3328;;;;;;;;;3659:15;620:3328;3659:15;;;620:3328;;;;3659:20;3655:38;;620:3328;;3753:28;620:3328;3753:28;;;;;620:3328;3753:28;:6;:28;:6;620:3328;3753:6;620:3328;3753:28;;;;;;;620:3328;3753:28;;;3517:429;620:3328;;;;;3798:28;;:75;;;;3517:429;3798:141;;;3791:148;;3517:429;:::o;3798:141::-;620:3328;;;;;;;:::i;:::-;;;;;;3889:26;3919:20;;620:3328;3889:50;3517:429;:::o;3798:75::-;3830:19;;;620:3328;;3853:20;;620:3328;3830:43;;-1:-1:-1;3798:75:0;;3753:28;;;;;;;;;;;;;;:::i;:::-;;;;3655:38;3681:12;;620:3328;3681:12;:::o","linkReferences":{},"cborAuxdata":{},"immutableReferences":{"62":[{"start":279,"length":32},{"start":1489,"length":32},{"start":2420,"length":32}]},"transformations":[{"id":"62","type":"replace","offset":279,"reason":"immutable"},{"id":"62","type":"replace","offset":1489,"reason":"immutable"},{"id":"62","type":"replace","offset":2420,"reason":"immutable"}],"transformationValues":{"immutables":{"62":"0x000000000000000000000000642da3859ded225cf42efd21346e317e8e26f58e"}}},"deployment":{"transactionHash":"0x775938e0ca079c75bfb575172068a0320549ede850aeea545af9bb1f1d579f3d","blockNumber":"51777611","transactionIndex":"53","deployer":"0x445878e492A53cfE567FB89C805b3316F6061b35"},"sources":{"src/ProductMetadataRegistry.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.30;\n\n/// @notice Minimal read-only surface used from the immutable DeliveryEscrow V2.\ninterface IDeliveryEscrowProducts {\n    struct Product {\n        address seller;\n        uint128 price;\n        bytes32 metadataHash;\n        uint8 status;\n    }\n\n    function getProduct(uint256 productId) external view returns (Product memory);\n}\n\n/// @title ProductMetadataRegistry\n/// @notice Stores public product metadata whose exact bytes are committed by DeliveryEscrow V2.\n/// @dev This contract holds no funds and has no owner, upgrade path, fees or administrative writes.\ncontract ProductMetadataRegistry {\n    uint256 public constant MAX_METADATA_LENGTH = 4_096;\n\n    struct MetadataRecord {\n        bytes metadata;\n        bytes32 metadataHash;\n        uint64 publishedAt;\n        uint32 revision;\n    }\n\n    error ZeroAddress();\n    error EscrowHasNoCode();\n    error ProductNotFound();\n    error Unauthorized();\n    error InvalidMetadataLength();\n    error MetadataHashMismatch();\n    error MetadataUnchanged();\n\n    event MetadataPublished(\n        uint256 indexed productId,\n        address indexed seller,\n        bytes32 indexed metadataHash,\n        uint32 revision,\n        uint256 length\n    );\n\n    IDeliveryEscrowProducts public immutable escrow;\n\n    mapping(uint256 productId => MetadataRecord record) private _records;\n\n    constructor(IDeliveryEscrowProducts escrow_) {\n        if (address(escrow_) == address(0)) revert ZeroAddress();\n        if (address(escrow_).code.length == 0) revert EscrowHasNoCode();\n        escrow = escrow_;\n    }\n\n    /// @notice Publishes the exact metadata bytes committed by the escrow product.\n    /// @dev JSON interpretation and field validation belong to clients; this contract enforces authorship,\n    ///      maximum size and byte-for-byte hash integrity.\n    function publish(uint256 productId, bytes calldata metadata) external {\n        uint256 length = metadata.length;\n        if (length == 0 || length > MAX_METADATA_LENGTH) revert InvalidMetadataLength();\n\n        IDeliveryEscrowProducts.Product memory product = escrow.getProduct(productId);\n        if (product.seller == address(0)) revert ProductNotFound();\n        if (msg.sender != product.seller) revert Unauthorized();\n\n        bytes32 metadataHash = keccak256(metadata);\n        if (metadataHash != product.metadataHash) revert MetadataHashMismatch();\n\n        MetadataRecord storage record = _records[productId];\n        if (record.revision != 0 && record.metadataHash == metadataHash) {\n            revert MetadataUnchanged();\n        }\n\n        uint32 revision = record.revision + 1;\n        record.metadata = metadata;\n        record.metadataHash = metadataHash;\n        // Safe until a Unix timestamp beyond the uint64 range (roughly 584 billion years).\n        // forge-lint: disable-next-line(unsafe-typecast)\n        record.publishedAt = uint64(block.timestamp);\n        record.revision = revision;\n\n        emit MetadataPublished(productId, msg.sender, metadataHash, revision, length);\n    }\n\n    function getMetadata(uint256 productId)\n        external\n        view\n        returns (bytes memory metadata, bytes32 metadataHash, uint32 revision, uint64 publishedAt)\n    {\n        MetadataRecord storage record = _records[productId];\n        return (record.metadata, record.metadataHash, record.revision, record.publishedAt);\n    }\n\n    /// @notice Reports whether the latest registry bytes still match the escrow's current commitment.\n    function isCurrent(uint256 productId) external view returns (bool) {\n        MetadataRecord storage record = _records[productId];\n        if (record.revision == 0) return false;\n\n        IDeliveryEscrowProducts.Product memory product = escrow.getProduct(productId);\n        return product.seller != address(0) && record.metadataHash == product.metadataHash\n            && keccak256(record.metadata) == product.metadataHash;\n    }\n}\n"}},"compilation":{"language":"Solidity","compiler":"solc","compilerVersion":"0.8.30+commit.73712a01","compilerSettings":{"viaIR":true,"metadata":{"appendCBOR":false,"bytecodeHash":"none","useLiteralContent":false},"libraries":{},"optimizer":{"runs":10000,"enabled":true},"evmVersion":"osaka","remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","forge-std/=lib/forge-std/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"]},"name":"ProductMetadataRegistry","fullyQualifiedName":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"},"abi":[{"type":"constructor","inputs":[{"name":"escrow_","type":"address","internalType":"contract IDeliveryEscrowProducts"}],"stateMutability":"nonpayable"},{"name":"EscrowHasNoCode","type":"error","inputs":[]},{"name":"InvalidMetadataLength","type":"error","inputs":[]},{"name":"MetadataHashMismatch","type":"error","inputs":[]},{"name":"MetadataUnchanged","type":"error","inputs":[]},{"name":"ProductNotFound","type":"error","inputs":[]},{"name":"Unauthorized","type":"error","inputs":[]},{"name":"ZeroAddress","type":"error","inputs":[]},{"name":"MetadataPublished","type":"event","inputs":[{"name":"productId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"seller","type":"address","indexed":true,"internalType":"address"},{"name":"metadataHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"revision","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"length","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"name":"MAX_METADATA_LENGTH","type":"function","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"name":"escrow","type":"function","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IDeliveryEscrowProducts"}],"stateMutability":"view"},{"name":"getMetadata","type":"function","inputs":[{"name":"productId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"metadata","type":"bytes","internalType":"bytes"},{"name":"metadataHash","type":"bytes32","internalType":"bytes32"},{"name":"revision","type":"uint32","internalType":"uint32"},{"name":"publishedAt","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"name":"isCurrent","type":"function","inputs":[{"name":"productId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"name":"publish","type":"function","inputs":[{"name":"productId","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IDeliveryEscrowProducts","name":"escrow_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EscrowHasNoCode","type":"error"},{"inputs":[],"name":"InvalidMetadataLength","type":"error"},{"inputs":[],"name":"MetadataHashMismatch","type":"error"},{"inputs":[],"name":"MetadataUnchanged","type":"error"},{"inputs":[],"name":"ProductNotFound","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"productId","type":"uint256"},{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":true,"internalType":"bytes32","name":"metadataHash","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"revision","type":"uint32"},{"indexed":false,"internalType":"uint256","name":"length","type":"uint256"}],"name":"MetadataPublished","type":"event"},{"inputs":[],"name":"MAX_METADATA_LENGTH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"escrow","outputs":[{"internalType":"contract IDeliveryEscrowProducts","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"productId","type":"uint256"}],"name":"getMetadata","outputs":[{"internalType":"bytes","name":"metadata","type":"bytes"},{"internalType":"bytes32","name":"metadataHash","type":"bytes32"},{"internalType":"uint32","name":"revision","type":"uint32"},{"internalType":"uint64","name":"publishedAt","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"productId","type":"uint256"}],"name":"isCurrent","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"productId","type":"uint256"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"name":"publish","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"details":"This contract holds no funds and has no owner, upgrade path, fees or administrative writes.","kind":"dev","methods":{"publish(uint256,bytes)":{"details":"JSON interpretation and field validation belong to clients; this contract enforces authorship,      maximum size and byte-for-byte hash integrity."}},"title":"ProductMetadataRegistry","version":1},"userdoc":{"kind":"user","methods":{"isCurrent(uint256)":{"notice":"Reports whether the latest registry bytes still match the escrow's current commitment."},"publish(uint256,bytes)":{"notice":"Publishes the exact metadata bytes committed by the escrow product."}},"notice":"Stores public product metadata whose exact bytes are committed by DeliveryEscrow V2.","version":1}},"settings":{"compilationTarget":{"src/ProductMetadataRegistry.sol":"ProductMetadataRegistry"},"evmVersion":"osaka","libraries":{},"metadata":{"appendCBOR":false,"bytecodeHash":"none"},"optimizer":{"enabled":true,"runs":10000},"remappings":[":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",":forge-std/=lib/forge-std/src/",":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",":openzeppelin-contracts/=lib/openzeppelin-contracts/"],"viaIR":true},"sources":{"src/ProductMetadataRegistry.sol":{"keccak256":"0x278cb3cfaf0e2f48a194b1b74955b5864249ee34404fbf358e774108f09cd8a9","license":"MIT","urls":["bzz-raw://b9066b134022014b744f945d8c9d9dc36bb89098e4a66b75e87bfbb2b5a04c29","dweb:/ipfs/QmaVoo2AnQUAbPxUPVS6gwLf3XPbsgo4dovAnW6SuWdKdQ"]}},"version":1},"storageLayout":{"types":{"t_uint32":{"label":"uint32","encoding":"inplace","numberOfBytes":"4"},"t_uint64":{"label":"uint64","encoding":"inplace","numberOfBytes":"8"},"t_bytes32":{"label":"bytes32","encoding":"inplace","numberOfBytes":"32"},"t_uint256":{"label":"uint256","encoding":"inplace","numberOfBytes":"32"},"t_bytes_storage":{"label":"bytes","encoding":"bytes","numberOfBytes":"32"},"t_struct(MetadataRecord)33_storage":{"label":"struct ProductMetadataRegistry.MetadataRecord","members":[{"slot":"0","type":"t_bytes_storage","astId":26,"label":"metadata","offset":0,"contract":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"},{"slot":"1","type":"t_bytes32","astId":28,"label":"metadataHash","offset":0,"contract":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"},{"slot":"2","type":"t_uint64","astId":30,"label":"publishedAt","offset":0,"contract":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"},{"slot":"2","type":"t_uint32","astId":32,"label":"revision","offset":8,"contract":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"}],"encoding":"inplace","numberOfBytes":"96"},"t_mapping(t_uint256,t_struct(MetadataRecord)33_storage)":{"key":"t_uint256","label":"mapping(uint256 => struct ProductMetadataRegistry.MetadataRecord)","value":"t_struct(MetadataRecord)33_storage","encoding":"mapping","numberOfBytes":"32"}},"storage":[{"slot":"0","type":"t_mapping(t_uint256,t_struct(MetadataRecord)33_storage)","astId":67,"label":"_records","offset":0,"contract":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"}]},"transientStorageLayout":{"types":null,"storage":[]},"userdoc":{"kind":"user","notice":"Stores public product metadata whose exact bytes are committed by DeliveryEscrow V2.","methods":{"isCurrent(uint256)":{"notice":"Reports whether the latest registry bytes still match the escrow's current commitment."},"publish(uint256,bytes)":{"notice":"Publishes the exact metadata bytes committed by the escrow product."}},"version":1},"devdoc":{"kind":"dev","title":"ProductMetadataRegistry","details":"This contract holds no funds and has no owner, upgrade path, fees or administrative writes.","methods":{"publish(uint256,bytes)":{"details":"JSON interpretation and field validation belong to clients; this contract enforces authorship,      maximum size and byte-for-byte hash integrity."}},"version":1},"sourceIds":{"src/ProductMetadataRegistry.sol":{"id":0}},"additionalInput":null,"stdJsonInput":{"sources":{"src/ProductMetadataRegistry.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.30;\n\n/// @notice Minimal read-only surface used from the immutable DeliveryEscrow V2.\ninterface IDeliveryEscrowProducts {\n    struct Product {\n        address seller;\n        uint128 price;\n        bytes32 metadataHash;\n        uint8 status;\n    }\n\n    function getProduct(uint256 productId) external view returns (Product memory);\n}\n\n/// @title ProductMetadataRegistry\n/// @notice Stores public product metadata whose exact bytes are committed by DeliveryEscrow V2.\n/// @dev This contract holds no funds and has no owner, upgrade path, fees or administrative writes.\ncontract ProductMetadataRegistry {\n    uint256 public constant MAX_METADATA_LENGTH = 4_096;\n\n    struct MetadataRecord {\n        bytes metadata;\n        bytes32 metadataHash;\n        uint64 publishedAt;\n        uint32 revision;\n    }\n\n    error ZeroAddress();\n    error EscrowHasNoCode();\n    error ProductNotFound();\n    error Unauthorized();\n    error InvalidMetadataLength();\n    error MetadataHashMismatch();\n    error MetadataUnchanged();\n\n    event MetadataPublished(\n        uint256 indexed productId,\n        address indexed seller,\n        bytes32 indexed metadataHash,\n        uint32 revision,\n        uint256 length\n    );\n\n    IDeliveryEscrowProducts public immutable escrow;\n\n    mapping(uint256 productId => MetadataRecord record) private _records;\n\n    constructor(IDeliveryEscrowProducts escrow_) {\n        if (address(escrow_) == address(0)) revert ZeroAddress();\n        if (address(escrow_).code.length == 0) revert EscrowHasNoCode();\n        escrow = escrow_;\n    }\n\n    /// @notice Publishes the exact metadata bytes committed by the escrow product.\n    /// @dev JSON interpretation and field validation belong to clients; this contract enforces authorship,\n    ///      maximum size and byte-for-byte hash integrity.\n    function publish(uint256 productId, bytes calldata metadata) external {\n        uint256 length = metadata.length;\n        if (length == 0 || length > MAX_METADATA_LENGTH) revert InvalidMetadataLength();\n\n        IDeliveryEscrowProducts.Product memory product = escrow.getProduct(productId);\n        if (product.seller == address(0)) revert ProductNotFound();\n        if (msg.sender != product.seller) revert Unauthorized();\n\n        bytes32 metadataHash = keccak256(metadata);\n        if (metadataHash != product.metadataHash) revert MetadataHashMismatch();\n\n        MetadataRecord storage record = _records[productId];\n        if (record.revision != 0 && record.metadataHash == metadataHash) {\n            revert MetadataUnchanged();\n        }\n\n        uint32 revision = record.revision + 1;\n        record.metadata = metadata;\n        record.metadataHash = metadataHash;\n        // Safe until a Unix timestamp beyond the uint64 range (roughly 584 billion years).\n        // forge-lint: disable-next-line(unsafe-typecast)\n        record.publishedAt = uint64(block.timestamp);\n        record.revision = revision;\n\n        emit MetadataPublished(productId, msg.sender, metadataHash, revision, length);\n    }\n\n    function getMetadata(uint256 productId)\n        external\n        view\n        returns (bytes memory metadata, bytes32 metadataHash, uint32 revision, uint64 publishedAt)\n    {\n        MetadataRecord storage record = _records[productId];\n        return (record.metadata, record.metadataHash, record.revision, record.publishedAt);\n    }\n\n    /// @notice Reports whether the latest registry bytes still match the escrow's current commitment.\n    function isCurrent(uint256 productId) external view returns (bool) {\n        MetadataRecord storage record = _records[productId];\n        if (record.revision == 0) return false;\n\n        IDeliveryEscrowProducts.Product memory product = escrow.getProduct(productId);\n        return product.seller != address(0) && record.metadataHash == product.metadataHash\n            && keccak256(record.metadata) == product.metadataHash;\n    }\n}\n"}},"language":"Solidity","settings":{"viaIR":true,"metadata":{"appendCBOR":false,"bytecodeHash":"none","useLiteralContent":false},"libraries":{},"optimizer":{"runs":10000,"enabled":true},"evmVersion":"osaka","remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","forge-std/=lib/forge-std/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"]}},"stdJsonOutput":{"sources":{"src/ProductMetadataRegistry.sol":{"id":0}},"contracts":{"src/ProductMetadataRegistry.sol":{"ProductMetadataRegistry":{"abi":[{"type":"constructor","inputs":[{"name":"escrow_","type":"address","internalType":"contract IDeliveryEscrowProducts"}],"stateMutability":"nonpayable"},{"name":"EscrowHasNoCode","type":"error","inputs":[]},{"name":"InvalidMetadataLength","type":"error","inputs":[]},{"name":"MetadataHashMismatch","type":"error","inputs":[]},{"name":"MetadataUnchanged","type":"error","inputs":[]},{"name":"ProductNotFound","type":"error","inputs":[]},{"name":"Unauthorized","type":"error","inputs":[]},{"name":"ZeroAddress","type":"error","inputs":[]},{"name":"MetadataPublished","type":"event","inputs":[{"name":"productId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"seller","type":"address","indexed":true,"internalType":"address"},{"name":"metadataHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"revision","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"length","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"name":"MAX_METADATA_LENGTH","type":"function","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"name":"escrow","type":"function","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IDeliveryEscrowProducts"}],"stateMutability":"view"},{"name":"getMetadata","type":"function","inputs":[{"name":"productId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"metadata","type":"bytes","internalType":"bytes"},{"name":"metadataHash","type":"bytes32","internalType":"bytes32"},{"name":"revision","type":"uint32","internalType":"uint32"},{"name":"publishedAt","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"name":"isCurrent","type":"function","inputs":[{"name":"productId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"name":"publish","type":"function","inputs":[{"name":"productId","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IDeliveryEscrowProducts\",\"name\":\"escrow_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"EscrowHasNoCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidMetadataLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MetadataHashMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MetadataUnchanged\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProductNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"productId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"metadataHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"revision\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"MetadataPublished\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_METADATA_LENGTH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"escrow\",\"outputs\":[{\"internalType\":\"contract IDeliveryEscrowProducts\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"productId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"metadataHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"revision\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"publishedAt\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"productId\",\"type\":\"uint256\"}],\"name\":\"isCurrent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"productId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"publish\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract holds no funds and has no owner, upgrade path, fees or administrative writes.\",\"kind\":\"dev\",\"methods\":{\"publish(uint256,bytes)\":{\"details\":\"JSON interpretation and field validation belong to clients; this contract enforces authorship,      maximum size and byte-for-byte hash integrity.\"}},\"title\":\"ProductMetadataRegistry\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"isCurrent(uint256)\":{\"notice\":\"Reports whether the latest registry bytes still match the escrow's current commitment.\"},\"publish(uint256,bytes)\":{\"notice\":\"Publishes the exact metadata bytes committed by the escrow product.\"}},\"notice\":\"Stores public product metadata whose exact bytes are committed by DeliveryEscrow V2.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ProductMetadataRegistry.sol\":\"ProductMetadataRegistry\"},\"evmVersion\":\"osaka\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"src/ProductMetadataRegistry.sol\":{\"keccak256\":\"0x278cb3cfaf0e2f48a194b1b74955b5864249ee34404fbf358e774108f09cd8a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9066b134022014b744f945d8c9d9dc36bb89098e4a66b75e87bfbb2b5a04c29\",\"dweb:/ipfs/QmaVoo2AnQUAbPxUPVS6gwLf3XPbsgo4dovAnW6SuWdKdQ\"]}},\"version\":1}","userdoc":{"kind":"user","notice":"Stores public product metadata whose exact bytes are committed by DeliveryEscrow V2.","methods":{"isCurrent(uint256)":{"notice":"Reports whether the latest registry bytes still match the escrow's current commitment."},"publish(uint256,bytes)":{"notice":"Publishes the exact metadata bytes committed by the escrow product."}},"version":1},"devdoc":{"kind":"dev","title":"ProductMetadataRegistry","details":"This contract holds no funds and has no owner, upgrade path, fees or administrative writes.","methods":{"publish(uint256,bytes)":{"details":"JSON interpretation and field validation belong to clients; this contract enforces authorship,      maximum size and byte-for-byte hash integrity."}},"version":1},"storageLayout":{"types":{"t_uint32":{"label":"uint32","encoding":"inplace","numberOfBytes":"4"},"t_uint64":{"label":"uint64","encoding":"inplace","numberOfBytes":"8"},"t_bytes32":{"label":"bytes32","encoding":"inplace","numberOfBytes":"32"},"t_uint256":{"label":"uint256","encoding":"inplace","numberOfBytes":"32"},"t_bytes_storage":{"label":"bytes","encoding":"bytes","numberOfBytes":"32"},"t_struct(MetadataRecord)33_storage":{"label":"struct ProductMetadataRegistry.MetadataRecord","members":[{"slot":"0","type":"t_bytes_storage","astId":26,"label":"metadata","offset":0,"contract":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"},{"slot":"1","type":"t_bytes32","astId":28,"label":"metadataHash","offset":0,"contract":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"},{"slot":"2","type":"t_uint64","astId":30,"label":"publishedAt","offset":0,"contract":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"},{"slot":"2","type":"t_uint32","astId":32,"label":"revision","offset":8,"contract":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"}],"encoding":"inplace","numberOfBytes":"96"},"t_mapping(t_uint256,t_struct(MetadataRecord)33_storage)":{"key":"t_uint256","label":"mapping(uint256 => struct ProductMetadataRegistry.MetadataRecord)","value":"t_struct(MetadataRecord)33_storage","encoding":"mapping","numberOfBytes":"32"}},"storage":[{"slot":"0","type":"t_mapping(t_uint256,t_struct(MetadataRecord)33_storage)","astId":67,"label":"_records","offset":0,"contract":"src/ProductMetadataRegistry.sol:ProductMetadataRegistry"}]},"transientStorageLayout":{"types":null,"storage":[]},"evm":{"bytecode":{"object":"60a0346100a357601f610adf38819003918201601f19168301916001600160401b038311848410176100a7578084926020946040528339810103126100a357516001600160a01b0381168082036100a3578015610094573b1561008557608052604051610a2390816100bc8239608051818181610117015281816105d101526109740152f35b63172a818760e31b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c8063a574cea41461063b578063c8837871146105f5578063e2fdcc1714610587578063e8868e9f1461054d5763f2a18cd814610050575f80fd5b346105495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760043560243567ffffffffffffffff811161054957366023820112156105495780600401359167ffffffffffffffff8311610549573660248484010111610549578215801561053e575b61051657604051927fb9db15b400000000000000000000000000000000000000000000000000000000845281600485015260808460248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa93841561050b575f946104da575b5073ffffffffffffffffffffffffffffffffffffffff845116156104b25773ffffffffffffffffffffffffffffffffffffffff845116330361048a57601f8101604080516101ba60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085160182610751565b8381526020810190846024880183375f60208683010152519020950151850361046257825f525f60205260405f2093600285019163ffffffff835460401c1680151580610455575b61042d576001019563ffffffff87116104005787916102218254610700565b90601f82116103b7575b5050845f601f821160011461030757600193945f926102f9575b505085831b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8760031b1c19161781555b015580546bffffffff00000000000000008560401b16907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000067ffffffffffffffff421691161717905563ffffffff6040519316835260208301527f5a36035f90e027d637e3074b4eaebde775277a417e7ed9daf7db1d31a754bf9e60403393a4005b602492500101355f80610245565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01693825f5260205f2091875f965b80881061039357600196975010610358575b5050508185811b018155610277565b01602401357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191690555f8080610349565b8284016024013585556020978801978d975060019095019490920191899150610337565b90918093505f5260205f209060051c810191602087106103f6575b90601f8a9493920160051c01905b8181101561022b575f81558993506001016103e0565b90915081906103d2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fc0cf59cb000000000000000000000000000000000000000000000000000000005f5260045ffd5b5087600188015414610202565b7f0cca4ace000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f82b42900000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f79de4af5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6104fd91945060803d608011610504575b6104f58183610751565b81019061087d565b925f610147565b503d6104eb565b6040513d5f823e3d90fd5b7fb423cfa1000000000000000000000000000000000000000000000000000000005f5260045ffd5b5061100083116100c9565b5f80fd5b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760206040516110008152f35b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602061063160043561090c565b6040519015158152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610549576004355f525f60205260405f2060a06001820154917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602067ffffffffffffffff6106bb6002860154956107bf565b946040519788966080885280519485918260808b0152018989015e5f888589010152602087015263ffffffff8160401c16604087015216606085015201168101030190f35b90600182811c92168015610747575b602083101461071a57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f169161070f565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761079257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9060405191825f8254926107d284610700565b808452936001811690811561083d57506001146107f9575b506107f792500383610751565b565b90505f9291925260205f20905f915b8183106108215750509060206107f7928201015f6107ea565b6020919350806001915483858901015201910190918492610808565b602093506107f79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f6107ea565b9081608091031261054957604051906080820182811067ffffffffffffffff82111761079257604052805173ffffffffffffffffffffffffffffffffffffffff811681036105495782526020810151906fffffffffffffffffffffffffffffffff8216820361054957606091602084015260408101516040840152015160ff8116810361054957606082015290565b805f525f60205260405f209063ffffffff600283015460401c1615610a1d57604051907fb9db15b4000000000000000000000000000000000000000000000000000000008252600482015260808160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561050b575f916109fe575b5073ffffffffffffffffffffffffffffffffffffffff815116151591826109ec575b826109d057505090565b60409192506109de906107bf565b602081519101209101511490565b600181015460408301511492506109c6565b610a17915060803d608011610504576104f58183610751565b5f6109a4565b50505f9056","sourceMap":"620:3328:0:-:0;;;;;;;;;;;;;-1:-1:-1;;620:3328:0;;;;-1:-1:-1;;;;;620:3328:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;620:3328:0;;;;;;;1447:30;;1443:56;;1513:28;:33;1509:63;;1582:16;;620:3328;;;;;;;;1582:16;620:3328;;;;;;;;;;;;;;;;1509:63;1555:17;;;-1:-1:-1;1555:17:0;;-1:-1:-1;1555:17:0;1443:56;1486:13;;;-1:-1:-1;1486:13:0;;-1:-1:-1;1486:13:0;620:3328;-1:-1:-1;620:3328:0;;;;;;-1:-1:-1;620:3328:0;;;;;-1:-1:-1;620:3328:0","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c8063a574cea41461063b578063c8837871146105f5578063e2fdcc1714610587578063e8868e9f1461054d5763f2a18cd814610050575f80fd5b346105495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760043560243567ffffffffffffffff811161054957366023820112156105495780600401359167ffffffffffffffff8311610549573660248484010111610549578215801561053e575b61051657604051927fb9db15b400000000000000000000000000000000000000000000000000000000845281600485015260808460248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa93841561050b575f946104da575b5073ffffffffffffffffffffffffffffffffffffffff845116156104b25773ffffffffffffffffffffffffffffffffffffffff845116330361048a57601f8101604080516101ba60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085160182610751565b8381526020810190846024880183375f60208683010152519020950151850361046257825f525f60205260405f2093600285019163ffffffff835460401c1680151580610455575b61042d576001019563ffffffff87116104005787916102218254610700565b90601f82116103b7575b5050845f601f821160011461030757600193945f926102f9575b505085831b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8760031b1c19161781555b015580546bffffffff00000000000000008560401b16907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000067ffffffffffffffff421691161717905563ffffffff6040519316835260208301527f5a36035f90e027d637e3074b4eaebde775277a417e7ed9daf7db1d31a754bf9e60403393a4005b602492500101355f80610245565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01693825f5260205f2091875f965b80881061039357600196975010610358575b5050508185811b018155610277565b01602401357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191690555f8080610349565b8284016024013585556020978801978d975060019095019490920191899150610337565b90918093505f5260205f209060051c810191602087106103f6575b90601f8a9493920160051c01905b8181101561022b575f81558993506001016103e0565b90915081906103d2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fc0cf59cb000000000000000000000000000000000000000000000000000000005f5260045ffd5b5087600188015414610202565b7f0cca4ace000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f82b42900000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f79de4af5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6104fd91945060803d608011610504575b6104f58183610751565b81019061087d565b925f610147565b503d6104eb565b6040513d5f823e3d90fd5b7fb423cfa1000000000000000000000000000000000000000000000000000000005f5260045ffd5b5061100083116100c9565b5f80fd5b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105495760206040516110008152f35b34610549575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054957602061063160043561090c565b6040519015158152f35b346105495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610549576004355f525f60205260405f2060a06001820154917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602067ffffffffffffffff6106bb6002860154956107bf565b946040519788966080885280519485918260808b0152018989015e5f888589010152602087015263ffffffff8160401c16604087015216606085015201168101030190f35b90600182811c92168015610747575b602083101461071a57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f169161070f565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761079257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9060405191825f8254926107d284610700565b808452936001811690811561083d57506001146107f9575b506107f792500383610751565b565b90505f9291925260205f20905f915b8183106108215750509060206107f7928201015f6107ea565b6020919350806001915483858901015201910190918492610808565b602093506107f79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f6107ea565b9081608091031261054957604051906080820182811067ffffffffffffffff82111761079257604052805173ffffffffffffffffffffffffffffffffffffffff811681036105495782526020810151906fffffffffffffffffffffffffffffffff8216820361054957606091602084015260408101516040840152015160ff8116810361054957606082015290565b805f525f60205260405f209063ffffffff600283015460401c1615610a1d57604051907fb9db15b4000000000000000000000000000000000000000000000000000000008252600482015260808160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561050b575f916109fe575b5073ffffffffffffffffffffffffffffffffffffffff815116151591826109ec575b826109d057505090565b60409192506109de906107bf565b602081519101209101511490565b600181015460408301511492506109c6565b610a17915060803d608011610504576104f58183610751565b5f6109a4565b50505f9056","sourceMap":"620:3328:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1989:11;;:43;;;;620:3328;1985:79;;620:3328;;2124:28;620:3328;2124:28;;;620:3328;2124:28;;620:3328;2124:28;:6;620:3328;2124:6;620:3328;2124:6;620:3328;2124:28;;;;;;;620:3328;2124:28;;;620:3328;;;;;;2166:28;2162:58;;620:3328;;;;2234:10;:28;2230:55;;620:3328;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2319:19;;2368:20;;620:3328;2352:36;;2348:71;;620:3328;;;;;;;;;2495:15;;;;620:3328;;;;;;;2495:20;;;:59;;;620:3328;2491:116;;620:3328;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2700:19;620:3328;;;;;;;;2922:15;620:3328;;2922:15;620:3328;;;;;;;;;;;;;;;;;;2990:72;620:3328;2234:10;2990:72;;620:3328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;620:3328:0;;;;;;;;;;;-1:-1:-1;620:3328:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;620:3328:0;;;;;;;-1:-1:-1;620:3328:0;;;;;;;;;;;;;;2491:116;2577:19;620:3328;2577:19;620:3328;;2577:19;2495:59;2519:19;;620:3328;2519:19;;620:3328;2519:35;2495:59;;2348:71;2397:22;620:3328;2397:22;620:3328;;2397:22;2230:55;2271:14;620:3328;2271:14;620:3328;;2271:14;2162:58;2203:17;620:3328;2203:17;620:3328;;2203:17;2124:28;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;620:3328;;;;;;;;;1985:79;2041:23;620:3328;2041:23;620:3328;;2041:23;1989:43;2004:28;705:5;2004:28;;1989:43;;620:3328;;;;;;;;;;;;;;;;;;705:5;620:3328;;;;;;;;;;;;;;;;;;1259:47;620:3328;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:19;;620:3328;3365:15;620:3328;;;;;3365:15;;;620:3328;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;620:3328:0;;;;;-1:-1:-1;620:3328:0;;;;;;;-1:-1:-1;620:3328:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;620:3328:0;;;;;-1:-1:-1;620:3328:0;;-1:-1:-1;620:3328:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3517:429::-;620:3328;;;;;;;;;3659:15;620:3328;3659:15;;;620:3328;;;;3659:20;3655:38;;620:3328;;3753:28;620:3328;3753:28;;;;;620:3328;3753:28;:6;:28;:6;620:3328;3753:6;620:3328;3753:28;;;;;;;620:3328;3753:28;;;3517:429;620:3328;;;;;3798:28;;:75;;;;3517:429;3798:141;;;3791:148;;3517:429;:::o;3798:141::-;620:3328;;;;;;;:::i;:::-;;;;;;3889:26;3919:20;;620:3328;3889:50;3517:429;:::o;3798:75::-;3830:19;;;620:3328;;3853:20;;620:3328;3830:43;;-1:-1:-1;3798:75:0;;3753:28;;;;;;;;;;;;;;:::i;:::-;;;;3655:38;3681:12;;620:3328;3681:12;:::o","linkReferences":{},"immutableReferences":{"62":[{"start":279,"length":32},{"start":1489,"length":32},{"start":2420,"length":32}]}}}}}}},"signatures":{"function":[{"signature":"escrow()","signatureHash4":"0xe2fdcc17","signatureHash32":"0xe2fdcc17fefae80bf53d9a72c87d59de7ef8f027fca57762f6076cb5320e8f56"},{"signature":"getMetadata(uint256)","signatureHash4":"0xa574cea4","signatureHash32":"0xa574cea40cdd0a08ff0bc728ff4c5c786aa5857d851fdb93fd18cd5b4db07388"},{"signature":"isCurrent(uint256)","signatureHash4":"0xc8837871","signatureHash32":"0xc88378711c2f5cfaa2f19d414c2ababfbf4697cc8245872b82a43fec1e9c00c4"},{"signature":"MAX_METADATA_LENGTH()","signatureHash4":"0xe8868e9f","signatureHash32":"0xe8868e9fcf410c70f0cf7bed2b49f9d8cf7cdb058b9ce6556675f3e8460b7915"},{"signature":"publish(uint256,bytes)","signatureHash4":"0xf2a18cd8","signatureHash32":"0xf2a18cd8cb332df108bc6af50a2f282848f38ec2e529b7a8be817537376c1ada"}],"event":[{"signature":"MetadataPublished(uint256,address,bytes32,uint32,uint256)","signatureHash4":"0x5a36035f","signatureHash32":"0x5a36035f90e027d637e3074b4eaebde775277a417e7ed9daf7db1d31a754bf9e"}],"error":[{"signature":"EscrowHasNoCode()","signatureHash4":"0xb9540c38","signatureHash32":"0xb9540c38983960851273659e5cf0a04c8d301cf0b65e9437a72451b153844ae1"},{"signature":"InvalidMetadataLength()","signatureHash4":"0xb423cfa1","signatureHash32":"0xb423cfa1460971685bc3a842cf38aa14de9fc36e418124a126a167293cd5da2d"},{"signature":"MetadataHashMismatch()","signatureHash4":"0x0cca4ace","signatureHash32":"0x0cca4acea59f9cf6c4da855ed45a5b1b4c5af493e17e18cd1e9c00439f630f52"},{"signature":"MetadataUnchanged()","signatureHash4":"0xc0cf59cb","signatureHash32":"0xc0cf59cba887f0e8e072e7a263c69f7314c865a2c0d1ac3ae2c2a001d879667a"},{"signature":"ProductNotFound()","signatureHash4":"0x79de4af5","signatureHash32":"0x79de4af57d9d02a05e7cfd07e3f09b5de5fdbcd1544479c74a512d81317a79ee"},{"signature":"Unauthorized()","signatureHash4":"0x82b42900","signatureHash32":"0x82b4290015f7ec7256ca2a6247d3c2a89c4865c0e791456df195f40ad0a81367"},{"signature":"ZeroAddress()","signatureHash4":"0xd92e233d","signatureHash32":"0xd92e233df2717d4a40030e20904abd27b68fcbeede117eaaccbbdac9618c8c73"}]},"proxyResolution":{"isProxy":false,"proxyType":null,"implementations":[]},"match":"match","chainId":"8453","address":"0xFC707ebB5A9987231e4e1FcA20bB40C2159B4016"}