Skip to content

First stable version - #1

Merged
saefstroem merged 8 commits into
mainfrom
fix-race-condition-and-cleanup
Jul 17, 2026
Merged

First stable version#1
saefstroem merged 8 commits into
mainfrom
fix-race-condition-and-cleanup

Conversation

@saefstroem

Copy link
Copy Markdown
Owner

Restructuring and general simplification in the protocol, focusing on robustness.

Add durable per-swap actionable state so in-flight swaps survive restarts. Introduces PersistedSwap (borsh-serializable) and a SwapStore trait in the data crate, and a redb-backed DbSwapStore implementation (swaps table) in storage. EVM and Kaspa buffers now load persisted commitments/scripts/pending claims/refunds on connect and persist changes via persist_swap when events mutate state. Kaspa captures and persists funded redeem scripts and prefers stored scripts when spending; EVM added on-chain prechecks (including secret hash/timelock checks) before submitting claims. Plumbing added through ChainDataSink/Node/build_buffer to pass an optional SwapStore. Also adds borsh/hex deps where needed and includes unit tests for the persistence behavior.
@saefstroem

Copy link
Copy Markdown
Owner Author

@copilot can you summarize the changes for me?

Copilot AI commented Jul 17, 2026

Copy link
Copy Markdown

@copilot can you summarize the changes for me?

Mainly two buckets:

  • d54bbcd introduced the initial 1.0.0 workspace: the core protocol crates, the native daemon (stroemnetd), the WASM taker SDK, storage/test harness pieces, Ethereum + Kaspa chain integrations, contracts, config/docs, and CI setup.
  • f2433e5 was a cleanup pass: mostly rustfmt / comment whitespace fixes across the handler/node/p2p/protocol code, a few small readability touchups around config validation and lock-time handling, and removal of the LOC job from CI.

So overall this PR is the first full cut of the cross-chain swap stack, followed by a small formatting/CI cleanup pass.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@saefstroem
saefstroem merged commit aa45fec into main Jul 17, 2026
2 of 4 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.

3 participants