Fix orphaned webhooks, leader reentry, airdrop linking, and WS subscription cap - #182
Merged
ritaifeoluwa merged 1 commit intoAug 26, 2026
Conversation
…iption cap - SmartDropLabs#113: Remove dead services/webhooks.js and its test; update README webhook events table to clarify which events have active dispatch paths - SmartDropLabs#119: Capture leaderElection originals at construction and restore on stop so repeated start/stop cycles don't cumulatively monkey-patch - SmartDropLabs#122: Add contract_airdrop_id field to airdrop records for on-chain linking; document that REST-created airdrops are off-chain bookkeeping only - SmartDropLabs#124: Enforce MAX_ASSETS_PER_CLIENT against cumulative client.assets.size instead of per-message; send error when cap is hit
|
@oldtaker24 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! 🚀 |
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #113, Fixes #119, Fixes #122, Fixes #124
What changed
services/webhooks.jsand its test; updated README webhook events table to clarify which events have active dispatch paths (services/webhooks.js + services/webhook.js are an entirely orphaned, never-wired parallel webhook delivery implementation #113)contract_airdrop_idfield to airdrop records for on-chain linking; documented that REST-created airdrops are off-chain bookkeeping only (REST-managed airdrops and indexer-observed on-chain airdrops use disjoint ID namespaces with no linking field — on-chain claim status never reaches the REST API #122)MAX_ASSETS_PER_CLIENTagainst cumulativeclient.assets.sizeinstead of per-message; send error when cap is hit (PriceSubscriptionManager's MAX_ASSETS_PER_CLIENT cap is enforced per-message, not cumulatively — repeated subscribe calls bypass the limit #124)Why
services/webhooks.jswas a fully orphaned parallel webhook system never wired to any route, confusing contributors and creating dual-signing-scheme riskleaderAwareJob.start()monkey-patched leaderElection methods without restoring them instop(), causing wrapper accumulation on repeated cyclesHow to test
grep -r "services/webhooks'" src/ test/returns no resultscontract_airdrop_id, verify field persistsclient.assets.sizenever exceeds 5 and error is returned when cap hit