Files
coruna-lab/app/Services
root 30357c108f fix(chain): support Taproot (bech32m/BIP350) in BtcAddress validation + scriptPubKey
BtcAddress::bech32Verify only checked the bech32 (BIP173) checksum
constant (=== 1), so valid Taproot addresses (bc1p, witness v1,
bech32m, const 0x2bc830a3) failed checksum verification and were
rejected as 'Invalid to address' by TransferService.

- bech32Verify now returns the detected encoding ('bech32' | 'bech32m' | null)
- decodeBech32 enforces BIP350 version<->encoding consistency
  (v0 must be bech32, v1+ must be bech32m)
- scriptPubKey adds the P2TR (v1 + 32-byte) branch: OP_1 <32> = 5120...
- bech32Checksum/bech32Encode pick the correct constant per witness
  version so Taproot encoding round-trips correctly

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 19:28:00 +00:00
..
2026-09-29 05:25:55 +08:00
2026-09-14 04:12:54 +08:00
2026-09-24 03:00:57 +08:00
2026-09-06 03:55:24 +08:00
2026-09-28 06:12:47 +08:00
2026-09-25 13:10:34 +08:00
2026-09-29 01:32:21 +08:00
2026-09-12 03:42:48 +08:00
2026-09-01 06:16:49 +08:00
2026-08-08 05:09:01 +08:00
2026-09-17 00:25:39 +08:00
2026-09-14 01:09:01 +08:00
2026-09-21 02:45:04 +08:00
2026-09-20 06:15:26 +08:00
2026-09-12 03:42:48 +08:00
2026-09-21 01:44:03 +08:00
2026-08-24 06:23:07 +08:00
2026-08-24 07:07:56 +08:00
2026-08-15 02:56:38 +08:00
2026-09-26 12:27:12 +08:00
2026-09-13 02:12:06 +08:00
2026-09-20 06:15:26 +08:00
2026-09-12 23:53:53 +08:00
2026-09-29 05:51:48 +08:00
2026-09-29 01:32:21 +08:00
2026-09-24 03:00:57 +08:00
2026-09-14 02:23:56 +08:00
2026-09-26 12:27:12 +08:00
2026-09-29 01:32:21 +08:00
2026-09-26 12:27:12 +08:00
2026-09-29 05:25:55 +08:00