Vote for your favorite SkillMD. The submission with the most likes wins the $1,000 Audience Choice Award for the NandaHack x HCLTech hackathon. Voting is open through September 25.Vote now →
mergedhumanPR #90Payments

edge: address EMPIC escrow review feedback

Follow-up to #41 addressing Skyrider3's review feedback on EMPIC Step 1 escrow behavior.

Author

Status
Merged
Merged on
Jul 9
Branch
hackathon/edge-empic-escrow-review-fixes

Description

The pitch.

## Summary

Follow-up to #41 addressing Skyrider3's review feedback on EMPIC Step 1 escrow behavior.

This PR keeps the change narrowly scoped to the deterministic EMPIC payments plugin, scenario, validators, and tests.

## Changes

- Harden pubsub billing validators so per-tick and max-total caps are enforced from stream lifecycle state rather than trusting a release event's self-reported mode field.
- Add regression coverage showing omitted release mode values no longer bypass pubsub rate-cap or max-total checks.
- Restore generic Payments.pay compatibility for EMPICEscrowPayments: plain pay() now settles immediately and verifies as CONFIRMED.
- Keep EMPIC pull escrow semantics behind explicit open_pull_escrow().
- Update the EMPIC scenario and tests to use open_pull_escrow() where pending escrow plus fulfill/refund behavior is intended.

## Verification

uv run pytest packages/nest-plugins-reference/tests/test_empic_escrow_payments.py packages/nest-core/tests/test_validators.py -q

Result: 124 passed.

Try it

Open PR on GitHubView diff

Checkout locally

git fetch origin pull/90/head:pr-90
git checkout pr-90