{"abi":[{"type":"constructor","inputs":[{"name":"paymentTokenAddress","type":"address","internalType":"address"},{"name":"assetTokenAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"acceptTrade","inputs":[{"name":"tradeId","type":"uint256","internalType":"uint256"},{"name":"paymentInputs","type":"uint256[2]","internalType":"uint256[2]"},{"name":"paymentOutputs","type":"uint256[2]","internalType":"uint256[2]"},{"name":"paymentProofHash","type":"bytes32","internalType":"bytes32"},{"name":"assetInput","type":"uint256","internalType":"uint256"},{"name":"assetOutput","type":"uint256","internalType":"uint256"},{"name":"assetProofHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"completeTrade","inputs":[{"name":"tradeId","type":"uint256","internalType":"uint256"},{"name":"proof","type":"tuple","internalType":"struct Commonlib.Proof","components":[{"name":"pA","type":"uint256[2]","internalType":"uint256[2]"},{"name":"pB","type":"uint256[2][2]","internalType":"uint256[2][2]"},{"name":"pC","type":"uint256[2]","internalType":"uint256[2]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initiateTrade","inputs":[{"name":"paymentInputs","type":"uint256[2]","internalType":"uint256[2]"},{"name":"paymentOutputs","type":"uint256[2]","internalType":"uint256[2]"},{"name":"paymentProofHash","type":"bytes32","internalType":"bytes32"},{"name":"assetInput","type":"uint256","internalType":"uint256"},{"name":"assetOutput","type":"uint256","internalType":"uint256"},{"name":"assetProofHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"TradeAccepted","inputs":[{"name":"tradeId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"trade","type":"tuple","indexed":false,"internalType":"struct zkDvP.Trade","components":[{"name":"status","type":"uint8","internalType":"enum zkDvP.TradeStatus"},{"name":"paymentCounterparty","type":"address","internalType":"address"},{"name":"paymentInputs","type":"uint256[2]","internalType":"uint256[2]"},{"name":"paymentOutputs","type":"uint256[2]","internalType":"uint256[2]"},{"name":"paymentProofHash","type":"bytes32","internalType":"bytes32"},{"name":"paymentProof","type":"tuple","internalType":"struct Commonlib.Proof","components":[{"name":"pA","type":"uint256[2]","internalType":"uint256[2]"},{"name":"pB","type":"uint256[2][2]","internalType":"uint256[2][2]"},{"name":"pC","type":"uint256[2]","internalType":"uint256[2]"}]},{"name":"assetCounterparty","type":"address","internalType":"address"},{"name":"assetInput","type":"uint256","internalType":"uint256"},{"name":"assetOutput","type":"uint256","internalType":"uint256"},{"name":"assetProofHash","type":"bytes32","internalType":"bytes32"},{"name":"assetProof","type":"tuple","internalType":"struct Commonlib.Proof","components":[{"name":"pA","type":"uint256[2]","internalType":"uint256[2]"},{"name":"pB","type":"uint256[2][2]","internalType":"uint256[2][2]"},{"name":"pC","type":"uint256[2]","internalType":"uint256[2]"}]}]}],"anonymous":false},{"type":"event","name":"TradeCompleted","inputs":[{"name":"tradeId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"trade","type":"tuple","indexed":false,"internalType":"struct zkDvP.Trade","components":[{"name":"status","type":"uint8","internalType":"enum zkDvP.TradeStatus"},{"name":"paymentCounterparty","type":"address","internalType":"address"},{"name":"paymentInputs","type":"uint256[2]","internalType":"uint256[2]"},{"name":"paymentOutputs","type":"uint256[2]","internalType":"uint256[2]"},{"name":"paymentProofHash","type":"bytes32","internalType":"bytes32"},{"name":"paymentProof","type":"tuple","internalType":"struct Commonlib.Proof","components":[{"name":"pA","type":"uint256[2]","internalType":"uint256[2]"},{"name":"pB","type":"uint256[2][2]","internalType":"uint256[2][2]"},{"name":"pC","type":"uint256[2]","internalType":"uint256[2]"}]},{"name":"assetCounterparty","type":"address","internalType":"address"},{"name":"assetInput","type":"uint256","internalType":"uint256"},{"name":"assetOutput","type":"uint256","internalType":"uint256"},{"name":"assetProofHash","type":"bytes32","internalType":"bytes32"},{"name":"assetProof","type":"tuple","internalType":"struct Commonlib.Proof","components":[{"name":"pA","type":"uint256[2]","internalType":"uint256[2]"},{"name":"pB","type":"uint256[2][2]","internalType":"uint256[2][2]"},{"name":"pC","type":"uint256[2]","internalType":"uint256[2]"}]}]}],"anonymous":false},{"type":"event","name":"TradeInitiated","inputs":[{"name":"tradeId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"trade","type":"tuple","indexed":false,"internalType":"struct zkDvP.Trade","components":[{"name":"status","type":"uint8","internalType":"enum zkDvP.TradeStatus"},{"name":"paymentCounterparty","type":"address","internalType":"address"},{"name":"paymentInputs","type":"uint256[2]","internalType":"uint256[2]"},{"name":"paymentOutputs","type":"uint256[2]","internalType":"uint256[2]"},{"name":"paymentProofHash","type":"bytes32","internalType":"bytes32"},{"name":"paymentProof","type":"tuple","internalType":"struct Commonlib.Proof","components":[{"name":"pA","type":"uint256[2]","internalType":"uint256[2]"},{"name":"pB","type":"uint256[2][2]","internalType":"uint256[2][2]"},{"name":"pC","type":"uint256[2]","internalType":"uint256[2]"}]},{"name":"assetCounterparty","type":"address","internalType":"address"},{"name":"assetInput","type":"uint256","internalType":"uint256"},{"name":"assetOutput","type":"uint256","internalType":"uint256"},{"name":"assetProofHash","type":"bytes32","internalType":"bytes32"},{"name":"assetProof","type":"tuple","internalType":"struct Commonlib.Proof","components":[{"name":"pA","type":"uint256[2]","internalType":"uint256[2]"},{"name":"pB","type":"uint256[2][2]","internalType":"uint256[2][2]"},{"name":"pC","type":"uint256[2]","internalType":"uint256[2]"}]}]}],"anonymous":false}],"bytecode":{"object":"0x608034608a57601f61230738819003918201601f19168301916001600160401b03831184841017608e578084926040948552833981010312608a57604b602060458360a2565b920160a2565b5f600381905580546001600160a01b039384166001600160a01b0319918216179091556001805492909316911617905560405161225190816100b68239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b0382168203608a5756fe60806040526004361015610011575f80fd5b5f5f3560e01c80631944ac701461143f5780635fec4eb91461075f5763652c59e11461003b575f80fd5b3461075c576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261075c57366023121561075c5760408051906100838183611d9b565b813660441161075a576004905b6044821061074a5750503660631215610746578051916100b08284611d9b565b8236608411610742576044905b608482106107325750849182915060c43560a4356100da836121c2565b158015610729575b156106c0576100f0836121c2565b15806106b7575b61062857610104836121c2565b156105a9575b80610531575b85519361011c85611d7f565b86516101288882611d9b565b873682378552865161013a8882611d9b565b895b8881106105145750602086015286516101558882611d9b565b873682378786015286519761016989611d62565b89895273ffffffffffffffffffffffffffffffffffffffff60208a01971687528789019485526060890190815260808901608435815260a08a019187835273ffffffffffffffffffffffffffffffffffffffff60c08c019416845260e08b019485526101008b019586526101208b019660e43588526101408c019889526003548d5260026020528a8d20998c519060048210156104e7578c9a99989796959493928f91928d937fffffffffffffffffffffff00000000000000000000000000000000000000000060ff74ffffffffffffffffffffffffffffffffffffffff008754935160081b169316911617178355515b600282106104cc57505050518c5b600281106104b25750505160058901555180518b5b60028110610498575050602081015160088901908c905b60028210610453575050508601518a5b6002811061043957505073ffffffffffffffffffffffffffffffffffffffff600e88019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905551600f860155516010850155516011840155518051865b6002811061041f5750506020810151601484019087905b600282106103e4575050500151845b600281106103cd575050507f322df2b48e8c3e522e8d4b7b7d22987b0cdd98e9a3c54a6954d028fc7b93557361036d6003549384935191829182611f5c565b0390a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146103a05760010160035580f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60019060208351930192601882860101550161032e565b80919293945051885b6002811061040b57505060026020600192019301910185939261031f565b6001906020835193019281870155016103ed565b815185820160120155859350602090910190600101610308565b8151898201600c01558997506020909101906001016102a4565b8091929394959697989950518d5b600281106104845750506002602060019201930191018a98979695949392610294565b600190602083519301928187015501610461565b81518a8201600601558a985060209091019060010161027d565b81518b8201600301558b9950602090910190600101610268565b805160019383018401558d9b508c929091019060200161025a565b60248f7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b60209089516105238b82611d9b565b8a368237818401520161013c565b92508015610540573392610110565b6084855162461bcd60e51b815260206004820152603860248201527f4173736574206f75747075742063616e6e6f74206265207a65726f207768656e60448201527f20617373657420696e707574206973206e6f6e2d7a65726f00000000000000006064820152fd5b93506105b4866121c2565b6105bf57339361010a565b6084855162461bcd60e51b815260206004820152603f60248201527f5061796d656e74206f7574707574732063616e6e6f74206265207a65726f207760448201527f68656e207061796d656e7420696e7075747320617265206e6f6e2d7a65726f006064820152fd5b60a4865162461bcd60e51b815260206004820152604260248201527f5061796d656e7420696e7075747320616e6420617373657420696e707574206360448201527f616e6e6f742062652070726f7669646564206174207468652073616d6520746960648201527f6d650000000000000000000000000000000000000000000000000000000000006084820152fd5b508015156100f7565b6084865162461bcd60e51b815260206004820152603e60248201527f5061796d656e7420696e7075747320616e6420617373657420696e707574206360448201527f616e6e6f74206265207a65726f206174207468652073616d652074696d6500006064820152fd5b508015156100e2565b81358152602091820191016100bd565b8480fd5b8280fd5b8135815260209182019101610090565b835b80fd5b503461131d576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261131d576101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261131d576004355f52600260205260405f2061088b6012604051926107db84611d62565b73ffffffffffffffffffffffffffffffffffffffff81546107ff60ff821687611e23565b60081c16602085015261081460018201611e2f565b604085015261082560038201611e2f565b60608501526005810154608085015261084060068201611e65565b60a085015273ffffffffffffffffffffffffffffffffffffffff600e8201541660c0850152600f81015460e08501526010810154610100850152601181015461012085015201611e65565b61014082015280516004811015611412577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016113a857604051610100810181811067ffffffffffffffff82111761137b57604052602435815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043560e08201526040516020810191825f905b6008821061136557505050610100815261094661012082611d9b565b51902060808201518103611275575061095e3661202b565b60a08201528173ffffffffffffffffffffffffffffffffffffffff815416803b15611266578160405180927f12c0fed20000000000000000000000000000000000000000000000000000000082528183816109bc30600483016120cf565b03925af1801561126a57611251575b50505b6004358252600260205260408220815160048110156110155781547fffffffffffffffffffffff00000000000000000000000000000000000000000060ff74ffffffffffffffffffffffffffffffffffffffff00602087015160081b1693169116171781556040820151835b6002811061123b5750506060820151835b600281106112245750506080820151600582015560a08201518051845b6002811061120d5750506020810151600883019085905b600282106111d85750505060400151835b600281106111c1575050600e810173ffffffffffffffffffffffffffffffffffffffff60c0840151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560e0820151600f820155610100820151601082015561012082015160118201556101408201518051845b600281106111aa5750506020810151601483019085905b600282106111755750505060400151835b6002811061115e57505050610b4a60a08201516121ed565b1580611149575b610b59575080f35b604051610b67606082611d9b565b600281526020610c5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060600192833684830137604085015151610baa8261212d565b528260408601510151610bbc82612167565b5260405193610bcc606086611d9b565b600285523684860137606085015151610be48561212d565b528260608601510151610bf685612167565b5273ffffffffffffffffffffffffffffffffffffffff86541690868460a0880151610c96610c8b604051998a9889977f3e96e27300000000000000000000000000000000000000000000000000000000895261016060048a015261016489019061218f565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc88830301602489015261218f565b916044860190611f0c565b82848203917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83016101448701525201925af19081156110b557839161112a575b50156110c05773ffffffffffffffffffffffffffffffffffffffff60015416602060e0830151610184610100850151918661014087015195610d5160405197889687957f6ed9d6a1000000000000000000000000000000000000000000000000000000008752600487015260248601526044850190611f0c565b610160610144840152816101648401525af19081156110b5578391611086575b501561104257600281526004358252600260205260408220815160048110156110155781547fffffffffffffffffffffff00000000000000000000000000000000000000000060ff74ffffffffffffffffffffffffffffffffffffffff00602087015160081b1693169116171781556040820151835b60028110610fff5750506060820151835b60028110610fe85750506080820151600582015560a08201518051845b60028110610fd15750506020810151600883019085905b60028210610f9c5750505060400151835b60028110610f85575050600e810173ffffffffffffffffffffffffffffffffffffffff60c0840151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560e0820151600f820155610100820151601082015561012082015160118201556101408201518051845b60028110610f6e5750506020810151601483019085905b60028210610f395750505060400151835b60028110610f22575050507f50537982faf554620a6d5b585040dbea6fb3c8eb9c07045634507df560fdab2b60405180610f1c6004359482611f5c565b0390a280f35b600190602083519301926018828601015501610edf565b8051875b60028110610f5a5750506002602060019201930191019091610ece565b600190602083519301928187015501610f3d565b600190602083519301926012828701015501610eb7565b60019060208351930192600c828601015501610e3d565b8051875b60028110610fbd5750506002602060019201930191019091610e2c565b600190602083519301928187015501610fa0565b600190602083519301926006828701015501610e15565b600190602083519301926003828601015501610df8565b6001906020835193019282828601015501610de7565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b606460405162461bcd60e51b815260206004820152602060248201527f4173736574206272616e6368206f6620746865207472616465206661696c65646044820152fd5b6110a8915060203d6020116110ae575b6110a08183611d9b565b810190612177565b5f610d71565b503d611096565b6040513d85823e3d90fd5b608460405162461bcd60e51b815260206004820152602260248201527f5061796d656e74206272616e6368206f6620746865207472616465206661696c60448201527f65640000000000000000000000000000000000000000000000000000000000006064820152fd5b611143915060203d6020116110ae576110a08183611d9b565b5f610cd7565b506111586101408201516121ed565b15610b51565b600190602083519301926018828601015501610b32565b8051875b600281106111965750506002602060019201930191019091610b21565b600190602083519301928187015501611179565b600190602083519301926012828701015501610b0a565b60019060208351930192600c828601015501610a90565b8051875b600281106111f95750506002602060019201930191019091610a7f565b6001906020835193019281870155016111dc565b600190602083519301926006828701015501610a68565b600190602083519301926003828601015501610a4b565b6001906020835193019282828601015501610a3a565b8161125b91611d9b565b61126657815f6109cb565b5080fd5b6040513d84823e3d90fd5b61012082015103611321576112893661202b565b61014082015273ffffffffffffffffffffffffffffffffffffffff60015416803b1561131d575f60405180927f12c0fed20000000000000000000000000000000000000000000000000000000082528183816112e830600483016120cf565b03925af18015611312576112fd575b506109ce565b61130a9192505f90611d9b565b5f905f6112f7565b6040513d5f823e3d90fd5b5f80fd5b606460405162461bcd60e51b815260206004820152600d60248201527f496e76616c69642070726f6f66000000000000000000000000000000000000006044820152fd5b602080600192855181520193019101909161092a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b608460405162461bcd60e51b815260206004820152602b60248201527f5472616465206d75737420626520696e2041434345505445442073746174652060448201527f746f20636f6d706c6574650000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b3461131d576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261131d57600435366043121561131d57604080519061148a8183611d9b565b813660641161131d576024905b60648210611d52575050366083121561131d5780516114b68282611d9b565b803660a41161131d576064905b60a48210611d4257505060c4359060e43591855f526002602052835f20845195869384936114f085611d62565b83549661150060ff891687611e23565b602086019760081c73ffffffffffffffffffffffffffffffffffffffff1688526001850161152d90611e2f565b868a0190815261153f60038701611e2f565b9060608801918252600587015492608089019384526006880161156190611e65565b9460a08a01958652600e89015473ffffffffffffffffffffffffffffffffffffffff169660c08b01978852600f8a01549860e08c01998a5260108b01549a6101008d019b8c5260118101549c610120019c8d526012016115c090611e65565b9c610140019c8d528d5173ffffffffffffffffffffffffffffffffffffffff1615801590611d22575b15611cdf578f51600481101561141257611c765761160785516121c2565b611a8757611614906121c2565b15611a1e57611622906121c2565b156119b557801561194c5781156118e357875287526101043588523385525b60018c528c5f5260026020528a5f20998c5190600482101561141257918b918d9b9a999897969594937fffffffffffffffffffffff00000000000000000000000000000000000000000060ff74ffffffffffffffffffffffffffffffffffffffff008654935160081b169316911617178255515f905b600282106118c857505050515f5b600281106118ae5750505160058901555180515f5b60028110611894575050602081015160088901905f905b6002821061184f575050508601515f5b6002811061183557505073ffffffffffffffffffffffffffffffffffffffff600e88019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905551600f8601555160108501555160118401555180515f5b6002811061181b575050602081015160148401905f905b600282106117e05750505001515f5b600281106117c957857fcb4990c5b64e07c8fce5f047b2cf6bb13a0bff026f4c15e865aed929fe7b89fa6117c487875191829182611f5c565b0390a2005b60019060208351930192601882860101550161178b565b809192939450515f5b6002811061180757505060026020600192019301910185939261177c565b6001906020835193019281870155016117e9565b815185820160120155859350602090910190600101611765565b8151898201600c0155899750602090910190600101611701565b8091929394959697989950515f5b600281106118805750506002602060019201930191018a989796959493926116f1565b60019060208351930192818701550161185d565b81518a8201600601558a98506020909101906001016116da565b81518b8201600301558b99506020909101906001016116c5565b805160019383018401558d9b508c92909101906020016116b7565b60848d5162461bcd60e51b815260206004820152603160248201527f4173736574206f7574707574206d7573742062652070726f766964656420746f60448201527f20616363657074207468652074726164650000000000000000000000000000006064820152fd5b60848d5162461bcd60e51b815260206004820152603060248201527f417373657420696e707574206d7573742062652070726f766964656420746f2060448201527f61636365707420746865207472616465000000000000000000000000000000006064820152fd5b60848d5162461bcd60e51b815260206004820152603760248201527f5061796d656e74206f75747075747320616c72656164792070726f766964656460448201527f2062792074686520747261646520696e69746961746f720000000000000000006064820152fd5b60848e5162461bcd60e51b815260206004820152603660248201527f5061796d656e7420696e7075747320616c72656164792070726f76696465642060448201527f62792074686520747261646520696e69746961746f72000000000000000000006064820152fd5b918993919351611a9b575b50505050611641565b611c0d57611ba457611aac816121c2565b611b3b57611ab9826121c2565b611ad2578252825260a4358352338a528d808080611a92565b60848d5162461bcd60e51b815260206004820152603460248201527f5061796d656e74206f757470757473206d7573742062652070726f766964656460448201527f20746f20616363657074207468652074726164650000000000000000000000006064820152fd5b60848d5162461bcd60e51b815260206004820152603360248201527f5061796d656e7420696e70757473206d7573742062652070726f76696465642060448201527f746f2061636365707420746865207472616465000000000000000000000000006064820152fd5b60848d5162461bcd60e51b815260206004820152603560248201527f4173736574206f75747075747320616c72656164792070726f7669646564206260448201527f792074686520747261646520696e69746961746f7200000000000000000000006064820152fd5b60848e5162461bcd60e51b815260206004820152603460248201527f417373657420696e7075747320616c72656164792070726f766964656420627960448201527f2074686520747261646520696e69746961746f720000000000000000000000006064820152fd5b60848f5162461bcd60e51b815260206004820152602a60248201527f5472616465206d75737420626520696e20494e4954494154454420737461746560448201527f20746f20616363657074000000000000000000000000000000000000000000006064820152fd5b60648f5162461bcd60e51b815260206004820152601460248201527f547261646520646f6573206e6f742065786973740000000000000000000000006044820152fd5b5073ffffffffffffffffffffffffffffffffffffffff89511615156115e9565b81358152602091820191016114c3565b8135815260209182019101611497565b610160810190811067ffffffffffffffff82111761137b57604052565b6060810190811067ffffffffffffffff82111761137b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761137b57604052565b9080601f8301121561131d5760405191611df7604084611d9b565b82906040810192831161131d57905b828210611e135750505090565b8135815260209182019101611e06565b60048210156114125752565b60405191905f835b60028210611e4f57505050611e4d604083611d9b565b565b6001602081928554815201930191019091611e37565b90604051611e7281611d7f565b8092611e7d81611e2f565b82526040516040810181811067ffffffffffffffff82111761137b57604052600282015f825b60028210611ec7575050506006604092611ec292602086015201611e2f565b910152565b60026020600192611ed786611e2f565b815201930191019091611ea3565b905f905b60028210611ef657505050565b6020806001928551815201930191019091611ee9565b611f17828251611ee5565b60208101515f604084015b60028210611f3e5750505060400151611e4d9160c00190611ee5565b6020604082611f506001948751611ee5565b01930191019091611f22565b919061036083019281519160048310156114125761014061026091611e4d94845273ffffffffffffffffffffffffffffffffffffffff6020820151166020850152611faf60408201516040860190611ee5565b611fc160608201516080860190611ee5565b608081015160c0850152611fdd60a082015160e0860190611f0c565b73ffffffffffffffffffffffffffffffffffffffff60c0820151166101e085015260e08101516102008501526101008101516102208501526101208101516102408501520151910190611f0c565b906101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83011261131d5760405161206381611d7f565b8092612070816024611ddc565b8252806083121561131d57604080519061208b604083611d9b565b818360e41161131d576064905b60e482106120b657505050604091611ec291602085015260e4611ddc565b602083916120c48785611ddc565b815201910190612098565b6101208101929160406024833760645f604084015b600282106121175750505073ffffffffffffffffffffffffffffffffffffffff61010091604060e460c086013716910152565b60408082818660019537019301910190916120e4565b80511561213a5760200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80516001101561213a5760400190565b9081602091031261131d5751801515810361131d5790565b90602080835192838152019201905f5b8181106121ac5750505090565b825184526020938401939092019160010161219f565b5f5b60028110156121e6578060051b8201516121e0576001016121c4565b50505f90565b5050600190565b80515115908161220c575b81612201575090565b604091500151511590565b602081015151511591506121f856fea26469706673582212203d4dae2aa4006610ba1f7f3a6def8a2e7ab2885f3db497f91f10df6e372a77de64736f6c634300081b0033","sourceMap":"994:8733:45:-:0;;;;;;;;;;;;;-1:-1:-1;;994:8733:45;;;;-1:-1:-1;;;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;2577:14:45;994:8733;;;;;-1:-1:-1;;;;;994:8733:45;;;-1:-1:-1;;;;;;994:8733:45;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;-1:-1:-1;994:8733:45;;;;;-1:-1:-1;994:8733:45;;;;-1:-1:-1;;;;;994:8733:45;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f5f3560e01c80631944ac701461143f5780635fec4eb91461075f5763652c59e11461003b575f80fd5b3461075c576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261075c57366023121561075c5760408051906100838183611d9b565b813660441161075a576004905b6044821061074a5750503660631215610746578051916100b08284611d9b565b8236608411610742576044905b608482106107325750849182915060c43560a4356100da836121c2565b158015610729575b156106c0576100f0836121c2565b15806106b7575b61062857610104836121c2565b156105a9575b80610531575b85519361011c85611d7f565b86516101288882611d9b565b873682378552865161013a8882611d9b565b895b8881106105145750602086015286516101558882611d9b565b873682378786015286519761016989611d62565b89895273ffffffffffffffffffffffffffffffffffffffff60208a01971687528789019485526060890190815260808901608435815260a08a019187835273ffffffffffffffffffffffffffffffffffffffff60c08c019416845260e08b019485526101008b019586526101208b019660e43588526101408c019889526003548d5260026020528a8d20998c519060048210156104e7578c9a99989796959493928f91928d937fffffffffffffffffffffff00000000000000000000000000000000000000000060ff74ffffffffffffffffffffffffffffffffffffffff008754935160081b169316911617178355515b600282106104cc57505050518c5b600281106104b25750505160058901555180518b5b60028110610498575050602081015160088901908c905b60028210610453575050508601518a5b6002811061043957505073ffffffffffffffffffffffffffffffffffffffff600e88019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905551600f860155516010850155516011840155518051865b6002811061041f5750506020810151601484019087905b600282106103e4575050500151845b600281106103cd575050507f322df2b48e8c3e522e8d4b7b7d22987b0cdd98e9a3c54a6954d028fc7b93557361036d6003549384935191829182611f5c565b0390a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146103a05760010160035580f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60019060208351930192601882860101550161032e565b80919293945051885b6002811061040b57505060026020600192019301910185939261031f565b6001906020835193019281870155016103ed565b815185820160120155859350602090910190600101610308565b8151898201600c01558997506020909101906001016102a4565b8091929394959697989950518d5b600281106104845750506002602060019201930191018a98979695949392610294565b600190602083519301928187015501610461565b81518a8201600601558a985060209091019060010161027d565b81518b8201600301558b9950602090910190600101610268565b805160019383018401558d9b508c929091019060200161025a565b60248f7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b60209089516105238b82611d9b565b8a368237818401520161013c565b92508015610540573392610110565b6084855162461bcd60e51b815260206004820152603860248201527f4173736574206f75747075742063616e6e6f74206265207a65726f207768656e60448201527f20617373657420696e707574206973206e6f6e2d7a65726f00000000000000006064820152fd5b93506105b4866121c2565b6105bf57339361010a565b6084855162461bcd60e51b815260206004820152603f60248201527f5061796d656e74206f7574707574732063616e6e6f74206265207a65726f207760448201527f68656e207061796d656e7420696e7075747320617265206e6f6e2d7a65726f006064820152fd5b60a4865162461bcd60e51b815260206004820152604260248201527f5061796d656e7420696e7075747320616e6420617373657420696e707574206360448201527f616e6e6f742062652070726f7669646564206174207468652073616d6520746960648201527f6d650000000000000000000000000000000000000000000000000000000000006084820152fd5b508015156100f7565b6084865162461bcd60e51b815260206004820152603e60248201527f5061796d656e7420696e7075747320616e6420617373657420696e707574206360448201527f616e6e6f74206265207a65726f206174207468652073616d652074696d6500006064820152fd5b508015156100e2565b81358152602091820191016100bd565b8480fd5b8280fd5b8135815260209182019101610090565b835b80fd5b503461131d576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261131d576101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261131d576004355f52600260205260405f2061088b6012604051926107db84611d62565b73ffffffffffffffffffffffffffffffffffffffff81546107ff60ff821687611e23565b60081c16602085015261081460018201611e2f565b604085015261082560038201611e2f565b60608501526005810154608085015261084060068201611e65565b60a085015273ffffffffffffffffffffffffffffffffffffffff600e8201541660c0850152600f81015460e08501526010810154610100850152601181015461012085015201611e65565b61014082015280516004811015611412577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016113a857604051610100810181811067ffffffffffffffff82111761137b57604052602435815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043560e08201526040516020810191825f905b6008821061136557505050610100815261094661012082611d9b565b51902060808201518103611275575061095e3661202b565b60a08201528173ffffffffffffffffffffffffffffffffffffffff815416803b15611266578160405180927f12c0fed20000000000000000000000000000000000000000000000000000000082528183816109bc30600483016120cf565b03925af1801561126a57611251575b50505b6004358252600260205260408220815160048110156110155781547fffffffffffffffffffffff00000000000000000000000000000000000000000060ff74ffffffffffffffffffffffffffffffffffffffff00602087015160081b1693169116171781556040820151835b6002811061123b5750506060820151835b600281106112245750506080820151600582015560a08201518051845b6002811061120d5750506020810151600883019085905b600282106111d85750505060400151835b600281106111c1575050600e810173ffffffffffffffffffffffffffffffffffffffff60c0840151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560e0820151600f820155610100820151601082015561012082015160118201556101408201518051845b600281106111aa5750506020810151601483019085905b600282106111755750505060400151835b6002811061115e57505050610b4a60a08201516121ed565b1580611149575b610b59575080f35b604051610b67606082611d9b565b600281526020610c5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060600192833684830137604085015151610baa8261212d565b528260408601510151610bbc82612167565b5260405193610bcc606086611d9b565b600285523684860137606085015151610be48561212d565b528260608601510151610bf685612167565b5273ffffffffffffffffffffffffffffffffffffffff86541690868460a0880151610c96610c8b604051998a9889977f3e96e27300000000000000000000000000000000000000000000000000000000895261016060048a015261016489019061218f565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc88830301602489015261218f565b916044860190611f0c565b82848203917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83016101448701525201925af19081156110b557839161112a575b50156110c05773ffffffffffffffffffffffffffffffffffffffff60015416602060e0830151610184610100850151918661014087015195610d5160405197889687957f6ed9d6a1000000000000000000000000000000000000000000000000000000008752600487015260248601526044850190611f0c565b610160610144840152816101648401525af19081156110b5578391611086575b501561104257600281526004358252600260205260408220815160048110156110155781547fffffffffffffffffffffff00000000000000000000000000000000000000000060ff74ffffffffffffffffffffffffffffffffffffffff00602087015160081b1693169116171781556040820151835b60028110610fff5750506060820151835b60028110610fe85750506080820151600582015560a08201518051845b60028110610fd15750506020810151600883019085905b60028210610f9c5750505060400151835b60028110610f85575050600e810173ffffffffffffffffffffffffffffffffffffffff60c0840151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560e0820151600f820155610100820151601082015561012082015160118201556101408201518051845b60028110610f6e5750506020810151601483019085905b60028210610f395750505060400151835b60028110610f22575050507f50537982faf554620a6d5b585040dbea6fb3c8eb9c07045634507df560fdab2b60405180610f1c6004359482611f5c565b0390a280f35b600190602083519301926018828601015501610edf565b8051875b60028110610f5a5750506002602060019201930191019091610ece565b600190602083519301928187015501610f3d565b600190602083519301926012828701015501610eb7565b60019060208351930192600c828601015501610e3d565b8051875b60028110610fbd5750506002602060019201930191019091610e2c565b600190602083519301928187015501610fa0565b600190602083519301926006828701015501610e15565b600190602083519301926003828601015501610df8565b6001906020835193019282828601015501610de7565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b606460405162461bcd60e51b815260206004820152602060248201527f4173736574206272616e6368206f6620746865207472616465206661696c65646044820152fd5b6110a8915060203d6020116110ae575b6110a08183611d9b565b810190612177565b5f610d71565b503d611096565b6040513d85823e3d90fd5b608460405162461bcd60e51b815260206004820152602260248201527f5061796d656e74206272616e6368206f6620746865207472616465206661696c60448201527f65640000000000000000000000000000000000000000000000000000000000006064820152fd5b611143915060203d6020116110ae576110a08183611d9b565b5f610cd7565b506111586101408201516121ed565b15610b51565b600190602083519301926018828601015501610b32565b8051875b600281106111965750506002602060019201930191019091610b21565b600190602083519301928187015501611179565b600190602083519301926012828701015501610b0a565b60019060208351930192600c828601015501610a90565b8051875b600281106111f95750506002602060019201930191019091610a7f565b6001906020835193019281870155016111dc565b600190602083519301926006828701015501610a68565b600190602083519301926003828601015501610a4b565b6001906020835193019282828601015501610a3a565b8161125b91611d9b565b61126657815f6109cb565b5080fd5b6040513d84823e3d90fd5b61012082015103611321576112893661202b565b61014082015273ffffffffffffffffffffffffffffffffffffffff60015416803b1561131d575f60405180927f12c0fed20000000000000000000000000000000000000000000000000000000082528183816112e830600483016120cf565b03925af18015611312576112fd575b506109ce565b61130a9192505f90611d9b565b5f905f6112f7565b6040513d5f823e3d90fd5b5f80fd5b606460405162461bcd60e51b815260206004820152600d60248201527f496e76616c69642070726f6f66000000000000000000000000000000000000006044820152fd5b602080600192855181520193019101909161092a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b608460405162461bcd60e51b815260206004820152602b60248201527f5472616465206d75737420626520696e2041434345505445442073746174652060448201527f746f20636f6d706c6574650000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b3461131d576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261131d57600435366043121561131d57604080519061148a8183611d9b565b813660641161131d576024905b60648210611d52575050366083121561131d5780516114b68282611d9b565b803660a41161131d576064905b60a48210611d4257505060c4359060e43591855f526002602052835f20845195869384936114f085611d62565b83549661150060ff891687611e23565b602086019760081c73ffffffffffffffffffffffffffffffffffffffff1688526001850161152d90611e2f565b868a0190815261153f60038701611e2f565b9060608801918252600587015492608089019384526006880161156190611e65565b9460a08a01958652600e89015473ffffffffffffffffffffffffffffffffffffffff169660c08b01978852600f8a01549860e08c01998a5260108b01549a6101008d019b8c5260118101549c610120019c8d526012016115c090611e65565b9c610140019c8d528d5173ffffffffffffffffffffffffffffffffffffffff1615801590611d22575b15611cdf578f51600481101561141257611c765761160785516121c2565b611a8757611614906121c2565b15611a1e57611622906121c2565b156119b557801561194c5781156118e357875287526101043588523385525b60018c528c5f5260026020528a5f20998c5190600482101561141257918b918d9b9a999897969594937fffffffffffffffffffffff00000000000000000000000000000000000000000060ff74ffffffffffffffffffffffffffffffffffffffff008654935160081b169316911617178255515f905b600282106118c857505050515f5b600281106118ae5750505160058901555180515f5b60028110611894575050602081015160088901905f905b6002821061184f575050508601515f5b6002811061183557505073ffffffffffffffffffffffffffffffffffffffff600e88019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905551600f8601555160108501555160118401555180515f5b6002811061181b575050602081015160148401905f905b600282106117e05750505001515f5b600281106117c957857fcb4990c5b64e07c8fce5f047b2cf6bb13a0bff026f4c15e865aed929fe7b89fa6117c487875191829182611f5c565b0390a2005b60019060208351930192601882860101550161178b565b809192939450515f5b6002811061180757505060026020600192019301910185939261177c565b6001906020835193019281870155016117e9565b815185820160120155859350602090910190600101611765565b8151898201600c0155899750602090910190600101611701565b8091929394959697989950515f5b600281106118805750506002602060019201930191018a989796959493926116f1565b60019060208351930192818701550161185d565b81518a8201600601558a98506020909101906001016116da565b81518b8201600301558b99506020909101906001016116c5565b805160019383018401558d9b508c92909101906020016116b7565b60848d5162461bcd60e51b815260206004820152603160248201527f4173736574206f7574707574206d7573742062652070726f766964656420746f60448201527f20616363657074207468652074726164650000000000000000000000000000006064820152fd5b60848d5162461bcd60e51b815260206004820152603060248201527f417373657420696e707574206d7573742062652070726f766964656420746f2060448201527f61636365707420746865207472616465000000000000000000000000000000006064820152fd5b60848d5162461bcd60e51b815260206004820152603760248201527f5061796d656e74206f75747075747320616c72656164792070726f766964656460448201527f2062792074686520747261646520696e69746961746f720000000000000000006064820152fd5b60848e5162461bcd60e51b815260206004820152603660248201527f5061796d656e7420696e7075747320616c72656164792070726f76696465642060448201527f62792074686520747261646520696e69746961746f72000000000000000000006064820152fd5b918993919351611a9b575b50505050611641565b611c0d57611ba457611aac816121c2565b611b3b57611ab9826121c2565b611ad2578252825260a4358352338a528d808080611a92565b60848d5162461bcd60e51b815260206004820152603460248201527f5061796d656e74206f757470757473206d7573742062652070726f766964656460448201527f20746f20616363657074207468652074726164650000000000000000000000006064820152fd5b60848d5162461bcd60e51b815260206004820152603360248201527f5061796d656e7420696e70757473206d7573742062652070726f76696465642060448201527f746f2061636365707420746865207472616465000000000000000000000000006064820152fd5b60848d5162461bcd60e51b815260206004820152603560248201527f4173736574206f75747075747320616c72656164792070726f7669646564206260448201527f792074686520747261646520696e69746961746f7200000000000000000000006064820152fd5b60848e5162461bcd60e51b815260206004820152603460248201527f417373657420696e7075747320616c72656164792070726f766964656420627960448201527f2074686520747261646520696e69746961746f720000000000000000000000006064820152fd5b60848f5162461bcd60e51b815260206004820152602a60248201527f5472616465206d75737420626520696e20494e4954494154454420737461746560448201527f20746f20616363657074000000000000000000000000000000000000000000006064820152fd5b60648f5162461bcd60e51b815260206004820152601460248201527f547261646520646f6573206e6f742065786973740000000000000000000000006044820152fd5b5073ffffffffffffffffffffffffffffffffffffffff89511615156115e9565b81358152602091820191016114c3565b8135815260209182019101611497565b610160810190811067ffffffffffffffff82111761137b57604052565b6060810190811067ffffffffffffffff82111761137b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761137b57604052565b9080601f8301121561131d5760405191611df7604084611d9b565b82906040810192831161131d57905b828210611e135750505090565b8135815260209182019101611e06565b60048210156114125752565b60405191905f835b60028210611e4f57505050611e4d604083611d9b565b565b6001602081928554815201930191019091611e37565b90604051611e7281611d7f565b8092611e7d81611e2f565b82526040516040810181811067ffffffffffffffff82111761137b57604052600282015f825b60028210611ec7575050506006604092611ec292602086015201611e2f565b910152565b60026020600192611ed786611e2f565b815201930191019091611ea3565b905f905b60028210611ef657505050565b6020806001928551815201930191019091611ee9565b611f17828251611ee5565b60208101515f604084015b60028210611f3e5750505060400151611e4d9160c00190611ee5565b6020604082611f506001948751611ee5565b01930191019091611f22565b919061036083019281519160048310156114125761014061026091611e4d94845273ffffffffffffffffffffffffffffffffffffffff6020820151166020850152611faf60408201516040860190611ee5565b611fc160608201516080860190611ee5565b608081015160c0850152611fdd60a082015160e0860190611f0c565b73ffffffffffffffffffffffffffffffffffffffff60c0820151166101e085015260e08101516102008501526101008101516102208501526101208101516102408501520151910190611f0c565b906101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83011261131d5760405161206381611d7f565b8092612070816024611ddc565b8252806083121561131d57604080519061208b604083611d9b565b818360e41161131d576064905b60e482106120b657505050604091611ec291602085015260e4611ddc565b602083916120c48785611ddc565b815201910190612098565b6101208101929160406024833760645f604084015b600282106121175750505073ffffffffffffffffffffffffffffffffffffffff61010091604060e460c086013716910152565b60408082818660019537019301910190916120e4565b80511561213a5760200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80516001101561213a5760400190565b9081602091031261131d5751801515810361131d5790565b90602080835192838152019201905f5b8181106121ac5750505090565b825184526020938401939092019160010161219f565b5f5b60028110156121e6578060051b8201516121e0576001016121c4565b50505f90565b5050600190565b80515115908161220c575b81612201575090565b604091500151511590565b602081015151511591506121f856fea26469706673582212203d4dae2aa4006610ba1f7f3a6def8a2e7ab2885f3db497f91f10df6e372a77de64736f6c634300081b0033","sourceMap":"994:8733:45:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;2964:27:45;;;;-1:-1:-1;994:8733:45;;;;3058:27;2964;3058;:::i;:::-;3057:28;994:8733;;3057:47;;994:8733;;;;3226:27;;;:::i;:::-;3225:28;:47;;;994:8733;;;3380:27;;;:::i;:::-;3379:28;3375:256;;994:8733;3644:15;3640:221;;994:8733;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;3935:324;;994:8733;;;;3935:324;;;994:8733;;;;3935:324;;994:8733;;;;3935:324;;994:8733;;;;;3935:324;;994:8733;;;;;;3935:324;;994:8733;;;;;3935:324;;994:8733;;;;3935:324;;994:8733;;;3935:324;;;994:8733;;;;;3935:324;;;994:8733;;;4277:10;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4311:33;;4277:10;994:8733;;;;;4311:33;;;;;:::i;:::-;;;;994:8733;;;;;;;4277:10;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;4277:10;994:8733;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;3640:221;3700:16;;;;994:8733;;3840:10;3640:221;;;994:8733;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;3375:256;3449:28;;;;;:::i;:::-;994:8733;;3610:10;3375:256;;;994:8733;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;3225:47;3257:15;;;;3225:47;;994:8733;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;3057:47;3089:15;;;;3057:47;;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7064:36;;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;9065:222;;994:8733;9129:8;994:8733;;9065:222;;994:8733;;;;9065:222;;994:8733;;;;9065:222;;994:8733;;;;9065:222;;994:8733;9241:8;994:8733;;9065:222;;994:8733;;;;9065:222;;994:8733;;;;9315:24;;;;994:8733;;;;;;;;9315:24;;;994:8733;9315:24;;;994:8733;9315:24;;:::i;:::-;994:8733;9305:35;;994:8733;;;;7232:35;;;;994:8733;;;;:::i;:::-;;;;7283:26;994:8733;;;;;7323:44;;;;;994:8733;;;7323:44;;994:8733;7323:44;;7361:4;;;7323:44;7361:4;994:8733;7323:44;;;:::i;:::-;;;;;;;;;;;7228:354;;;;994:8733;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;7018:6;994:8733;;;;;;;7643:32;994:8733;;;7656:18;7643:32;:::i;:::-;7642:33;:68;;;994:8733;7625:986;;994:8733;;;7625:986;994:8733;;;;;;:::i;:::-;7018:6;994:8733;;;;;;;;;;;;;;;;;7799:19;994:8733;7789:32;;;:::i;:::-;994:8733;;;;;7845:19;994:8733;;7835:32;;;:::i;:::-;994:8733;;;;;;;;:::i;:::-;7018:6;994:8733;;;;;;;;;;7947:20;994:8733;7936:34;;;:::i;:::-;994:8733;;;;;7995:20;994:8733;;7984:34;;;:::i;:::-;994:8733;;;;;;;;;;;8092:18;994:8733;;;;8057:58;;;;;994:8733;8057:58;;994:8733;;8057:58;;994:8733;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;8057:58;;;;;;;;;;;;;7625:986;994:8733;;;;;;;;;;;;;8222:176;994:8733;;;;;;;;;8340:16;994:8733;;;;8222:176;;;;;994:8733;8222:176;;994:8733;8222:176;;994:8733;;;;;;;;;;:::i;:::-;;;;;;;;;;;8222:176;;;;;;;;;;;7625:986;994:8733;;;;7018:6;994:8733;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;;;;;;;7018:6;994:8733;;;;;;;8570:30;994:8733;;;8570:30;994:8733;;8570:30;;;:::i;:::-;;;;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9129:8;994:8733;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;8222:176;;;;994:8733;8222:176;994:8733;8222:176;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;994:8733;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;9129:8;994:8733;;;;8057:58;;;;994:8733;8057:58;994:8733;8057:58;;;;;;;:::i;:::-;;;;7642:68;994:8733;7680:30;994:8733;;;7693:16;7680:30;:::i;:::-;7679:31;7642:68;;994:8733;;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:6;994:8733;;;;;;7018:6;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7323:44;;;;;:::i;:::-;994:8733;;7323:44;;;;994:8733;;;;7323:44;994:8733;;;;;;;;;7228:354;994:8733;;;;7388:33;;;994:8733;;;:::i;:::-;;;;7437:24;994:8733;;;;7475:42;;;;;994:8733;;;7475:42;;994:8733;7475:42;;7511:4;;;7475:42;7511:4;994:8733;7475:42;;;:::i;:::-;;;;;;;;;;;7384:198;;7228:354;;7475:42;;;;;994:8733;7475:42;;:::i;:::-;994:8733;7475:42;;;;;994:8733;;;;;;;;;7475:42;994:8733;;;7384:198;9129:8;994:8733;;-1:-1:-1;;;7548:23:45;;994:8733;;7548:23;;994:8733;;;;;;;;;;;7548:23;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;4721:39;;;:96;;;994:8733;;;;;;;;;;;;;;5091:33;5104:19;;5091:33;:::i;:::-;5104:19;;5165:27;;;:::i;:::-;994:8733;;;5319:28;;;:::i;:::-;994:8733;;;5475:15;;994:8733;;5611:16;;994:8733;;;;;;;;;;5890:10;994:8733;;5086:1665;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6844:29;;994:8733;;;6844:29;;;;;:::i;:::-;;;;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;5086:1665;994:8733;;;;;;5917:834;;5086:1665;;;;;;;5917:834;994:8733;;;;6266:27;;;:::i;:::-;994:8733;;6418:28;;;:::i;:::-;994:8733;;6547:35;;6596:37;;994:8733;;;;6730:10;994:8733;;5917:834;;;;;;994:8733;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;;;;;;;;;;4721:96;994:8733;;;;;4780:37;;4721:96;;994:8733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;994:8733:45;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;994:8733:45;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;8623:303;994:8733;8808:3;994:8733;8792:14;;;;;994:8733;;;;;;8827:62;;994:8733;;8777:13;;8827:62;8862:12;;994:8733;8862:12;:::o;8792:14::-;;;994:8733;8623:303;:::o;9353:372::-;9474:8;;994:8733;9498:16;9473:162;;;;9353:372;9473:220;;;9704:14;9353:372;:::o;9473:220::-;9652:8;;;;;994:8733;9676:16;9353:372;:::o;9473:162::-;9532:8;;;9615;:11;994:8733;9615:19;;-1:-1:-1;9473:162:45;","linkReferences":{}},"methodIdentifiers":{"acceptTrade(uint256,uint256[2],uint256[2],bytes32,uint256,uint256,bytes32)":"1944ac70","completeTrade(uint256,(uint256[2],uint256[2][2],uint256[2]))":"5fec4eb9","initiateTrade(uint256[2],uint256[2],bytes32,uint256,uint256,bytes32)":"652c59e1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"paymentTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"assetTokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"enum zkDvP.TradeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"paymentCounterparty\",\"type\":\"address\"},{\"internalType\":\"uint256[2]\",\"name\":\"paymentInputs\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"paymentOutputs\",\"type\":\"uint256[2]\"},{\"internalType\":\"bytes32\",\"name\":\"paymentProofHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"pA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"pB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"pC\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct Commonlib.Proof\",\"name\":\"paymentProof\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"assetCounterparty\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"assetInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetOutput\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"assetProofHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"pA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"pB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"pC\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct Commonlib.Proof\",\"name\":\"assetProof\",\"type\":\"tuple\"}],\"indexed\":false,\"internalType\":\"struct zkDvP.Trade\",\"name\":\"trade\",\"type\":\"tuple\"}],\"name\":\"TradeAccepted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"enum zkDvP.TradeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"paymentCounterparty\",\"type\":\"address\"},{\"internalType\":\"uint256[2]\",\"name\":\"paymentInputs\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"paymentOutputs\",\"type\":\"uint256[2]\"},{\"internalType\":\"bytes32\",\"name\":\"paymentProofHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"pA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"pB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"pC\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct Commonlib.Proof\",\"name\":\"paymentProof\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"assetCounterparty\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"assetInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetOutput\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"assetProofHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"pA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"pB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"pC\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct Commonlib.Proof\",\"name\":\"assetProof\",\"type\":\"tuple\"}],\"indexed\":false,\"internalType\":\"struct zkDvP.Trade\",\"name\":\"trade\",\"type\":\"tuple\"}],\"name\":\"TradeCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"enum zkDvP.TradeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"paymentCounterparty\",\"type\":\"address\"},{\"internalType\":\"uint256[2]\",\"name\":\"paymentInputs\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"paymentOutputs\",\"type\":\"uint256[2]\"},{\"internalType\":\"bytes32\",\"name\":\"paymentProofHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"pA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"pB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"pC\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct Commonlib.Proof\",\"name\":\"paymentProof\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"assetCounterparty\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"assetInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetOutput\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"assetProofHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"pA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"pB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"pC\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct Commonlib.Proof\",\"name\":\"assetProof\",\"type\":\"tuple\"}],\"indexed\":false,\"internalType\":\"struct zkDvP.Trade\",\"name\":\"trade\",\"type\":\"tuple\"}],\"name\":\"TradeInitiated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256[2]\",\"name\":\"paymentInputs\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"paymentOutputs\",\"type\":\"uint256[2]\"},{\"internalType\":\"bytes32\",\"name\":\"paymentProofHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"assetInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetOutput\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"assetProofHash\",\"type\":\"bytes32\"}],\"name\":\"acceptTrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"pA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"pB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"pC\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct Commonlib.Proof\",\"name\":\"proof\",\"type\":\"tuple\"}],\"name\":\"completeTrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[2]\",\"name\":\"paymentInputs\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"paymentOutputs\",\"type\":\"uint256[2]\"},{\"internalType\":\"bytes32\",\"name\":\"paymentProofHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"assetInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetOutput\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"assetProofHash\",\"type\":\"bytes32\"}],\"name\":\"initiateTrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Kaleido, Inc.\",\"details\":\"Implements escrow based DvP flows with ZKP based C-UTXO tokens\",\"kind\":\"dev\",\"methods\":{},\"title\":\"A sample on-chain implementation of a DvP escrow contract using ZKP based C-UTXO tokens\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/zkDvP.sol\":\"zkDvP\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@iden3/=node_modules/@iden3/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/lib/common.sol\":{\"keccak256\":\"0x41a6c108b95ddee950755303e6e59bceca9c55d518cc7e4ca6e8f5badfe490cb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c6865168ec6355ee85c6ce11d17c7c1bc57baec729de7cdbb9d6e8d860f70957\",\"dweb:/ipfs/QmXysx5oVKrSzoAvhzQCQs5bx1p5T5LeuJW6DtvgT7pXnV\"]},\"contracts/lib/interfaces/izeto.sol\":{\"keccak256\":\"0xeaec7f7b46d7b10febc04733f82917fa5a2e991ab7d4dd1df5aa5eef4f8ef5a5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1dadf25079f120d3291a1c1ad0c6d07921228f85e2544a600c7644ce8e0ea5de\",\"dweb:/ipfs/Qmas9LQQLMqYD8F6wx4htyCBdGn2csXdtHk1iKboQLw81e\"]},\"contracts/lib/interfaces/izeto_base.sol\":{\"keccak256\":\"0x6829d76623badc1a0acd73795c7cefbcacf786429cd0d12444d07a1e0c940cb9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6af5c33bf1664f565ab34aadf603fc8c0713551e0413284f09069db2e12ad152\",\"dweb:/ipfs/QmfCHhUyz5B4uhEBLXkKFRLUz61Pn6PaX9Pfwjo27jFyVN\"]},\"contracts/lib/registry.sol\":{\"keccak256\":\"0x040b7a4e1e0f7ca22e59e8be24548afd1ed1322a5acdd18193d4cf5e98d8c7de\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b0c617332af5e0a0fb92d8492b1472a59c735bb4d6f0d56be43a58e3bd36791c\",\"dweb:/ipfs/Qme1FSyTGwvrdAQ82m9SoPXWeLgnaQECBU9xfGSR5zkGS6\"]},\"contracts/lib/verifier_anon.sol\":{\"keccak256\":\"0x7eb8c9179b20f6c88aca7505f0b2d395aabd08660347e5d6fee956580e588793\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5cd964f95a4ad14e728de3d0371f8aecec16cb5f80641de5f3817b18d85d8666\",\"dweb:/ipfs/QmehamXjdrdeCuem5xUjDakRvc3bpGjzpPQmtiTrUFPtNV\"]},\"contracts/lib/verifier_anon_batch.sol\":{\"keccak256\":\"0xc94a57d08ee903d7beecf820f4a51b1a207968070b54578858d616170a866c7f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dd58985d0781aa73f2e672086d4113e18a016bc01bd368640481111d9bdaa227\",\"dweb:/ipfs/QmaLKHmHE2oEAFdJn6F4cAXAyiS3yKTMijTsVVZeLChqe9\"]},\"contracts/lib/verifier_check_hashes_value.sol\":{\"keccak256\":\"0x26fe5872592dd81fce74ba053455b6fc0d4d3f61eb49b089fea3977da5592520\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://64b6b7225355b6d39b4daec59248ccbbdfd38cfdd47ed864f46ba85d6370d9ca\",\"dweb:/ipfs/QmdFGUMMeGKmHRBrvzHjm2xf4v7shmpsp91CsHXytLLVXz\"]},\"contracts/lib/verifier_check_inputs_outputs_value.sol\":{\"keccak256\":\"0x1abdb4c8072d27cfec159adb4427fe5f1a3a4c70f044df2e6dba06f422f9c4af\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ebdbbf40048c4c356828a3bc68c54b1ce4e0fff8448929ccada9ebd87a625762\",\"dweb:/ipfs/QmU8vYXXQCGdKti4DXKA3FmRChUptMgdfQ2Qc1kEbjPWC2\"]},\"contracts/lib/verifier_check_inputs_outputs_value_batch.sol\":{\"keccak256\":\"0x027b20dcdccd05a149e34d7a9b6ffb31f0c936835eca8d358ebe26d656d21e40\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d43a28950016eb7030f9089b785b8fbf3dabc4f7bc5ccdbacf411b09658ed375\",\"dweb:/ipfs/QmPgPbZ8eDM1xAqnSaquWvrA1YoLXm7kZQGn9soWhweyaL\"]},\"contracts/lib/verifier_check_nullifier_value.sol\":{\"keccak256\":\"0x3c0a37c3b844cc95ff55441db084dc6c0d747537676d6327e6c8bddf538ad447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ee1d06a4788a884448806882828fde9f448b64e8df5842ac35cd5a0e92cb6d04\",\"dweb:/ipfs/QmSTMaxtLJDrPBQJvbfr7n2iAKfXH1X2xEHUj8iH9omf1w\"]},\"contracts/lib/verifier_nf_anon.sol\":{\"keccak256\":\"0x3a341d24f5375dc917de10801b85c7e1bddeb8b9e12cdf0326eef4c65d28a360\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://eb3a21805bb62ef4463abf749b20d7068eb55afe83946991da34f97632fc83b9\",\"dweb:/ipfs/QmZA7vCWxxK2SzZ5gA6ULYx24Ce4BbdujSNLD6TNcLzmao\"]},\"contracts/lib/zeto_base.sol\":{\"keccak256\":\"0x6fe6a825418f12be3c9f7840609224cc4f12d7231cecf7847754e932e06fd8dd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b17069e63759396d940e6969d431fc3360cd718af67940fee1d04616f5d9e906\",\"dweb:/ipfs/QmNqz7Tj3VmcAxdWCNMKceHcJzi7dSv4QSCz8dXYo4WfhD\"]},\"contracts/lib/zeto_common.sol\":{\"keccak256\":\"0xbf5b94d9177dc9b3d59a95b7424a20bb1869dfb7df948053b4b59d75495da6ae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e845a92c277c61f4374f04333e31cac9dc1cba5e36913f78ecc72eb74ec7ddc8\",\"dweb:/ipfs/QmPyyEzEy4q9wcff9d65yD3pmZHCxXRTYEHHjcGCSwcztf\"]},\"contracts/lib/zeto_fungible.sol\":{\"keccak256\":\"0xea8b1e381a2a71f93f502980a2d15f828c4e0577f5b55ccb19e5643368e613bc\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6fb967615097e25885cc44d22487b368f7435b5bd0f46417f8e4038bcd984ebd\",\"dweb:/ipfs/QmSdRLMf81HcyvTgU3cgw9nxvkjxVJGkYmAbdWQ2CDebYg\"]},\"contracts/lib/zeto_fungible_withdraw.sol\":{\"keccak256\":\"0xf98eff66bad224899806f490220d78152df2dec6f24da528a53910a14de44571\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://abecdfe278f8b02d727e51b54590a0ec3a659ff9a05271a2472e27ebd4148160\",\"dweb:/ipfs/QmdxXVvfHnh27fKVRfQU2tnSYhgs9RtL4JjUbrsLhQEk4a\"]},\"contracts/zeto_anon.sol\":{\"keccak256\":\"0xaec8dbd6866ee07c979a4f4e39f212efd9024619ed64cf861af73ea10892048f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://205053138d2b103d200decd92876fa3321a66a4fa0eb1b65e80865090908a42b\",\"dweb:/ipfs/Qmdwi5nU91K5cv54vGDj73y3ZM5bw54aQg6NHswt3UpRNG\"]},\"contracts/zeto_nf_anon.sol\":{\"keccak256\":\"0x4085d010d905030c18101b2c7207f7c0aa9adcf960a0e472adf3120893553791\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://962757c371855e759b86b552ebfcd4adafa9cd2bef725158002d58a599019446\",\"dweb:/ipfs/QmcqE5WiUzZUx5E3wRqpvRBVgskgjTp4dpDZkUioPo5Hvz\"]},\"contracts/zkDvP.sol\":{\"keccak256\":\"0xee22623dd896dd502d656806e3ed522afd5088db70d4cee93f254de9e818b74d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3375c86d413f23172cfe42a852240141439e51e019131b54809d70db63b30d06\",\"dweb:/ipfs/QmbdyxRLDbyFejntsGTc9fSQNRf26vm7uX7aq8qm6rwENZ\"]},\"node_modules/@iden3/contracts/lib/ArrayUtils.sol\":{\"keccak256\":\"0x7c5e3f9c56e8e80811db1f1336a1e37c657947f44687451e5a1d6bd12e9e6141\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9497d8d8fe9fc2b2c9d61bbdfa5a4eb881ddf8948bbc099024e5026fadd6846\",\"dweb:/ipfs/Qmczkk8FLcxpM91ZAWpixowBEdq64YVLke3ZqVDt3NkYiT\"]},\"node_modules/@iden3/contracts/lib/Poseidon.sol\":{\"keccak256\":\"0x1776fa64b19c5e2f42d1449537ea5e911d7f067ee5d0409ca7daf7319853381f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://516c8ae954d17c4c5e4366249b93e85660f5887640c8141c6912831a42b89539\",\"dweb:/ipfs/QmVMZW5sFUmb3Bgypmfn19z1cNUWhubYXWFthbFruopZNc\"]},\"node_modules/@iden3/contracts/lib/SmtLib.sol\":{\"keccak256\":\"0x9c67be9b7d045ded48a63bd827a5bdc3f2255c68f9640bae41eef074640f1779\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1f2b2452120f5b2b2c5589fcf58183f7d800d3f8a2c202ebdc3b69815bcfb2aa\",\"dweb:/ipfs/QmbnvLnfJaKL3eqt1CfXofsiLJ7G3nYTawUEqGpCazWbrQ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"node_modules/@openzeppelin/contracts/utils/Arrays.sol\":{\"keccak256\":\"0x55a4fdb408e3db950b48f4a6131e538980be8c5f48ee59829d92d66477140cd6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e1ad251e692822ce1494135a4ecb5b97c19b90aa82418fd2959ce32017953fd\",\"dweb:/ipfs/QmT6N7mf6heZYhY2BAQ5kwZp9o3SXzGVdkMqUszx67WRDN\"]},\"node_modules/@openzeppelin/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.27+commit.40a35a09"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"paymentTokenAddress","type":"address"},{"internalType":"address","name":"assetTokenAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"tradeId","type":"uint256","indexed":true},{"internalType":"struct zkDvP.Trade","name":"trade","type":"tuple","components":[{"internalType":"enum zkDvP.TradeStatus","name":"status","type":"uint8"},{"internalType":"address","name":"paymentCounterparty","type":"address"},{"internalType":"uint256[2]","name":"paymentInputs","type":"uint256[2]"},{"internalType":"uint256[2]","name":"paymentOutputs","type":"uint256[2]"},{"internalType":"bytes32","name":"paymentProofHash","type":"bytes32"},{"internalType":"struct Commonlib.Proof","name":"paymentProof","type":"tuple","components":[{"internalType":"uint256[2]","name":"pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"pC","type":"uint256[2]"}]},{"internalType":"address","name":"assetCounterparty","type":"address"},{"internalType":"uint256","name":"assetInput","type":"uint256"},{"internalType":"uint256","name":"assetOutput","type":"uint256"},{"internalType":"bytes32","name":"assetProofHash","type":"bytes32"},{"internalType":"struct Commonlib.Proof","name":"assetProof","type":"tuple","components":[{"internalType":"uint256[2]","name":"pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"pC","type":"uint256[2]"}]}],"indexed":false}],"type":"event","name":"TradeAccepted","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tradeId","type":"uint256","indexed":true},{"internalType":"struct zkDvP.Trade","name":"trade","type":"tuple","components":[{"internalType":"enum zkDvP.TradeStatus","name":"status","type":"uint8"},{"internalType":"address","name":"paymentCounterparty","type":"address"},{"internalType":"uint256[2]","name":"paymentInputs","type":"uint256[2]"},{"internalType":"uint256[2]","name":"paymentOutputs","type":"uint256[2]"},{"internalType":"bytes32","name":"paymentProofHash","type":"bytes32"},{"internalType":"struct Commonlib.Proof","name":"paymentProof","type":"tuple","components":[{"internalType":"uint256[2]","name":"pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"pC","type":"uint256[2]"}]},{"internalType":"address","name":"assetCounterparty","type":"address"},{"internalType":"uint256","name":"assetInput","type":"uint256"},{"internalType":"uint256","name":"assetOutput","type":"uint256"},{"internalType":"bytes32","name":"assetProofHash","type":"bytes32"},{"internalType":"struct Commonlib.Proof","name":"assetProof","type":"tuple","components":[{"internalType":"uint256[2]","name":"pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"pC","type":"uint256[2]"}]}],"indexed":false}],"type":"event","name":"TradeCompleted","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tradeId","type":"uint256","indexed":true},{"internalType":"struct zkDvP.Trade","name":"trade","type":"tuple","components":[{"internalType":"enum zkDvP.TradeStatus","name":"status","type":"uint8"},{"internalType":"address","name":"paymentCounterparty","type":"address"},{"internalType":"uint256[2]","name":"paymentInputs","type":"uint256[2]"},{"internalType":"uint256[2]","name":"paymentOutputs","type":"uint256[2]"},{"internalType":"bytes32","name":"paymentProofHash","type":"bytes32"},{"internalType":"struct Commonlib.Proof","name":"paymentProof","type":"tuple","components":[{"internalType":"uint256[2]","name":"pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"pC","type":"uint256[2]"}]},{"internalType":"address","name":"assetCounterparty","type":"address"},{"internalType":"uint256","name":"assetInput","type":"uint256"},{"internalType":"uint256","name":"assetOutput","type":"uint256"},{"internalType":"bytes32","name":"assetProofHash","type":"bytes32"},{"internalType":"struct Commonlib.Proof","name":"assetProof","type":"tuple","components":[{"internalType":"uint256[2]","name":"pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"pC","type":"uint256[2]"}]}],"indexed":false}],"type":"event","name":"TradeInitiated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tradeId","type":"uint256"},{"internalType":"uint256[2]","name":"paymentInputs","type":"uint256[2]"},{"internalType":"uint256[2]","name":"paymentOutputs","type":"uint256[2]"},{"internalType":"bytes32","name":"paymentProofHash","type":"bytes32"},{"internalType":"uint256","name":"assetInput","type":"uint256"},{"internalType":"uint256","name":"assetOutput","type":"uint256"},{"internalType":"bytes32","name":"assetProofHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptTrade"},{"inputs":[{"internalType":"uint256","name":"tradeId","type":"uint256"},{"internalType":"struct Commonlib.Proof","name":"proof","type":"tuple","components":[{"internalType":"uint256[2]","name":"pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"pC","type":"uint256[2]"}]}],"stateMutability":"nonpayable","type":"function","name":"completeTrade"},{"inputs":[{"internalType":"uint256[2]","name":"paymentInputs","type":"uint256[2]"},{"internalType":"uint256[2]","name":"paymentOutputs","type":"uint256[2]"},{"internalType":"bytes32","name":"paymentProofHash","type":"bytes32"},{"internalType":"uint256","name":"assetInput","type":"uint256"},{"internalType":"uint256","name":"assetOutput","type":"uint256"},{"internalType":"bytes32","name":"assetProofHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"initiateTrade"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@iden3/=node_modules/@iden3/","@openzeppelin/=node_modules/@openzeppelin/","eth-gas-reporter/=node_modules/eth-gas-reporter/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/"],"optimizer":{"enabled":true,"runs":10000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/zkDvP.sol":"zkDvP"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/lib/common.sol":{"keccak256":"0x41a6c108b95ddee950755303e6e59bceca9c55d518cc7e4ca6e8f5badfe490cb","urls":["bzz-raw://c6865168ec6355ee85c6ce11d17c7c1bc57baec729de7cdbb9d6e8d860f70957","dweb:/ipfs/QmXysx5oVKrSzoAvhzQCQs5bx1p5T5LeuJW6DtvgT7pXnV"],"license":"Apache-2.0"},"contracts/lib/interfaces/izeto.sol":{"keccak256":"0xeaec7f7b46d7b10febc04733f82917fa5a2e991ab7d4dd1df5aa5eef4f8ef5a5","urls":["bzz-raw://1dadf25079f120d3291a1c1ad0c6d07921228f85e2544a600c7644ce8e0ea5de","dweb:/ipfs/Qmas9LQQLMqYD8F6wx4htyCBdGn2csXdtHk1iKboQLw81e"],"license":"Apache-2.0"},"contracts/lib/interfaces/izeto_base.sol":{"keccak256":"0x6829d76623badc1a0acd73795c7cefbcacf786429cd0d12444d07a1e0c940cb9","urls":["bzz-raw://6af5c33bf1664f565ab34aadf603fc8c0713551e0413284f09069db2e12ad152","dweb:/ipfs/QmfCHhUyz5B4uhEBLXkKFRLUz61Pn6PaX9Pfwjo27jFyVN"],"license":"Apache-2.0"},"contracts/lib/registry.sol":{"keccak256":"0x040b7a4e1e0f7ca22e59e8be24548afd1ed1322a5acdd18193d4cf5e98d8c7de","urls":["bzz-raw://b0c617332af5e0a0fb92d8492b1472a59c735bb4d6f0d56be43a58e3bd36791c","dweb:/ipfs/Qme1FSyTGwvrdAQ82m9SoPXWeLgnaQECBU9xfGSR5zkGS6"],"license":"Apache-2.0"},"contracts/lib/verifier_anon.sol":{"keccak256":"0x7eb8c9179b20f6c88aca7505f0b2d395aabd08660347e5d6fee956580e588793","urls":["bzz-raw://5cd964f95a4ad14e728de3d0371f8aecec16cb5f80641de5f3817b18d85d8666","dweb:/ipfs/QmehamXjdrdeCuem5xUjDakRvc3bpGjzpPQmtiTrUFPtNV"],"license":"GPL-3.0"},"contracts/lib/verifier_anon_batch.sol":{"keccak256":"0xc94a57d08ee903d7beecf820f4a51b1a207968070b54578858d616170a866c7f","urls":["bzz-raw://dd58985d0781aa73f2e672086d4113e18a016bc01bd368640481111d9bdaa227","dweb:/ipfs/QmaLKHmHE2oEAFdJn6F4cAXAyiS3yKTMijTsVVZeLChqe9"],"license":"GPL-3.0"},"contracts/lib/verifier_check_hashes_value.sol":{"keccak256":"0x26fe5872592dd81fce74ba053455b6fc0d4d3f61eb49b089fea3977da5592520","urls":["bzz-raw://64b6b7225355b6d39b4daec59248ccbbdfd38cfdd47ed864f46ba85d6370d9ca","dweb:/ipfs/QmdFGUMMeGKmHRBrvzHjm2xf4v7shmpsp91CsHXytLLVXz"],"license":"GPL-3.0"},"contracts/lib/verifier_check_inputs_outputs_value.sol":{"keccak256":"0x1abdb4c8072d27cfec159adb4427fe5f1a3a4c70f044df2e6dba06f422f9c4af","urls":["bzz-raw://ebdbbf40048c4c356828a3bc68c54b1ce4e0fff8448929ccada9ebd87a625762","dweb:/ipfs/QmU8vYXXQCGdKti4DXKA3FmRChUptMgdfQ2Qc1kEbjPWC2"],"license":"GPL-3.0"},"contracts/lib/verifier_check_inputs_outputs_value_batch.sol":{"keccak256":"0x027b20dcdccd05a149e34d7a9b6ffb31f0c936835eca8d358ebe26d656d21e40","urls":["bzz-raw://d43a28950016eb7030f9089b785b8fbf3dabc4f7bc5ccdbacf411b09658ed375","dweb:/ipfs/QmPgPbZ8eDM1xAqnSaquWvrA1YoLXm7kZQGn9soWhweyaL"],"license":"GPL-3.0"},"contracts/lib/verifier_check_nullifier_value.sol":{"keccak256":"0x3c0a37c3b844cc95ff55441db084dc6c0d747537676d6327e6c8bddf538ad447","urls":["bzz-raw://ee1d06a4788a884448806882828fde9f448b64e8df5842ac35cd5a0e92cb6d04","dweb:/ipfs/QmSTMaxtLJDrPBQJvbfr7n2iAKfXH1X2xEHUj8iH9omf1w"],"license":"GPL-3.0"},"contracts/lib/verifier_nf_anon.sol":{"keccak256":"0x3a341d24f5375dc917de10801b85c7e1bddeb8b9e12cdf0326eef4c65d28a360","urls":["bzz-raw://eb3a21805bb62ef4463abf749b20d7068eb55afe83946991da34f97632fc83b9","dweb:/ipfs/QmZA7vCWxxK2SzZ5gA6ULYx24Ce4BbdujSNLD6TNcLzmao"],"license":"GPL-3.0"},"contracts/lib/zeto_base.sol":{"keccak256":"0x6fe6a825418f12be3c9f7840609224cc4f12d7231cecf7847754e932e06fd8dd","urls":["bzz-raw://b17069e63759396d940e6969d431fc3360cd718af67940fee1d04616f5d9e906","dweb:/ipfs/QmNqz7Tj3VmcAxdWCNMKceHcJzi7dSv4QSCz8dXYo4WfhD"],"license":"Apache-2.0"},"contracts/lib/zeto_common.sol":{"keccak256":"0xbf5b94d9177dc9b3d59a95b7424a20bb1869dfb7df948053b4b59d75495da6ae","urls":["bzz-raw://e845a92c277c61f4374f04333e31cac9dc1cba5e36913f78ecc72eb74ec7ddc8","dweb:/ipfs/QmPyyEzEy4q9wcff9d65yD3pmZHCxXRTYEHHjcGCSwcztf"],"license":"Apache-2.0"},"contracts/lib/zeto_fungible.sol":{"keccak256":"0xea8b1e381a2a71f93f502980a2d15f828c4e0577f5b55ccb19e5643368e613bc","urls":["bzz-raw://6fb967615097e25885cc44d22487b368f7435b5bd0f46417f8e4038bcd984ebd","dweb:/ipfs/QmSdRLMf81HcyvTgU3cgw9nxvkjxVJGkYmAbdWQ2CDebYg"],"license":"Apache-2.0"},"contracts/lib/zeto_fungible_withdraw.sol":{"keccak256":"0xf98eff66bad224899806f490220d78152df2dec6f24da528a53910a14de44571","urls":["bzz-raw://abecdfe278f8b02d727e51b54590a0ec3a659ff9a05271a2472e27ebd4148160","dweb:/ipfs/QmdxXVvfHnh27fKVRfQU2tnSYhgs9RtL4JjUbrsLhQEk4a"],"license":"Apache-2.0"},"contracts/zeto_anon.sol":{"keccak256":"0xaec8dbd6866ee07c979a4f4e39f212efd9024619ed64cf861af73ea10892048f","urls":["bzz-raw://205053138d2b103d200decd92876fa3321a66a4fa0eb1b65e80865090908a42b","dweb:/ipfs/Qmdwi5nU91K5cv54vGDj73y3ZM5bw54aQg6NHswt3UpRNG"],"license":"Apache-2.0"},"contracts/zeto_nf_anon.sol":{"keccak256":"0x4085d010d905030c18101b2c7207f7c0aa9adcf960a0e472adf3120893553791","urls":["bzz-raw://962757c371855e759b86b552ebfcd4adafa9cd2bef725158002d58a599019446","dweb:/ipfs/QmcqE5WiUzZUx5E3wRqpvRBVgskgjTp4dpDZkUioPo5Hvz"],"license":"Apache-2.0"},"contracts/zkDvP.sol":{"keccak256":"0xee22623dd896dd502d656806e3ed522afd5088db70d4cee93f254de9e818b74d","urls":["bzz-raw://3375c86d413f23172cfe42a852240141439e51e019131b54809d70db63b30d06","dweb:/ipfs/QmbdyxRLDbyFejntsGTc9fSQNRf26vm7uX7aq8qm6rwENZ"],"license":"Apache-2.0"},"node_modules/@iden3/contracts/lib/ArrayUtils.sol":{"keccak256":"0x7c5e3f9c56e8e80811db1f1336a1e37c657947f44687451e5a1d6bd12e9e6141","urls":["bzz-raw://c9497d8d8fe9fc2b2c9d61bbdfa5a4eb881ddf8948bbc099024e5026fadd6846","dweb:/ipfs/Qmczkk8FLcxpM91ZAWpixowBEdq64YVLke3ZqVDt3NkYiT"],"license":"GPL-3.0"},"node_modules/@iden3/contracts/lib/Poseidon.sol":{"keccak256":"0x1776fa64b19c5e2f42d1449537ea5e911d7f067ee5d0409ca7daf7319853381f","urls":["bzz-raw://516c8ae954d17c4c5e4366249b93e85660f5887640c8141c6912831a42b89539","dweb:/ipfs/QmVMZW5sFUmb3Bgypmfn19z1cNUWhubYXWFthbFruopZNc"],"license":"GPL-3.0"},"node_modules/@iden3/contracts/lib/SmtLib.sol":{"keccak256":"0x9c67be9b7d045ded48a63bd827a5bdc3f2255c68f9640bae41eef074640f1779","urls":["bzz-raw://1f2b2452120f5b2b2c5589fcf58183f7d800d3f8a2c202ebdc3b69815bcfb2aa","dweb:/ipfs/QmbnvLnfJaKL3eqt1CfXofsiLJ7G3nYTawUEqGpCazWbrQ"],"license":"GPL-3.0"},"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05","urls":["bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08","dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63","urls":["bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec","dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898","urls":["bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70","dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c","urls":["bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e","dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Arrays.sol":{"keccak256":"0x55a4fdb408e3db950b48f4a6131e538980be8c5f48ee59829d92d66477140cd6","urls":["bzz-raw://3e1ad251e692822ce1494135a4ecb5b97c19b90aa82418fd2959ce32017953fd","dweb:/ipfs/QmT6N7mf6heZYhY2BAQ5kwZp9o3SXzGVdkMqUszx67WRDN"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Comparators.sol":{"keccak256":"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58","urls":["bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd","dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/SlotDerivation.sol":{"keccak256":"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26","urls":["bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2","dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6","urls":["bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3","dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"}},"version":1},"id":45}