Commit Graph

2 Commits

Author SHA1 Message Date
Matt Hess 070901f2dd Fix CARROT sync regression: early view tag rejection for multi-output txs
Multi-output CARROT transactions store per-output D_e in additional_pubkeys
  (tag 0x04) with no tx_pubkey (tag 0x01), so the single-D_e pre-computation
  path was skipped entirely — every output hit the full _scanCarrotOutput path
  (~40ms each via FFI). Added per-output X25519 + 3-byte view tag rejection
  that restores post-fork sync from ~10 blk/s back to ~900+ blk/s.

  Also fixed parseExtra to handle 0xDE (minergate tag) and gracefully skip
  unknown tags via varint-length instead of aborting all remaining extra bytes.
2026-02-13 00:01:18 +00:00
Matt Hess 01bcb742ae ● Restructure native module for Expo auto-discovery, fix 3 test failures
Move native code from native/ to Expo-compatible layout with android/
  and ios/ at package root. Add Android JNI bridge (OnLoad.cpp,
  ExpoSalviumCryptoModule.java, ExpoSalviumCryptoPackage.java).
  Prebuilt binaries now go in prebuilt/ instead of native/lib/.

  Test fixes:
  - wallet-sync: update stale DEFAULT_BATCH_SIZE assertion (10 -> 100)
  - bulletproofs+: fix hashToPoint -> hashToPointMonero rename in test,
    fix serializeProof to include V array matching parseProof format
  - transaction-builder: expect 2 outputs for exact-amount tx (zero-change
    output is always added for privacy)
2026-02-09 22:50:15 +00:00