Update gosdk to v0.11.0 - #17
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
arkana-ai-bot
left a comment
There was a problem hiding this comment.
Review: Update gosdk to v0.11.0
Scope: dependency bump (go-sdk pseudo-version → tagged release), Go patch upgrade, CI workflow alignment, bip39 fork swap. No protocol logic changes in the solver itself.
go.mod / go.sum
go-sdk: moves from v0.10.2-0.20260723143851-75cd6ad8a427 (untagged commit) to v0.11.0 (signed, tagged release). That's a supply-chain improvement — a versioned tag is more auditable than a commit pseudo-version. go.sum entries are updated correctly.
bip39 replacement (tyler-smith/go-bip39 → base/go-bip39 v1.1.0): necessary — the upstream repo was deleted from GitHub, causing build failures under GOPROXY=direct and on cold caches. base/go-bip39 is an API-compatible fork maintained by the Base ecosystem; its go.sum hash is present and correct. The solver has no direct bip39 import; this change propagates only as an indirect dep from go-sdk.
Go 1.26.5 → 1.26.6 (go directive in go.mod): patch-level bump, consistent with the Dockerfile change below.
Notable changes shipped in go-sdk v0.11.0 that are worth being aware of (reviewed upstream):
go-sdk/vhtlc: addedOP_SIZEcheck to the preimage condition script, enforcing exactly 32-byte preimages at script level (go-sdk#219). The solver does not importgo-sdk/vhtlcdirectly, but this hardens the claim path on the SDK side.go-sdk/swap/store: new swap persistence layer and "finalize pending txs on periodic db refresh" (go-sdk#205, #203). The solver has its own swap implementation underpkg/swap/and does not importgo-sdk/swap, so this does not directly affect solver execution paths.TxHandlerexported (go-sdk#213): additive, non-breaking.
Dockerfile
golang:1.26.5 → golang:1.26.6 (builder stage) — consistent with the go.mod directive. No other changes.
CI Workflows
go-version-file: go.mod (integration, unit, release): correct approach. Ties CI Go version to the declared version in go.mod, eliminating drift. The go-version: '>=1.26.5' form was looser and could pick up unreleased toolchain versions.
cache: true removal (integration.yaml, unit.yaml): actions/setup-go@v6 enables caching by default when a go.sum file is detected at the repo root, so dropping the explicit key does not disable caching. Behaviour is unchanged.
Pre-existing note (not introduced here): integration.yaml and unit.yaml pin actions/setup-go@v6 by floating tag, while release.yaml pins to 4b73464bb391d4059bd26b0524d20df3927bd417. Floating tags are mutable; hardening integration/unit to commit SHAs (as release already does) would close that gap.
Test coverage
The PR is a pure dependency update with no solver logic changes. Existing integration tests exercising the swap paths (swap_test.go, stress_test.go) should validate go-sdk v0.11.0 compatibility. Confirm CI green before merging; the integration suite is the primary gate here.
Summary
Clean, well-scoped update. The bip39 replacement and go-version-file switch are good hygiene. No issues blocking merge beyond confirming CI passes.
No description provided.