Skip to content

Fix/issue 68 webhook delivery#98

Open
Emmanuel-Ugochukwu1 wants to merge 2 commits into
VeriNode-Labs:mainfrom
Emmanuel-Ugochukwu1:fix/issue-68-webhook-delivery
Open

Fix/issue 68 webhook delivery#98
Emmanuel-Ugochukwu1 wants to merge 2 commits into
VeriNode-Labs:mainfrom
Emmanuel-Ugochukwu1:fix/issue-68-webhook-delivery

Conversation

@Emmanuel-Ugochukwu1

Copy link
Copy Markdown

closes #68

…n host errors

ReentrancyGuard and TenantBondManager tests accessed storage directly
without a registered contract context (env.register_contract +
env.as_contract), causing all 17 pool_manager tests to panic with:
  this function is not accessible outside of a contract

Changes:
- reentrancy_guard.rs: 4 tests now register SoroSusu and wrap in as_contract
- tenant_bond.rs: 13 tests now use the same pattern; invariant test
  batches lock/unlock ops to stay under Soroban host budget limit

Test results: 384 passed, 0 failed (was 153 passed, 17 failed)
…closes VeriNode-Labs#68)

Implements the Webhook Delivery Service with Retry and Signature
Verification feature:
- WebhookPayload: BLS-signed, domain-separated payloads with subgroup
  check on public keys (reuses existing crypto module)
- DeliveryEngine: enqueue, tick-based delivery with exponential backoff
- DeliveryStatus tracking: Pending/Delivered/Retrying/Failed
- MAX_RETRY_ATTEMPTS=5, BASE_BACKOFF_SECONDS=2, MAX_BACKOFF_SECONDS=3600
- Idempotency: duplicate event_id enqueue is rejected

Integration tests (15) and inline unit tests (16) cover sign/verify
roundtrip, tampering detection, off-subgroup key rejection, retry
lifecycle, backoff scheduling, and idempotency.
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.

Webhook Delivery Service with Retry and Signature Verification

1 participant