Skip to content

feat: ACTUS events#90

Merged
cusma merged 18 commits intomainfrom
feat/events
Mar 6, 2026
Merged

feat: ACTUS events#90
cusma merged 18 commits intomainfrom
feat/events

Conversation

@cusma
Copy link
Owner

@cusma cusma commented Mar 6, 2026

No description provided.

@cusma cusma requested a review from Copilot March 6, 2026 12:09
@cusma cusma self-assigned this Mar 6, 2026
@cusma cusma added documentation Improvements or additions to documentation enhancement New feature or request specs Update specifications ci-cd CI/CD pipeline and automations labels Mar 6, 2026
@cusma cusma linked an issue Mar 6, 2026 that may be closed by this pull request
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces ACTUS event emission (as ARC-28 events) from payment-agent methods, plus documentation and a new test intended to exercise event logs end-to-end.

Changes:

  • Add Event ARC-4 struct schema and ACTUS event type constants (PR/IP), and emit events from pay_coupon and pay_principal.
  • Add a Fixed Coupon Bond test helper to extract/decode event logs and a new test to run through coupon + principal payments.
  • Update docs and CI workflow to include/validate ACTUS events behavior.

Reviewed changes

Copilot reviewed 15 out of 25 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
modules/payment_agent/principal.py Emit PR event during principal payment.
modules/payment_agent/coupon.py Emit IP event during coupon payment.
smart_contracts/events.py Define the ARC-4 Event struct used for ARC-28 emission.
smart_contracts/enums.py Add ACTUS event type constants (EVT_TYPE_PR, EVT_TYPE_IP).
tests/utils.py Add utilities to extract and decode emitted event logs.
tests/fixed_coupon_bond/test_actus_events.py Add a scenario test intended to exercise event emission for a fixed coupon bond.
docs/interfaces/payment-agent/pay-coupon.md Document emitted IP event for pay_coupon.
docs/interfaces/payment-agent/pay-principal.md Document emitted PR event for pay_principal.
docs/events/events.md Add event schema documentation and supported event types list.
docs/SUMMARY.md Link the new Events documentation page in the docs summary.
pyproject.toml Relax Ruff line-length enforcement across tests/** via E501 ignore.
.github/workflows/d-asa-ci.yaml Add a dedicated CI job to run the ACTUS events test.
modules/core_financial/coupon.py Import formatting only.
smart_contracts/artifacts/*/*.approval.teal Regenerated TEAL artifacts reflecting event emission changes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@cusma cusma closed this Mar 6, 2026
@cusma cusma reopened this Mar 6, 2026
@cusma cusma merged commit 5ccdeeb into main Mar 6, 2026
18 checks passed
@cusma cusma deleted the feat/events branch March 6, 2026 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-cd CI/CD pipeline and automations documentation Improvements or additions to documentation enhancement New feature or request specs Update specifications

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: emit ARC-28 ACTUS events

2 participants