Skip to content

feat(manifest): resolve maintainer Stellar addresses from FUNDING.json (closes #4) - #23

Open
NePreby wants to merge 7 commits into
Flow-Pulse:mainfrom
NePreby:feat/resolve-funding-json-stellar-address
Open

NePreby wants to merge 7 commits into
Flow-Pulse:mainfrom
NePreby:feat/resolve-funding-json-stellar-address

Conversation

@NePreby

@NePreby NePreby commented Nov 6, 2026

Copy link
Copy Markdown

Summary

Closes #4.

Automates maintainer Stellar address discovery for split tables by resolving upstream FUNDING.json files published in dependency repositories:

  1. Resolution Pipeline (frontend/src/lib/manifest.ts):
    • extractGitHubRepoSlug(url): Robustly normalizes GitHub repository URLs (HTTPS, SSH, git+protocols, trailing .git).
    • extractStellarAddressFromFundingJson(text): Validates and extracts Ed25519 Stellar public addresses (G...) from standard Drips / Radicle FUNDING.json schemas, supporting stellar, address, drips.stellar, and accounts[] entries.
    • fetchDependencyRepoSlug(dep): Queries crates.io API (/api/v1/crates/{name}) or npm registry (registry.npmjs.org/{name}) to discover the GitHub source repository.
    • fetchFundingJsonAddress(repoSlug): Checks both .github/FUNDING.json and root FUNDING.json on the repository default branch (HEAD).
    • resolveMaintainerFundingAddress(dep): End-to-end non-blocking resolver that fails silently and returns null on network or parsing issues without halting table construction.
  2. UI Integration (frontend/src/pages/Cascades.tsx):
    • Automatically kicks off background address resolution when parsing manifests (Cargo.toml, package.json, lockfiles).
    • Rows prefilled from FUNDING.json display a distinct verification badge: <span className="chip-ok">resolved from FUNDING.json</span>.
    • Rows without an address provide a manual Resolve FUNDING.json button for on-demand resolution.
  3. Unit Tests & Verification (frontend/src/lib/__tests__/manifest_funding.test.ts):
    • 8 unit tests covering address parsing, schema variations, URL slug normalizations, and mocked network requests.
    • Verified clean with npx tsc -b and npx vitest run (58/58 tests passing across 8 suites).

Payout Wallet:

  • TRX Tron (TRC20): TMqmJjRgVS21NL2eFtfyHciTxvE4BqGmEv

This branch has not been deployed

No deployments
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.

Resolve maintainer Stellar addresses from FUNDING.json

1 participant