feat(ops): indexer + treasury ops bundle (#283–#286) - #358
Merged
miss-yusrah merged 1 commit intoAug 31, 2026
Merged
Conversation
- Stellar-TrustBridge#283: document a stable, replay-idempotent event ID scheme (network:contract:ledger:tx:index) in DASHBOARD_SYNC.md / EVENT_INDEXING.md, with a reference consumer test (tests/event_replay.rs, `cargo test event`) and a language-neutral replay fixture. - Stellar-TrustBridge#284: add docs/subgraph/ — a Graph-Protocol schema.graphql for Registered/Verified/Removed plus a derived Contributor aggregate, the event -> entity mapping, a handler sketch, an example query, and local-run notes. Field names mirror src/events.rs; no payload fields invented. - Stellar-TrustBridge#285: add scripts/payout_allowlist.{py,sh} — verified-only payout CSV generated from the unauthenticated get_public_paginated read, bots and unverified rows excluded by default, with pagination-completeness checks. - Stellar-TrustBridge#286: rework scripts/bulk_verify.sh to call batch_verify in pages of MAX_WRITE_BATCH (25) with automatic per-username fallback, pacing, dry-run, partial-success (BatchSummary) handling, and per-batch audit logging. - document the two scripts in ADMIN_RUNBOOK.md; ignore __pycache__. Closes: Stellar-TrustBridge#283 Closes: Stellar-TrustBridge#284 Closes: Stellar-TrustBridge#285 Closes: Stellar-TrustBridge#286
|
@fytgian 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! 🚀 |
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.
Bundled delivery of the four Stellar Wave indexer/ops issues assigned to @fytgian.
Changes
{network_id}:{contract_id}:{ledger_sequence}:{tx_hash}:{event_index}inDASHBOARD_SYNC.md/EVENT_INDEXING.md, plus the consumer dedup algorithm. Addstests/event_replay.rs(a reference consumer proving a full re-sync is a no-op) and a language-neutraltests/testdata/event_replay_fixture.json.docs/subgraph/withschema.graphql(RegisteredEvent,VerifiedEvent,RemovedEvent+ derivedContributor), the event→entity mapping, handler sketch, example query, and local-run notes. Field names/types mirrorsrc/events.rs;RegisteredEventcorrectly has nodomain,reason_codeis absent, batch-remove collisions are handled viaeventIndex. No payload fields invented.get_public_paginatedwith verified-only mode #285 — payout allowlist CSV. Newscripts/payout_allowlist.{py,sh}paginating the unauthenticatedget_public_paginatedread (no admin key), verified-only by default, bots excluded, with pagination-completeness guarding. Columns aligned with the JSON export pluspayout_address.batch_verifywith pacing #286 — bulk-verify batch adapter.scripts/bulk_verify.shnow callsbatch_verifyin pages ofMAX_WRITE_BATCH(25) with automatic per-usernameverifyfallback for older contracts, pacing, dry-run,BatchSummarypartial-success handling, and per-batch audit logging.ADMIN_RUNBOOK.mddocuments both scripts;.gitignoreignores__pycache__.Validation
bash -non both shell scripts;python3 -m py_compileon the Python modules — pass.cargo fmt/clippy/testwere not run locally;tests/event_replay.rsis std-only and#[rustfmt::skip]is applied to the fixture table. CI covers fmt/clippy/test.Closes: #283
Closes: #284
Closes: #285
Closes: #286