From dd3948b4742eaad13872a85691347dc77cce09f0 Mon Sep 17 00:00:00 2001 From: Olaoluwa Osuntokun Date: Tue, 12 Feb 2019 18:31:08 -0800 Subject: BIP-0158: add test cases for OP_RETURN with op codes, empty filter In this commit, we add a new test case for a filter built from a block that has a transaction with an OP_RETURN which isn't followed by only push data items. The prior implementation for btcd (which was used to generated these test vectors), had a stricter check which caused it to add extra items to the filter. We also add a case of a block that has a single coinbase transaction, with that transaction having only an OP_RETURN output. As a result, that filter will be "empty", and is signalled by by a single zero (0x00) byte. In order to make building the code that makes the test vectors reproducible, we've added go.mod and go.sum files as well. --- bip-0158/gentestvectors.go | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bip-0158/gentestvectors.go') diff --git a/bip-0158/gentestvectors.go b/bip-0158/gentestvectors.go index 011bb7a..3435eb3 100644 --- a/bip-0158/gentestvectors.go +++ b/bip-0158/gentestvectors.go @@ -33,11 +33,13 @@ var ( {0, "Genesis block"}, {2, ""}, {3, ""}, + {15007, "Tx has non-standard OP_RETURN output followed by opcodes"}, {49291, "Tx pays to empty output script"}, {180480, "Tx spends from empty output script"}, {926485, "Duplicate pushdata 913bcc2be49cb534c20474c4dee1e9c4c317e7eb"}, {987876, "Coinbase tx has unparseable output script"}, {1263442, "Includes witness data"}, + {1414221, "Empty data"}, } defaultBtcdDir = btcutil.AppDataDir("btcd", false) -- cgit v1.2.3