Skip to content

feat: recurring payment streams + fix turrets runner signal handlers (#217 #43) - #463

Open
Nathydre wants to merge 1 commit into
FinChippay:masterfrom
Nathydre:fix/43-217-signal-handler-recurring-streams
Open

feat: recurring payment streams + fix turrets runner signal handlers (#217 #43)#463
Nathydre wants to merge 1 commit into
FinChippay:masterfrom
Nathydre:fix/43-217-signal-handler-recurring-streams

Conversation

@Nathydre

Copy link
Copy Markdown

Summary

Fixes two issues assigned to @Nathydre:

#217: Add recurring payment scheduling via time-locked stream chains

  • Added RecurringStreamConfig and RecurringStream structs
  • open_recurring_stream(): creates first cycle stream, stores recurring config, emits recurring_cycle_start event
  • advance_recurring_stream(): anyone can call; closes current cycle, opens next with fresh deposit, emits recurring_cycle_end + recurring_cycle_start events
  • get_recurring_status(): view function returning current recurring stream state
  • Max cycles enforcement: stream marked completed when max_cycles reached
  • Uses existing open_stream/close_stream for per-cycle management

#43: Bug: Turrets runner interval not stopped on graceful shutdown

  • Added SIGTERM and SIGINT signal handlers to turretsServer.js
  • Handlers call stopRunner() to clear the setInterval before exit
  • server.close() ensures in-flight HTTP requests complete before exit

Closes #217, closes #43

Issues addressed:
- FinChippay#217: Add recurring payment scheduling via time-locked stream chains
  - Added RecurringStreamConfig and RecurringStream structs
  - Implemented open_recurring_stream(): creates first cycle stream,
    stores recurring config, emits recurring_cycle_start event
  - Implemented advance_recurring_stream(): anyone can call; closes
    current cycle stream, opens next cycle with fresh deposit,
    emits recurring_cycle_end and recurring_cycle_start events
  - Implemented get_recurring_status() view function
  - Added RecurringStreamCount and RecurringStream DataKey variants
  - Max cycles enforcement: stream marked completed when max_cycles reached
  - Uses existing open_stream/close_stream for per-cycle management

- FinChippay#43: Bug: Turrets runner interval not stopped on graceful shutdown
  - Added SIGTERM and SIGINT signal handlers to turretsServer.js
  - Handlers call stopRunner() to clear the setInterval before exit
  - Server.close() ensures in-flight HTTP requests complete before exit
  - Prevents HTTP requests to Horizon/CoinGecko after shutdown begins

Closes FinChippay#217, closes FinChippay#43
@vercel

vercel Bot commented Jul 28, 2026

Copy link
Copy Markdown

@Nathydre is attempting to deploy a commit to the Topmatrixmor2014 Team on Vercel.

A member of the Team first needs to authorize it.

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.

Issue #51 — Add recurring payment scheduling via time-locked stream chains Bug: Turrets runner interval not stopped on graceful shutdown

1 participant