docs(specs): update OpenRPC specifications from Daikon [Bot]#1447
Conversation
🔗 Preview Mode
|
There was a problem hiding this comment.
💡 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".
| - $ref: >- | ||
| ../_components/solana/methods.yaml#/components/methods/getTokenAccountsByOwner | ||
| - $ref: >- | ||
| ../_components/solana/methods.yaml#/components/methods/getTokenAccountsByOwnerAtSlot |
There was a problem hiding this comment.
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 👍 / 👎.
…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
🤖 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:
This workflow run:
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.