Skip to content

Add NexusProvider#5

Open
edridudi wants to merge 1 commit into
MeshJS:mainfrom
edridudi:feature/nexus-provider
Open

Add NexusProvider#5
edridudi wants to merge 1 commit into
MeshJS:mainfrom
edridudi:feature/nexus-provider

Conversation

@edridudi

@edridudi edridudi commented Jul 2, 2026

Copy link
Copy Markdown

What

Adds NexusProvider — a blockchain data provider for the Nexus API (https://nexus.gerowallet.io), alongside the existing Blockfrost/Koios/Maestro/etc. providers.

Implements IFetcher, IListener, ISubmitter and IEvaluator:

  • fetchAccountInfo, fetchAddressUTxOs (+ asset filter), fetchAddressTxs, fetchAddressAssets
  • fetchAssetAddresses, fetchAssetMetadata, fetchCollectionAssets
  • fetchBlockInfo / fetchLatestBlock, fetchProtocolParameters, fetchCostModels
  • fetchTxInfo, fetchUTxOs, fetchGovernanceProposal
  • fetchHandle / fetchHandleAddress, fetchScriptByHash
  • submitTx, evaluateTx, onTxConfirmed, generic get/post

Notes

  • Network is key-scoped on Nexus, so the constructor takes an API key (hosted) or a base URL (self-hosted). Reference scripts are resolved inline or by hash.
  • evaluateTx posts to the Nexus evaluate endpoint (Ogmios-backed server-side) and maps redeemer budgets to Mesh Actions.

Files

  • src/nexus.ts, src/types/nexus.ts (+ re-exports from src/index.ts / src/types/index.ts)
  • test/nexus/fetcher.test.ts, test/nexus/evaluator.test.ts — hermetic tests (stubbed axios; no live server needed)
  • .env.exampleNEXUS_API_KEY / NEXUS_API_URL

Verified

  • tsc --noEmit clean · tsup build (NexusProvider in dist/index.d.ts) · 7/7 jest tests pass · prettier-clean.

🤖 Generated with Claude Code

Blockchain data provider for the Nexus API (nexus.gerowallet.io):
implements IFetcher, IListener, ISubmitter and IEvaluator — address/asset/
block/tx queries, account info, protocol params & cost models, tx submission,
tx evaluation, and reference-script/script-by-hash resolution.

Includes src/types/nexus.ts and hermetic fetcher/evaluator tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant