Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#787 10 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 7 días

@Anthony-19 ya está trabajando en esto.

Desde el 30/6/2026.

  • #964 de @Anthony-19 — cerrado sin fusionar
  • #988 de @Anthony-19 — abierto

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
18
Forks
250
Merge medio
5 d 6 h
PR fusionados (30 d)
83

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de LabsCrypt/flowfi

Todos los issues de LabsCrypt/flowfi

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.