Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[Contracts] resume_stream lacks an is_active/status guard - a cancelled-while-paused stream can be resumed back to Active

Ouverte
#787 10 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 7 jours

@Anthony-19 y travaille déjà.

Depuis le 30/6/2026.

  • #964 par @Anthony-19 — fermée sans fusion
  • #988 par @Anthony-19 — ouverte

Évaluation

Cette issue n'a pas encore été évaluée.

Description

bug contracts GrantFox OSS Maybe Rewarded Official Campaign | FWC26 rust Stellar Wave

Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0

Labels: bug, contracts, Stellar Wave, rust

A stream that was cancelled while paused can be resumed back to Active, leaving an inconsistent record.

cancel_stream (lib.rs:515-518) sets is_active=false and status=Cancelled but never clears paused or paused_at. resume_stream (lib.rs:591) only checks if !stream.paused and never calls validate_stream_active. So if a stream was paused (paused=true) and then cancelled, it still passes the resume check: status flips back to Active (lib.rs:613) while is_active stays false. That's a contradictory record, plus a phantom stream_resumed event with a bogus new_end_time that indexers read as a reactivation.

What the fix has to hold to

  • resume_stream rejects any non-active stream
  • Cancelling settles the pause flags so no stale paused state lingers

Done when

  • resume_stream rejects non-active streams (call validate_stream_active or require status==Paused), returning StreamInactive
  • cancel_stream clears paused/paused_at when settling
  • Test: pause, then cancel, then resume_stream returns StreamInactive and emits no stream_resumed event
  • Tests + fmt pass, CI green

Where to start
All in contracts/stream_contract/src/lib.rs. Indexer/event-worker changes are out of scope. Small guard plus a state-cleanup line.

Langage dominant
TypeScript
Étoiles
18
Forks
250
Merge moyen
5 j 6 h
PR mergées (30 j)
82

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de LabsCrypt/flowfi

Toutes les issues de LabsCrypt/flowfi

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.