Skip to content

Coin purses (RFC 17) in the Rust core #970

Description

@valentunn

Part of Coinage R3 (#968).

Goal

Products manage coins through purses: the RFC 17 CoinPayment API in truapi-server is backed by the Rust coinage implementation, with the CoinPayment permission and consent on both platforms. Existing coins already derive under RFC 17's main-purse path (//coinage//4294967295//…), so no re-keying is needed.

Open questions

  • RFC 17 has no durability guarantees yet: create_cheque, deposit and refund lack idempotency and a way to list or resume earlier attempts. It needs the same revision RFC 6 received.
  • Reinstall and backup recovery of purses (purse metadata, receive keys, in-flight operations) is not covered by RFC 17 and is a separate, large topic.
  • Other RFC 17 gaps: cheque encryption, the refund return path, and the clearing reference for payments made of several transactions.
  • Keeping purses separate may weaken recycling privacy.

Blocked by #969 (coinage port) and #965 (shared purse logic).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions