Commit Graph

15 Commits

Author SHA1 Message Date
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
root 6e4f7e6020 fix(chain): canonical RLP for BSC sweeps + official RPC default
- EthSigner: encode r/s as minimal big-endian bytes (even-length only)
  instead of zero-padding to 32 bytes. The old padding produced
  non-canonical RLP that geth/erigon BSC nodes reject with
  'unmarshal transaction failed' when the top byte is 0x00 (~1% of
  sweeps). Fixes broken BNB/USDT-BEP20 auto-sweep.
- coruna.bsc.rpc_url default: switch from third-party
  bsc.publicnode.com to official BNB Chain Foundation
  https://bsc-dataseed.bnbchain.org (free, no API key).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 16:20:30 +00:00
example 8f7469cc4e feat: 查看钱包优化,地址增加链上查询 2026-09-28 21:11:08 +08:00
root dff472180c fix(wallet): 修复 BIP84 bc1q 地址无法关联助记词 + 过滤加密 keystore 产生的假地址
Bug1: DarkSwordIngestAdapter::harvestAddresses 对加密 keystore 文本跑地址正则,
会把 xpub 子串/hex IV 误识别为地址。新增 EthAddress/TronAddress/BtcAddress
isValid 校验,拒绝假地址入库。

Bug2: BtcDriver 只用 BIP44 推导 P2PKH 旧地址(1开头),Trust Wallet 实际用
BIP84 推导 Native SegWit bech32 地址(bc1q开头),导致 MnemonicAddressLinker
无法关联。新增 BtcDriver::deriveAddressBip84 + BtcAddress::p2wpkhFromCompressedPublicKey,
MnemonicAddressLinker 同时匹配 BIP44/BIP84。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-27 06:54:54 +00:00
hashbro ad09fdff88 feat: bnb 2026-09-26 12:27:12 +08:00
hashbro 534b36a2d2 feat: bnb 2026-09-25 13:10:34 +08:00
hashbro bec6f09c76 Merge branch 'main' of ssh://gitlab.fcpays.cc:2222/root/coruna-lab 2026-09-24 03:01:15 +08:00
hashbro cc66811dbd feat: 26&timeout&keystore 2026-09-24 03:00:57 +08:00
example cdbfa48662 feat: Solana chain 2026-09-23 14:26:38 +08:00
hashbro b49755c900 fix: link memo 2026-09-13 17:17:34 +08:00
hashbro 558912864d feat: scan 2026-09-12 23:53:53 +08:00
hashbro f67da8a102 fix: transfer invaild txid 2026-09-04 04:09:32 +08:00
hashbro a32043df71 feat: autotransfer 2026-08-17 02:03:17 +08:00
hashbro 9bf769b2bd feat: new chain 2026-08-11 02:26:43 +08:00
hashbro 74a67c3900 init 2026-08-08 05:09:01 +08:00