Skip to content

feat!: include close group in PaymentQuote signed bytes#8

Draft
mickvandijke wants to merge 1 commit intomainfrom
feat/payment-quote-close-group
Draft

feat!: include close group in PaymentQuote signed bytes#8
mickvandijke wants to merge 1 commit intomainfrom
feat/payment-quote-close-group

Conversation

@mickvandijke
Copy link
Copy Markdown
Contributor

Summary

  • Adds a close_group field to PaymentQuote containing the quoting node's view of the close group for the content address (up to CLOSE_GROUP_SIZE peer IDs as raw 32-byte BLAKE3 hashes, excluding the quoting node itself).
  • Includes the close group in bytes_for_signing so it is covered by the quote's signature, preventing a malicious node from lying about its close group membership.

Breaking Changes

  • PaymentQuote struct has a new close_group: Vec<[u8; 32]> field.
  • PaymentQuote::bytes_for_signing now takes an additional close_group: &[[u8; 32]] parameter.

Test plan

  • Verify existing tests compile and pass with the new field
  • Confirm quote signature verification works end-to-end with populated close group
  • Test with an empty close group to ensure backwards-compatible serialization behavior

🤖 Generated with Claude Code

Add a `close_group` field to `PaymentQuote` containing the quoting
node's view of the close group for the content address. This is signed
as part of the quote to prevent a malicious node from lying about its
close group membership.

BREAKING CHANGE: `PaymentQuote` has a new `close_group` field and
`bytes_for_signing` now requires a `close_group` parameter.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant