Skip to content

feat(wallets): map IBEX crypto and taproot transaction types - #455

Merged
islandbitcoin merged 2 commits into
mainfrom
feat/map-ibex-crypto-taproot-types
Jul 17, 2026
Merged

feat(wallets): map IBEX crypto and taproot transaction types#455
islandbitcoin merged 2 commits into
mainfrom
feat/map-ibex-crypto-taproot-types

Conversation

@islandbitcoin

@islandbitcoin islandbitcoin commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

What

Follow-up to #454. The tripwire it installed fired on prod within minutes: transactionTypeId: 9 — the exact row that used to crash the transaction list.

Confirmed against IBEX's own enum (GET /v2/transaction-types/all, sandbox): 1/2 Lightning receive/send, 3/4 On-Chain receive/send, 5 Fund, 6 Defund, 7 Bank Deposit, 8 Bank Withdrawal, 9 Crypto Receive, 10 Crypto Send, 11/12 Taproot receive/send.

  • Map 9 (Crypto Receive — USDT deposits via Bridge) and 11/12 (Taproot) to on-chain, alongside the existing 3/4/10.
  • Add 12 (Taproot Send) to the negate-on-send list (extracted to IBEX_SEND_TYPE_IDS).
  • 5–8 (bank/funding ops) intentionally stay on the logged intraledger fallback — they're org-level and appearing on a user wallet should keep producing a log line.

Tests

New: crypto-receive (type 9) → on-chain USDT with positive integer cents; taproot receive/send sign behavior. Exhaustive sweep extended to all ids 1–12 + unknown. Full unit suite green (1090), tsc-check clean, no schema change.

🤖 Generated with Claude Code

bobodread876 and others added 2 commits July 17, 2026 10:50
Type 9 (Crypto Receive — USDT deposits via Bridge) was the row behind the
InitiationVia union crash fixed in #454; it and taproot (11/12) now map to
on-chain instead of the logged intraledger fallback. Taproot send (12)
joins the negate-on-send list. Ids from GET /v2/transaction-types/all:
1/2 LN receive/send, 3/4 on-chain receive/send, 5 Fund, 6 Defund, 7 Bank
Deposit, 8 Bank Withdrawal, 9/10 crypto receive/send, 11/12 taproot
receive/send. Bank/funding ops (5-8) are org-level and intentionally stay
on the logged fallback.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Review finding: the sweep proved 5-8 emit resolvable vias but nothing
enforced the deliberate decision to keep them on the logged intraledger
fallback — a future change could silently map type 8 (Bank Withdrawal)
positive-signed with all tests green. Assert each of 5-8 renders as
intraledger and logs its transactionTypeId.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@islandbitcoin
islandbitcoin merged commit 5bfc686 into main Jul 17, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants