| 57 | } |
| 58 | |
| 59 | static void tx_must_be_eq(const struct bitcoin_tx *a, |
| 60 | const struct bitcoin_tx *b) |
| 61 | { |
| 62 | u8 *lina, *linb; |
| 63 | size_t i; |
| 64 | |
| 65 | lina = linearize_tx(tmpctx, a); |
| 66 | linb = linearize_tx(tmpctx, b); |
| 67 | |
| 68 | for (i = 0; i < tal_count(lina); i++) { |
| 69 | if (i >= tal_count(linb)) |
| 70 | errx(1, "Second tx is truncated:\n" |
| 71 | "%s\n" |
| 72 | "%s", |
| 73 | tal_hex(tmpctx, lina), |
| 74 | tal_hex(tmpctx, linb)); |
| 75 | if (lina[i] != linb[i]) |
| 76 | errx(1, "tx differ at offset %zu:\n" |
| 77 | "%s\n" |
| 78 | "%s", |
| 79 | i, |
| 80 | tal_hex(tmpctx, lina), |
| 81 | tal_hex(tmpctx, linb)); |
| 82 | } |
| 83 | if (i != tal_count(linb)) |
| 84 | errx(1, "First tx is truncated:\n" |
| 85 | "%s\n" |
| 86 | "%s", |
| 87 | tal_hex(tmpctx, lina), |
| 88 | tal_hex(tmpctx, linb)); |
| 89 | } |
| 90 | |
| 91 | /* BOLT #3: |
| 92 | * |
no test coverage detected