Skip to content

feat: use object-style params for Solana DAS endpoints#1029

Draft
dslovinsky wants to merge 2 commits intomainfrom
ds/solana-das-params-by-name
Draft

feat: use object-style params for Solana DAS endpoints#1029
dslovinsky wants to merge 2 commits intomainfrom
ds/solana-das-params-by-name

Conversation

@dslovinsky
Copy link
Collaborator

Summary

  • Adds paramStructure: by-name to all 12 Solana DAS methods so the docs site renders "params": { ... } instead of "params": [...]
  • Adds missing primary fields (id, ids, ownerAddress, mint, etc.) and required arrays to config schemas in asset.yaml
  • Creates GetAssetProofParams and GetAssetProofsParams schemas for methods that previously had no config object
  • Collapses multi-param methods into a single config param and updates examples

Companion PR: OMGWINNING/docs-site (rendering support for paramStructure: by-name)

Test plan

  • Run pnpm generate:rpc — confirm paramStructure: "by-name" appears in generated solana-das.json for all 12 methods
  • Verify generated JSON schemas include required primary fields (e.g. ownerAddress in GetAssetsByOwnerConfig)

Add `paramStructure: by-name` to all 12 DAS methods so the rendered
docs produce `params: { ... }` instead of `params: [...]`.

- Add missing primary fields (id, ids, ownerAddress, mint, etc.) and
  `required` arrays to config schemas in asset.yaml
- Create GetAssetProofParams / GetAssetProofsParams schemas
- Collapse multi-param methods into a single config param
- Update examples to use full object values

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions
Copy link

github-actions bot commented Feb 13, 2026

🌿 Documentation Preview

Name Status Preview Updated (UTC)
Alchemy Docs ✅ Ready 🔗 Visit Preview Feb 14, 2026, 12:47 AM

@github-actions github-actions bot temporarily deployed to docs-preview February 13, 2026 00:30 Destroyed
@dslovinsky
Copy link
Collaborator Author

@codex review

Copy link

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

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: 769afcf324

ℹ️ 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".

description: The ID of the asset to retrieve.
schema:
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId
- name: Configuration

Choose a reason for hiding this comment

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

P1 Badge Rename by-name params to actual RPC field names

With paramStructure: by-name, each params[].name is treated as the JSON key on the wire. Using labels like Configuration here (and similarly Search filters elsewhere in this file) causes generated/request examples to become params: {"Configuration": {...}} instead of DAS’s expected top-level fields such as id, ids, ownerAddress, etc., so consumers that follow this spec will send invalid payloads.

Useful? React with 👍 / 👎.

With `paramStructure: by-name`, each param's `name` becomes a top-level
JSON key on the wire. Using `name: Configuration` produced
`"params": {"Configuration": {...}}` instead of the expected flat params.

Expand each method's single Configuration param into individual named
params where each name matches the actual DAS API field name.

Co-Authored-By: Claude <noreply@anthropic.com>
@dslovinsky
Copy link
Collaborator Author

@codex review

@dslovinsky dslovinsky self-assigned this Feb 14, 2026
Copy link

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

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: 24c72b6ecf

ℹ️ 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 on lines +690 to +694
- name: mint
required: false
description: Configuration object for filtering and pagination.
description: The mint address to filter token accounts by.
schema:
$ref: ../../chains/_components/solana/account.yaml#/components/schemas/GetTokenAccountsConfig
$ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey

Choose a reason for hiding this comment

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

P2 Badge Preserve full getTokenAccounts parameter surface

This expansion drops valid request options from getTokenAccounts: the method now exposes only mint, owner, programId, limit, and cursor, but GetTokenAccountsConfig still includes commitment, minContextSlot, dataSlice, and encoding in src/openrpc/chains/_components/solana/account.yaml (lines 237-245). As a result, generated docs/types from this method no longer allow those options even though they were previously available through the config object, which is a behavioral regression for callers that need non-default commitment or encoding.

Useful? React with 👍 / 👎.

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