Skip to content

docs(specs): update OpenRPC specifications from Daikon [Bot]#1447

Merged
dslovinsky merged 8 commits into
mainfrom
bot/daikon-specs-update
Jul 16, 2026
Merged

docs(specs): update OpenRPC specifications from Daikon [Bot]#1447
dslovinsky merged 8 commits into
mainfrom
bot/daikon-specs-update

Conversation

@alchemy-bot

Copy link
Copy Markdown
Contributor

🤖 Automated update of OpenRPC specs

This PR updates JSON-RPC method references based on the latest Daikon config. See this comprehensive guide

1 chain created or updated:

  • Solana

This workflow run:

  • Uses references to shared components for methods
  • Creates new OpenRPC specs and updates existing ones
  • For new chains, adds them to docs navigation
  • Respects x-bot-ignore arrays to exclude specific methods from automation

Something look wrong? If you are an Alchemy employee please open a PR with changes in Daikon. If you are a member of the public please reach out to our team.

@alchemy-bot alchemy-bot requested a review from a team as a code owner July 13, 2026 16:00
@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown

🔗 Preview Mode

Name Status Preview Updated (UTC)
Alchemy Docs ✅ Ready 🔗 Visit Preview Jul 16, 2026, 6:17 PM

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fd1b38c08e

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/openrpc/chains/solana/solana.yaml Outdated
- $ref: >-
../_components/solana/methods.yaml#/components/methods/getTokenAccountsByOwner
- $ref: >-
../_components/solana/methods.yaml#/components/methods/getTokenAccountsByOwnerAtSlot

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add the missing method component before referencing it

This new $ref has no target: in this commit, getTokenAccountsByOwnerAtSlot only appears here and in the overview table, while src/openrpc/chains/_components/solana/methods.yaml does not define components.methods.getTokenAccountsByOwnerAtSlot. The RPC generator dereferences these references before writing the specs, so Solana/OpenRPC generation will fail instead of producing the new endpoint until the component is added or this ref is removed.

Useful? React with 👍 / 👎.

dslovinsky pushed a commit that referenced this pull request Jul 16, 2026
…od definitions for Base (#1453)

* [docs-agent] Add debug_executePayload and debug_proofsSyncStatus method definitions for Base

Adds OpenRPC method definitions for two Base debug endpoints served by Base's historical proofs execution extension (ExEx):

* debug_executePayload: re-execute a payload on top of a parent block and return the execution witness (state / codes / keys / headers preimages). Used by fault-proof provers and stateless clients.

* debug_proofsSyncStatus: return the currently indexed block range of the historical proofs store as { earliest, latest }.

Definitions land in src/openrpc/chains/_components/custom/methods.yaml (matching the location of the existing debug_executionWitness / debug_executionWitnessByHash entries). Supporting schemas (ExecutionWitness, OpPayloadAttributes) live in a new src/openrpc/chains/_components/custom/debug.yaml.

Does NOT modify base.yaml $ref list or base-api-overview.mdx: those additions are handled by Daikon in PR #1447, which was blocked on these two definitions being missing. Once this PR merges, #1447 can rebase and its $refs will resolve cleanly.

Sources for the schema:

* base/base crates/execution/rpc/src/{debug,witness}.rs: canonical trait definitions for DebugExecutionWitnessApi::execute_payload and DebugApiOverride::proofs_sync_status, plus the ProofsSyncStatus struct.

* ethereum-optimism/optimism rust/op-reth/crates/rpc/src/debug.rs and docs/public-docs/node-operators/{reference/op-reth-historical-proof-config,tutorials/reth-historical-proofs}.mdx: identical signatures and "{ earliest, latest }" result envelope.

* alloy-rs/alloy crates/rpc-types-debug/src/execution_witness.rs: authoritative ExecutionWitness struct (state, codes, keys, headers).

* alloy-rs/op-alloy crates/rpc-types-engine/src/attributes.rs: authoritative OpPayloadAttributes struct (payload_attributes flattened via serde flatten, plus transactions/no_tx_pool/gas_limit/eip_1559_params/min_base_fee, camelCase serialization).

* Base's official docs at docs.base.org/base-chain/node-operators/run-a-base-node reference both methods.

* Live smoke test against https://base-mainnet.g.alchemy.com/v2/docs-demo:

  - debug_proofsSyncStatus with params [] returned {earliest: 47338810, latest: 48634815}, matching the two-field envelope.

  - debug_executePayload with a real parent hash and full OpPayloadAttributes (including eip1559Params and minBaseFee, since Jovian is active on Base mainnet) returned an ExecutionWitness with fields state (50 entries), codes (2), keys (6), headers (0), matching the schema field-for-field.

  - debug_executePayload with an all-zero parent hash returned -32603 "no header found for Hash(...)", matching the documented error path.

Validation: pnpm run generate:rpc + pnpm run validate:rpc both pass; prettier clean on both files.

Refs DOCS-137

Requested-by: @dslovinsky

* [docs-agent] debug_proofsSyncStatus: model earliest/latest as JSON numbers, not hex uint64

Addresses Codex P2 review comment on PR #1453: my previous schema declared `earliest` and `latest` as `oneOf: [uint64, null]`, but Base's `uint64` schema is a hex-encoded string (`^0x([1-9a-f]+[0-9a-f]{0,15})|0$`). The server actually returns raw JSON numbers, so generated clients and response validators would reject valid non-null responses.

Verified with a fresh live call to `base-mainnet.g.alchemy.com/v2/docs-demo`:

  `result.earliest` = 47345687 (jq `type` -> "number")

  `result.latest` = 48641705 (jq `type` -> "number")

Fix: replace the `uint64` $ref with an inline `{ type: integer, minimum: 0 }` in the `oneOf`, and add a description note that the serialization is a JSON number (not hex) so future readers do not re-introduce the mistake.

Validation: `pnpm run generate:rpc` + `pnpm run validate:rpc` both pass; prettier clean.

Refs DOCS-137

Requested-by: @dslovinsky
@dslovinsky dslovinsky merged commit 57ff5d0 into main Jul 16, 2026
11 checks passed
@dslovinsky dslovinsky deleted the bot/daikon-specs-update branch July 16, 2026 18:28
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.

2 participants