From 338f94b6c789fb1e63b7ea375cafc8b27d20687a Mon Sep 17 00:00:00 2001 From: Mark Spanbroek Date: Thu, 8 Jul 2021 12:42:54 +0200 Subject: [PATCH] Check validity of set of acknowledgements --- abc/validation.nim | 6 ++++++ tests/abc/testValidation.nim | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/abc/validation.nim b/abc/validation.nim index ada4f9f..80a9212 100644 --- a/abc/validation.nim +++ b/abc/validation.nim @@ -47,3 +47,9 @@ func hasValidAck*(store: TxStore, ackHash: AckHash): bool = return false true + +func hasValidAcks*(store: TxStore, hashes: varargs[AckHash]): bool = + for hash in hashes: + if not store.hasValidAck(hash): + return false + true diff --git a/tests/abc/testValidation.nim b/tests/abc/testValidation.nim index c2848b4..f911950 100644 --- a/tests/abc/testValidation.nim +++ b/tests/abc/testValidation.nim @@ -107,3 +107,11 @@ suite "Acknowledgement validation": store.add(bad1, bad2) check not store.hasValidAck(bad1.hash) check not store.hasValidAck(bad2.hash) + + test "checks validity of a set of acknowledgements": + var store = TxStore.init(genesis) + store.add(tx1, tx2) + store.add(ack2) + check not store.hasValidAcks(ack1.hash, ack2.hash) + store.add(ack1) + check store.hasValidAcks(ack1.hash, ack2.hash)