Skip to content

Allow internalizing sending transactions#228

Merged
sirdeggen merged 3 commits into
mainfrom
codex/internalize-sending-transactions
Jun 24, 2026
Merged

Allow internalizing sending transactions#228
sirdeggen merged 3 commits into
mainfrom
codex/internalize-sending-transactions

Conversation

@ty-everett

Copy link
Copy Markdown
Collaborator

Summary

  • allow internalizeAction merge targets that are already in the sending state
  • keep sending transactions in the normal broadcast/proof lifecycle instead of promoting them
  • add a same-wallet payment regression for internalizing before monitor completion

Security / settlement semantics

  • This does not treat arbitrary remote-provided transactions as settled. internalizeAction still validates the AtomicBEEF and txid before storage mutation.
  • The new sending path is only a merge into an existing same-user transaction record that Storage already knows by txid.
  • The transaction remains sending; it is not promoted to unproven or completed, and the existing monitor/posting flow remains responsible for advancing or failing it.
  • Normal undelayed createAction funding excludes sending outputs. Delayed/chained flows can include sending outputs by design, matching the existing pending-chain policy.
  • The current SDK result type only exposes accepted: true, so callers should interpret this as "accepted into wallet/storage state," not network settlement. A future API improvement should expose pending vs settled status explicitly.

Validation

  • pnpm --filter @bsv/wallet-toolbox exec jest src/storage/__test/WalletStorageManager.test.ts --runInBand --testPathIgnorePatterns=man.test.ts
  • pnpm --filter @bsv/wallet-toolbox run build
  • git diff --check origin/main..HEAD

@sirdeggen sirdeggen force-pushed the codex/internalize-sending-transactions branch from d180ac4 to f9e40fc Compare June 24, 2026 16:05
@sirdeggen sirdeggen merged commit fcf324e into main Jun 24, 2026
10 checks passed
@sonarqubecloud

Copy link
Copy Markdown

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