evmlib 0.8.1

Safe Network EVM
Documentation
1
{"abi":[{"type":"constructor","inputs":[{"name":"_antToken","type":"address","internalType":"contract IERC20"},{"name":"_batchLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"CANDIDATES_PER_POOL","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"MAX_MERKLE_DEPTH","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"antToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"batchLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"completedMerklePayments","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"depth","type":"uint8","internalType":"uint8"},{"name":"merklePaymentTimestamp","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"completedPayments","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"rewardsAddress","type":"bytes16","internalType":"bytes16"},{"name":"amount","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"getCompletedMerklePayment","inputs":[{"name":"winnerHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CompletedMerklePayment","components":[{"name":"depth","type":"uint8","internalType":"uint8"},{"name":"merklePaymentTimestamp","type":"uint64","internalType":"uint64"},{"name":"paidNodeAddresses","type":"tuple[]","internalType":"struct PaidNode[]","components":[{"name":"rewardsAddress","type":"address","internalType":"address"},{"name":"poolIndex","type":"uint8","internalType":"uint8"},{"name":"amount","type":"uint256","internalType":"uint256"}]}]}],"stateMutability":"view"},{"type":"function","name":"payForMerkleTree","inputs":[{"name":"depth","type":"uint8","internalType":"uint8"},{"name":"poolCommitments","type":"tuple[]","internalType":"struct PoolCommitment[]","components":[{"name":"poolHash","type":"bytes32","internalType":"bytes32"},{"name":"candidates","type":"tuple[16]","internalType":"struct CandidateNode[16]","components":[{"name":"rewardsAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}]},{"name":"merklePaymentTimestamp","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"winnerPoolHash","type":"bytes32","internalType":"bytes32"},{"name":"totalAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"payForQuotes","inputs":[{"name":"_payments","type":"tuple[]","internalType":"struct DataPayment[]","components":[{"name":"rewardsAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"quoteHash","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"verifyPayment","inputs":[{"name":"_payments","type":"tuple[]","internalType":"struct DataPayment[]","components":[{"name":"rewardsAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"quoteHash","type":"bytes32","internalType":"bytes32"}]}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PaymentVerificationResult[]","components":[{"name":"quoteHash","type":"bytes32","internalType":"bytes32"},{"name":"amountPaid","type":"uint256","internalType":"uint256"},{"name":"isValid","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"event","name":"DataPaymentMade","inputs":[{"name":"rewardsAddress","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"quoteHash","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"MerklePaymentMade","inputs":[{"name":"winnerPoolHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"depth","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"totalAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"merklePaymentTimestamp","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"AntTokenNull","inputs":[]},{"type":"error","name":"BatchLimitExceeded","inputs":[]},{"type":"error","name":"DepthTooLarge","inputs":[{"name":"depth","type":"uint8","internalType":"uint8"},{"name":"maxDepth","type":"uint8","internalType":"uint8"}]},{"type":"error","name":"InvalidInputLength","inputs":[]},{"type":"error","name":"PaymentAlreadyExists","inputs":[{"name":"winnerPoolHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"WrongPoolCount","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x608034608c57601f61100638819003918201601f19168301916001600160401b038311848410176090578084926040948552833981010312608c5780516001600160a01b0381169190829003608c5760200151908015607d575f80546001600160a01b031916919091179055600155604051610f6190816100a58239f35b632d06160b60e21b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c908163043b758714610c5557508063137978c314610c3a5780633499016514610ad0578063474740b114610ab35780634ec42e8e14610a8c5780635460f2401461040f5780635d847f0d14610248578063b6c2141b14610109578063cf41319f146100cc5763fe3c806e1461008a575f80fd5b346100c85760203660031901126100c8576004355f5260026020526040805f20548151906001600160801b03198160801b16825260801c6020820152f35b5f80fd5b346100c85760203660031901126100c8576004355f5260036020526040805f20546001600160401b0382519160ff8116835260081c166020820152f35b346100c85761011736610c6e565b6001548111610239575f5b81811061012b57005b806101396001928486610d85565b604081013590811561020f57838060a01b035f54169061016b61015b82610d95565b9260208301359384913390610e99565b61018761017782610d95565b60601b6001600160801b03191690565b6040519061019482610cdb565b6001600160801b0319168152602081016001600160801b0384168152845f52600260205260405f20915160801c906001600160801b0319905160801b161790556101e3858060a01b0391610d95565b167ff998960b1c6f0e0e89b7bbe6b6fbf3e03e6f08eee5b8430877d8adb8e149d5805f80a45b01610122565b6102349150838060a01b035f541690602061022982610d95565b910135913390610e99565b610209565b630d67f41160e21b5f5260045ffd5b346100c85761025636610c6e565b9061026082610d17565b9161026e6040519384610cf6565b808352601f1961027d82610d17565b015f5b8181106103f85750505f5b8181106102f057836040518091602082016020835281518091526020604084019201905f5b8181106102be575050500390f35b9193509160206060600192604087518051835284810151858401520151151560408201520194019101918493926102b0565b6102fb818385610d85565b906060823603126100c85760405160019261031582610cc0565b61031e81610d2e565b82526020604081840192828101358452013560408401908082525f526002825260405f20936040519461035086610cdb565b54946001600160801b03198660801b169586825260801c938491015282151593846103ed575b505160a087901b87900316606081901b6001600160801b03191690941493846103e3575b505192826103db575b50604051926103b184610cc0565b83526020830152151560408201526103c98287610d71565b526103d48186610d71565b500161028b565b9150886103a3565b151593508961039a565b51831493508a610376565b602090610403610d53565b82828801015201610280565b346100c85760603660031901126100c85760043560ff81168091036100c857602435906001600160401b0382116100c857366023830112156100c8578160040135916001600160401b0383116100c8573660246104208502830101116100c857604435926001600160401b038416918285036100c857600c8411610a74576001840160ff811161075657607f600191821c161b808303610a5d575060405191602083014481524260408501523360601b60608501526001600160401b0360c01b8760c01b1693846074820152605c81526104ea607c82610cf6565b519020811561076a578190069081101561077e57610420020161042060231982360301126100c8576040519361051f85610cdb565b60248201358552366063830112156100c85761020094604051926105438785610cf6565b83906104448101903682116100c857604401915b818310610a2557505050602081019283525191825f52600360205260ff60405f205416610a125760405161058b8782610cf6565b863682375f5b601081106109ee57506105a390610da9565b9283831b938085046001851b1490151715610756576105c183610d17565b946105cf6040519687610cf6565b838652601f196105de85610d17565b013660208801376040519788018881106001600160401b03821117610953576040525f885260016020890152600260408901526003606089015260046080890152600560a0890152600660c0890152600760e089015260086101008901526009610120890152600a610140890152600b610160890152600c610180890152600d6101a0890152600e6101c0890152600f6101e08901526040516020810191448352836040830152606082015260488152610699606882610cf6565b519020935f935f5b60ff811690828210156107b957602060ff881614610792575b60ff871660ff8114610756576001019660ff16602081101561077e578260100360ff81116107565760ff16801561076a578960ff921a061682019060ff8211610756578261074e60ff6107458f96829783600198168461071a8284610d42565b5116906107348661072b8686610d42565b51169184610d42565b5261073f8383610d42565b52610d42565b5116918c610d71565b5201166106a1565b634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b95509560405160208101918252602081526107ae604082610cf6565b519020955f956106ba565b50505f838152600360205260409020805468ffffffffffffffffff1916821760088c901b68ffffffffffffffff00161781558890886107f784610d17565b966108056040519889610cf6565b848852601f1961081486610d17565b015f5b8181106109d7575050841561076a578486045f5b868110610967575050505060010194805190680100000000000000008211610953578654828855808310610901575b50602001955f5260205f20955f905b8282106108b65760408787817f89f0ad3859fec321e325bcc553fe234bcad374789a86f7ba932067f3f05affec60608a8a875191825285602083015287820152a282519182526020820152f35b6002602082604060019451858060a01b038151168d549060ff60a01b8684015160a01b16916affffffffffffffffffffff60a81b1617178d550151848c015501980191019096610869565b6001600160ff1b0381168103610756576001600160ff1b038316830361075657875f5260205f209060011b8101908360011b015b818110610942575061085a565b5f8082556001820155600201610935565b634e487b7160e01b5f52604160045260245ffd5b8060ff61097660019387610d71565b5116828060a01b03610989828751610d42565b515116906109a1858333878060a01b035f5416610e99565b604051916109ae83610cc0565b825260208201528360408201526109c5828d610d71565b526109d0818c610d71565b500161082b565b6020906109e2610d53565b82828d01015201610817565b8060206109fe6001938651610d42565b510151610a0b8285610d42565b5201610591565b82639d8c19ed60e01b5f5260045260245ffd5b6040833603126100c85760206040918251610a3f81610cdb565b610a4886610d2e565b81528286013583820152815201920191610557565b90506347fe11b560e11b5f5260045260245260445ffd5b8363164b5f0360e11b5f52600452600c60245260445ffd5b346100c8575f3660031901126100c8575f546040516001600160a01b039091168152602090f35b346100c8575f3660031901126100c8576020600154604051908152f35b346100c85760203660031901126100c857606060408051610af081610cc0565b5f81525f602082015201526004355f52600360205260405f20604051610b1581610cc0565b600182549260ff841683526001600160401b03602084019460081c168452018054610b3f81610d17565b91610b4d6040519384610cf6565b81835260208301905f5260205f205f915b838310610bfa576001600160401b03878787604082019081526040519384936020855260ff6080860194511660208601525116604084015251906060808401528151809152602060a084019201905f5b818110610bbc575050500390f35b825180516001600160a01b0316855260208181015160ff16818701526040918201519186019190915286955060609094019390920191600101610bae565b60026020600192604051610c0d81610cc0565b60ff8654868060a01b038116835260a01c1683820152848601546040820152815201920192019190610b5e565b346100c8575f3660031901126100c857602060405160108152f35b346100c8575f3660031901126100c85780600c60209252f35b9060206003198301126100c8576004356001600160401b0381116100c857826023820112156100c8578060040135926001600160401b0384116100c857602460608502830101116100c8576024019190565b606081019081106001600160401b0382111761095357604052565b604081019081106001600160401b0382111761095357604052565b90601f801991011681019081106001600160401b0382111761095357604052565b6001600160401b0381116109535760051b60200190565b35906001600160a01b03821682036100c857565b90601081101561077e5760051b0190565b60405190610d6082610cc0565b5f6040838281528260208201520152565b805182101561077e5760209160051b010190565b919081101561077e576060020190565b356001600160a01b03811681036100c85790565b5f91600f5b80840180851161075657610dc59060011c84610d42565b51908481925b83821115610e06575060088310610de6575050915b91610dae565b93945092905060088111610dfa5792610de0565b50916101009150015190565b9590949392945b86610e188287610d42565b511015610e2f575f19811461075657600101610e0d565b93945b610e3c8187610d42565b51871015610e52578015610756575f1901610e32565b92939095838211610dcb579290600190610e6c8388610d42565b51610e778289610d42565b51610e82858a610d42565b52610e8d8289610d42565b5201905f190192610dcb565b6040516323b872dd60e01b5f9081526001600160a01b039384166004529290931660245260449390935260209060648180865af19060015f5114821615610f0a575b6040525f60605215610eea5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b906001811516610f2257823b15153d15161690610edb565b503d5f823e3d90fdfea264697066735822122054b1373b8865f9c6b0d3e14bb23c75fd8f64edf19fa31761ba2b60cd5867526664736f6c634300081c0033","sourceMap":"721:6063:2:-:0;;;;;;;;;;;;;-1:-1:-1;;721:6063:2;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;1313:32;;;1309:84;;-1:-1:-1;721:6063:2;;-1:-1:-1;;;;;;721:6063:2;;;;;;;;;;;;;;;;;;1309:84;1368:14;;;-1:-1:-1;1368:14:2;;-1:-1:-1;1368:14:2;721:6063;-1:-1:-1;721:6063:2;;;;;;-1:-1:-1;721:6063:2;;;;;-1:-1:-1;721:6063:2","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c908163043b758714610c5557508063137978c314610c3a5780633499016514610ad0578063474740b114610ab35780634ec42e8e14610a8c5780635460f2401461040f5780635d847f0d14610248578063b6c2141b14610109578063cf41319f146100cc5763fe3c806e1461008a575f80fd5b346100c85760203660031901126100c8576004355f5260026020526040805f20548151906001600160801b03198160801b16825260801c6020820152f35b5f80fd5b346100c85760203660031901126100c8576004355f5260036020526040805f20546001600160401b0382519160ff8116835260081c166020820152f35b346100c85761011736610c6e565b6001548111610239575f5b81811061012b57005b806101396001928486610d85565b604081013590811561020f57838060a01b035f54169061016b61015b82610d95565b9260208301359384913390610e99565b61018761017782610d95565b60601b6001600160801b03191690565b6040519061019482610cdb565b6001600160801b0319168152602081016001600160801b0384168152845f52600260205260405f20915160801c906001600160801b0319905160801b161790556101e3858060a01b0391610d95565b167ff998960b1c6f0e0e89b7bbe6b6fbf3e03e6f08eee5b8430877d8adb8e149d5805f80a45b01610122565b6102349150838060a01b035f541690602061022982610d95565b910135913390610e99565b610209565b630d67f41160e21b5f5260045ffd5b346100c85761025636610c6e565b9061026082610d17565b9161026e6040519384610cf6565b808352601f1961027d82610d17565b015f5b8181106103f85750505f5b8181106102f057836040518091602082016020835281518091526020604084019201905f5b8181106102be575050500390f35b9193509160206060600192604087518051835284810151858401520151151560408201520194019101918493926102b0565b6102fb818385610d85565b906060823603126100c85760405160019261031582610cc0565b61031e81610d2e565b82526020604081840192828101358452013560408401908082525f526002825260405f20936040519461035086610cdb565b54946001600160801b03198660801b169586825260801c938491015282151593846103ed575b505160a087901b87900316606081901b6001600160801b03191690941493846103e3575b505192826103db575b50604051926103b184610cc0565b83526020830152151560408201526103c98287610d71565b526103d48186610d71565b500161028b565b9150886103a3565b151593508961039a565b51831493508a610376565b602090610403610d53565b82828801015201610280565b346100c85760603660031901126100c85760043560ff81168091036100c857602435906001600160401b0382116100c857366023830112156100c8578160040135916001600160401b0383116100c8573660246104208502830101116100c857604435926001600160401b038416918285036100c857600c8411610a74576001840160ff811161075657607f600191821c161b808303610a5d575060405191602083014481524260408501523360601b60608501526001600160401b0360c01b8760c01b1693846074820152605c81526104ea607c82610cf6565b519020811561076a578190069081101561077e57610420020161042060231982360301126100c8576040519361051f85610cdb565b60248201358552366063830112156100c85761020094604051926105438785610cf6565b83906104448101903682116100c857604401915b818310610a2557505050602081019283525191825f52600360205260ff60405f205416610a125760405161058b8782610cf6565b863682375f5b601081106109ee57506105a390610da9565b9283831b938085046001851b1490151715610756576105c183610d17565b946105cf6040519687610cf6565b838652601f196105de85610d17565b013660208801376040519788018881106001600160401b03821117610953576040525f885260016020890152600260408901526003606089015260046080890152600560a0890152600660c0890152600760e089015260086101008901526009610120890152600a610140890152600b610160890152600c610180890152600d6101a0890152600e6101c0890152600f6101e08901526040516020810191448352836040830152606082015260488152610699606882610cf6565b519020935f935f5b60ff811690828210156107b957602060ff881614610792575b60ff871660ff8114610756576001019660ff16602081101561077e578260100360ff81116107565760ff16801561076a578960ff921a061682019060ff8211610756578261074e60ff6107458f96829783600198168461071a8284610d42565b5116906107348661072b8686610d42565b51169184610d42565b5261073f8383610d42565b52610d42565b5116918c610d71565b5201166106a1565b634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b95509560405160208101918252602081526107ae604082610cf6565b519020955f956106ba565b50505f838152600360205260409020805468ffffffffffffffffff1916821760088c901b68ffffffffffffffff00161781558890886107f784610d17565b966108056040519889610cf6565b848852601f1961081486610d17565b015f5b8181106109d7575050841561076a578486045f5b868110610967575050505060010194805190680100000000000000008211610953578654828855808310610901575b50602001955f5260205f20955f905b8282106108b65760408787817f89f0ad3859fec321e325bcc553fe234bcad374789a86f7ba932067f3f05affec60608a8a875191825285602083015287820152a282519182526020820152f35b6002602082604060019451858060a01b038151168d549060ff60a01b8684015160a01b16916affffffffffffffffffffff60a81b1617178d550151848c015501980191019096610869565b6001600160ff1b0381168103610756576001600160ff1b038316830361075657875f5260205f209060011b8101908360011b015b818110610942575061085a565b5f8082556001820155600201610935565b634e487b7160e01b5f52604160045260245ffd5b8060ff61097660019387610d71565b5116828060a01b03610989828751610d42565b515116906109a1858333878060a01b035f5416610e99565b604051916109ae83610cc0565b825260208201528360408201526109c5828d610d71565b526109d0818c610d71565b500161082b565b6020906109e2610d53565b82828d01015201610817565b8060206109fe6001938651610d42565b510151610a0b8285610d42565b5201610591565b82639d8c19ed60e01b5f5260045260245ffd5b6040833603126100c85760206040918251610a3f81610cdb565b610a4886610d2e565b81528286013583820152815201920191610557565b90506347fe11b560e11b5f5260045260245260445ffd5b8363164b5f0360e11b5f52600452600c60245260445ffd5b346100c8575f3660031901126100c8575f546040516001600160a01b039091168152602090f35b346100c8575f3660031901126100c8576020600154604051908152f35b346100c85760203660031901126100c857606060408051610af081610cc0565b5f81525f602082015201526004355f52600360205260405f20604051610b1581610cc0565b600182549260ff841683526001600160401b03602084019460081c168452018054610b3f81610d17565b91610b4d6040519384610cf6565b81835260208301905f5260205f205f915b838310610bfa576001600160401b03878787604082019081526040519384936020855260ff6080860194511660208601525116604084015251906060808401528151809152602060a084019201905f5b818110610bbc575050500390f35b825180516001600160a01b0316855260208181015160ff16818701526040918201519186019190915286955060609094019390920191600101610bae565b60026020600192604051610c0d81610cc0565b60ff8654868060a01b038116835260a01c1683820152848601546040820152815201920192019190610b5e565b346100c8575f3660031901126100c857602060405160108152f35b346100c8575f3660031901126100c85780600c60209252f35b9060206003198301126100c8576004356001600160401b0381116100c857826023820112156100c8578060040135926001600160401b0384116100c857602460608502830101116100c8576024019190565b606081019081106001600160401b0382111761095357604052565b604081019081106001600160401b0382111761095357604052565b90601f801991011681019081106001600160401b0382111761095357604052565b6001600160401b0381116109535760051b60200190565b35906001600160a01b03821682036100c857565b90601081101561077e5760051b0190565b60405190610d6082610cc0565b5f6040838281528260208201520152565b805182101561077e5760209160051b010190565b919081101561077e576060020190565b356001600160a01b03811681036100c85790565b5f91600f5b80840180851161075657610dc59060011c84610d42565b51908481925b83821115610e06575060088310610de6575050915b91610dae565b93945092905060088111610dfa5792610de0565b50916101009150015190565b9590949392945b86610e188287610d42565b511015610e2f575f19811461075657600101610e0d565b93945b610e3c8187610d42565b51871015610e52578015610756575f1901610e32565b92939095838211610dcb579290600190610e6c8388610d42565b51610e778289610d42565b51610e82858a610d42565b52610e8d8289610d42565b5201905f190192610dcb565b6040516323b872dd60e01b5f9081526001600160a01b039384166004529290931660245260449390935260209060648180865af19060015f5114821615610f0a575b6040525f60605215610eea5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b906001811516610f2257823b15153d15161690610edb565b503d5f823e3d90fdfea264697066735822122054b1373b8865f9c6b0d3e14bb23c75fd8f64edf19fa31761ba2b60cd5867526664736f6c634300081c0033","sourceMap":"721:6063:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;721:6063:2;;;;;;;;864:61;721:6063;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;721:6063:2;;;;;;;;975:73;721:6063;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4330:10;721:6063;4316:24;;4312:82;;721:6063;4424:15;;;;;;721:6063;4441:3;4495:12;;4330:10;4495:12;;;;:::i;:::-;721:6063;4526:21;;721:6063;4526:35;;;4522:263;;721:6063;;;;;;;;4870:26;4914:18;4870:26;;;:::i;:::-;4914:18;;;;721:6063;4842:10;;;;4914:18;;:::i;:::-;5055:43;5071:26;;;:::i;:::-;721:6063;;-1:-1:-1;;;;;;721:6063:2;;6650:132;5055:43;721:6063;;;;;;:::i;:::-;-1:-1:-1;;;;;721:6063:2;;;;4914:18;5004:162;;-1:-1:-1;;;;;721:6063:2;;;;;;;4961:17;4914:18;721:6063;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;5219:26;721:6063;;;;;5219:26;;:::i;:::-;721:6063;5186:148;721:6063;5186:148;;4409:13;721:6063;4409:13;;4522:263;4708:18;721:6063;;;;;;;;;;4660:26;4914:18;4660:26;;;:::i;:::-;4708:18;;721:6063;4842:10;;4708:18;;:::i;:::-;4762:8;;4312:82;4363:20;;;721:6063;4363:20;721:6063;;4363:20;721:6063;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;721:6063:2;;;:::i;:::-;;;;;;;;;5660:13;;721:6063;5675:20;;;;;;721:6063;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5697:3;5746:12;;;;;:::i;:::-;721:6063;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;5811:17;721:6063;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;;5912:23;;;5911:84;;;;5697:3;-1:-1:-1;721:6063:2;;;;;;;;;;;;;-1:-1:-1;;;;;;721:6063:2;6029:86;;;;;:145;;5697:3;721:6063;;6362:25;;;;5697:3;721:6063;;;;;;;:::i;:::-;;;;6214:188;;721:6063;;;;6214:188;;721:6063;6189:213;;;;:::i;:::-;;;;;;:::i;:::-;;721:6063;5660:13;;6362:25;;-1:-1:-1;6362:25:2;;;6029:145;6136:37;;;-1:-1:-1;6029:145:2;;;5911:84;721:6063;5957:37;;;-1:-1:-1;5911:84:2;;;721:6063;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;721:6063:2;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;1140:2;1753:24;;1749:100;;267:1:1;721:6063:2;;;;;;;;267:1:1;721:6063:2;;;;;1988:39;;;1984:130;;721:6063;;;603:148:1;721:6063:2;603:148:1;;637:16;721:6063:2;;671:15:1;721:6063:2;;;;2256:10;721:6063;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;603:148:1;;;;;;;:::i;:::-;721:6063:2;580:181:1;;721:6063:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2481:23;721:6063;;;;;;;;2477:124;;721:6063;;;;;;:::i;:::-;;;;;;2683:23;721:6063;2683:23;;;;2805:33;;;;:::i;:::-;:48;721:6063;;;;;;;267:1:1;721:6063:2;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;721:6063:2;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;267:1:1;721:6063:2;1051:61:1;;721:6063:2;272:1:1;721:6063:2;1051:61:1;;721:6063:2;2481:23;721:6063;1051:61:1;;721:6063:2;;1051:61:1;;;721:6063:2;;1051:61:1;;;721:6063:2;;;1051:61:1;;721:6063:2;1079:1:1;721:6063:2;1051:61:1;;721:6063:2;1081:1:1;1051:61;;;721:6063:2;1083:1:1;1051:61;;;721:6063:2;1085:2:1;1051:61;;;721:6063:2;1088:2:1;1051:61;;;721:6063:2;1140:2;1051:61:1;;;721:6063:2;1094:2:1;1051:61;;;721:6063:2;1097:2:1;1051:61;;;721:6063:2;1100:2:1;1051:61;;;721:6063:2;;;;1161:55:1;;637:16;;721:6063:2;;;;;;;;;;;1161:55:1;;;;;;;:::i;:::-;721:6063:2;1138:88:1;;1237:19;721:6063:2;1272:11:1;721:6063:2;1296:3:1;721:6063:2;;;1285:9:1;;;;;;;721:6063:2;;;;1376:15:1;1372:125;;1296:3;721:6063:2;1584:11:1;721:6063:2;;;;;;267:1:1;721:6063:2;;;;;1579:17:1;;;;;721:6063:2;;;;;;;;;;;;;;1628:20:1;721:6063:2;1628:20:1;1579:17;721:6063:2;;;;;;;;;;;1750:23:1;721:6063:2;1763:10:1;721:6063:2;;;;;267:1:1;721:6063:2;;1712:10:1;;;;;:::i;:::-;721:6063:2;;1724:10:1;1684:51;1724:10;;;;;:::i;:::-;721:6063:2;;1684:51:1;;;:::i;:::-;721:6063:2;1684:51:1;;;;:::i;:::-;721:6063:2;1763:10:1;:::i;:::-;721:6063:2;;1750:23:1;;;:::i;:::-;721:6063:2;;;1272:11:1;;721:6063:2;;;;;;;;;;;;;;;;;;;;;;;;1579:17:1;721:6063:2;;;;;;;;;;;1372:125:1;721:6063:2;;;;;;1428:22:1;;721:6063:2;;;;1428:22:1;;;721:6063:2;1428:22:1;;:::i;:::-;721:6063:2;1418:33:1;;1469:13;721:6063:2;1372:125:1;;;1285:9;-1:-1:-1;;721:6063:2;;;;2481:23;721:6063;;;;;;;-1:-1:-1;;721:6063:2;;;1081:1:1;721:6063:2;;;;;;;;1285:9:1;;;721:6063:2;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;721:6063:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3426:9;;;;;;3946:22;;;;267:1:1;3946:22:2;721:6063;;;;;;;;;;;;;;;;;;;3406:530;721:6063;;;;;;;;;;;;;;;;;;;;;;3993:135;721:6063;;;;;;;;;;;;;;;;;3993:135;721:6063;;;;;;;;;;;272:1:1;721:6063:2;;;267:1:1;721:6063:2;;;;;;;;;;;;;;;;;;;;1051:61:1;721:6063:2;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;267:1:1;721:6063:2;;;;;267:1:1;721:6063:2;;;;;;;;;;;;;;;;267:1:1;721:6063:2;;;272:1:1;721:6063:2;;;;;;;;;;;;;;;3437:3;3472:16;721:6063;3472:16;267:1:1;3472:16:2;;;:::i;:::-;721:6063;;;;;;;3527:47;:38;;;:47;:::i;:::-;;721:6063;;2256:10;3724:13;2256:10;;;721:6063;;;;;;;;3724:13;:::i;:::-;721:6063;;;;;;:::i;:::-;;;;3778:147;;721:6063;3778:147;721:6063;3778:147;;721:6063;3766:159;;;;:::i;:::-;;;;;;:::i;:::-;;721:6063;3411:13;;721:6063;;;;;:::i;:::-;;;;;;;;;;2708:3;2739:21;721:6063;2739:24;267:1:1;2739:21:2;;;:24;:::i;:::-;;:31;721:6063;2727:43;;;;:::i;:::-;721:6063;;2668:13;;2477:124;2554:36;;;;721:6063;2554:36;721:6063;;;;2554:36;721:6063;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1984:130;2050:53;;;;;721:6063;2050:53;721:6063;;;;;;2050:53;1749:100;1800:38;;;;721:6063;1800:38;721:6063;;1140:2;721:6063;;;;1800:38;721:6063;;;;;;-1:-1:-1;;721:6063:2;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;-1:-1:-1;;721:6063:2;;;;;832:25;721:6063;;;;;;;;;;;;;-1:-1:-1;;721:6063:2;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6602:23;721:6063;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;721:6063:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;721:6063:2;;;;;;;1239:2;721:6063;;;;;;;;;-1:-1:-1;;721:6063:2;;;;;1140:2;721:6063;;;;;;;-1:-1:-1;;721:6063:2;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;:::o;:::-;;;603:148:1;;721:6063:2;;;;;;;;-1:-1:-1;;;;;721:6063:2;;;;;;;:::o;:::-;-1:-1:-1;;;;;721:6063:2;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;721:6063:2;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;721:6063:2;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;;;;721:6063:2;;;;;;;:::o;1821:950:1:-;721:6063:2;1929:18:1;1945:2;2033:714;721:6063:2;;;;;;;;2076:22:1;721:6063:2;2040:4:1;721:6063:2;2076:22:1;;:::i;:::-;721:6063:2;2112:16:1;;2142:17;2199:325;2206:6;;;;;;;-1:-1:-1;1989:1:1;2578:6;-1:-1:-1;2578:6:1;;2604:9;;2574:163;;2033:714;;;2574:163;2638:6;;-1:-1:-1;2638:6:1;;-1:-1:-1;1989:1:1;2638:6;;1989:1;;2634:103;2574:163;;2634:103;721:6063:2;;;;;;;2711:11:1;:::o;2199:325::-;2232:24;;;;;;;2239:4;;;;;:::i;:::-;721:6063:2;2239:12:1;;;;-1:-1:-1;;721:6063:2;;;;2040:4:1;721:6063:2;2232:24:1;;2239:12;;;2275:24;2290:4;;;;:::i;:::-;721:6063:2;2282:12:1;;;;;721:6063:2;;;;-1:-1:-1;;721:6063:2;2275:24:1;;2282:12;;;;;2322:6;;;2199:325;2318:192;2368:4;;2040;2368;;;;;:::i;:::-;721:6063:2;2374:4:1;;;;:::i;:::-;721:6063:2;2352:27:1;;;;:::i;:::-;721:6063:2;2352:27:1;;;;:::i;:::-;721:6063:2;;;;;;2318:192:1;2199:325;;1662:232:8;10404:1148;;-1:-1:-1;;;;10404:1148:8;;;-1:-1:-1;;;;;10404:1148:8;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1662:232:8;10404:1148;;;1809:4;-1:-1:-1;10404:1148:8;;;;;;;1662:232;10404:1148;;-1:-1:-1;10404:1148:8;;1766:48;1762:126;;1662:232;:::o;1762:126::-;-1:-1:-1;;;;1837:40:8;;;-1:-1:-1;;;;;721:6063:2;;;;10404:1148:8;721:6063:2;10404:1148:8;;1837:40;10404:1148;;1809:4;10404:1148;;;;;;;;;;;;;;;;;;;-1:-1:-1;10404:1148:8;;;;","linkReferences":{}},"methodIdentifiers":{"CANDIDATES_PER_POOL()":"137978c3","MAX_MERKLE_DEPTH()":"043b7587","antToken()":"4ec42e8e","batchLimit()":"474740b1","completedMerklePayments(bytes32)":"cf41319f","completedPayments(bytes32)":"fe3c806e","getCompletedMerklePayment(bytes32)":"34990165","payForMerkleTree(uint8,(bytes32,(address,uint256)[16])[],uint64)":"5460f240","payForQuotes((address,uint256,bytes32)[])":"b6c2141b","verifyPayment((address,uint256,bytes32)[])":"5d847f0d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"_antToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_batchLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AntTokenNull\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BatchLimitExceeded\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"depth\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"maxDepth\",\"type\":\"uint8\"}],\"name\":\"DepthTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInputLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"winnerPoolHash\",\"type\":\"bytes32\"}],\"name\":\"PaymentAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"WrongPoolCount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardsAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"DataPaymentMade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"winnerPoolHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"depth\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"merklePaymentTimestamp\",\"type\":\"uint64\"}],\"name\":\"MerklePaymentMade\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CANDIDATES_PER_POOL\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_MERKLE_DEPTH\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"antToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"batchLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"completedMerklePayments\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"depth\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"merklePaymentTimestamp\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"completedPayments\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"rewardsAddress\",\"type\":\"bytes16\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"winnerHash\",\"type\":\"bytes32\"}],\"name\":\"getCompletedMerklePayment\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"depth\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"merklePaymentTimestamp\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"rewardsAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"poolIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct PaidNode[]\",\"name\":\"paidNodeAddresses\",\"type\":\"tuple[]\"}],\"internalType\":\"struct CompletedMerklePayment\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"depth\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"poolHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"rewardsAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct CandidateNode[16]\",\"name\":\"candidates\",\"type\":\"tuple[16]\"}],\"internalType\":\"struct PoolCommitment[]\",\"name\":\"poolCommitments\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"merklePaymentTimestamp\",\"type\":\"uint64\"}],\"name\":\"payForMerkleTree\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"winnerPoolHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"rewardsAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"internalType\":\"struct DataPayment[]\",\"name\":\"_payments\",\"type\":\"tuple[]\"}],\"name\":\"payForQuotes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"rewardsAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"internalType\":\"struct DataPayment[]\",\"name\":\"_payments\",\"type\":\"tuple[]\"}],\"name\":\"verifyPayment\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amountPaid\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct PaymentVerificationResult[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{},\"title\":\"PaymentVaultV2\",\"version\":1},\"userdoc\":{\"events\":{\"MerklePaymentMade(bytes32,uint8,uint256,uint64)\":{\"notice\":\"Emitted when a Merkle batch payment is made\"}},\"kind\":\"user\",\"methods\":{\"CANDIDATES_PER_POOL()\":{\"notice\":\"Number of candidates per pool (fixed)\"},\"MAX_MERKLE_DEPTH()\":{\"notice\":\"Maximum supported Merkle tree depth\"}},\"notice\":\"Unified payment vault for both single-node and merkle batch payments.         No proxy, no Ownable \\u2014 for local Anvil testing.         Nodes calculate their own prices as (chunks_stored / 6000)^2.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/PaymentVaultV2.sol\":\"PaymentVaultV2\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/prb-math/\",\":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\":{\"contracts/IPaymentVaultV2.sol\":{\"keccak256\":\"0x4b4246ed4f9c7cb3d484821e4f9b82acfb3f0d1e95ae3bd64790df6d8ac40863\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a5cd4ca0cde103b99f72ef27a9b5456bbd934f5ca11974cc4441328b1bff141\",\"dweb:/ipfs/QmfTkArPacPx5nwHS8f6ygVzDejVmzhyswteE2RupUNkS1\"]},\"contracts/MerklePaymentLib.sol\":{\"keccak256\":\"0x628a074eab87cfd7fbe2f29ff889a0fc97ee74933cd100962fde56fbefd48e83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd817a18a982efef881258a2c1d5caefcef6e5c7466e1a34c4c6698231b0eb9b\",\"dweb:/ipfs/QmbRBbYViT1TxEUnsUpoDPa1YzC57vLfDvLg9Mf95z2WjY\"]},\"contracts/PaymentVaultV2.sol\":{\"keccak256\":\"0xf93009f884aac758031cdf2d4a69caa4d6b08fcea3ab9dfc38462aed05192ce4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a0f30c2a63371353818e218e0d7482c1b0d266dc330c7510d0b95fb8b2bfc0f\",\"dweb:/ipfs/QmeH7m2A3V8Zij22UXcU4XBqAQWTJSjWx7YJpoyEuh9Xt8\"]},\"contracts/Types.sol\":{\"keccak256\":\"0xa0c0268a03fff200e31f99b3ab15dcb7dce9ad162183aaeecffad51a93ed8a43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55308d1066e4f1379e66aa23719df23ae94104a9be0383fe7dec990f00897f6d\",\"dweb:/ipfs/QmWNasx7GsPjByWjD49JdwmjnDYMoJiXEEFeekr5w1g1y6\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x304d732678032a9781ae85c8f204c8fba3d3a5e31c02616964e75cfdc5049098\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://299ced486011781dc98f638059678323c03079fefae1482abaa2135b22fa92d0\",\"dweb:/ipfs/QmbZNbcPTBxNvwChavN2kkZZs7xHhYL7mv51KrxMhsMs3j\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IERC20","name":"_antToken","type":"address"},{"internalType":"uint256","name":"_batchLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AntTokenNull"},{"inputs":[],"type":"error","name":"BatchLimitExceeded"},{"inputs":[{"internalType":"uint8","name":"depth","type":"uint8"},{"internalType":"uint8","name":"maxDepth","type":"uint8"}],"type":"error","name":"DepthTooLarge"},{"inputs":[],"type":"error","name":"InvalidInputLength"},{"inputs":[{"internalType":"bytes32","name":"winnerPoolHash","type":"bytes32"}],"type":"error","name":"PaymentAlreadyExists"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"type":"error","name":"WrongPoolCount"},{"inputs":[{"internalType":"address","name":"rewardsAddress","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"bytes32","name":"quoteHash","type":"bytes32","indexed":true}],"type":"event","name":"DataPaymentMade","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"winnerPoolHash","type":"bytes32","indexed":true},{"internalType":"uint8","name":"depth","type":"uint8","indexed":false},{"internalType":"uint256","name":"totalAmount","type":"uint256","indexed":false},{"internalType":"uint64","name":"merklePaymentTimestamp","type":"uint64","indexed":false}],"type":"event","name":"MerklePaymentMade","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CANDIDATES_PER_POOL","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_MERKLE_DEPTH","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"antToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"batchLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"completedMerklePayments","outputs":[{"internalType":"uint8","name":"depth","type":"uint8"},{"internalType":"uint64","name":"merklePaymentTimestamp","type":"uint64"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"completedPayments","outputs":[{"internalType":"bytes16","name":"rewardsAddress","type":"bytes16"},{"internalType":"uint128","name":"amount","type":"uint128"}]},{"inputs":[{"internalType":"bytes32","name":"winnerHash","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getCompletedMerklePayment","outputs":[{"internalType":"struct CompletedMerklePayment","name":"","type":"tuple","components":[{"internalType":"uint8","name":"depth","type":"uint8"},{"internalType":"uint64","name":"merklePaymentTimestamp","type":"uint64"},{"internalType":"struct PaidNode[]","name":"paidNodeAddresses","type":"tuple[]","components":[{"internalType":"address","name":"rewardsAddress","type":"address"},{"internalType":"uint8","name":"poolIndex","type":"uint8"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]}]},{"inputs":[{"internalType":"uint8","name":"depth","type":"uint8"},{"internalType":"struct PoolCommitment[]","name":"poolCommitments","type":"tuple[]","components":[{"internalType":"bytes32","name":"poolHash","type":"bytes32"},{"internalType":"struct CandidateNode[16]","name":"candidates","type":"tuple[16]","components":[{"internalType":"address","name":"rewardsAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"internalType":"uint64","name":"merklePaymentTimestamp","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"payForMerkleTree","outputs":[{"internalType":"bytes32","name":"winnerPoolHash","type":"bytes32"},{"internalType":"uint256","name":"totalAmount","type":"uint256"}]},{"inputs":[{"internalType":"struct DataPayment[]","name":"_payments","type":"tuple[]","components":[{"internalType":"address","name":"rewardsAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"quoteHash","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"payForQuotes"},{"inputs":[{"internalType":"struct DataPayment[]","name":"_payments","type":"tuple[]","components":[{"internalType":"address","name":"rewardsAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"quoteHash","type":"bytes32"}]}],"stateMutability":"view","type":"function","name":"verifyPayment","outputs":[{"internalType":"struct PaymentVerificationResult[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"quoteHash","type":"bytes32"},{"internalType":"uint256","name":"amountPaid","type":"uint256"},{"internalType":"bool","name":"isValid","type":"bool"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"CANDIDATES_PER_POOL()":{"notice":"Number of candidates per pool (fixed)"},"MAX_MERKLE_DEPTH()":{"notice":"Maximum supported Merkle tree depth"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@prb/math/=lib/prb-math/","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/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/PaymentVaultV2.sol":"PaymentVaultV2"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/IPaymentVaultV2.sol":{"keccak256":"0x4b4246ed4f9c7cb3d484821e4f9b82acfb3f0d1e95ae3bd64790df6d8ac40863","urls":["bzz-raw://2a5cd4ca0cde103b99f72ef27a9b5456bbd934f5ca11974cc4441328b1bff141","dweb:/ipfs/QmfTkArPacPx5nwHS8f6ygVzDejVmzhyswteE2RupUNkS1"],"license":"MIT"},"contracts/MerklePaymentLib.sol":{"keccak256":"0x628a074eab87cfd7fbe2f29ff889a0fc97ee74933cd100962fde56fbefd48e83","urls":["bzz-raw://cd817a18a982efef881258a2c1d5caefcef6e5c7466e1a34c4c6698231b0eb9b","dweb:/ipfs/QmbRBbYViT1TxEUnsUpoDPa1YzC57vLfDvLg9Mf95z2WjY"],"license":"MIT"},"contracts/PaymentVaultV2.sol":{"keccak256":"0xf93009f884aac758031cdf2d4a69caa4d6b08fcea3ab9dfc38462aed05192ce4","urls":["bzz-raw://2a0f30c2a63371353818e218e0d7482c1b0d266dc330c7510d0b95fb8b2bfc0f","dweb:/ipfs/QmeH7m2A3V8Zij22UXcU4XBqAQWTJSjWx7YJpoyEuh9Xt8"],"license":"MIT"},"contracts/Types.sol":{"keccak256":"0xa0c0268a03fff200e31f99b3ab15dcb7dce9ad162183aaeecffad51a93ed8a43","urls":["bzz-raw://55308d1066e4f1379e66aa23719df23ae94104a9be0383fe7dec990f00897f6d","dweb:/ipfs/QmWNasx7GsPjByWjD49JdwmjnDYMoJiXEEFeekr5w1g1y6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d","urls":["bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100","dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc","urls":["bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037","dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44","urls":["bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d","dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2","urls":["bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303","dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x304d732678032a9781ae85c8f204c8fba3d3a5e31c02616964e75cfdc5049098","urls":["bzz-raw://299ced486011781dc98f638059678323c03079fefae1482abaa2135b22fa92d0","dweb:/ipfs/QmbZNbcPTBxNvwChavN2kkZZs7xHhYL7mv51KrxMhsMs3j"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"}},"version":1},"id":2}