@arkiv-network/sdk 0.8.0-dev.1 → 0.8.0-dev.3

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 (135) hide show
  1. package/dist/attr/index.cjs +1 -1
  2. package/dist/attr/index.d.cts +1 -1
  3. package/dist/attr/index.d.ts +1 -1
  4. package/dist/attr/index.js +1 -1
  5. package/dist/{attr-BvxHN99W.cjs → attr-BXTkpnoc.cjs} +13 -3
  6. package/dist/{attr-BDZ-APg5.js → attr-tmyREHtw.js} +14 -4
  7. package/dist/attr-tmyREHtw.js.map +1 -0
  8. package/dist/chains/index.cjs +1 -1
  9. package/dist/chains/index.d.cts +3 -0
  10. package/dist/chains/index.d.cts.map +1 -1
  11. package/dist/chains/index.d.ts +3 -0
  12. package/dist/chains/index.d.ts.map +1 -1
  13. package/dist/chains/index.js +1 -1
  14. package/dist/{chains-BYRTTipa.cjs → chains-BfNQliHU.cjs} +3 -0
  15. package/dist/{chains-BJrZs6sG.js → chains-Du8tql7I.js} +4 -1
  16. package/dist/chains-Du8tql7I.js.map +1 -0
  17. package/dist/{changeOwnership-DwgtdSFc.d.ts → changeOwnership-B0ar96ub.d.ts} +47 -34
  18. package/dist/changeOwnership-B0ar96ub.d.ts.map +1 -0
  19. package/dist/{changeOwnership-B7bEgla4.d.cts → changeOwnership-BofkLnXJ.d.cts} +47 -34
  20. package/dist/changeOwnership-BofkLnXJ.d.cts.map +1 -0
  21. package/dist/entity/index.cjs +5 -4
  22. package/dist/entity/index.d.cts +2 -2
  23. package/dist/entity/index.d.ts +2 -2
  24. package/dist/entity/index.js +5 -5
  25. package/dist/{entity-CFhbAv0R.js → entity-CniBgBSd.js} +17 -5
  26. package/dist/entity-CniBgBSd.js.map +1 -0
  27. package/dist/{entity-wfBnZd91.cjs → entity-DJ0Gml9c.cjs} +23 -5
  28. package/dist/{errors-DGB8AgT2.js → errors-D2E1GRjw.js} +2 -2
  29. package/dist/errors-D2E1GRjw.js.map +1 -0
  30. package/dist/{errors-D-eJkGVc.cjs → errors-DhV00966.cjs} +1 -1
  31. package/dist/expiry-BxOlvVWC.d.ts.map +1 -1
  32. package/dist/{expiry-BUYIXTGb.cjs → expiry-CG9GhVXv.cjs} +1 -1
  33. package/dist/{expiry-DGRzrSan.js → expiry-Cgdb_dbq.js} +2 -2
  34. package/dist/expiry-Cgdb_dbq.js.map +1 -0
  35. package/dist/expiry-DRV29F1r.d.cts.map +1 -1
  36. package/dist/{flags-Ct8k0gpB.cjs → flags-DCD26uhe.cjs} +1 -1
  37. package/dist/{flags-ZtlvOIIk.js → flags-DUT2gHEU.js} +2 -2
  38. package/dist/{flags-ZtlvOIIk.js.map → flags-DUT2gHEU.js.map} +1 -1
  39. package/dist/{index-D0CmtiWT.d.cts → index-BGp2plHs.d.cts} +15 -5
  40. package/dist/index-BGp2plHs.d.cts.map +1 -0
  41. package/dist/{index-VCqgn29D.d.ts → index-BKB875Um.d.ts} +4 -4
  42. package/dist/{index-VCqgn29D.d.ts.map → index-BKB875Um.d.ts.map} +1 -1
  43. package/dist/{index-DVYFaXNV.d.ts → index-CIcHPx2j.d.cts} +13 -6
  44. package/dist/index-CIcHPx2j.d.cts.map +1 -0
  45. package/dist/{index-D8LZt-3J.d.cts → index-Cd2aaWme.d.ts} +13 -6
  46. package/dist/index-Cd2aaWme.d.ts.map +1 -0
  47. package/dist/{index-ClgIuxJ8.d.ts → index-ezMZ2-JH.d.ts} +15 -5
  48. package/dist/index-ezMZ2-JH.d.ts.map +1 -0
  49. package/dist/{index-Cgw1u5aY.d.cts → index-rINthNuU.d.cts} +4 -4
  50. package/dist/{index-Cgw1u5aY.d.cts.map → index-rINthNuU.d.cts.map} +1 -1
  51. package/dist/index.cjs +59 -50
  52. package/dist/index.d.cts +58 -50
  53. package/dist/index.d.cts.map +1 -1
  54. package/dist/index.d.ts +58 -50
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +59 -51
  57. package/dist/index.js.map +1 -1
  58. package/dist/{payload-Dgx3PQeK.d.ts → payload-CGvVPZQX.d.ts} +60 -1
  59. package/dist/payload-CGvVPZQX.d.ts.map +1 -0
  60. package/dist/{payload-CIxSn_DW.js → payload-DE7wMztL.js} +28 -3
  61. package/dist/payload-DE7wMztL.js.map +1 -0
  62. package/dist/{payload-P0nWyjLg.d.cts → payload-Dfu30njp.d.cts} +60 -1
  63. package/dist/payload-Dfu30njp.d.cts.map +1 -0
  64. package/dist/{payload-Bnw1hrvb.cjs → payload-DqFweqiO.cjs} +27 -2
  65. package/dist/query/index.cjs +4 -4
  66. package/dist/query/index.d.cts +3 -3
  67. package/dist/query/index.d.ts +3 -3
  68. package/dist/query/index.js +4 -4
  69. package/dist/{queryBuilder-CbLL4pG5.js → queryBuilder-COWt6aIF.js} +17 -12
  70. package/dist/queryBuilder-COWt6aIF.js.map +1 -0
  71. package/dist/{queryBuilder-BXDvX1K_.cjs → queryBuilder-DaLxNgeI.cjs} +16 -11
  72. package/dist/{selection-BvK6yX0g.d.cts → selection-Bv8_o-7i.d.cts} +16 -8
  73. package/dist/selection-Bv8_o-7i.d.cts.map +1 -0
  74. package/dist/{selection-fpmI3ADQ.d.ts → selection-ox7zdtVm.d.ts} +16 -8
  75. package/dist/selection-ox7zdtVm.d.ts.map +1 -0
  76. package/dist/types/index.d.cts +5 -5
  77. package/dist/types/index.d.ts +5 -5
  78. package/dist/utils/index.cjs +3 -3
  79. package/dist/utils/index.d.cts +1 -1
  80. package/dist/utils/index.d.ts +1 -1
  81. package/dist/utils/index.js +3 -3
  82. package/package.json +1 -5
  83. package/src/actions/public/getEntity.ts +1 -0
  84. package/src/actions/public/predictEntityKeys.test.ts +17 -1
  85. package/src/actions/public/predictEntityKeys.ts +28 -14
  86. package/src/actions/wallet/createEntity.ts +8 -6
  87. package/src/actions/wallet/{mutateEntities.test.ts → executeBatch.test.ts} +7 -7
  88. package/src/actions/wallet/{mutateEntities.ts → executeBatch.ts} +9 -9
  89. package/src/actions/wallet/extendEntity.ts +2 -0
  90. package/src/actions/wallet/patchEntity.ts +3 -3
  91. package/src/attr/attributes.ts +8 -2
  92. package/src/attr/errors.ts +2 -2
  93. package/src/attr/types.ts +3 -3
  94. package/src/attr/values.ts +5 -1
  95. package/src/chains/localhost.ts +3 -0
  96. package/src/clients/createPublicClient.test.ts +1 -1
  97. package/src/clients/createPublicClient.ts +5 -5
  98. package/src/clients/createWalletClient.test.ts +2 -2
  99. package/src/clients/createWalletClient.ts +3 -5
  100. package/src/clients/decorators/arkivPublic.ts +13 -12
  101. package/src/clients/decorators/arkivWallet.ts +40 -32
  102. package/src/entity/create.test.ts +20 -1
  103. package/src/entity/errors.ts +4 -3
  104. package/src/entity/expiry.ts +1 -0
  105. package/src/entity/index.ts +2 -1
  106. package/src/entity/key.ts +23 -3
  107. package/src/entity/operations.ts +1 -0
  108. package/src/errors.ts +7 -2
  109. package/src/query/errors.ts +1 -1
  110. package/src/query/expression.ts +14 -7
  111. package/src/query/queryBuilder.ts +1 -1
  112. package/src/types/index.ts +4 -4
  113. package/src/types/rpcSchema.ts +1 -0
  114. package/src/types/txParams.ts +8 -0
  115. package/src/utils/arkivTransactions.test.ts +7 -1
  116. package/src/utils/arkivTransactions.ts +10 -5
  117. package/src/utils/expirationTime.ts +39 -0
  118. package/src/utils/payload.ts +25 -0
  119. package/dist/attr-BDZ-APg5.js.map +0 -1
  120. package/dist/chains-BJrZs6sG.js.map +0 -1
  121. package/dist/changeOwnership-B7bEgla4.d.cts.map +0 -1
  122. package/dist/changeOwnership-DwgtdSFc.d.ts.map +0 -1
  123. package/dist/entity-CFhbAv0R.js.map +0 -1
  124. package/dist/errors-DGB8AgT2.js.map +0 -1
  125. package/dist/expiry-DGRzrSan.js.map +0 -1
  126. package/dist/index-ClgIuxJ8.d.ts.map +0 -1
  127. package/dist/index-D0CmtiWT.d.cts.map +0 -1
  128. package/dist/index-D8LZt-3J.d.cts.map +0 -1
  129. package/dist/index-DVYFaXNV.d.ts.map +0 -1
  130. package/dist/payload-CIxSn_DW.js.map +0 -1
  131. package/dist/payload-Dgx3PQeK.d.ts.map +0 -1
  132. package/dist/payload-P0nWyjLg.d.cts.map +0 -1
  133. package/dist/queryBuilder-CbLL4pG5.js.map +0 -1
  134. package/dist/selection-BvK6yX0g.d.cts.map +0 -1
  135. package/dist/selection-fpmI3ADQ.d.ts.map +0 -1
@@ -45,8 +45,7 @@ type UserTypeTag = Exclude<TypeTag, "bytes">;
45
45
  /**
46
46
  * Marks a value as having passed its constructor's validation. The symbol is module-private, so a
47
47
  * hand-written object literal is not assignable to {@link ArkivValue} — every value crossing the
48
- * wire has been range-, length- and format-checked by {@link i32}, {@link u256}, {@link dec}, and
49
- * friends.
48
+ * wire has been range-, length- and format-checked by `i32`, `u256`, `dec`, and friends.
50
49
  */
51
50
  declare const validated: unique symbol;
52
51
  /**
@@ -78,7 +77,7 @@ type U256Value = Value<"u256", bigint>;
78
77
  type DecValue = Value<"dec", string>;
79
78
  /** 32 opaque bytes, as lowercase `0x` hex. */
80
79
  type Bytes32Value = Value<"bytes32", Hex>;
81
- /** A UTF-8 string of at most 128 bytes. */
80
+ /** A UTF-8 string of at most 128 bytes, free of C0 control characters and DEL. */
82
81
  type StrValue = Value<"str", string>;
83
82
  /** A 20-byte Ethereum address, as EIP-55 checksummed hex. */
84
83
  type AddrValue = Value<"addr", Address>;
@@ -205,7 +204,11 @@ declare function decFromUnits(units: bigint): DecValue;
205
204
  *
206
205
  * The limit is on **bytes**, not characters: a string of 128 emoji does not fit.
207
206
  *
208
- * @throws {InvalidValueError} If the string exceeds 128 UTF-8 bytes.
207
+ * C0 control characters and DEL are rejected: the query language writes a `str` as `str('...')`,
208
+ * whose only escape is a doubled quote, so a control character could be stored but never queried.
209
+ *
210
+ * @throws {InvalidValueError} If the value is not a string, holds a control character, or exceeds
211
+ * 128 UTF-8 bytes.
209
212
  *
210
213
  * @example
211
214
  * str("Bob")
@@ -296,11 +299,15 @@ declare function toValue(input: ValueInput, attributeName?: string): ArkivValue;
296
299
  * The most attribute cells one operation may carry.
297
300
  */
298
301
  declare const MAX_ATTRIBUTES = 32;
302
+ /**
303
+ * The largest payload an entity may carry, in bytes. The payload travels as the `$payload` system
304
+ * cell, so this is a bound on that one attribute rather than on the operation as a whole.
305
+ */
299
306
  declare const MAX_PAYLOAD_BYTES: number;
300
307
  /**
301
308
  * The attributes written on an entity, as a plain object keyed by attribute name.
302
309
  *
303
- * Values may be tagged ({@link ValueInput}) or bare where the type is unambiguous — see
310
+ * Values may be tagged ({@link ArkivValue}) or bare where the type is unambiguous — see
304
311
  * {@link toValue} for the bare-form defaults.
305
312
  *
306
313
  * @example
@@ -414,4 +421,4 @@ declare function validateAttributeName(name: string): void;
414
421
  declare function isValidAttributeName(name: string): boolean;
415
422
  //#endregion
416
423
  export { i32 as A, Bytes32Value as B, ValueInput as C, dec as D, bytes32 as E, u64 as F, StrValue as G, DecValue as H, AddrValue as I, U64Value as J, TypeTag as K, AnyArkivValue as L, str as M, toValue as N, decFromUnits as O, u256 as P, ArkivValue as R, U64_MAX as S, bool as T, I32Value as U, BytesValue as V, KeyValue as W, isArkivValue as X, UserTypeTag as Y, MAX_PAYLOAD_BYTES as _, InvalidAttributeNameError as a, MAX_STRING_BYTES as b, TooManyAttributesError as c, DECIMAL_SCALE as d, DECIMAL_UNIT as f, MAX_ATTRIBUTES as g, Attributes as h, ConflictingMutationError as i, key as j, decUnits as k, UnknownAttributeTypeError as l, AttributeSchema as m, isValidAttributeName as n, InvalidValueError as o, AttributeInputs as p, U256Value as q, validateAttributeName as r, MissingValueError as s, MAX_NAME_BYTES as t, UntypedValueError as u, I32_MAX as v, addr as w, U256_MAX as x, I32_MIN as y, BoolValue as z };
417
- //# sourceMappingURL=index-DVYFaXNV.d.ts.map
424
+ //# sourceMappingURL=index-CIcHPx2j.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CIcHPx2j.d.cts","names":[],"sources":["../src/attr/types.ts","../src/attr/values.ts","../src/attr/attributes.ts","../src/attr/decimal.ts","../src/attr/errors.ts","../src/attr/names.ts"],"sourcesContent":[],"mappings":"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"}
@@ -45,8 +45,7 @@ type UserTypeTag = Exclude<TypeTag, "bytes">;
45
45
  /**
46
46
  * Marks a value as having passed its constructor's validation. The symbol is module-private, so a
47
47
  * hand-written object literal is not assignable to {@link ArkivValue} — every value crossing the
48
- * wire has been range-, length- and format-checked by {@link i32}, {@link u256}, {@link dec}, and
49
- * friends.
48
+ * wire has been range-, length- and format-checked by `i32`, `u256`, `dec`, and friends.
50
49
  */
51
50
  declare const validated: unique symbol;
52
51
  /**
@@ -78,7 +77,7 @@ type U256Value = Value<"u256", bigint>;
78
77
  type DecValue = Value<"dec", string>;
79
78
  /** 32 opaque bytes, as lowercase `0x` hex. */
80
79
  type Bytes32Value = Value<"bytes32", Hex>;
81
- /** A UTF-8 string of at most 128 bytes. */
80
+ /** A UTF-8 string of at most 128 bytes, free of C0 control characters and DEL. */
82
81
  type StrValue = Value<"str", string>;
83
82
  /** A 20-byte Ethereum address, as EIP-55 checksummed hex. */
84
83
  type AddrValue = Value<"addr", Address>;
@@ -205,7 +204,11 @@ declare function decFromUnits(units: bigint): DecValue;
205
204
  *
206
205
  * The limit is on **bytes**, not characters: a string of 128 emoji does not fit.
207
206
  *
208
- * @throws {InvalidValueError} If the string exceeds 128 UTF-8 bytes.
207
+ * C0 control characters and DEL are rejected: the query language writes a `str` as `str('...')`,
208
+ * whose only escape is a doubled quote, so a control character could be stored but never queried.
209
+ *
210
+ * @throws {InvalidValueError} If the value is not a string, holds a control character, or exceeds
211
+ * 128 UTF-8 bytes.
209
212
  *
210
213
  * @example
211
214
  * str("Bob")
@@ -296,11 +299,15 @@ declare function toValue(input: ValueInput, attributeName?: string): ArkivValue;
296
299
  * The most attribute cells one operation may carry.
297
300
  */
298
301
  declare const MAX_ATTRIBUTES = 32;
302
+ /**
303
+ * The largest payload an entity may carry, in bytes. The payload travels as the `$payload` system
304
+ * cell, so this is a bound on that one attribute rather than on the operation as a whole.
305
+ */
299
306
  declare const MAX_PAYLOAD_BYTES: number;
300
307
  /**
301
308
  * The attributes written on an entity, as a plain object keyed by attribute name.
302
309
  *
303
- * Values may be tagged ({@link ValueInput}) or bare where the type is unambiguous — see
310
+ * Values may be tagged ({@link ArkivValue}) or bare where the type is unambiguous — see
304
311
  * {@link toValue} for the bare-form defaults.
305
312
  *
306
313
  * @example
@@ -414,4 +421,4 @@ declare function validateAttributeName(name: string): void;
414
421
  declare function isValidAttributeName(name: string): boolean;
415
422
  //#endregion
416
423
  export { i32 as A, Bytes32Value as B, ValueInput as C, dec as D, bytes32 as E, u64 as F, StrValue as G, DecValue as H, AddrValue as I, U64Value as J, TypeTag as K, AnyArkivValue as L, str as M, toValue as N, decFromUnits as O, u256 as P, ArkivValue as R, U64_MAX as S, bool as T, I32Value as U, BytesValue as V, KeyValue as W, isArkivValue as X, UserTypeTag as Y, MAX_PAYLOAD_BYTES as _, InvalidAttributeNameError as a, MAX_STRING_BYTES as b, TooManyAttributesError as c, DECIMAL_SCALE as d, DECIMAL_UNIT as f, MAX_ATTRIBUTES as g, Attributes as h, ConflictingMutationError as i, key as j, decUnits as k, UnknownAttributeTypeError as l, AttributeSchema as m, isValidAttributeName as n, InvalidValueError as o, AttributeInputs as p, U256Value as q, validateAttributeName as r, MissingValueError as s, MAX_NAME_BYTES as t, UntypedValueError as u, I32_MAX as v, addr as w, U256_MAX as x, I32_MIN as y, BoolValue as z };
417
- //# sourceMappingURL=index-D8LZt-3J.d.cts.map
424
+ //# sourceMappingURL=index-Cd2aaWme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Cd2aaWme.d.ts","names":[],"sources":["../src/attr/types.ts","../src/attr/values.ts","../src/attr/attributes.ts","../src/attr/decimal.ts","../src/attr/errors.ts","../src/attr/names.ts"],"sourcesContent":[],"mappings":"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"}
@@ -11,7 +11,7 @@ declare class InvalidCreationFlagsError extends Error {
11
11
  }
12
12
  /** A key salt was outside the `uint128` the wire carries. */
13
13
  declare class InvalidSaltError extends Error {
14
- constructor(salt: bigint);
14
+ constructor(salt: unknown);
15
15
  }
16
16
  /** No cryptographic randomness was available to generate a salt. */
17
17
  declare class NoRandomSourceError extends Error {
@@ -103,6 +103,16 @@ type EntityEventName = (typeof ENTITY_EVENTS_ABI)[number]["name"];
103
103
  //#region src/entity/key.d.ts
104
104
  /** The widest salt the `uint128` wire field carries. */
105
105
  declare const MAX_SALT: bigint;
106
+ /**
107
+ * Opts a create out of salting, as {@link CreateEntityParameters.salt}: the key is then derived
108
+ * from the owner and its nonce alone, so anyone who knows both can work it out before the create
109
+ * lands.
110
+ */
111
+ declare const NO_SALT: unique symbol;
112
+ /**
113
+ * A salt as a caller expresses it: an explicit `uint128`, or {@link NO_SALT} to opt out of salting.
114
+ */
115
+ type SaltInput = bigint | typeof NO_SALT;
106
116
  /**
107
117
  * A cryptographically random 128-bit salt — what {@link CreateEntityParameters.salt} defaults to.
108
118
  *
@@ -134,8 +144,8 @@ declare function predictEntityKey({
134
144
  * create in a batch uses `nonce + n`.
135
145
  */
136
146
  nonce: bigint;
137
- /** The salt the create will carry. */
138
- salt: bigint;
147
+ /** The salt the create will carry, or {@link NO_SALT} if it carries none. */
148
+ salt: SaltInput;
139
149
  /** The chain the entity is being created on — half of the derivation domain. */
140
150
  chainId: number;
141
151
  }): Hex;
@@ -155,5 +165,5 @@ declare const OperationType: {
155
165
  };
156
166
  type OperationType = (typeof OperationType)[keyof typeof OperationType];
157
167
  //#endregion
158
- export { randomSalt as a, InvalidCreationFlagsError as c, NoRandomSourceError as d, predictEntityKey as i, InvalidExpiryError as l, OperationType as n, ENTITY_EVENTS_ABI as o, MAX_SALT as r, EntityEventName as s, MAX_EXPIRES_AT as t, InvalidSaltError as u };
159
- //# sourceMappingURL=index-ClgIuxJ8.d.ts.map
168
+ export { SaltInput as a, ENTITY_EVENTS_ABI as c, InvalidExpiryError as d, InvalidSaltError as f, NO_SALT as i, EntityEventName as l, OperationType as n, predictEntityKey as o, NoRandomSourceError as p, MAX_SALT as r, randomSalt as s, MAX_EXPIRES_AT as t, InvalidCreationFlagsError as u };
169
+ //# sourceMappingURL=index-ezMZ2-JH.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ezMZ2-JH.d.ts","names":[],"sources":["../src/entity/errors.ts","../src/entity/events.ts","../src/entity/key.ts","../src/entity/params.ts"],"sourcesContent":[],"mappings":";;;;cACa,kBAAA,SAA2B,KAAA;;AAAxC;AAQA;AAQa,cARA,yBAAA,SAAkC,KAAA,CAQJ;EAY9B,WAAA,CAAA,MAAA,EAAA,MAAoB;;;cAZpB,gBAAA,SAAyB,KAAA;ECXzB,WAAA,CAAA,IAAA,EAAA,OAMX;AAGF;;cDca,mBAAA,SAA4B,KAAA;;AEvBzC;;;;;;AFLA;AAQa,cCHA,iBDG0B,EAAA,SAAa,CAAA;EAQvC,SAAA,IAAA,EAAA,eAAyB;EAYzB,SAAA,IAAA,EAAA,OAAoB;;;;ICvBpB,SAAA,OAMX,EAAA,IAAA;EAGU,CAAA,EAAA;;;;ECTC,CAAA,EAAA;IAOA,SAA2B,IAAA,EAAA,QAAA;IAK5B,SAAS,IAAA,EAAA,WAAmB;EAWxB,CAAA,EAAA;IAkCA,SAAA,IAAA,EAAgB,OAAA;IAC9B,SAAA,IAAA,EAAA,eAAA;EACA,CAAA,CAAA;CACA,EAAA;EACA,SAAA,IAAA,EAAA,eAAA;EAGO,SAAA,IAAA,EAAA,OAAA;EAOD,SAAA,MAAA,EAAA,SAAA,CAAA;IAGJ,SAAA,IAAA,EAAA,SAAA;IAAG,SAAA,IAAA,EAAA,WAAA;;;;IC7EM,SAAA,IAA+B,EAAA,OAAA;IAG/B,SAAA,OAMH,EAAA,IAAA;EAEE,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KFCA,eAAA,WAA0B;;;;cCTzB;AFLb;AAQA;AAQA;AAYA;;cEhBa;;ADPb;AASA;KCGY,SAAA,mBAA4B;;;AAZxC;AAOA;AAKA;AAWA;AAkCA;;;AAGE,iBArCc,UAAA,CAAA,CAqCd,EAAA,MAAA;;;AC/DF;AAGA;AAQA;;;;iBDiDgB,gBAAA;;;;;;;SAOP;;;;;;;QAOD;;;IAGJ;;;;;;AF/ES,cGEA,cHFmB,EAAQ,MAAK;AAQ7C;AAQa,cGXA,aHWyB,EAAA;EAYzB,SAAA,MAAA,EAAA,CAAA;;;;ECvBA,SAAA,MAAA,EAAA,CAAA;AASb,CAAA;KEDY,aAAA,WAAwB,4BAA4B"}
@@ -1,5 +1,5 @@
1
- import { K as TypeTag } from "./index-D8LZt-3J.cjs";
2
- import { R as RpcSelect, d as Expression, i as SelectArg, j as ArkivClient, k as Entity } from "./selection-BvK6yX0g.cjs";
1
+ import { K as TypeTag } from "./index-CIcHPx2j.cjs";
2
+ import { R as RpcSelect, d as Expression, i as SelectArg, j as ArkivClient, k as Entity } from "./selection-Bv8_o-7i.cjs";
3
3
  import { Hex } from "viem";
4
4
 
5
5
  //#region src/query/engine.d.ts
@@ -43,7 +43,7 @@ declare function runQuery(client: ArkivClient, request: QueryRequest): Promise<Q
43
43
  * | | `=` `!=` | `<` `<=` `>` `>=` | `STARTSWITH` |
44
44
  * | --- | --- | --- | --- |
45
45
  * | `bool` | yes | no | no |
46
- * | `i32` `u256` `dec` | yes | yes | no |
46
+ * | `i32` `u64` `u256` `dec` | yes | yes | no |
47
47
  * | `str` | yes | no | yes |
48
48
  * | `addr` `key` `bytes32` | yes | no | no |
49
49
  */
@@ -275,4 +275,4 @@ declare class SelectQueryBuilder<TEntity = Entity> {
275
275
  }
276
276
  //#endregion
277
277
  export { QueryErrorKind as a, QueryRequest as c, QueryError as i, QueryResponse as l, QueryResult as n, UnsupportedOperatorError as o, InvalidPredicateError as r, MAX_LIMIT as s, SelectQueryBuilder as t, runQuery as u };
278
- //# sourceMappingURL=index-Cgw1u5aY.d.cts.map
278
+ //# sourceMappingURL=index-rINthNuU.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-Cgw1u5aY.d.cts","names":[],"sources":["../src/query/engine.ts","../src/query/errors.ts","../src/query/queryResult.ts","../src/query/queryBuilder.ts"],"sourcesContent":[],"mappings":";;;;;cAUa,SAAA;;AAAA,KAGD,YAAA,GAHU;EAGV;EAcA,KAAA,EAAA,MAAA;EAaU;EAAiB,MAAA,EAvB7B,SAuB6B;EAAsB;EAAuB,KAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAR;EAAO,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA;;;;ACxBnF;AAMgB,KDKJ,aAAA,GCLI;EAE4C,QAAA,EDIhD,MCJgD,EAAA;EARd;EAAK,WAAA,EAAA,MAAA;EAyBtC;EAgBD,MAAA,EAAA,MAAA,GAAc,SAAA;AAwC1B,CAAA;;;;;;iBDzDsB,QAAA,SAAiB,sBAAsB,eAAe,QAAQ;;;;;;;AA9BpF;AAGA;AAcA;AAaA;;;;;;;cCxBa,wBAAA,SAAiC,KAAA;;EAAjC,SAAA,aAAA,EAAA,MAAyB;EAMtB;EAE4C,SAAA,QAAA,EAAA,MAAA;EARd;EAAK,SAAA,GAAA,EAMnC,OANmC;EAyBtC,WAAA,CAAA,aAAsB,EAAA,MAAA,EAAA,QAAa,EAAA,MAAA,EAAA,GAAA,EAjBY,OAiBZ,EAAA,IAAA,CAAA,EAAA,MAAA;AAgBhD;AAwCA;;;;;cAxDa,qBAAA,SAA8B,KAAA;;;ECrCtC,WAAA,CAAS,OAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,MAAA;;;;;AAgBd;;AAE8B,KDmClB,cAAA;;+GCSwB;kHAApB;;;ACzBhB,0DAA0C,OAAA;;;;;;;;;;;;;;;;;cFwD7B,UAAA,SAAmB,KAAA;;iBAEf;;;;;;;oBAQG;;;;;KCvGf,yCAAyC,QAAQ,YAAY;;;AFMlE;AAGA;AAcA;AAaA;;;;;;;;;ACxBa,cCIA,WDJyB,CAAA,UCIH,MDJG,CAAA,CAAA;EAMtB;EAE4C,SAAA,QAAA,EAAA,SCF9B,ODE8B,EAAA;EARd;;AAyB9C;AAgBA;AAwCA;;EAUoB,SAAA,WAAA,EAAA,MAAA;EAVY;EAAK,SAAA,MAAA,EAAA,MAAA,GAAA,SAAA;;iCC7Dd,uEAGR,UAAU;;AAtCoB;;;;;EAmBhC,WAAA,CAAA,CAAA,EAAW,OAAA;EAAW;;;;;;;EA8CnB,IAAA,CAAA,CAAA,EAAA,OAAA,CAAQ,WAAR,CAAoB,OAApB,CAAA,CAAA;;;;AFrDhB;AAcA;AAaA;;;;;;;;;ACxBA;;;;;AAyBA;AAgBA;AAwCA;;;;;;;;AChG6C;;;;AAGQ,cCqCxC,kBDrCwC,CAAA,UCqCX,MDrCW,CAAA,CAAA;EAgBxC,iBAAW,OAAA;EAAW,iBAAA,OAAA;EAEL,iBAAA,QAAA;EAcP,QAAA,QAAA;EAGE,QAAA,UAAA;EAAV,QAAA,MAAA;EA2BqB,QAAA,OAAA;EAAZ,QAAA,QAAA;EAAR,WAAA,CAAA,MAAA,ECfM,WDeN,EAAA,SAAA,CAAA,ECf+B,SDe/B;EAAO;;;;ACzBvB;;;;;;EAuCiB,KAAA,CAAA,WAAA,EAAA,SAda,UAcb,EAAA,CAAA,EAAA,IAAA;EAWI,KAAA,CAAA,GAAA,WAAA,EAxBG,UAwBH,EAAA,CAAA,EAAA,IAAA;EAuEgB;;;;;;;iBAlFpB;;;;;;;qBAWI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAuEJ,QAAQ,YAAY;;;;;;;;;GAqB3B,MAAA,CAAO,aAAA,KAAkB,eAAe"}
1
+ {"version":3,"file":"index-rINthNuU.d.cts","names":[],"sources":["../src/query/engine.ts","../src/query/errors.ts","../src/query/queryResult.ts","../src/query/queryBuilder.ts"],"sourcesContent":[],"mappings":";;;;;cAUa,SAAA;;AAAA,KAGD,YAAA,GAHU;EAGV;EAcA,KAAA,EAAA,MAAA;EAaU;EAAiB,MAAA,EAvB7B,SAuB6B;EAAsB;EAAuB,KAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAR;EAAO,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA;;;;ACxBnF;AAMgB,KDKJ,aAAA,GCLI;EAE4C,QAAA,EDIhD,MCJgD,EAAA;EARd;EAAK,WAAA,EAAA,MAAA;EAyBtC;EAgBD,MAAA,EAAA,MAAA,GAAc,SAAA;AAwC1B,CAAA;;;;;;iBDzDsB,QAAA,SAAiB,sBAAsB,eAAe,QAAQ;;;;;;;AA9BpF;AAGA;AAcA;AAaA;;;;;;;cCxBa,wBAAA,SAAiC,KAAA;;EAAjC,SAAA,aAAA,EAAA,MAAyB;EAMtB;EAE4C,SAAA,QAAA,EAAA,MAAA;EARd;EAAK,SAAA,GAAA,EAMnC,OANmC;EAyBtC,WAAA,CAAA,aAAsB,EAAA,MAAA,EAAA,QAAa,EAAA,MAAA,EAAA,GAAA,EAjBY,OAiBZ,EAAA,IAAA,CAAA,EAAA,MAAA;AAgBhD;AAwCA;;;;;cAxDa,qBAAA,SAA8B,KAAA;;;ECrCtC,WAAA,CAAS,OAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,MAAA;;;;;AAgBd;;AAE8B,KDmClB,cAAA;;+GCSwB;kHAApB;;;ACzBhB,0DAA0C,OAAA;;;;;;;;;;;;;;;;;cFwD7B,UAAA,SAAmB,KAAA;;iBAEf;;;;;;;oBAQG;;;;;KCvGf,yCAAyC,QAAQ,YAAY;;;AFMlE;AAGA;AAcA;AAaA;;;;;;;;;ACxBa,cCIA,WDJyB,CAAA,UCIH,MDJG,CAAA,CAAA;EAMtB;EAE4C,SAAA,QAAA,EAAA,SCF9B,ODE8B,EAAA;EARd;;AAyB9C;AAgBA;AAwCA;;EAUoB,SAAA,WAAA,EAAA,MAAA;EAVY;EAAK,SAAA,MAAA,EAAA,MAAA,GAAA,SAAA;;iCC7Dd,uEAGR,UAAU;;AAtCoB;;;;;EAmBhC,WAAA,CAAA,CAAA,EAAW,OAAA;EAAW;;;;;;;EA8CnB,IAAA,CAAA,CAAA,EAAA,OAAA,CAAQ,WAAR,CAAoB,OAApB,CAAA,CAAA;;;;AFrDhB;AAcA;AAaA;;;;;;;;;ACxBA;;;;;AAyBA;AAgBA;AAwCA;;;;;;;;AChG6C;;;;AAGQ,cCqCxC,kBDrCwC,CAAA,UCqCX,MDrCW,CAAA,CAAA;EAgBxC,iBAAW,OAAA;EAAW,iBAAA,OAAA;EAEL,iBAAA,QAAA;EAcP,QAAA,QAAA;EAGE,QAAA,UAAA;EAAV,QAAA,MAAA;EA2BqB,QAAA,OAAA;EAAZ,QAAA,QAAA;EAAR,WAAA,CAAA,MAAA,ECfM,WDeN,EAAA,SAAA,CAAA,ECf+B,SDe/B;EAAO;;;;ACzBvB;;;;;;EAuCiB,KAAA,CAAA,WAAA,EAAA,SAda,UAcb,EAAA,CAAA,EAAA,IAAA;EAWI,KAAA,CAAA,GAAA,WAAA,EAxBG,UAwBH,EAAA,CAAA,EAAA,IAAA;EAuEgB;;;;;;;iBAlFpB;;;;;;;qBAWI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAuEJ,QAAQ,YAAY;;;;;;;;;GAqB3B,MAAA,CAAO,aAAA,KAAkB,eAAe"}
package/dist/index.cjs CHANGED
@@ -1,13 +1,13 @@
1
- const require_chains = require('./chains-BYRTTipa.cjs');
2
- const require_attr = require('./attr-BvxHN99W.cjs');
3
- const require_queryBuilder = require('./queryBuilder-BXDvX1K_.cjs');
4
- const require_errors = require('./errors-D-eJkGVc.cjs');
5
- const require_flags = require('./flags-Ct8k0gpB.cjs');
1
+ const require_chains = require('./chains-BfNQliHU.cjs');
2
+ const require_attr = require('./attr-BXTkpnoc.cjs');
3
+ const require_queryBuilder = require('./queryBuilder-DaLxNgeI.cjs');
4
+ const require_errors = require('./errors-DhV00966.cjs');
5
+ const require_flags = require('./flags-DCD26uhe.cjs');
6
6
  const require_entity = require('./entity-B0t6sN7F.cjs');
7
- const require_expiry = require('./expiry-BUYIXTGb.cjs');
8
- const require_entity$1 = require('./entity-wfBnZd91.cjs');
7
+ const require_expiry = require('./expiry-CG9GhVXv.cjs');
8
+ const require_entity$1 = require('./entity-DJ0Gml9c.cjs');
9
9
  require('./types-CKPddlfS.cjs');
10
- const require_payload = require('./payload-Bnw1hrvb.cjs');
10
+ const require_payload = require('./payload-DqFweqiO.cjs');
11
11
  let viem = require("viem");
12
12
  let viem_actions = require("viem/actions");
13
13
 
@@ -182,7 +182,7 @@ async function getEntityNonce(client, owner) {
182
182
  *
183
183
  * The prediction is valid only while nothing else from this owner is in flight. Every create that
184
184
  * lands first takes the nonce with it and moves these keys. For a key you can rely on
185
- * unconditionally, read it back from the create instead — `createEntity` and `mutateEntities`
185
+ * unconditionally, read it back from the create instead — `createEntity` and `executeBatch`
186
186
  * report the keys the engine actually minted.
187
187
  *
188
188
  * @param parameters - Owner, and either a count or the salts. {@link PredictEntityKeysParameters}
@@ -192,7 +192,7 @@ async function getEntityNonce(client, owner) {
192
192
  * import { key } from "@arkiv-network/sdk/attr"
193
193
  *
194
194
  * const [parent, child] = await client.predictEntityKeys({ owner: account.address, count: 2 })
195
- * await wallet.mutateEntities({
195
+ * await client.executeBatch({
196
196
  * creates: [
197
197
  * { payload, contentType, expires, salt: parent.salt },
198
198
  * {
@@ -223,7 +223,7 @@ async function predictEntityKeys(client, { owner, count, salts }) {
223
223
  function resolveSalts(count, salts) {
224
224
  if (salts !== void 0) {
225
225
  if (salts.length === 0) throw new Error("predictEntityKeys: `salts` is empty — there is nothing to predict");
226
- return salts.map(require_entity$1.validateSalt);
226
+ return salts.map(require_entity$1.resolveSalt);
227
227
  }
228
228
  if (count === void 0) throw new Error("predictEntityKeys: pass either `count` or `salts`");
229
229
  if (!Number.isInteger(count) || count <= 0) throw new Error(`predictEntityKeys: \`count\` must be a positive whole number, got ${count}`);
@@ -420,14 +420,14 @@ function publicArkivActions(client) {
420
420
  //#endregion
421
421
  //#region src/clients/createPublicClient.ts
422
422
  /**
423
- * Creates a Public Client with a given [Transport](https://viem.sh/docs/clients/intro) configured for a [Chain](https://viem.sh/docs/clients/chains).
423
+ * Creates a Public Client with a given [Transport](https://viem.sh/docs/clients/intro) configured for a [Chain](https://viem.sh/docs/chains/introduction).
424
424
  *
425
- * - Docs: https://docs.arkiv.network/ts-sdk/clients/public
426
- *
427
- * A Public Client is an interface to "public" [Ethereum JSON-RPC API](https://ethereum.org/en/developers/docs/apis/json-rpc/), [Arkiv JSON-RPC API](https://docs.arkiv.network/json-rpc/), and [Cheesecake JSON-RPC API](https://rpc.cheesecake.db-chain.devnet.gobas.me) methods such as retrieving block numbers, transactions, reading from smart contracts, etc through [Public Actions](/docs/actions/public/introduction).
425
+ * A Public Client is an interface to the "public" [Ethereum JSON-RPC API](https://ethereum.org/en/developers/docs/apis/json-rpc/)
426
+ * and the Arkiv JSON-RPC API — retrieving block numbers and transactions, reading from
427
+ * contracts, and querying entities — through {@link PublicArkivActions}.
428
428
  *
429
429
  * @param parameters - Configuration object for the public client (chain, transport, etc.)
430
- * @returns A Arkiv Public Client. {@link PublicArkivClient}
430
+ * @returns An Arkiv Public Client. {@link PublicArkivClient}
431
431
  *
432
432
  * @example
433
433
  * import { createPublicClient } from "@arkiv-network/sdk"
@@ -562,7 +562,7 @@ async function sendArkivTransaction(client, ops, txParams) {
562
562
  const createOps = (creates ?? []).map((item) => {
563
563
  validateContentType(item.contentType);
564
564
  return createOperation({
565
- salt: item.salt === void 0 ? require_entity$1.randomSalt() : require_entity$1.validateSalt(item.salt),
565
+ salt: item.salt === void 0 ? require_entity$1.randomSalt() : require_entity$1.resolveSalt(item.salt),
566
566
  expiry: require_expiry.resolveExpiry(item.expires, expiryContext),
567
567
  creationFlags: require_flags.encodeCreationFlags(item.flags),
568
568
  attributes: require_attr.encodeAttributes(item.attributes, {
@@ -599,8 +599,9 @@ async function sendArkivTransaction(client, ops, txParams) {
599
599
  ];
600
600
  if (operations.length === 0) throw new Error("No operations to perform");
601
601
  logger$6("Sending execute with %d operations %o", operations.length, operations);
602
+ let txHash;
602
603
  try {
603
- const txHash = await walletClient.writeContract({
604
+ txHash = await walletClient.writeContract({
604
605
  address: require_expiry.ARKIV_ADDRESS,
605
606
  abi: EXECUTE_ABI$1,
606
607
  functionName: "execute",
@@ -624,9 +625,12 @@ async function sendArkivTransaction(client, ops, txParams) {
624
625
  } catch (err) {
625
626
  const error = err;
626
627
  const reason = describeEntityRevert(err) ?? error.shortMessage ?? error.cause?.details ?? "No reason provided by backend.";
627
- throw new require_queryBuilder.EntityMutationError(`Transaction ${receipt.transactionHash} reverted. Reason: ${reason}`);
628
+ throw new require_queryBuilder.EntityMutationError(`Transaction ${receipt.transactionHash} reverted. Reason: ${reason}`, {
629
+ cause: err,
630
+ txHash: receipt.transactionHash
631
+ });
628
632
  }
629
- throw new require_queryBuilder.EntityMutationError(`Transaction ${receipt.transactionHash} reverted. No reason provided by backend.`);
633
+ throw new require_queryBuilder.EntityMutationError(`Transaction ${receipt.transactionHash} reverted. No reason provided by backend.`, { txHash: receipt.transactionHash });
630
634
  }
631
635
  return {
632
636
  receipt,
@@ -637,7 +641,10 @@ async function sendArkivTransaction(client, ops, txParams) {
637
641
  };
638
642
  } catch (error) {
639
643
  const described = error instanceof require_queryBuilder.EntityMutationError ? void 0 : describeEntityRevert(error);
640
- if (described !== void 0) throw new require_queryBuilder.EntityMutationError(`Transaction failed: ${described}`, { cause: error });
644
+ if (described !== void 0) throw new require_queryBuilder.EntityMutationError(`Transaction failed: ${described}`, {
645
+ cause: error,
646
+ txHash
647
+ });
641
648
  let message = "Transaction failed";
642
649
  if (error instanceof viem.TransactionExecutionError) message += `: ${error.details}`;
643
650
  else if (error instanceof viem.ContractFunctionExecutionError) {
@@ -646,7 +653,10 @@ async function sendArkivTransaction(client, ops, txParams) {
646
653
  else message += ": Execution error without revert data";
647
654
  } else if (error instanceof require_queryBuilder.EntityMutationError) throw error;
648
655
  else if (error instanceof Error) message += `: ${error.message}`;
649
- throw new require_queryBuilder.EntityMutationError(message, { cause: error });
656
+ throw new require_queryBuilder.EntityMutationError(message, {
657
+ cause: error,
658
+ txHash
659
+ });
650
660
  }
651
661
  }
652
662
  /**
@@ -687,7 +697,7 @@ function decodeEntityLog(log) {
687
697
  }
688
698
  function assertCount(receipt, what, got, want) {
689
699
  if (got === want) return;
690
- throw new require_queryBuilder.EntityMutationError(`Transaction ${receipt.transactionHash} succeeded — do not retry it — but emitted ${got} ${what} event(s) for ${want} ${what} operation(s). The batch was applied; the SDK cannot say which entity each operation produced, so read them back to find them.`);
700
+ throw new require_queryBuilder.EntityMutationError(`Transaction ${receipt.transactionHash} succeeded — do not retry it — but emitted ${got} ${what} event(s) for ${want} ${what} operation(s). The batch was applied; the SDK cannot say which entity each operation produced, so read them back to find them.`, { txHash: receipt.transactionHash });
691
701
  }
692
702
 
693
703
  //#endregion
@@ -712,7 +722,7 @@ async function createEntity(client, data, txParams) {
712
722
  logger$4("Receipt from createEntity %o", receipt);
713
723
  const [entityKey] = createdEntityKeys;
714
724
  const [expiresAt] = createdExpiries;
715
- if (entityKey === void 0 || expiresAt === void 0) throw new require_queryBuilder.EntityMutationError(`Transaction ${receipt.transactionHash} succeeded, but the receipt did not carry the expected entity key or expiry.`);
725
+ if (entityKey === void 0 || expiresAt === void 0) throw new require_queryBuilder.EntityMutationError(`Transaction ${receipt.transactionHash} succeeded, but the receipt did not carry the expected entity key or expiry.`, { txHash: receipt.transactionHash });
716
726
  return {
717
727
  txHash: receipt.transactionHash,
718
728
  entityKey,
@@ -734,27 +744,11 @@ async function deleteEntity(client, data, txParams) {
734
744
  }
735
745
 
736
746
  //#endregion
737
- //#region src/actions/wallet/extendEntity.ts
738
- const logger$2 = require_queryBuilder.getLogger("actions:wallet:extend-entity");
739
- async function extendEntity(client, data, txParams) {
740
- logger$2("extendEntity %o", data);
741
- const { receipt, extendedExpiries } = await sendArkivTransaction(client, { extensions: [data] }, txParams);
742
- logger$2("Receipt from extendEntity %o", receipt);
743
- const [expiresAt] = extendedExpiries;
744
- if (expiresAt === void 0) throw new require_queryBuilder.EntityMutationError(`Transaction ${receipt.transactionHash} succeeded, but the receipt did not carry the expected entity expiry.`);
745
- return {
746
- txHash: receipt.transactionHash,
747
- entityKey: data.entityKey,
748
- expiresAt
749
- };
750
- }
751
-
752
- //#endregion
753
- //#region src/actions/wallet/mutateEntities.ts
754
- const logger$1 = require_queryBuilder.getLogger("actions:wallet:mutate-entities");
755
- async function mutateEntities(client, data, txParams) {
747
+ //#region src/actions/wallet/executeBatch.ts
748
+ const logger$2 = require_queryBuilder.getLogger("actions:wallet:execute-batch");
749
+ async function executeBatch(client, data, txParams) {
756
750
  const { receipt, createdEntityKeys } = await sendArkivTransaction(client, data, txParams);
757
- logger$1("Receipt from mutateEntities %o", receipt);
751
+ logger$2("Receipt from executeBatch %o", receipt);
758
752
  return {
759
753
  txHash: receipt.transactionHash,
760
754
  createdEntities: createdEntityKeys,
@@ -765,6 +759,22 @@ async function mutateEntities(client, data, txParams) {
765
759
  };
766
760
  }
767
761
 
762
+ //#endregion
763
+ //#region src/actions/wallet/extendEntity.ts
764
+ const logger$1 = require_queryBuilder.getLogger("actions:wallet:extend-entity");
765
+ async function extendEntity(client, data, txParams) {
766
+ logger$1("extendEntity %o", data);
767
+ const { receipt, extendedExpiries } = await sendArkivTransaction(client, { extensions: [data] }, txParams);
768
+ logger$1("Receipt from extendEntity %o", receipt);
769
+ const [expiresAt] = extendedExpiries;
770
+ if (expiresAt === void 0) throw new require_queryBuilder.EntityMutationError(`Transaction ${receipt.transactionHash} succeeded, but the receipt did not carry the expected entity expiry.`, { txHash: receipt.transactionHash });
771
+ return {
772
+ txHash: receipt.transactionHash,
773
+ entityKey: data.entityKey,
774
+ expiresAt
775
+ };
776
+ }
777
+
768
778
  //#endregion
769
779
  //#region src/actions/wallet/patchEntity.ts
770
780
  const logger = require_queryBuilder.getLogger("actions:wallet:patch-entity");
@@ -787,7 +797,7 @@ function walletArkivActions(client) {
787
797
  deleteEntity: (data, txParams) => deleteEntity(client, data, txParams),
788
798
  extendEntity: (data, txParams) => extendEntity(client, data, txParams),
789
799
  changeOwnership: (data, txParams) => changeOwnership(client, data, txParams),
790
- mutateEntities: (data, txParams) => mutateEntities(client, data, txParams)
800
+ executeBatch: (data, txParams) => executeBatch(client, data, txParams)
791
801
  };
792
802
  }
793
803
 
@@ -795,16 +805,14 @@ function walletArkivActions(client) {
795
805
  //#region src/clients/createWalletClient.ts
796
806
  /**
797
807
  * Creates a Wallet Client with a given [Transport](https://viem.sh/docs/clients/intro) configured
798
- * for a [Chain](https://viem.sh/docs/clients/chains) and an account.
799
- *
800
- * - Docs: https://docs.arkiv.network/ts-sdk/clients/wallet
808
+ * for a [Chain](https://viem.sh/docs/chains/introduction) and an account.
801
809
  *
802
810
  * A Wallet Client signs and sends transactions, so it carries an `account` and exposes everything
803
811
  * that mutates state — `createEntity`, `patchEntity`, `deleteEntity`, `extendEntity`,
804
- * `changeOwnership` and `mutateEntities` — on top of the read actions a Public Client has.
812
+ * `changeOwnership` and `executeBatch` — on top of the read actions a Public Client has.
805
813
  *
806
814
  * @param parameters - Configuration object for the wallet client (chain, transport, account, etc.)
807
- * @returns A Arkiv Wallet Client. {@link WalletArkivClient}
815
+ * @returns An Arkiv Wallet Client. {@link WalletArkivClient}
808
816
  *
809
817
  * @example
810
818
  * import { createWalletClient } from "@arkiv-network/sdk"
@@ -866,6 +874,7 @@ exports.MAX_PAYLOAD_BYTES = require_attr.MAX_PAYLOAD_BYTES;
866
874
  exports.MAX_SALT = require_entity$1.MAX_SALT;
867
875
  exports.MAX_STRING_BYTES = require_attr.MAX_STRING_BYTES;
868
876
  exports.MissingValueError = require_attr.MissingValueError;
877
+ exports.NO_SALT = require_entity$1.NO_SALT;
869
878
  exports.NoEntityFoundError = require_queryBuilder.NoEntityFoundError;
870
879
  exports.NoMoreResultsError = require_queryBuilder.NoMoreResultsError;
871
880
  exports.NoRandomSourceError = require_errors.NoRandomSourceError;