Skip to content

Commit 769afcf

Browse files
dslovinskyclaude
andcommitted
feat: use object-style params for Solana DAS endpoints
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>
1 parent 317d943 commit 769afcf

File tree

2 files changed

+101
-93
lines changed

2 files changed

+101
-93
lines changed

src/openrpc/alchemy/solana-das/solana-das.yaml

Lines changed: 59 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,17 @@ servers:
1313
methods:
1414
- name: getAsset
1515
description: Returns information about a single digital asset.
16+
paramStructure: by-name
1617
params:
17-
- name: Asset ID
18-
required: true
19-
description: The ID of the asset to retrieve.
20-
schema:
21-
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId
2218
- name: Configuration
23-
required: false
24-
description: Optional configuration object for display formatting.
19+
required: true
20+
description: Configuration object with asset ID and display options.
2521
schema:
2622
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetConfig
2723
examples:
2824
- name: getAsset example
2925
params:
30-
- name: Asset ID
26+
- name: Configuration
3127
value:
3228
id: "F9Lw3ki3hJ7PF9HQXsBzoY8GyE6sPoEZZdXJBsTTD2rk"
3329
result:
@@ -38,26 +34,21 @@ methods:
3834

3935
- name: getAssets
4036
description: Returns information about multiple digital assets.
37+
paramStructure: by-name
4138
params:
42-
- name: Asset IDs
43-
required: true
44-
description: An array of asset IDs to retrieve.
45-
schema:
46-
type: array
47-
items:
48-
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId
4939
- name: Configuration
50-
required: false
51-
description: Optional configuration object for sorting and pagination.
40+
required: true
41+
description: Configuration object with asset IDs, sorting, and pagination.
5242
schema:
5343
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsConfig
5444
examples:
5545
- name: getAssets example
5646
params:
57-
- name: Asset IDs
47+
- name: Configuration
5848
value:
59-
- "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss"
60-
- "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo"
49+
ids:
50+
- "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss"
51+
- "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo"
6152
result:
6253
name: Assets list
6354
description: Returns detailed information about the specified digital assets.
@@ -66,17 +57,19 @@ methods:
6657

6758
- name: getAssetProof
6859
description: Returns the merkle proof for a compressed digital asset.
60+
paramStructure: by-name
6961
params:
70-
- name: Asset ID
62+
- name: Configuration
7163
required: true
72-
description: The ID of the compressed asset to get proof for.
64+
description: Configuration object with the compressed asset ID.
7365
schema:
74-
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId
66+
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetProofParams
7567
examples:
7668
- name: getAssetProof example
7769
params:
78-
- name: Asset ID
79-
value: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss"
70+
- name: Configuration
71+
value:
72+
id: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss"
8073
result:
8174
name: Asset proof
8275
description: Returns the merkle proof for the specified compressed asset.
@@ -85,21 +78,21 @@ methods:
8578

8679
- name: getAssetProofs
8780
description: Returns merkle proofs for multiple compressed digital assets.
81+
paramStructure: by-name
8882
params:
89-
- name: Asset IDs
83+
- name: Configuration
9084
required: true
91-
description: An array of compressed asset IDs to get proofs for.
85+
description: Configuration object with compressed asset IDs.
9286
schema:
93-
type: array
94-
items:
95-
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId
87+
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetProofsParams
9688
examples:
9789
- name: getAssetProofs example
9890
params:
99-
- name: Asset IDs
91+
- name: Configuration
10092
value:
101-
- "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss"
102-
- "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo"
93+
ids:
94+
- "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss"
95+
- "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo"
10396
result:
10497
name: Asset proofs
10598
description: Returns merkle proofs for the specified compressed assets.
@@ -108,21 +101,17 @@ methods:
108101

109102
- name: getAssetsByAuthority
110103
description: Returns assets filtered by their authority.
104+
paramStructure: by-name
111105
params:
112-
- name: Authority address
113-
required: true
114-
description: The authority address to filter assets by.
115-
schema:
116-
$ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey
117106
- name: Configuration
118-
required: false
119-
description: Optional configuration object for sorting and pagination.
107+
required: true
108+
description: Configuration object with authority address, sorting, and pagination.
120109
schema:
121110
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByAuthorityConfig
122111
examples:
123112
- name: getAssetsByAuthority example
124113
params:
125-
- name: Authority address
114+
- name: Configuration
126115
value:
127116
authorityAddress: "2RtGg6fsFiiF1EQzHqbd66AhW7R5bWeQGpTbv2UMkCdW"
128117
result:
@@ -133,21 +122,17 @@ methods:
133122

134123
- name: getAssetsByOwner
135124
description: Returns assets owned by the specified address.
125+
paramStructure: by-name
136126
params:
137-
- name: Owner address
138-
required: true
139-
description: The owner address to filter assets by.
140-
schema:
141-
$ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey
142127
- name: Configuration
143-
required: false
144-
description: Optional configuration object for sorting and pagination.
128+
required: true
129+
description: Configuration object with owner address, sorting, and pagination.
145130
schema:
146131
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByOwnerConfig
147132
examples:
148133
- name: getAssetsByOwner example
149134
params:
150-
- name: Owner address
135+
- name: Configuration
151136
value:
152137
ownerAddress: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY"
153138
page: 1
@@ -168,29 +153,20 @@ methods:
168153

169154
- name: getAssetsByGroup
170155
description: Returns assets filtered by their group information.
156+
paramStructure: by-name
171157
params:
172-
- name: Group key
173-
required: true
174-
description: The group key to filter assets by.
175-
schema:
176-
type: string
177-
- name: Group value
178-
required: true
179-
description: The group value to filter assets by.
180-
schema:
181-
type: string
182158
- name: Configuration
183-
required: false
184-
description: Optional configuration object for sorting and pagination.
159+
required: true
160+
description: Configuration object with group key/value, sorting, and pagination.
185161
schema:
186162
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByGroupConfig
187163
examples:
188164
- name: getAssetsByGroup example
189165
params:
190-
- name: Group key
191-
value: "collection"
192-
- name: Group value
193-
value: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w"
166+
- name: Configuration
167+
value:
168+
groupKey: "collection"
169+
groupValue: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w"
194170
result:
195171
name: Assets by group
196172
description: Returns assets filtered by the specified group.
@@ -199,24 +175,19 @@ methods:
199175

200176
- name: getAssetsByCreator
201177
description: Returns assets created by the specified address.
178+
paramStructure: by-name
202179
params:
203-
- name: Creator address
204-
required: true
205-
description: The creator address to filter assets by.
206-
schema:
207-
$ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey
208180
- name: Configuration
209-
required: false
210-
description: Optional configuration object for sorting and pagination.
181+
required: true
182+
description: Configuration object with creator address, sorting, and pagination.
211183
schema:
212184
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByCreatorConfig
213185
examples:
214186
- name: getAssetsByCreator example
215187
params:
216-
- name: Creator address
188+
- name: Configuration
217189
value:
218-
groupKey: "collection"
219-
groupValue: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w"
190+
creatorAddress: "9zsduBRp3VyGKaqim3b17dER3Z8fGCE1UYs4FNrqn1Km"
220191
result:
221192
name: Assets by creator
222193
description: Returns assets created by the specified address.
@@ -225,6 +196,7 @@ methods:
225196

226197
- name: searchAssets
227198
description: Search for assets using a complex set of filter criteria.
199+
paramStructure: by-name
228200
params:
229201
- name: Search filters
230202
required: false
@@ -247,21 +219,17 @@ methods:
247219

248220
- name: getAssetSignatures
249221
description: Returns signatures for transactions that have interacted with the given asset.
222+
paramStructure: by-name
250223
params:
251-
- name: Asset ID
252-
required: true
253-
description: The ID of the asset to get signatures for.
254-
schema:
255-
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId
256224
- name: Configuration
257-
required: false
258-
description: Optional configuration object for pagination.
225+
required: true
226+
description: Configuration object with asset ID and pagination.
259227
schema:
260228
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetSignaturesConfig
261229
examples:
262230
- name: getAssetSignatures example
263231
params:
264-
- name: Asset ID
232+
- name: Configuration
265233
value:
266234
id: "FNt6A9Mfnqbwc1tY7uwAguKQ1JcpBrxmhczDgbdJy5AC"
267235
result:
@@ -272,22 +240,19 @@ methods:
272240

273241
- name: getNftEditions
274242
description: Returns all editions of a given master NFT.
243+
paramStructure: by-name
275244
params:
276-
- name: Master NFT ID
277-
required: true
278-
description: The ID of the master NFT to get editions for.
279-
schema:
280-
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId
281245
- name: Configuration
282-
required: false
283-
description: Optional configuration object for pagination.
246+
required: true
247+
description: Configuration object with master NFT ID and pagination.
284248
schema:
285249
$ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetNftEditionsConfig
286250
examples:
287251
- name: getNftEditions example
288252
params:
289-
- name: Master NFT ID
290-
value: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss"
253+
- name: Configuration
254+
value:
255+
mint: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss"
291256
result:
292257
name: NFT editions
293258
description: Returns all editions of the specified master NFT.
@@ -296,6 +261,7 @@ methods:
296261

297262
- name: getTokenAccounts
298263
description: Returns token accounts based on the specified filters.
264+
paramStructure: by-name
299265
params:
300266
- name: Configuration
301267
required: false
@@ -307,7 +273,7 @@ methods:
307273
params:
308274
- name: Configuration
309275
value:
310-
ownerAddress: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY"
276+
owner: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY"
311277
result:
312278
name: Token accounts
313279
description: Returns token accounts matching the specified criteria.

0 commit comments

Comments
 (0)