Skip to content

Commit

Permalink
test(BUX-250): add tests for to high bump tree
Browse files Browse the repository at this point in the history
  • Loading branch information
arkadiuszos4chain committed Nov 15, 2023
1 parent 9644bfd commit 8e3f42a
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 8 deletions.
8 changes: 0 additions & 8 deletions p2p_beef_tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,6 @@ func decodeBUMPs(beefBytes []byte) ([]BUMP, []byte, error) {
bumps = append(bumps, bump)
}

if len(bumps) == 0 {
return nil, nil, errors.New("invalid BEEF- lack of BUMPs")
}

return bumps, beefBytes, nil
}

Expand Down Expand Up @@ -236,10 +232,6 @@ func decodeTransactionsWithPathIndexes(bytes []byte) ([]*TxData, error) {
})
}

if len(transactions) < 2 {
return nil, errors.New("invalid BEEF- not enough transactions provided to decode BEEF")
}

return transactions, nil
}

Expand Down
6 changes: 6 additions & 0 deletions p2p_beef_tx_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,7 @@ func TestDecodeBEEF_InvalidBeef_RetunrError(t *testing.T) {
const emptyBumps = "0100beef000201000000027b0a1b12c7c9e48015e78d3a08a4d62e439387df7e0d7a810ebd4af37661daaa000000006a47304402207d972759afba7c0ffa6cfbbf39a31c2aeede1dae28d8841db56c6dd1197d56a20220076a390948c235ba8e72b8e43a7b4d4119f1a81a77032aa6e7b7a51be5e13845412103f78ec31cf94ca8d75fb1333ad9fc884e2d489422034a1efc9d66a3b72eddca0fffffffff7f36874f858fb43ffcf4f9e3047825619bad0e92d4b9ad4ba5111d1101cbddfe010000006a473044022043f048043d56eb6f75024808b78f18808b7ab45609e4c4c319e3a27f8246fc3002204b67766b62f58bf6f30ea608eaba76b8524ed49f67a90f80ac08a9b96a6922cd41210254a583c1c51a06e10fab79ddf922915da5f5c1791ef87739f40cb68638397248ffffffff03e8030000000000001976a914b08f70bc5010fb026de018f19e7792385a146b4a88acf3010000000000001976a9147d48635f889372c3da12d75ce246c59f4ab907ed88acf7000000000000001976a914b8fbd58685b6920d8f9a8f1b274d8696708b51b088ac000000000001000000018ae36502fdc82837319362c488fb9cb978e064daf600bbfc48389663fc5c160c000000006b48304502210095ea412e82881f81de63764f38f2562bd8a184b06686b3a9e4a5a8b47b9ea1cf022018c76a08b46168c8beb3f7e508cd21c208882b1ec801a9ad7c1b791995092429412102b0c8980f5d2cab77c92c68ac46442feba163a9d306913f6a34911fc618c3c4e7ffffffff01f4010000000000001976a9148a8c4546a95e6fc8d18076a9980d59fd882b4e6988ac0000000000"
const withoutBumps = "0100beef000201000000027b0a1b12c7c9e48015e78d3a08a4d62e439387df7e0d7a810ebd4af37661daaa000000006a47304402207d972759afba7c0ffa6cfbbf39a31c2aeede1dae28d8841db56c6dd1197d56a20220076a390948c235ba8e72b8e43a7b4d4119f1a81a77032aa6e7b7a51be5e13845412103f78ec31cf94ca8d75fb1333ad9fc884e2d489422034a1efc9d66a3b72eddca0fffffffff7f36874f858fb43ffcf4f9e3047825619bad0e92d4b9ad4ba5111d1101cbddfe010000006a473044022043f048043d56eb6f75024808b78f18808b7ab45609e4c4c319e3a27f8246fc3002204b67766b62f58bf6f30ea608eaba76b8524ed49f67a90f80ac08a9b96a6922cd41210254a583c1c51a06e10fab79ddf922915da5f5c1791ef87739f40cb68638397248ffffffff03e8030000000000001976a914b08f70bc5010fb026de018f19e7792385a146b4a88acf3010000000000001976a9147d48635f889372c3da12d75ce246c59f4ab907ed88acf7000000000000001976a914b8fbd58685b6920d8f9a8f1b274d8696708b51b088ac000000000001000000018ae36502fdc82837319362c488fb9cb978e064daf600bbfc48389663fc5c160c000000006b48304502210095ea412e82881f81de63764f38f2562bd8a184b06686b3a9e4a5a8b47b9ea1cf022018c76a08b46168c8beb3f7e508cd21c208882b1ec801a9ad7c1b791995092429412102b0c8980f5d2cab77c92c68ac46442feba163a9d306913f6a34911fc618c3c4e7ffffffff01f4010000000000001976a9148a8c4546a95e6fc8d18076a9980d59fd882b4e6988ac0000000000"
const withoutParents = "0100beef01fe4e6d0c001002fd9c67028ae36502fdc82837319362c488fb9cb978e064daf600bbfc48389663fc5c160cfd9d6700db1332728830a58c83a5970dcd111a575a585b43b0492361ea8082f41668f8bd01fdcf3300e568706954aae516ef6df7b5db7828771a1f3fcf1b6d65389ec8be8c46057a3c01fde6190001a6028d13cc988f55c8765e3ffcdcfc7d5185a8ebd68709c0adbe37b528557b01fdf20c001cc64f09a217e1971cabe751b925f246e3c2a8e145c49be7b831eaea3e064d7501fd7806009ccf122626a20cdb054877ef3f8ae2d0503bb7a8704fdb6295b3001b5e8876a101fd3d0300aeea966733175ff60b55bc77edcb83c0fce3453329f51195e5cbc7a874ee47ad01fd9f0100f67f50b53d73ffd6e84c02ee1903074b9a5b2ac64c508f7f26349b73cca9d7e901ce006ce74c7beed0c61c50dda8b578f0c0dc5a393e1f8758af2fb65edf483afcaa68016600e32475e17bdd141d62524d0005989dd1db6ca92c6af70791b0e4802be4c5c8c1013200b88162f494f26cc3a1a4a7dcf2829a295064e93b3dbb2f72e21a73522869277a011800a938d3f80dd25b6a3a80e450403bf7d62a1068e2e4b13f0656c83f764c55bb77010d006feac6e4fea41c37c508b5bfdc00d582f6e462e6754b338c95b448df37bd342c010700bf5448356be23b2b9afe53d00cee047065bbc16d0bbcc5f80aa8c1b509e45678010200c2e37431a437ee311a737aecd3caae1213db353847f33792fd539e380bdb4d440100005d5aef298770e2702448af2ce014f8bfcded5896df5006a44b5f1b6020007aeb01010091484f513003fcdb25f336b9b56dafcb05fbc739593ab573a2c6516b344ca5320101000000018ae36502fdc82837319362c488fb9cb978e064daf600bbfc48389663fc5c160c000000006b48304502210095ea412e82881f81de63764f38f2562bd8a184b06686b3a9e4a5a8b47b9ea1cf022018c76a08b46168c8beb3f7e508cd21c208882b1ec801a9ad7c1b791995092429412102b0c8980f5d2cab77c92c68ac46442feba163a9d306913f6a34911fc618c3c4e7ffffffff01f4010000000000001976a9148a8c4546a95e6fc8d18076a9980d59fd882b4e6988ac0000000000"
const withBumpTreeHeightEq65 = "0100beef01fe4e6d0c004102fd9c67028ae36502fdc82837319362c488fb9cb978e064daf600bbfc48389663fc5c160cfd9d6700db1332728830a58c83a5970dcd111a575a585b43b0492361ea8082f41668f8bd01fdcf3300e568706954aae516ef6df7b5db7828771a1f3fcf1b6d65389ec8be8c46057a3c01fde6190001a6028d13cc988f55c8765e3ffcdcfc7d5185a8ebd68709c0adbe37b528557b01fdf20c001cc64f09a217e1971cabe751b925f246e3c2a8e145c49be7b831eaea3e064d7501fd7806009ccf122626a20cdb054877ef3f8ae2d0503bb7a8704fdb6295b3001b5e8876a101fd3d0300aeea966733175ff60b55bc77edcb83c0fce3453329f51195e5cbc7a874ee47ad01fd9f0100f67f50b53d73ffd6e84c02ee1903074b9a5b2ac64c508f7f26349b73cca9d7e901ce006ce74c7beed0c61c50dda8b578f0c0dc5a393e1f8758af2fb65edf483afcaa68016600e32475e17bdd141d62524d0005989dd1db6ca92c6af70791b0e4802be4c5c8c1013200b88162f494f26cc3a1a4a7dcf2829a295064e93b3dbb2f72e21a73522869277a011800a938d3f80dd25b6a3a80e450403bf7d62a1068e2e4b13f0656c83f764c55bb77010d006feac6e4fea41c37c508b5bfdc00d582f6e462e6754b338c95b448df37bd342c010700bf5448356be23b2b9afe53d00cee047065bbc16d0bbcc5f80aa8c1b509e45678010200c2e37431a437ee311a737aecd3caae1213db353847f33792fd539e380bdb4d440100005d5aef298770e2702448af2ce014f8bfcded5896df5006a44b5f1b6020007aeb01010091484f513003fcdb25f336b9b56dafcb05fbc739593ab573a2c6516b344ca5320101000000018ae36502fdc82837319362c488fb9cb978e064daf600bbfc48389663fc5c160c000000006b48304502210095ea412e82881f81de63764f38f2562bd8a184b06686b3a9e4a5a8b47b9ea1cf022018c76a08b46168c8beb3f7e508cd21c208882b1ec801a9ad7c1b791995092429412102b0c8980f5d2cab77c92c68ac46442feba163a9d306913f6a34911fc618c3c4e7ffffffff01f4010000000000001976a9148a8c4546a95e6fc8d18076a9980d59fd882b4e6988ac0000000000"

tcs := []struct {
name string
Expand All @@ -262,6 +263,11 @@ func TestDecodeBEEF_InvalidBeef_RetunrError(t *testing.T) {
beef: withoutParents,
expectedError: errors.New("invalid BEEF- not enough transactions provided to decode BEEF"),
},
{
name: "DecodeBEEF - with a bump tree higher than 64",
beef: withBumpTreeHeightEq65,
expectedError: errors.New("invalid BEEF - treeHeight cannot be grater than 64"),
},
}

t.Parallel()
Expand Down

0 comments on commit 8e3f42a

Please sign in to comment.