Repository navigation
fix(svm): restore server-signed channel refunds after restart - #33
Closed
PhilBot402 wants to merge 2 commits into
Closed
PhilBot402 wants to merge 2 commits into
PhilBot402 wants to merge 2 commits into
Conversation
A restarted client with discovery disabled must refund the persisted server-signed channel when the operator is trusted, and must refuse before reading that record when the operator is not. Co-authored-by: phdargen <phdargen@users.noreply.github.com>
Refund lookup rewrote server-signed requirements to client mode before reading durable storage. With discovery disabled, that skipped the persisted server-signed record and returned ErrNoBatchChannelToRefund. The server-mode fallback now calls loadRefundChannel after serverSignedChannelsPolicy accepts the operator. The client-signed fallback is unchanged. Co-authored-by: phdargen <phdargen@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Port of x402-foundation#3637 from TypeScript to Go SDK.
After a client restart, refund lookup rewrote server-signed requirements to client mode before reading durable storage. With channel discovery disabled, that skipped the persisted server-signed record and returned
ErrNoBatchChannelToRefund.locateRefundChannelnow usesloadRefundChannelfor the server-mode fallback afterserverSignedChannelsPolicyaccepts the operator. The client-signed fallback is unchanged.The regression test covers restart recovery, disabled discovery, storage non-duplication, and rejection when the operator is not trusted.
go fmt, golangci-lint, andgo test -race ./...passed.AI disclosure: Automated by @phdargen.