Skip to content

Subscriptions Program v0.4.0

Choose a tag to compare

@dev-jodee dev-jodee released this 26 Jun 14:26
64dc085

Second audited release of the Subscriptions program, tagged program-v0.4.0. Reviewed by Cantina in a second security review — no critical or high findings; all findings addressed and re-verified. SDKs published at 0.4.0: subscriptions (crates.io) and @solana/subscriptions (npm).

Highlights

  • New instructions: RevokeSubscriptionAuthority, RevokeAbandonedDelegation, RevokeAbandonedSubscription.
  • Token-2022 Transfer Hook support for fixed, recurring, and subscription transfers.
  • CreateRecurringDelegation accepts start_ts = 0 (start on landing; requires non-zero expiry_ts).
  • All events registered in the IDL, plus a new PlanUpdatedEvent.
  • Optional sponsor payer/receiver modeled in the IDL and clients.

Breaking

  • Event wire format: transfer events add receiver_token_account; SubscriptionCreatedEvent adds payer; SubscriptionTransferEvent adds puller — update decoders.
  • UpdatePlan requires event_authority + self_program accounts.
  • resume_subscription requires the subscriber's SubscriptionAuthority (rejects stale/re-initialized).
  • expiry_ts is a hard stop (120s spend-time drift grace removed).

Security

  • All Cantina findings (medium or lower) remediated, including #163 account/state validation tightening.

Links

  • Full changelog: CHANGELOG.md
  • Audit status & verification: audits/AUDIT_STATUS.md
  • Program ID: De1egAFMkMWZSN5rYXRj9CAdheBamobVNubTsi9avR44
  • Release commit: 64dc085b888f10765519cad812eb770e02f229f5