@arkiv-network/sdk 0.6.8 → 0.7.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +52 -16
  2. package/dist/consts-Bz0LZQZY.js +7 -0
  3. package/dist/consts-Bz0LZQZY.js.map +1 -0
  4. package/dist/consts-CxT1-RXU.cjs +18 -0
  5. package/dist/entity-BhSXaB23.cjs +81 -0
  6. package/dist/{query-CO6f35AE.d.cts → entity-CN41IOrq.d.cts} +125 -59
  7. package/dist/entity-CN41IOrq.d.cts.map +1 -0
  8. package/dist/entity-DGfVyB-a.js +71 -0
  9. package/dist/entity-DGfVyB-a.js.map +1 -0
  10. package/dist/{query-BhdmAzYg.d.ts → entity-NnEVlePN.d.ts} +125 -59
  11. package/dist/entity-NnEVlePN.d.ts.map +1 -0
  12. package/dist/index-ClkpS6s_.d.ts +481 -0
  13. package/dist/index-ClkpS6s_.d.ts.map +1 -0
  14. package/dist/index-w4qop0Pe.d.cts +481 -0
  15. package/dist/index-w4qop0Pe.d.cts.map +1 -0
  16. package/dist/index.cjs +285 -233
  17. package/dist/index.d.cts +100 -6
  18. package/dist/index.d.cts.map +1 -1
  19. package/dist/index.d.ts +101 -7
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +280 -230
  22. package/dist/index.js.map +1 -1
  23. package/dist/payload-BpNUPOnY.js +13 -0
  24. package/dist/payload-BpNUPOnY.js.map +1 -0
  25. package/dist/{payload-Da9gJMG5.d.ts → payload-C2KHOUoj.d.ts} +1 -1
  26. package/dist/{payload-Da9gJMG5.d.ts.map → payload-C2KHOUoj.d.ts.map} +1 -1
  27. package/dist/{payload-vwU3Rc6P.cjs → payload-D8YLKcJj.cjs} +1 -18
  28. package/dist/query/index.cjs +11 -28
  29. package/dist/query/index.d.cts +3 -3
  30. package/dist/query/index.d.ts +3 -3
  31. package/dist/query/index.js +8 -28
  32. package/dist/query/index.js.map +1 -1
  33. package/dist/{queryBuilder-DonAg1aq.js → queryBuilder-BE_XhLLa.js} +303 -152
  34. package/dist/queryBuilder-BE_XhLLa.js.map +1 -0
  35. package/dist/{queryBuilder-DM-YO1Y7.cjs → queryBuilder-J37buGCi.cjs} +372 -149
  36. package/dist/types/index.cjs +4 -1
  37. package/dist/types/index.d.cts +2 -2
  38. package/dist/types/index.d.ts +2 -2
  39. package/dist/types/index.js +4 -1
  40. package/dist/utils/index.cjs +4 -10
  41. package/dist/utils/index.d.cts +0 -1
  42. package/dist/utils/index.d.cts.map +1 -1
  43. package/dist/utils/index.d.ts +1 -2
  44. package/dist/utils/index.d.ts.map +1 -1
  45. package/dist/utils/index.js +2 -3
  46. package/dist/utils/index.js.map +1 -1
  47. package/package.json +11 -15
  48. package/src/actions/public/buildQuery.ts +4 -0
  49. package/src/actions/public/query.ts +10 -0
  50. package/src/actions/public/subscribeEntityEvents.ts +25 -51
  51. package/src/actions/wallet/changeOwnership.ts +6 -6
  52. package/src/actions/wallet/createEntity.ts +19 -6
  53. package/src/actions/wallet/deleteEntity.ts +2 -3
  54. package/src/actions/wallet/extendEntity.ts +9 -5
  55. package/src/actions/wallet/mutateEntities.ts +11 -54
  56. package/src/actions/wallet/updateEntity.ts +15 -6
  57. package/src/clients/createPublicClient.test.ts +2 -0
  58. package/src/clients/decorators/arkivPublic.ts +67 -2
  59. package/src/clients/decorators/arkivWallet.ts +23 -1
  60. package/src/consts.ts +2 -1
  61. package/src/errors.ts +46 -0
  62. package/src/index.ts +0 -3
  63. package/src/query/engine.test.ts +45 -0
  64. package/src/query/engine.ts +28 -14
  65. package/src/query/index.ts +1 -0
  66. package/src/query/predicate.test.ts +43 -0
  67. package/src/query/predicate.ts +14 -10
  68. package/src/query/queryBuilder.test.ts +22 -0
  69. package/src/query/queryBuilder.ts +221 -106
  70. package/src/query/queryResult.ts +13 -7
  71. package/src/query/selectQueryBuilder.test.ts +213 -0
  72. package/src/query/selection.test.ts +120 -0
  73. package/src/query/selection.ts +116 -0
  74. package/src/types/attributes.ts +25 -1
  75. package/src/types/entity.ts +12 -2
  76. package/src/types/events.ts +14 -16
  77. package/src/types/index.ts +1 -0
  78. package/src/types/rpcSchema.ts +7 -2
  79. package/src/utils/arkivTransactions.test.ts +260 -0
  80. package/src/utils/arkivTransactions.ts +255 -92
  81. package/src/utils/entities.ts +17 -7
  82. package/src/utils/index.ts +0 -1
  83. package/src/utils/payload.ts +4 -2
  84. package/src/utils/validation.test.ts +106 -0
  85. package/src/utils/validation.ts +80 -0
  86. package/dist/accounts/index.cjs +0 -9
  87. package/dist/accounts/index.d.cts +0 -1
  88. package/dist/accounts/index.d.ts +0 -1
  89. package/dist/accounts/index.js +0 -1
  90. package/dist/payload-DKBYYjeA.js +0 -18
  91. package/dist/payload-DKBYYjeA.js.map +0 -1
  92. package/dist/query-BhdmAzYg.d.ts.map +0 -1
  93. package/dist/query-CO6f35AE.d.cts.map +0 -1
  94. package/dist/queryBuilder-BvoQXa_u.d.ts +0 -328
  95. package/dist/queryBuilder-BvoQXa_u.d.ts.map +0 -1
  96. package/dist/queryBuilder-DonAg1aq.js.map +0 -1
  97. package/dist/queryBuilder-zTsKXctT.d.cts +0 -328
  98. package/dist/queryBuilder-zTsKXctT.d.cts.map +0 -1
  99. package/src/accounts/index.ts +0 -1
  100. /package/dist/{types-H-TSmRpm.js → types-Ci4BRClw.js} +0 -0
  101. /package/dist/{types-o3zWarRp.cjs → types-a8gm_IaQ.cjs} +0 -0
package/dist/index.d.cts CHANGED
@@ -1,8 +1,7 @@
1
- import { A as RpcIncludeData, C as CreateEntityReturnType, D as ArkivClient, E as GetBlockTimingReturnType, M as RpcQueryOptions, N as MimeType, O as ArkivRpcSchema, S as CreateEntityParameters, T as ChangeOwnershipReturnType, _ as UpdateEntityReturnType, a as Entity, b as DeleteEntityParameters, c as OnEntityDeletedEvent, d as OnEntityOwnerChangedEvent, f as OnEntityUpdatedEvent, g as UpdateEntityParameters, h as MutateEntitiesReturnType, i as QueryReturnType, j as RpcOrderByAttribute, k as RpcEntity, l as OnEntityExpiredEvent, m as MutateEntitiesParameters, n as QueryOptionsIncludeData, o as TxParams, p as Attribute, r as QueryOptionsOrderBy, s as OnEntityCreatedEvent, t as QueryOptions, u as OnEntityExpiresInExtendedEvent, v as ExtendEntityParameters, w as ChangeOwnershipParameters, x as DeleteEntityReturnType, y as ExtendEntityReturnType } from "./query-CO6f35AE.cjs";
2
- import { n as QueryBuilder } from "./queryBuilder-zTsKXctT.cjs";
1
+ import { A as RpcEntity, C as QueryOptions, D as GetBlockTimingReturnType, E as QueryReturnType, M as RpcOrderByAttribute, N as RpcQueryOptions, O as ArkivClient, P as MimeType, S as ChangeOwnershipReturnType, T as QueryOptionsOrderBy, _ as DeleteEntityParameters, a as OnEntityDeletedEvent, b as CreateEntityReturnType, c as OnEntityOwnerChangedEvent, d as MutateEntitiesParameters, f as MutateEntitiesReturnType, g as ExtendEntityReturnType, h as ExtendEntityParameters, i as OnEntityCreatedEvent, j as RpcIncludeData, k as ArkivRpcSchema, l as OnEntityUpdatedEvent, m as UpdateEntityReturnType, n as EntityOperationType, o as OnEntityExpiredEvent, p as UpdateEntityParameters, r as TxParams, s as OnEntityExpiresInExtendedEvent, t as Entity, u as Attribute, v as DeleteEntityReturnType, w as QueryOptionsIncludeData, x as ChangeOwnershipParameters, y as CreateEntityParameters } from "./entity-CN41IOrq.cjs";
2
+ import { c as FullEntity, i as SelectQueryBuilder, l as ProjectedEntity, r as QueryBuilder, s as EntitySelection, u as SelectArg } from "./index-w4qop0Pe.cjs";
3
3
  import { n as stringToPayload, t as jsonToPayload } from "./payload-CJN8fTvX.cjs";
4
4
  import { Account, Address, Chain, Client, Hex, ParseAccount, Prettify, PublicActions, PublicClientConfig, RpcSchema, Transport, WalletActions, WalletClientConfig } from "viem";
5
- export * from "viem";
6
5
 
7
6
  //#region src/clients/decorators/arkivPublic.d.ts
8
7
  type PublicArkivActions<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = Pick<PublicActions<transport, chain, account>, "getBalance" | "getBlock" | "getBlockNumber" | "getChainId" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "waitForTransactionReceipt" | "watchEvent"> & {
@@ -29,12 +28,75 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
29
28
  * // }
30
29
  */
31
30
  getEntity: (key: Hex) => Promise<Entity>;
31
+ /**
32
+ * Returns a SelectQueryBuilder for building and executing queries — the recommended way to
33
+ * read entities. You declare up front which parts of an entity you want returned, so results
34
+ * always contain exactly the data you asked for.
35
+ *
36
+ * - Docs: https://docs.arkiv.network/ts-sdk/actions/public/query
37
+ *
38
+ * @param selection - What to include in the results. Omit it (or pass `"*"`) to select everything,
39
+ * or pass an object to select specific parts (at least one field is required). Every part is
40
+ * opt-in, including the `key`. The selection is flat — each field maps to an entity field.
41
+ * {@link SelectArg}
42
+ * @returns A SelectQueryBuilder instance for building and executing queries. {@link SelectQueryBuilder}
43
+ *
44
+ * @example
45
+ * import { createPublicClient, http } from 'arkiv'
46
+ * import { braga } from 'arkiv/chains'
47
+ * import { eq } from 'arkiv/query'
48
+ *
49
+ * const client = createPublicClient({
50
+ * chain: braga,
51
+ * transport: http(),
52
+ * })
53
+ * // select everything
54
+ * await client.select().where(eq("category", "docs")).fetch()
55
+ * await client.select("*").where(eq("category", "docs")).fetch()
56
+ * // only the key
57
+ * await client.select({ key: true }).where(eq("category", "docs")).fetch()
58
+ * // select specific fields — result typed { owner: Hex; attributes: Attribute[] }
59
+ * await client.select({ owner: true, attributes: true }).fetch()
60
+ * // a single field — result typed { owner: Hex }
61
+ * await client.select({ owner: true }).fetch()
62
+ */
63
+ select: {
64
+ /** Select every field. Pass nothing or `"*"`; the returned entities contain all fields. */
65
+ (selection?: "*"): SelectQueryBuilder<FullEntity>;
66
+ /**
67
+ * Pick the entity fields to return. Set the ones you want to `true` (at least one is required);
68
+ * the result is typed to exactly those fields, so reading anything else is a compile error.
69
+ *
70
+ * Available fields: `key`, `owner`, `creator`, `contentType`, `payload`, `attributes`,
71
+ * `expiresAtBlock`, `createdAtBlock`, `lastModifiedAtBlock`, `transactionIndexInBlock`,
72
+ * `operationIndexInTransaction`.
73
+ *
74
+ * Pass the selection inline so its fields stay literal `true`. A selection stored in a `let`/
75
+ * `const` variable widens to `boolean` and the result type can no longer be narrowed — annotate
76
+ * it `as const` (e.g. `const sel = { owner: true } as const`) in that case.
77
+ *
78
+ * @example
79
+ * client.select({ owner: true, attributes: true }) // entities typed { owner, attributes }
80
+ * client.select({ key: true, payload: true }) // includes payload → toText()/toJson() too
81
+ */
82
+ <const S extends EntitySelection>(selection: S): SelectQueryBuilder<ProjectedEntity<S>>;
83
+ /**
84
+ * Dynamic selection: accepts a value typed {@link SelectArg} (e.g. built at runtime). The
85
+ * result cannot be narrowed in this case, so the entities are typed as the full entity.
86
+ */
87
+ (selection: SelectArg): SelectQueryBuilder<FullEntity>;
88
+ };
32
89
  /**
33
90
  * Returns a QueryBuilder instance for building and executing queries.
34
91
  * The QueryBuilder object follows the Builder pattern, allowing you to chain methods to build a query and then execute it.
35
92
  *
36
93
  * - Docs: https://docs.arkiv.network/ts-sdk/actions/public/query
37
94
  *
95
+ * @deprecated Use {@link select} instead. `buildQuery()` returns only the entity `key` unless
96
+ * you remember to opt in to data with `withAttributes()`/`withMetadata()`/`withPayload()`, which
97
+ * is an easy mistake. `select()` makes the selection explicit. This method remains for backwards
98
+ * compatibility and will be removed in a future release.
99
+ *
38
100
  * @returns A QueryBuilder instance for building and executing queries. {@link QueryBuilder}
39
101
  *
40
102
  * @example
@@ -73,7 +135,6 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
73
135
  * payload: true,
74
136
  * metadata: true,
75
137
  * },
76
- * orderBy: [{ name: "key", type: "string", desc: "asc" }],
77
138
  * resultsPerPage: 10,
78
139
  * cursor: undefined,
79
140
  * atBlock: undefined,
@@ -181,7 +242,7 @@ type PublicArkivClient<transport extends Transport = Transport, chain extends Ch
181
242
  declare function createPublicClient<transport extends Transport, chain extends Chain | undefined = undefined, accountOrAddress extends Account | Address | undefined = undefined, rpcSchema extends RpcSchema | undefined = ArkivRpcSchema>(parameters: PublicClientConfig<transport, chain, accountOrAddress, rpcSchema>): PublicArkivClient<transport, chain, ParseAccount<accountOrAddress>, rpcSchema>;
182
243
  //#endregion
183
244
  //#region src/clients/decorators/arkivWallet.d.ts
184
- type WalletArkivActions<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = Pick<PublicActions<transport, chain, account>, "waitForTransactionReceipt" | "call"> & Pick<WalletActions<chain, account>, "addChain" | "sendCalls" | "waitForCallsStatus" | "sendTransaction" | "sendRawTransaction" | "signMessage" | "signTransaction"> & {
245
+ type WalletArkivActions<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = Pick<PublicActions<transport, chain, account>, "waitForTransactionReceipt" | "call" | "simulateContract" | "readContract" | "getBlockNumber"> & Pick<WalletActions<chain, account>, "addChain" | "sendCalls" | "waitForCallsStatus" | "sendTransaction" | "sendRawTransaction" | "signMessage" | "signTransaction" | "writeContract"> & {
185
246
  /**
186
247
  * Creates a new entity.
187
248
  *
@@ -192,6 +253,11 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
192
253
  * @param txParams - Optional transaction parameters
193
254
  * @returns The created entity with transaction hash
194
255
  *
256
+ * @throws {InvalidExpirationError} If `expiresIn` is not a positive integer
257
+ * that is a multiple of the block time (2 seconds).
258
+ * @throws {InvalidAttributeError} If a numeric attribute value is not an
259
+ * integer.
260
+ *
195
261
  * @example
196
262
  * import { createPublicClient, http } from 'arkiv'
197
263
  * import { braga } from 'arkiv/chains'
@@ -223,6 +289,11 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
223
289
  * @param txParams - Optional transaction parameters
224
290
  * @returns The updated entity with transaction hash
225
291
  *
292
+ * @throws {InvalidExpirationError} If `expiresIn` is not a positive integer
293
+ * that is a multiple of the block time (2 seconds).
294
+ * @throws {InvalidAttributeError} If a numeric attribute value is not an
295
+ * integer.
296
+ *
226
297
  * @example
227
298
  * import { createWalletClient, http } from 'arkiv'
228
299
  * import { braga } from 'arkiv/chains'
@@ -270,6 +341,9 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
270
341
  * @param txParams - Optional transaction parameters
271
342
  * @returns The updated entity with transaction hash
272
343
  *
344
+ * @throws {InvalidExpirationError} If `expiresIn` is not a positive integer
345
+ * that is a multiple of the block time (2 seconds).
346
+ *
273
347
  * @example
274
348
  * import { createWalletClient, http } from 'arkiv'
275
349
  * import { braga } from 'arkiv/chains'
@@ -310,6 +384,11 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
310
384
  * @param txParams - Optional transaction parameters
311
385
  * @returns The mutation result with transaction hash
312
386
  *
387
+ * @throws {InvalidExpirationError} If any create/update/extension `expiresIn`
388
+ * is not a positive integer that is a multiple of the block time (2 seconds).
389
+ * @throws {InvalidAttributeError} If a numeric attribute value is not an
390
+ * integer.
391
+ *
313
392
  * @example
314
393
  * import { createWalletClient, http } from 'arkiv'
315
394
  * import { braga } from 'arkiv/chains'
@@ -375,6 +454,18 @@ declare function createWalletClient<transport extends Transport, chain extends C
375
454
  declare class EntityMutationError extends Error {
376
455
  constructor(message: string);
377
456
  }
457
+ declare class InvalidExpirationError extends Error {
458
+ constructor(expiresIn: unknown);
459
+ }
460
+ declare class InvalidAttributeError extends Error {
461
+ constructor(key: string, value: number);
462
+ }
463
+ declare class InvalidAttributeKeyError extends Error {
464
+ constructor(key: string, reason: string);
465
+ }
466
+ declare class DuplicateAttributeError extends Error {
467
+ constructor(key: string);
468
+ }
378
469
  declare class NoMoreResultsError extends Error {
379
470
  constructor();
380
471
  }
@@ -384,6 +475,9 @@ declare class NoCursorOrLimitError extends Error {
384
475
  declare class NoEntityFoundError extends Error {
385
476
  constructor();
386
477
  }
478
+ declare class InvalidContentTypeError extends Error {
479
+ constructor(contentType: string);
480
+ }
387
481
  //#endregion
388
482
  //#region src/utils/chains.d.ts
389
483
  /**
@@ -394,5 +488,5 @@ declare class NoEntityFoundError extends Error {
394
488
  */
395
489
  declare function chainFromName(name: string): Chain;
396
490
  //#endregion
397
- export { type ArkivClient, ArkivRpcSchema, Attribute, ChangeOwnershipParameters, ChangeOwnershipReturnType, CreateEntityParameters, CreateEntityReturnType, DeleteEntityParameters, DeleteEntityReturnType, Entity, EntityMutationError, ExtendEntityParameters, ExtendEntityReturnType, GetBlockTimingReturnType, MimeType, MutateEntitiesParameters, MutateEntitiesReturnType, NoCursorOrLimitError, NoEntityFoundError, NoMoreResultsError, OnEntityCreatedEvent, OnEntityDeletedEvent, OnEntityExpiredEvent, OnEntityExpiresInExtendedEvent, OnEntityOwnerChangedEvent, OnEntityUpdatedEvent, type PublicArkivActions, type PublicArkivClient, QueryOptions, QueryOptionsIncludeData, QueryOptionsOrderBy, QueryReturnType, RpcEntity, RpcIncludeData, RpcOrderByAttribute, RpcQueryOptions, TxParams, UpdateEntityParameters, UpdateEntityReturnType, type WalletArkivActions, type WalletArkivClient, chainFromName, createPublicClient, createWalletClient, jsonToPayload, stringToPayload };
491
+ export { type ArkivClient, ArkivRpcSchema, Attribute, ChangeOwnershipParameters, ChangeOwnershipReturnType, CreateEntityParameters, CreateEntityReturnType, DeleteEntityParameters, DeleteEntityReturnType, DuplicateAttributeError, Entity, EntityMutationError, EntityOperationType, ExtendEntityParameters, ExtendEntityReturnType, GetBlockTimingReturnType, InvalidAttributeError, InvalidAttributeKeyError, InvalidContentTypeError, InvalidExpirationError, MimeType, MutateEntitiesParameters, MutateEntitiesReturnType, NoCursorOrLimitError, NoEntityFoundError, NoMoreResultsError, OnEntityCreatedEvent, OnEntityDeletedEvent, OnEntityExpiredEvent, OnEntityExpiresInExtendedEvent, OnEntityOwnerChangedEvent, OnEntityUpdatedEvent, type PublicArkivActions, type PublicArkivClient, QueryOptions, QueryOptionsIncludeData, QueryOptionsOrderBy, QueryReturnType, RpcEntity, RpcIncludeData, RpcOrderByAttribute, RpcQueryOptions, TxParams, UpdateEntityParameters, UpdateEntityReturnType, type WalletArkivActions, type WalletArkivClient, chainFromName, createPublicClient, createWalletClient, jsonToPayload, stringToPayload };
398
492
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/clients/decorators/arkivPublic.ts","../src/clients/createPublicClient.ts","../src/clients/decorators/arkivWallet.ts","../src/clients/createWalletClient.ts","../src/errors.ts","../src/utils/chains.ts"],"sourcesContent":[],"mappings":";;;;;;;KAgBY,qCACQ,YAAY,yBAChB,oBAAoB,mCAClB,sBAAsB,uBACpC,KACF,cAAc,WAAW,OAAO;;;AALlC;;;;;;;;;;;;;;;;;;;;EAmIwB,SAAA,EAAA,CAAA,GAAA,EA5FL,GA4FK,EAAA,GA5FG,OA4FH,CA5FW,MA4FX,CAAA;EA4BlB;;;;;;;;;;;;;;;;AChKN;;;;EAEoC,UAAA,EAAA,GAAA,GD4DhB,YC5DgB;EACT;;;;;;;;;;;;;AAyB3B;;;;;;;;;;;;;;;;;EAOG,KAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,YAAA,CAAA,ED2DqC,YC3DrC,EAAA,GD2DsD,OC3DtD,CD2D8D,eC3D9D,CAAA;EAAiB;;;;ACjBpB;;;;;;;;;;;EAII,cAAA,EAAA,GAAA,GFyFoB,OEzFpB,CAAA,MAAA,CAAA;EAEc;;;;;;;;;;;;;;;;;;;EAkIT,cAAA,EAAA,GAAA,GFtBe,OEsBf,CAAA;IAaG,YAAA,EAAA,MAAA;IACK,gBAAA,EAAA,MAAA;IACA,aAAA,EAAA,MAAA;EAAR,CAAA,CAAA;EAgDG;;;;;;;;ACzNZ;;;;;;;;;;;;EAMoC,qBAAA,EAAA,CAAA;IAAA,OAAA;IAAA,eAAA;IAAA,eAAA;IAAA,eAAA;IAAA;EADxB,CACwB,EAAA;IAA8B,OAAA,CAAA,EAAA,CAAA,KAAA,EHgK1C,KGhK0C,EAAA,GAAA,IAAA;IAAW,eAAA,CAAA,EAAA,CAAA,KAAA,EHiK7C,oBGjK6C,EAAA,GAAA,IAAA;IAAO,eAAA,CAAA,EAAA,CAAA,KAAA,EHkKpD,oBGlKoD,EAAA,GAAA,IAAA;IAArC,eAAA,CAAA,EAAA,CAAA,KAAA,EHmKf,oBGnKe,EAAA,GAAA,IAAA;IAA7C,eAAA,CAAA,EAAA,CAAA,KAAA,EHoK8B,oBGpK9B,EAAA,GAAA,IAAA;IADE,yBAAA,CAAA,EAAA,CAAA,KAAA,EHsKsC,8BGtKtC,EAAA,GAAA,IAAA;EAAQ,CAAA,EAAA,eAAA,CAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,GH0KL,OG1KK,CAAA,GAAA,GAAA,IAAA,CAAA;AAuBZ,CAAA;;;KF5BY,oCACQ,YAAY,yBAChB,oBAAoB,4CACT,mDACP,wBAAwB,kBACxC,SACF,OAAO,WAAW,OAAO,kBAAkB,WAAW,mBAAmB,WAAW;;;;;ADLtF;;;;;;;;;;;;;;;AA6DoB,iBClCJ,kBDkCI,CAAA,kBCjCA,SDiCA,EAAA,cChCJ,KDgCI,GAAA,SAAA,GAAA,SAAA,EAAA,yBC/BO,OD+BP,GC/BiB,OD+BjB,GAAA,SAAA,GAAA,SAAA,EAAA,kBC9BA,SD8BA,GAAA,SAAA,GC9BwB,cD8BxB,CAAA,CAAA,UAAA,EC5BN,kBD4BM,CC5Ba,SD4Bb,EC5BwB,KD4BxB,EC5B+B,gBD4B/B,EC5BiD,SD4BjD,CAAA,CAAA,EC3BjB,iBD2BiB,CC3BC,SD2BD,EC3BY,KD2BZ,EC3BmB,YD2BnB,CC3BgC,gBD2BhC,CAAA,EC3BmD,SD2BnD,CAAA;;;AA7DR,KEiBA,kBFjBkB,CAAA,kBEkBV,SFlBU,GEkBE,SFlBF,EAAA,cEmBd,KFnBc,GAAA,SAAA,GEmBM,KFnBN,GAAA,SAAA,EAAA,gBEoBZ,OFpBY,GAAA,SAAA,GEoBU,OFpBV,GAAA,SAAA,CAAA,GEqB1B,IFrB0B,CEqBrB,aFrBqB,CEqBP,SFrBO,EEqBI,KFrBJ,EEqBW,OFrBX,CAAA,EAAA,2BAAA,GAAA,MAAA,CAAA,GEsB5B,IFtB4B,CEuB1B,aFvB0B,CEuBZ,KFvBY,EEuBL,OFvBK,CAAA,EAAA,UAAA,GAAA,WAAA,GAAA,oBAAA,GAAA,iBAAA,GAAA,oBAAA,GAAA,aAAA,GAAA,iBAAA,CAAA,GAAA;EACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyKsB,YAAA,EAAA,CAAA,IAAA,EE3G9B,sBF2G8B,EAAA,QAAA,CAAA,EE1GzB,QF0GyB,EAAA,GEzGjC,OFyGiC,CEzGzB,sBFyGyB,CAAA;EAInC;;;;;AC/KP;;;;;;;;;;;;;;EAMwD,YAAA,EAAA,CAAA,IAAA,ECkF5C,sBDlF4C,EAAA,QAAA,CAAA,ECmFvC,QDnFuC,EAAA,GCoF/C,ODpF+C,CCoFvC,sBDpFuC,CAAA;EAAtD;;;AAsBF;;;;;;;;;;;;;;;;;;;;;;ACVA;EACoB,YAAA,EAAA,CAAA,IAAA,EAoGR,sBApGQ,EAAA,QAAA,CAAA,EAqGH,QArGG,EAAA,GAsGX,OAtGW,CAsGH,sBAtGG,CAAA;EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuIf,YAAA,EAAA,CAAA,IAAA,EAFL,sBAEK,EAAA,QAAA,CAAA,EADA,QACA,EAAA,GAAR,OAAQ,CAAA,sBAAA,CAAA;EAAR;;;;;;;;;;0BAaG,sCACK,aACR,QAAQ;;;ACzKjB;;;;;;;;;;;;;;;;;;;;AA4BA;;;;;;;;;;;;;;;;;;;;;;AC3CA;EAOa,cAAA,EAAA,CAAA,IAAmB,EFiOpB,wBEjOiC,EAAA,QAAA,CAAA,EFkO5B,QElO4B,EAAA,GFmOpC,OEnOoC,CFmO5B,wBEnO4B,CAAA;AAO7C,CAAA;;;KDCY,oCACQ,YAAY,yBAChB,oBAAoB,mCAClB,sBAAsB,uCACpB,wBAAwB,kBACxC,SACF,OAAO,WAAW,OAAO,SAAS,WAAW,mBAAmB,WAAW,OAAO;;;;;AHLpF;;;;;;;;;;;;;;;AA6DoB,iBGlCJ,kBHkCI,CAAA,kBGjCA,SHiCA,EAAA,cGhCJ,KHgCI,GAAA,SAAA,GAAA,SAAA,EAAA,yBG/BO,OH+BP,GG/BiB,OH+BjB,GAAA,SAAA,GAAA,SAAA,EAAA,kBG9BA,SH8BA,GAAA,SAAA,GG9BwB,cH8BxB,CAAA,CAAA,UAAA,EG5BN,kBH4BM,CG5Ba,SH4Bb,EG5BwB,KH4BxB,EG5B+B,gBH4B/B,EG5BiD,SH4BjD,CAAA,CAAA,EG3BjB,iBH2BiB,CG3BC,SH2BD,EG3BY,KH2BZ,EG3BmB,YH2BnB,CG3BgC,gBH2BhC,CAAA,EG3BmD,SH2BnD,CAAA;;;cI7EP,mBAAA,SAA4B,KAAA;;;cAO5B,kBAAA,SAA2B,KAAA;;;cAO3B,oBAAA,SAA6B,KAAA;;AJE1C;AACoB,cIIP,kBAAA,SAA2B,KAAA,CJJpB;EAAY,WAAA,CAAA;;;;;;;;;;iBKLhB,aAAA,gBAA6B"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/clients/decorators/arkivPublic.ts","../src/clients/createPublicClient.ts","../src/clients/decorators/arkivWallet.ts","../src/clients/createWalletClient.ts","../src/errors.ts","../src/utils/chains.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import { A as RpcIncludeData, C as CreateEntityReturnType, D as ArkivClient, E as GetBlockTimingReturnType, M as RpcQueryOptions, N as MimeType, O as ArkivRpcSchema, S as CreateEntityParameters, T as ChangeOwnershipReturnType, _ as UpdateEntityReturnType, a as Entity, b as DeleteEntityParameters, c as OnEntityDeletedEvent, d as OnEntityOwnerChangedEvent, f as OnEntityUpdatedEvent, g as UpdateEntityParameters, h as MutateEntitiesReturnType, i as QueryReturnType, j as RpcOrderByAttribute, k as RpcEntity, l as OnEntityExpiredEvent, m as MutateEntitiesParameters, n as QueryOptionsIncludeData, o as TxParams, p as Attribute, r as QueryOptionsOrderBy, s as OnEntityCreatedEvent, t as QueryOptions, u as OnEntityExpiresInExtendedEvent, v as ExtendEntityParameters, w as ChangeOwnershipParameters, x as DeleteEntityReturnType, y as ExtendEntityReturnType } from "./query-BhdmAzYg.js";
2
- import { n as QueryBuilder } from "./queryBuilder-BvoQXa_u.js";
3
- import { n as stringToPayload, t as jsonToPayload } from "./payload-Da9gJMG5.js";
1
+ import { A as RpcEntity, C as QueryOptions, D as GetBlockTimingReturnType, E as QueryReturnType, M as RpcOrderByAttribute, N as RpcQueryOptions, O as ArkivClient, P as MimeType, S as ChangeOwnershipReturnType, T as QueryOptionsOrderBy, _ as DeleteEntityParameters, a as OnEntityDeletedEvent, b as CreateEntityReturnType, c as OnEntityOwnerChangedEvent, d as MutateEntitiesParameters, f as MutateEntitiesReturnType, g as ExtendEntityReturnType, h as ExtendEntityParameters, i as OnEntityCreatedEvent, j as RpcIncludeData, k as ArkivRpcSchema, l as OnEntityUpdatedEvent, m as UpdateEntityReturnType, n as EntityOperationType, o as OnEntityExpiredEvent, p as UpdateEntityParameters, r as TxParams, s as OnEntityExpiresInExtendedEvent, t as Entity, u as Attribute, v as DeleteEntityReturnType, w as QueryOptionsIncludeData, x as ChangeOwnershipParameters, y as CreateEntityParameters } from "./entity-NnEVlePN.js";
2
+ import { c as FullEntity, i as SelectQueryBuilder, l as ProjectedEntity, r as QueryBuilder, s as EntitySelection, u as SelectArg } from "./index-ClkpS6s_.js";
3
+ import { n as stringToPayload, t as jsonToPayload } from "./payload-C2KHOUoj.js";
4
4
  import { Account, Address, Chain, Client, Hex, ParseAccount, Prettify, PublicActions, PublicClientConfig, RpcSchema, Transport, WalletActions, WalletClientConfig } from "viem";
5
- export * from "viem";
6
5
 
7
6
  //#region src/clients/decorators/arkivPublic.d.ts
8
7
  type PublicArkivActions<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = Pick<PublicActions<transport, chain, account>, "getBalance" | "getBlock" | "getBlockNumber" | "getChainId" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "waitForTransactionReceipt" | "watchEvent"> & {
@@ -29,12 +28,75 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
29
28
  * // }
30
29
  */
31
30
  getEntity: (key: Hex) => Promise<Entity>;
31
+ /**
32
+ * Returns a SelectQueryBuilder for building and executing queries — the recommended way to
33
+ * read entities. You declare up front which parts of an entity you want returned, so results
34
+ * always contain exactly the data you asked for.
35
+ *
36
+ * - Docs: https://docs.arkiv.network/ts-sdk/actions/public/query
37
+ *
38
+ * @param selection - What to include in the results. Omit it (or pass `"*"`) to select everything,
39
+ * or pass an object to select specific parts (at least one field is required). Every part is
40
+ * opt-in, including the `key`. The selection is flat — each field maps to an entity field.
41
+ * {@link SelectArg}
42
+ * @returns A SelectQueryBuilder instance for building and executing queries. {@link SelectQueryBuilder}
43
+ *
44
+ * @example
45
+ * import { createPublicClient, http } from 'arkiv'
46
+ * import { braga } from 'arkiv/chains'
47
+ * import { eq } from 'arkiv/query'
48
+ *
49
+ * const client = createPublicClient({
50
+ * chain: braga,
51
+ * transport: http(),
52
+ * })
53
+ * // select everything
54
+ * await client.select().where(eq("category", "docs")).fetch()
55
+ * await client.select("*").where(eq("category", "docs")).fetch()
56
+ * // only the key
57
+ * await client.select({ key: true }).where(eq("category", "docs")).fetch()
58
+ * // select specific fields — result typed { owner: Hex; attributes: Attribute[] }
59
+ * await client.select({ owner: true, attributes: true }).fetch()
60
+ * // a single field — result typed { owner: Hex }
61
+ * await client.select({ owner: true }).fetch()
62
+ */
63
+ select: {
64
+ /** Select every field. Pass nothing or `"*"`; the returned entities contain all fields. */
65
+ (selection?: "*"): SelectQueryBuilder<FullEntity>;
66
+ /**
67
+ * Pick the entity fields to return. Set the ones you want to `true` (at least one is required);
68
+ * the result is typed to exactly those fields, so reading anything else is a compile error.
69
+ *
70
+ * Available fields: `key`, `owner`, `creator`, `contentType`, `payload`, `attributes`,
71
+ * `expiresAtBlock`, `createdAtBlock`, `lastModifiedAtBlock`, `transactionIndexInBlock`,
72
+ * `operationIndexInTransaction`.
73
+ *
74
+ * Pass the selection inline so its fields stay literal `true`. A selection stored in a `let`/
75
+ * `const` variable widens to `boolean` and the result type can no longer be narrowed — annotate
76
+ * it `as const` (e.g. `const sel = { owner: true } as const`) in that case.
77
+ *
78
+ * @example
79
+ * client.select({ owner: true, attributes: true }) // entities typed { owner, attributes }
80
+ * client.select({ key: true, payload: true }) // includes payload → toText()/toJson() too
81
+ */
82
+ <const S extends EntitySelection>(selection: S): SelectQueryBuilder<ProjectedEntity<S>>;
83
+ /**
84
+ * Dynamic selection: accepts a value typed {@link SelectArg} (e.g. built at runtime). The
85
+ * result cannot be narrowed in this case, so the entities are typed as the full entity.
86
+ */
87
+ (selection: SelectArg): SelectQueryBuilder<FullEntity>;
88
+ };
32
89
  /**
33
90
  * Returns a QueryBuilder instance for building and executing queries.
34
91
  * The QueryBuilder object follows the Builder pattern, allowing you to chain methods to build a query and then execute it.
35
92
  *
36
93
  * - Docs: https://docs.arkiv.network/ts-sdk/actions/public/query
37
94
  *
95
+ * @deprecated Use {@link select} instead. `buildQuery()` returns only the entity `key` unless
96
+ * you remember to opt in to data with `withAttributes()`/`withMetadata()`/`withPayload()`, which
97
+ * is an easy mistake. `select()` makes the selection explicit. This method remains for backwards
98
+ * compatibility and will be removed in a future release.
99
+ *
38
100
  * @returns A QueryBuilder instance for building and executing queries. {@link QueryBuilder}
39
101
  *
40
102
  * @example
@@ -73,7 +135,6 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
73
135
  * payload: true,
74
136
  * metadata: true,
75
137
  * },
76
- * orderBy: [{ name: "key", type: "string", desc: "asc" }],
77
138
  * resultsPerPage: 10,
78
139
  * cursor: undefined,
79
140
  * atBlock: undefined,
@@ -181,7 +242,7 @@ type PublicArkivClient<transport extends Transport = Transport, chain extends Ch
181
242
  declare function createPublicClient<transport extends Transport, chain extends Chain | undefined = undefined, accountOrAddress extends Account | Address | undefined = undefined, rpcSchema extends RpcSchema | undefined = ArkivRpcSchema>(parameters: PublicClientConfig<transport, chain, accountOrAddress, rpcSchema>): PublicArkivClient<transport, chain, ParseAccount<accountOrAddress>, rpcSchema>;
182
243
  //#endregion
183
244
  //#region src/clients/decorators/arkivWallet.d.ts
184
- type WalletArkivActions<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = Pick<PublicActions<transport, chain, account>, "waitForTransactionReceipt" | "call"> & Pick<WalletActions<chain, account>, "addChain" | "sendCalls" | "waitForCallsStatus" | "sendTransaction" | "sendRawTransaction" | "signMessage" | "signTransaction"> & {
245
+ type WalletArkivActions<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = Pick<PublicActions<transport, chain, account>, "waitForTransactionReceipt" | "call" | "simulateContract" | "readContract" | "getBlockNumber"> & Pick<WalletActions<chain, account>, "addChain" | "sendCalls" | "waitForCallsStatus" | "sendTransaction" | "sendRawTransaction" | "signMessage" | "signTransaction" | "writeContract"> & {
185
246
  /**
186
247
  * Creates a new entity.
187
248
  *
@@ -192,6 +253,11 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
192
253
  * @param txParams - Optional transaction parameters
193
254
  * @returns The created entity with transaction hash
194
255
  *
256
+ * @throws {InvalidExpirationError} If `expiresIn` is not a positive integer
257
+ * that is a multiple of the block time (2 seconds).
258
+ * @throws {InvalidAttributeError} If a numeric attribute value is not an
259
+ * integer.
260
+ *
195
261
  * @example
196
262
  * import { createPublicClient, http } from 'arkiv'
197
263
  * import { braga } from 'arkiv/chains'
@@ -223,6 +289,11 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
223
289
  * @param txParams - Optional transaction parameters
224
290
  * @returns The updated entity with transaction hash
225
291
  *
292
+ * @throws {InvalidExpirationError} If `expiresIn` is not a positive integer
293
+ * that is a multiple of the block time (2 seconds).
294
+ * @throws {InvalidAttributeError} If a numeric attribute value is not an
295
+ * integer.
296
+ *
226
297
  * @example
227
298
  * import { createWalletClient, http } from 'arkiv'
228
299
  * import { braga } from 'arkiv/chains'
@@ -270,6 +341,9 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
270
341
  * @param txParams - Optional transaction parameters
271
342
  * @returns The updated entity with transaction hash
272
343
  *
344
+ * @throws {InvalidExpirationError} If `expiresIn` is not a positive integer
345
+ * that is a multiple of the block time (2 seconds).
346
+ *
273
347
  * @example
274
348
  * import { createWalletClient, http } from 'arkiv'
275
349
  * import { braga } from 'arkiv/chains'
@@ -310,6 +384,11 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
310
384
  * @param txParams - Optional transaction parameters
311
385
  * @returns The mutation result with transaction hash
312
386
  *
387
+ * @throws {InvalidExpirationError} If any create/update/extension `expiresIn`
388
+ * is not a positive integer that is a multiple of the block time (2 seconds).
389
+ * @throws {InvalidAttributeError} If a numeric attribute value is not an
390
+ * integer.
391
+ *
313
392
  * @example
314
393
  * import { createWalletClient, http } from 'arkiv'
315
394
  * import { braga } from 'arkiv/chains'
@@ -375,6 +454,18 @@ declare function createWalletClient<transport extends Transport, chain extends C
375
454
  declare class EntityMutationError extends Error {
376
455
  constructor(message: string);
377
456
  }
457
+ declare class InvalidExpirationError extends Error {
458
+ constructor(expiresIn: unknown);
459
+ }
460
+ declare class InvalidAttributeError extends Error {
461
+ constructor(key: string, value: number);
462
+ }
463
+ declare class InvalidAttributeKeyError extends Error {
464
+ constructor(key: string, reason: string);
465
+ }
466
+ declare class DuplicateAttributeError extends Error {
467
+ constructor(key: string);
468
+ }
378
469
  declare class NoMoreResultsError extends Error {
379
470
  constructor();
380
471
  }
@@ -384,6 +475,9 @@ declare class NoCursorOrLimitError extends Error {
384
475
  declare class NoEntityFoundError extends Error {
385
476
  constructor();
386
477
  }
478
+ declare class InvalidContentTypeError extends Error {
479
+ constructor(contentType: string);
480
+ }
387
481
  //#endregion
388
482
  //#region src/utils/chains.d.ts
389
483
  /**
@@ -394,5 +488,5 @@ declare class NoEntityFoundError extends Error {
394
488
  */
395
489
  declare function chainFromName(name: string): Chain;
396
490
  //#endregion
397
- export { type ArkivClient, ArkivRpcSchema, Attribute, ChangeOwnershipParameters, ChangeOwnershipReturnType, CreateEntityParameters, CreateEntityReturnType, DeleteEntityParameters, DeleteEntityReturnType, Entity, EntityMutationError, ExtendEntityParameters, ExtendEntityReturnType, GetBlockTimingReturnType, MimeType, MutateEntitiesParameters, MutateEntitiesReturnType, NoCursorOrLimitError, NoEntityFoundError, NoMoreResultsError, OnEntityCreatedEvent, OnEntityDeletedEvent, OnEntityExpiredEvent, OnEntityExpiresInExtendedEvent, OnEntityOwnerChangedEvent, OnEntityUpdatedEvent, type PublicArkivActions, type PublicArkivClient, QueryOptions, QueryOptionsIncludeData, QueryOptionsOrderBy, QueryReturnType, RpcEntity, RpcIncludeData, RpcOrderByAttribute, RpcQueryOptions, TxParams, UpdateEntityParameters, UpdateEntityReturnType, type WalletArkivActions, type WalletArkivClient, chainFromName, createPublicClient, createWalletClient, jsonToPayload, stringToPayload };
491
+ export { type ArkivClient, ArkivRpcSchema, Attribute, ChangeOwnershipParameters, ChangeOwnershipReturnType, CreateEntityParameters, CreateEntityReturnType, DeleteEntityParameters, DeleteEntityReturnType, DuplicateAttributeError, Entity, EntityMutationError, EntityOperationType, ExtendEntityParameters, ExtendEntityReturnType, GetBlockTimingReturnType, InvalidAttributeError, InvalidAttributeKeyError, InvalidContentTypeError, InvalidExpirationError, MimeType, MutateEntitiesParameters, MutateEntitiesReturnType, NoCursorOrLimitError, NoEntityFoundError, NoMoreResultsError, OnEntityCreatedEvent, OnEntityDeletedEvent, OnEntityExpiredEvent, OnEntityExpiresInExtendedEvent, OnEntityOwnerChangedEvent, OnEntityUpdatedEvent, type PublicArkivActions, type PublicArkivClient, QueryOptions, QueryOptionsIncludeData, QueryOptionsOrderBy, QueryReturnType, RpcEntity, RpcIncludeData, RpcOrderByAttribute, RpcQueryOptions, TxParams, UpdateEntityParameters, UpdateEntityReturnType, type WalletArkivActions, type WalletArkivClient, chainFromName, createPublicClient, createWalletClient, jsonToPayload, stringToPayload };
398
492
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/clients/decorators/arkivPublic.ts","../src/clients/createPublicClient.ts","../src/clients/decorators/arkivWallet.ts","../src/clients/createWalletClient.ts","../src/errors.ts","../src/utils/chains.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/clients/decorators/arkivPublic.ts","../src/clients/createPublicClient.ts","../src/clients/decorators/arkivWallet.ts","../src/clients/createWalletClient.ts","../src/errors.ts","../src/utils/chains.ts"],"sourcesContent":[],"mappings":"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"}