Skip to content

Implement milestone_release_request event emission#221

Merged
ayshadogo merged 1 commit into
Dfunder:mainfrom
MaryammAli:Implement-milestone_release_request-event-emission
Jun 1, 2026
Merged

Implement milestone_release_request event emission#221
ayshadogo merged 1 commit into
Dfunder:mainfrom
MaryammAli:Implement-milestone_release_request-event-emission

Conversation

@MaryammAli

Copy link
Copy Markdown
Contributor

Implement milestone_released Event Emission

Overview

This PR adds contract event emission for milestone fund releases, enabling backend services to automatically detect and process release activity through Stellar event streams.

Problem Addressed

Currently, milestone releases occur on-chain without emitting a structured event that external services can consume. This makes it difficult for backend systems to synchronize release data, update databases, and trigger downstream workflows without directly inspecting contract state.

Changes Made

  • Implemented event publication during milestone release execution.
  • Added a milestone_released event emitted through env.events().publish().
  • Structured event topics and payload to support efficient indexing and event streaming.
  • Ensured compatibility with Stellar Horizon event ingestion and external indexers.

Event Specification

Topics

["milestone_released", contract_address]

Event Data

{
  "milestone_index": number,
  "amount": number,
  "asset": "Asset",
  "recipient": "Address",
  "timestamp": number
}

Emission Method

env.events().publish(...)

Benefits

  • Enables real-time backend synchronization.
  • Simplifies event-driven integrations.
  • Reduces the need for periodic contract state polling.
  • Improves observability of milestone release activity.
  • Supports Stellar Horizon event indexing and streaming consumers.

Acceptance Criteria

  • Event topics are emitted as:

    • ["milestone_released", contract_address]
  • Event data includes:

    • milestone_index
    • amount
    • asset
    • recipient
    • timestamp
  • Event is emitted via env.events().publish().

  • Event is compatible with Stellar Horizon indexing and event streaming infrastructure.

Notes

  • Event emission occurs only after a successful milestone release.
  • Event payload is designed to provide sufficient context for backend consumers without requiring additional contract lookups.
  • The implementation supports future analytics, notifications, and audit trail integrations.
    Closes Implement milestone_release_request event emission #211

 Implement milestone_release_request event emission
@drips-wave

drips-wave Bot commented May 31, 2026

Copy link
Copy Markdown

@MaryammAli Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@ayshadogo ayshadogo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your contribution 🤝

@ayshadogo ayshadogo merged commit 84c3c73 into Dfunder:main Jun 1, 2026
1 check failed
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.

Implement milestone_release_request event emission

2 participants