Skip to content

feat(audit): sponsorship graph, op-result reconciliation, Soroban footprint, WASM binding audits - #265

Open
techwizard-012 wants to merge 1 commit into
Dantama022:mainfrom
techwizard-012:feature/200-203-sep-compliance-pack-5
Open

techwizard-012 wants to merge 1 commit into
Dantama022:mainfrom
techwizard-012:feature/200-203-sep-compliance-pack-5

Conversation

@techwizard-012

Copy link
Copy Markdown

Summary

Adds four read-only inspection commands (src/cli/commands/sep-compliance-5.ts), each with a service, docs, and unit tests:

  • sponsorship-graph-audit (ISSUE-158): builds a sponsorship graph from Horizon account records. Each edge records its source path. Sponsors that weren't inspected are reported as unresolved. Cycles are detected only on the account-entry subgraph and reported as info.
  • operation-result-reconciliation (ISSUE-159): matches envelope operations to result codes (using the existing decodeTransactionResult), Horizon operation records (by sorted ID) and effects (by paging-token prefix). A missing effect is never reported as a failure.
  • soroban-footprint-audit (ISSUE-160): summarizes the declared read-only/read-write footprint by key type and flags duplicates, read/write conflicts and unsupported key types.
  • contract-wasm-binding-audit (ISSUE-161): checks the instance's executable type and confirms that the WASM hash matches both the ContractCode entry hash and the bytecode SHA-256. Missing data and RPC failures are reported as inconclusive. getLedgerEntries is now exported from wasm-integrity.ts so this command can reuse it.

Closes #200
Closes #201
Closes #202
Closes #203

Validation

  • New tests: 18/18 pass. 14 pass under normal jest. The 4 reconciliation tests pass only with ts-jest diagnostics off, because src/services/transaction-analyzer.ts fails to compile on main already (fetchAccountTransactions is missing). The existing transaction-result-analyzer suite fails on main for the same reason.
  • ESLint and Prettier pass on all new files.
  • tsc --noEmit: no errors in the new files. Errors already on main remain in federation-response-report.ts, sep10-challenge-audit.ts, sponsorship-lifecycle-audit.ts and trustline-exposure.ts.
  • Prettier warnings already on main remain in src/cli/index.ts and src/services/wasm-integrity.ts (left untouched).

…nt, wasm binding audits

Adds four read-only inspection commands (sep-compliance pack 5):

- sponsorship-graph-audit (ISSUE-158)
- operation-result-reconciliation (ISSUE-159)
- soroban-footprint-audit (ISSUE-160)
- contract-wasm-binding-audit (ISSUE-161)

Closes Dantama022#200
Closes Dantama022#201
Closes Dantama022#202
Closes Dantama022#203
@drips-wave

drips-wave Bot commented Oct 22, 2026

Copy link
Copy Markdown

@techwizard-012 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! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant