@arkiv-network/sdk 0.8.1-dev.1 → 0.9.0-next.2

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 (184) hide show
  1. package/README.md +180 -61
  2. package/dist/chains/index.d.ts +17 -17
  3. package/dist/changeOwnership-Cy9gfyjN.d.cts +1160 -0
  4. package/dist/changeOwnership-Cy9gfyjN.d.cts.map +1 -0
  5. package/dist/changeOwnership-gXf-lBqI.d.ts +1160 -0
  6. package/dist/changeOwnership-gXf-lBqI.d.ts.map +1 -0
  7. package/dist/entity/index.cjs +4 -10
  8. package/dist/entity/index.d.cts +3 -3
  9. package/dist/entity/index.d.ts +3 -3
  10. package/dist/entity/index.js +3 -4
  11. package/dist/entity-BM1unrQf.cjs +41 -0
  12. package/dist/{entity-DJ0Gml9c.cjs → entity-BgaFJSaV.cjs} +4 -4
  13. package/dist/entity-CFAI1KyG.js +36 -0
  14. package/dist/entity-CFAI1KyG.js.map +1 -0
  15. package/dist/{entity-CniBgBSd.js → entity-CGqx_AU0.js} +4 -4
  16. package/dist/entity-CGqx_AU0.js.map +1 -0
  17. package/dist/{payload-AfUfSctb.d.ts → expirationTime-C7PZK49K.d.ts} +8 -37
  18. package/dist/expirationTime-C7PZK49K.d.ts.map +1 -0
  19. package/dist/expirationTime-CkIGNAg8.cjs +140 -0
  20. package/dist/{payload-D167BlJR.d.cts → expirationTime-DOB8V4B8.d.cts} +8 -37
  21. package/dist/expirationTime-DOB8V4B8.d.cts.map +1 -0
  22. package/dist/{expiry-Cgdb_dbq.js → expirationTime-UKPuA-LM.js} +62 -27
  23. package/dist/expirationTime-UKPuA-LM.js.map +1 -0
  24. package/dist/expiry-B48I-yTA.d.cts +40 -0
  25. package/dist/expiry-B48I-yTA.d.cts.map +1 -0
  26. package/dist/expiry-S2PUL8Hg.d.ts +40 -0
  27. package/dist/expiry-S2PUL8Hg.d.ts.map +1 -0
  28. package/dist/index-C-mMF5WZ.d.cts +735 -0
  29. package/dist/index-C-mMF5WZ.d.cts.map +1 -0
  30. package/dist/{index-BkqSnGJH.d.ts → index-C4zZqJ9S.d.ts} +5 -27
  31. package/dist/index-C4zZqJ9S.d.ts.map +1 -0
  32. package/dist/{index-CLhsFyVH.d.cts → index-CcVWYB6v.d.cts} +5 -27
  33. package/dist/index-CcVWYB6v.d.cts.map +1 -0
  34. package/dist/index-DCx2XC6S.d.ts +489 -0
  35. package/dist/index-DCx2XC6S.d.ts.map +1 -0
  36. package/dist/index-DLb7BfIw.d.ts +735 -0
  37. package/dist/index-DLb7BfIw.d.ts.map +1 -0
  38. package/dist/index-DzriOUm8.d.cts +489 -0
  39. package/dist/index-DzriOUm8.d.cts.map +1 -0
  40. package/dist/index.cjs +162 -146
  41. package/dist/index.d.cts +180 -133
  42. package/dist/index.d.cts.map +1 -1
  43. package/dist/index.d.ts +180 -133
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +93 -83
  46. package/dist/index.js.map +1 -1
  47. package/dist/params-BuIrJA9a.cjs +45 -0
  48. package/dist/params-DDJOnsNi.js +22 -0
  49. package/dist/params-DDJOnsNi.js.map +1 -0
  50. package/dist/query/index.cjs +9 -4
  51. package/dist/query/index.d.cts +6 -6
  52. package/dist/query/index.d.ts +6 -6
  53. package/dist/query/index.js +4 -5
  54. package/dist/query-D0KtuFh2.cjs +1625 -0
  55. package/dist/query-DpRDozmj.js +1417 -0
  56. package/dist/query-DpRDozmj.js.map +1 -0
  57. package/dist/schema/index.cjs +46 -0
  58. package/dist/schema/index.d.cts +2 -0
  59. package/dist/schema/index.d.ts +2 -0
  60. package/dist/schema/index.js +3 -0
  61. package/dist/{attr-BXTkpnoc.cjs → schema-B9AyXcgU.cjs} +513 -246
  62. package/dist/{attr-tmyREHtw.js → schema-DY4sqehl.js} +427 -244
  63. package/dist/schema-DY4sqehl.js.map +1 -0
  64. package/dist/types/index.cjs +1 -1
  65. package/dist/types/index.d.cts +5 -5
  66. package/dist/types/index.d.ts +5 -5
  67. package/dist/types/index.js +1 -1
  68. package/dist/utils/index.cjs +3 -5
  69. package/dist/utils/index.d.cts +3 -3
  70. package/dist/utils/index.d.ts +3 -3
  71. package/dist/utils/index.js +3 -3
  72. package/package.json +9 -12
  73. package/src/actions/public/getEntity.test.ts +69 -0
  74. package/src/actions/public/getEntity.ts +34 -20
  75. package/src/actions/public/predictEntityKeys.ts +8 -7
  76. package/src/actions/public/query.test.ts +58 -0
  77. package/src/actions/public/query.ts +41 -13
  78. package/src/actions/wallet/createEntity.ts +34 -63
  79. package/src/actions/wallet/executeBatch.test.ts +38 -0
  80. package/src/actions/wallet/executeBatch.ts +26 -9
  81. package/src/actions/wallet/extendEntity.ts +9 -8
  82. package/src/actions/wallet/patchEntity.ts +43 -52
  83. package/src/clients/createPublicClient.test.ts +10 -2
  84. package/src/clients/createWalletClient.ts +4 -1
  85. package/src/clients/decorators/arkivPublic.ts +123 -80
  86. package/src/clients/decorators/arkivWallet.ts +113 -65
  87. package/src/entity/create.test.ts +25 -21
  88. package/src/entity/expiry.ts +8 -6
  89. package/src/entity/flags.ts +1 -1
  90. package/src/entity/index.ts +2 -4
  91. package/src/entity/key.ts +3 -3
  92. package/src/entity/operations.ts +1 -1
  93. package/src/errors.ts +2 -11
  94. package/src/index.ts +18 -6
  95. package/src/query/builderBase.ts +166 -0
  96. package/src/query/countBuilder.test.ts +91 -0
  97. package/src/query/countBuilder.ts +67 -0
  98. package/src/query/engine.ts +9 -3
  99. package/src/query/errors.ts +24 -14
  100. package/src/query/expression.test.ts +129 -21
  101. package/src/query/expression.ts +323 -94
  102. package/src/query/index.ts +26 -4
  103. package/src/query/injection.test.ts +5 -11
  104. package/src/query/queryBuilder.test.ts +467 -58
  105. package/src/query/queryBuilder.ts +191 -98
  106. package/src/query/queryResult.ts +35 -9
  107. package/src/query/selection.test.ts +278 -24
  108. package/src/query/selection.ts +427 -86
  109. package/src/schema/attributes.test.ts +266 -0
  110. package/src/schema/attributes.ts +212 -0
  111. package/src/{attr → schema}/codec.test.ts +37 -5
  112. package/src/{attr → schema}/codec.ts +40 -11
  113. package/src/schema/column.ts +193 -0
  114. package/src/{attr → schema}/errors.ts +67 -10
  115. package/src/schema/index.ts +76 -0
  116. package/src/{attr → schema}/names.ts +4 -2
  117. package/src/schema/schema.test.ts +171 -0
  118. package/src/schema/schema.ts +250 -0
  119. package/src/{attr → schema}/types.ts +36 -30
  120. package/src/{attr → schema}/values.test.ts +62 -3
  121. package/src/{attr → schema}/values.ts +246 -65
  122. package/src/types/entity.test.ts +1 -44
  123. package/src/types/entity.ts +9 -55
  124. package/src/types/events.ts +1 -1
  125. package/src/types/index.ts +11 -4
  126. package/src/types/rpcSchema.ts +22 -16
  127. package/src/utils/arkivTransactions.test.ts +356 -116
  128. package/src/utils/arkivTransactions.ts +30 -38
  129. package/src/utils/entities.ts +10 -9
  130. package/src/utils/expirationTime.ts +5 -5
  131. package/src/utils/index.ts +0 -1
  132. package/src/utils/logger.test.ts +45 -0
  133. package/src/utils/logger.ts +5 -39
  134. package/src/utils/revert.test.ts +25 -0
  135. package/src/utils/revert.ts +28 -3
  136. package/dist/attr/index.cjs +0 -34
  137. package/dist/attr/index.d.cts +0 -2
  138. package/dist/attr/index.d.ts +0 -2
  139. package/dist/attr/index.js +0 -3
  140. package/dist/attr-tmyREHtw.js.map +0 -1
  141. package/dist/entity-B0t6sN7F.cjs +0 -71
  142. package/dist/entity-BIp_df9u.js +0 -67
  143. package/dist/entity-BIp_df9u.js.map +0 -1
  144. package/dist/entity-CniBgBSd.js.map +0 -1
  145. package/dist/expiry-BxOlvVWC.d.ts +0 -79
  146. package/dist/expiry-BxOlvVWC.d.ts.map +0 -1
  147. package/dist/expiry-CG9GhVXv.cjs +0 -135
  148. package/dist/expiry-Cgdb_dbq.js.map +0 -1
  149. package/dist/expiry-DRV29F1r.d.cts +0 -79
  150. package/dist/expiry-DRV29F1r.d.cts.map +0 -1
  151. package/dist/flags-DCD26uhe.cjs +0 -43
  152. package/dist/flags-DUT2gHEU.js +0 -33
  153. package/dist/flags-DUT2gHEU.js.map +0 -1
  154. package/dist/index-BkqSnGJH.d.ts.map +0 -1
  155. package/dist/index-C7fbakoI.d.cts +0 -278
  156. package/dist/index-C7fbakoI.d.cts.map +0 -1
  157. package/dist/index-CIcHPx2j.d.cts +0 -424
  158. package/dist/index-CIcHPx2j.d.cts.map +0 -1
  159. package/dist/index-CLhsFyVH.d.cts.map +0 -1
  160. package/dist/index-Cd2aaWme.d.ts +0 -424
  161. package/dist/index-Cd2aaWme.d.ts.map +0 -1
  162. package/dist/index-Cq6fa8AI.d.ts +0 -278
  163. package/dist/index-Cq6fa8AI.d.ts.map +0 -1
  164. package/dist/index-DaNeJUw8.d.ts +0 -955
  165. package/dist/index-DaNeJUw8.d.ts.map +0 -1
  166. package/dist/index-Dv16LO2s.d.cts +0 -955
  167. package/dist/index-Dv16LO2s.d.cts.map +0 -1
  168. package/dist/payload-AfUfSctb.d.ts.map +0 -1
  169. package/dist/payload-D167BlJR.d.cts.map +0 -1
  170. package/dist/payload-DE7wMztL.js +0 -92
  171. package/dist/payload-DE7wMztL.js.map +0 -1
  172. package/dist/payload-DqFweqiO.cjs +0 -108
  173. package/dist/query-9oojUdM7.cjs +0 -1128
  174. package/dist/query-Ber-lOJQ.js +0 -968
  175. package/dist/query-Ber-lOJQ.js.map +0 -1
  176. package/src/actions/public/getEntityCount.ts +0 -10
  177. package/src/attr/attributes.test.ts +0 -120
  178. package/src/attr/attributes.ts +0 -196
  179. package/src/attr/index.ts +0 -50
  180. package/src/types/mimeTypes.ts +0 -27
  181. package/src/utils/compression.test.ts +0 -32
  182. package/src/utils/compression.ts +0 -102
  183. package/src/utils/payload.ts +0 -36
  184. /package/src/{attr → schema}/decimal.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changeOwnership-gXf-lBqI.d.ts","names":[],"sources":["../src/types/rpcSchema.ts","../src/clients/baseClient.ts","../src/actions/public/getBlockTiming.ts","../src/actions/public/predictEntityKeys.ts","../src/query/expression.ts","../src/types/entity.ts","../src/query/selection.ts","../src/actions/public/query.ts","../src/types/events.ts","../src/actions/public/watchEntityEvents.ts","../src/actions/wallet/createEntity.ts","../src/actions/wallet/deleteEntity.ts","../src/actions/wallet/extendEntity.ts","../src/actions/wallet/patchEntity.ts","../src/actions/wallet/executeBatch.ts","../src/types/txParams.ts","../src/actions/wallet/changeOwnership.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,20 +1,14 @@
1
1
  const require_errors = require('../errors-DhV00966.cjs');
2
- const require_flags = require('../flags-DCD26uhe.cjs');
3
- const require_expiry = require('../expiry-CG9GhVXv.cjs');
4
- const require_entity = require('../entity-DJ0Gml9c.cjs');
2
+ const require_params = require('../params-BuIrJA9a.cjs');
3
+ const require_entity = require('../entity-BgaFJSaV.cjs');
5
4
 
6
5
  exports.ENTITY_EVENTS_ABI = require_entity.ENTITY_EVENTS_ABI;
7
6
  exports.InvalidCreationFlagsError = require_errors.InvalidCreationFlagsError;
8
7
  exports.InvalidExpiryError = require_errors.InvalidExpiryError;
9
8
  exports.InvalidSaltError = require_errors.InvalidSaltError;
10
- exports.MAX_EXPIRES_AT = require_expiry.MAX_EXPIRES_AT;
9
+ exports.MAX_EXPIRES_AT = require_params.MAX_EXPIRES_AT;
11
10
  exports.MAX_SALT = require_entity.MAX_SALT;
12
11
  exports.NO_SALT = require_entity.NO_SALT;
13
12
  exports.NoRandomSourceError = require_errors.NoRandomSourceError;
14
- exports.OperationType = require_expiry.OperationType;
15
- exports.decodeCreationFlags = require_flags.decodeCreationFlags;
16
- exports.encodeCreationFlags = require_flags.encodeCreationFlags;
17
13
  exports.predictEntityKey = require_entity.predictEntityKey;
18
- exports.randomSalt = require_entity.randomSalt;
19
- exports.resolveExpiry = require_expiry.resolveExpiry;
20
- exports.toBlocks = require_expiry.toBlocks;
14
+ exports.randomSalt = require_entity.randomSalt;
@@ -1,3 +1,3 @@
1
- import { _ as NoRandomSourceError, a as SaltInput, c as CreationFlags, d as encodeCreationFlags, f as ENTITY_EVENTS_ABI, g as InvalidSaltError, h as InvalidExpiryError, i as NO_SALT, l as ResolvedCreationFlags, m as InvalidCreationFlagsError, n as OperationType, o as predictEntityKey, p as EntityEventName, r as MAX_SALT, s as randomSalt, t as MAX_EXPIRES_AT, u as decodeCreationFlags } from "../index-CLhsFyVH.cjs";
2
- import { a as ResolvedExpiry, i as Lifetime, n as Expiry, o as resolveExpiry, r as ExpiryContext, s as toBlocks, t as EncodedExpiry } from "../expiry-DRV29F1r.cjs";
3
- export { CreationFlags, ENTITY_EVENTS_ABI, EncodedExpiry, EntityEventName, Expiry, ExpiryContext, InvalidCreationFlagsError, InvalidExpiryError, InvalidSaltError, Lifetime, MAX_EXPIRES_AT, MAX_SALT, NO_SALT, NoRandomSourceError, OperationType, ResolvedCreationFlags, ResolvedExpiry, SaltInput, decodeCreationFlags, encodeCreationFlags, predictEntityKey, randomSalt, resolveExpiry, toBlocks };
1
+ import { a as predictEntityKey, c as ResolvedCreationFlags, d as InvalidCreationFlagsError, f as InvalidExpiryError, i as SaltInput, l as ENTITY_EVENTS_ABI, m as NoRandomSourceError, n as MAX_SALT, o as randomSalt, p as InvalidSaltError, r as NO_SALT, s as CreationFlags, t as MAX_EXPIRES_AT, u as EntityEventName } from "../index-CcVWYB6v.cjs";
2
+ import { n as Lifetime, t as Expiry } from "../expiry-B48I-yTA.cjs";
3
+ export { CreationFlags, ENTITY_EVENTS_ABI, EntityEventName, Expiry, InvalidCreationFlagsError, InvalidExpiryError, InvalidSaltError, Lifetime, MAX_EXPIRES_AT, MAX_SALT, NO_SALT, NoRandomSourceError, ResolvedCreationFlags, SaltInput, predictEntityKey, randomSalt };
@@ -1,3 +1,3 @@
1
- import { _ as NoRandomSourceError, a as SaltInput, c as CreationFlags, d as encodeCreationFlags, f as ENTITY_EVENTS_ABI, g as InvalidSaltError, h as InvalidExpiryError, i as NO_SALT, l as ResolvedCreationFlags, m as InvalidCreationFlagsError, n as OperationType, o as predictEntityKey, p as EntityEventName, r as MAX_SALT, s as randomSalt, t as MAX_EXPIRES_AT, u as decodeCreationFlags } from "../index-BkqSnGJH.js";
2
- import { a as ResolvedExpiry, i as Lifetime, n as Expiry, o as resolveExpiry, r as ExpiryContext, s as toBlocks, t as EncodedExpiry } from "../expiry-BxOlvVWC.js";
3
- export { CreationFlags, ENTITY_EVENTS_ABI, EncodedExpiry, EntityEventName, Expiry, ExpiryContext, InvalidCreationFlagsError, InvalidExpiryError, InvalidSaltError, Lifetime, MAX_EXPIRES_AT, MAX_SALT, NO_SALT, NoRandomSourceError, OperationType, ResolvedCreationFlags, ResolvedExpiry, SaltInput, decodeCreationFlags, encodeCreationFlags, predictEntityKey, randomSalt, resolveExpiry, toBlocks };
1
+ import { a as predictEntityKey, c as ResolvedCreationFlags, d as InvalidCreationFlagsError, f as InvalidExpiryError, i as SaltInput, l as ENTITY_EVENTS_ABI, m as NoRandomSourceError, n as MAX_SALT, o as randomSalt, p as InvalidSaltError, r as NO_SALT, s as CreationFlags, t as MAX_EXPIRES_AT, u as EntityEventName } from "../index-C4zZqJ9S.js";
2
+ import { n as Lifetime, t as Expiry } from "../expiry-S2PUL8Hg.js";
3
+ export { CreationFlags, ENTITY_EVENTS_ABI, EntityEventName, Expiry, InvalidCreationFlagsError, InvalidExpiryError, InvalidSaltError, Lifetime, MAX_EXPIRES_AT, MAX_SALT, NO_SALT, NoRandomSourceError, ResolvedCreationFlags, SaltInput, predictEntityKey, randomSalt };
@@ -1,6 +1,5 @@
1
1
  import { i as NoRandomSourceError, n as InvalidExpiryError, r as InvalidSaltError, t as InvalidCreationFlagsError } from "../errors-D2E1GRjw.js";
2
- import { n as encodeCreationFlags, t as decodeCreationFlags } from "../flags-DUT2gHEU.js";
3
- import { a as OperationType, i as MAX_EXPIRES_AT, n as resolveExpiry, r as toBlocks } from "../expiry-Cgdb_dbq.js";
4
- import { a as randomSalt, i as predictEntityKey, n as MAX_SALT, r as NO_SALT, t as ENTITY_EVENTS_ABI } from "../entity-CniBgBSd.js";
2
+ import { t as MAX_EXPIRES_AT } from "../params-DDJOnsNi.js";
3
+ import { a as randomSalt, i as predictEntityKey, n as MAX_SALT, r as NO_SALT, t as ENTITY_EVENTS_ABI } from "../entity-CGqx_AU0.js";
5
4
 
6
- export { ENTITY_EVENTS_ABI, InvalidCreationFlagsError, InvalidExpiryError, InvalidSaltError, MAX_EXPIRES_AT, MAX_SALT, NO_SALT, NoRandomSourceError, OperationType, decodeCreationFlags, encodeCreationFlags, predictEntityKey, randomSalt, resolveExpiry, toBlocks };
5
+ export { ENTITY_EVENTS_ABI, InvalidCreationFlagsError, InvalidExpiryError, InvalidSaltError, MAX_EXPIRES_AT, MAX_SALT, NO_SALT, NoRandomSourceError, predictEntityKey, randomSalt };
@@ -0,0 +1,41 @@
1
+
2
+ //#region src/types/entity.ts
3
+ /**
4
+ * An entity as the node returns it, decoded: the fields a query selected, with its attributes as a
5
+ * map keyed by name. Which fields are populated is decided by the selection, so each may be
6
+ * `undefined`.
7
+ *
8
+ * Queries do not return these: `select()`, `query()` and `getEntity()` lay each one out as a flat
9
+ * row — the selected entity fields and attributes side by side, typed by the selection and, through
10
+ * a schema, by its columns.
11
+ */
12
+ var Entity = class {
13
+ key;
14
+ owner;
15
+ creator;
16
+ createdAt;
17
+ updatedAt;
18
+ expiresAt;
19
+ creationFlags;
20
+ attributeSchema;
21
+ attributes;
22
+ constructor(fields = {}) {
23
+ this.key = fields.key;
24
+ this.owner = fields.owner;
25
+ this.creator = fields.creator;
26
+ this.createdAt = fields.createdAt;
27
+ this.updatedAt = fields.updatedAt;
28
+ this.expiresAt = fields.expiresAt;
29
+ this.creationFlags = fields.creationFlags;
30
+ this.attributeSchema = fields.attributeSchema;
31
+ this.attributes = fields.attributes;
32
+ }
33
+ };
34
+
35
+ //#endregion
36
+ Object.defineProperty(exports, 'Entity', {
37
+ enumerable: true,
38
+ get: function () {
39
+ return Entity;
40
+ }
41
+ });
@@ -1,18 +1,18 @@
1
1
  const require_errors = require('./errors-DhV00966.cjs');
2
- const require_expiry = require('./expiry-CG9GhVXv.cjs');
2
+ const require_params = require('./params-BuIrJA9a.cjs');
3
3
  let viem = require("viem");
4
4
 
5
5
  //#region src/entity/key.ts
6
6
  /** The widest salt the `uint128` wire field carries. */
7
7
  const MAX_SALT = 2n ** 128n - 1n;
8
8
  /**
9
- * Opts a create out of salting, as {@link CreateEntityParameters.salt}: the key is then derived
9
+ * Opts a create out of salting, as {@link CreateEntityOptions.salt}: the key is then derived
10
10
  * from the owner and its nonce alone, so anyone who knows both can work it out before the create
11
11
  * lands.
12
12
  */
13
13
  const NO_SALT = Symbol("NO_SALT");
14
14
  /**
15
- * A cryptographically random 128-bit salt — what {@link CreateEntityParameters.salt} defaults to.
15
+ * A cryptographically random 128-bit salt — what {@link CreateEntityOptions.salt} defaults to.
16
16
  *
17
17
  * The salt exists for unpredictability, not uniqueness: the per-owner nonce already guarantees
18
18
  * distinct keys. Random bits mean only the creator can predict the key of an entity they are about
@@ -56,7 +56,7 @@ function predictEntityKey({ owner, nonce, salt, chainId }) {
56
56
  "uint128"
57
57
  ], [
58
58
  BigInt(chainId),
59
- require_expiry.ARKIV_ADDRESS,
59
+ require_params.ARKIV_ADDRESS,
60
60
  owner,
61
61
  nonce,
62
62
  resolveSalt(salt)
@@ -0,0 +1,36 @@
1
+ //#region src/types/entity.ts
2
+ /**
3
+ * An entity as the node returns it, decoded: the fields a query selected, with its attributes as a
4
+ * map keyed by name. Which fields are populated is decided by the selection, so each may be
5
+ * `undefined`.
6
+ *
7
+ * Queries do not return these: `select()`, `query()` and `getEntity()` lay each one out as a flat
8
+ * row — the selected entity fields and attributes side by side, typed by the selection and, through
9
+ * a schema, by its columns.
10
+ */
11
+ var Entity = class {
12
+ key;
13
+ owner;
14
+ creator;
15
+ createdAt;
16
+ updatedAt;
17
+ expiresAt;
18
+ creationFlags;
19
+ attributeSchema;
20
+ attributes;
21
+ constructor(fields = {}) {
22
+ this.key = fields.key;
23
+ this.owner = fields.owner;
24
+ this.creator = fields.creator;
25
+ this.createdAt = fields.createdAt;
26
+ this.updatedAt = fields.updatedAt;
27
+ this.expiresAt = fields.expiresAt;
28
+ this.creationFlags = fields.creationFlags;
29
+ this.attributeSchema = fields.attributeSchema;
30
+ this.attributes = fields.attributes;
31
+ }
32
+ };
33
+
34
+ //#endregion
35
+ export { Entity as t };
36
+ //# sourceMappingURL=entity-CFAI1KyG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-CFAI1KyG.js","names":[],"sources":["../src/types/entity.ts"],"sourcesContent":["import type { Hex } from \"viem\"\nimport type { ResolvedCreationFlags } from \"../entity/flags\"\nimport type { AttributeSchema, Attributes } from \"../schema\"\n\n/**\n * The fields an {@link Entity} can carry. Every one is optional: a query returns exactly the parts\n * it selected, and `undefined` means \"not asked for\" rather than \"empty\".\n */\nexport type EntityFields = {\n key?: Hex | undefined\n owner?: Hex | undefined\n creator?: Hex | undefined\n /** Block the entity was created at. */\n createdAt?: bigint | undefined\n /** Block the entity was last patched at. */\n updatedAt?: bigint | undefined\n /** Block the entity expires at. */\n expiresAt?: bigint | undefined\n /** The immutable properties the entity was created with. */\n creationFlags?: ResolvedCreationFlags | undefined\n /** Attribute names, types and indexing, with no values. */\n attributeSchema?: AttributeSchema | undefined\n /** Attribute names, types and values. */\n attributes?: Attributes | undefined\n}\n\n/**\n * An entity as the node returns it, decoded: the fields a query selected, with its attributes as a\n * map keyed by name. Which fields are populated is decided by the selection, so each may be\n * `undefined`.\n *\n * Queries do not return these: `select()`, `query()` and `getEntity()` lay each one out as a flat\n * row — the selected entity fields and attributes side by side, typed by the selection and, through\n * a schema, by its columns.\n */\nexport class Entity implements EntityFields {\n key: Hex | undefined\n owner: Hex | undefined\n creator: Hex | undefined\n createdAt: bigint | undefined\n updatedAt: bigint | undefined\n expiresAt: bigint | undefined\n creationFlags: ResolvedCreationFlags | undefined\n attributeSchema: AttributeSchema | undefined\n attributes: Attributes | undefined\n\n constructor(fields: EntityFields = {}) {\n this.key = fields.key\n this.owner = fields.owner\n this.creator = fields.creator\n this.createdAt = fields.createdAt\n this.updatedAt = fields.updatedAt\n this.expiresAt = fields.expiresAt\n this.creationFlags = fields.creationFlags\n this.attributeSchema = fields.attributeSchema\n this.attributes = fields.attributes\n }\n}\n"],"mappings":";;;;;;;;;;AAmCA,IAAa,SAAb,MAA4C;CAC1C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAY,SAAuB,EAAE,EAAE;AACrC,OAAK,MAAM,OAAO;AAClB,OAAK,QAAQ,OAAO;AACpB,OAAK,UAAU,OAAO;AACtB,OAAK,YAAY,OAAO;AACxB,OAAK,YAAY,OAAO;AACxB,OAAK,YAAY,OAAO;AACxB,OAAK,gBAAgB,OAAO;AAC5B,OAAK,kBAAkB,OAAO;AAC9B,OAAK,aAAa,OAAO"}
@@ -1,18 +1,18 @@
1
1
  import { i as NoRandomSourceError, r as InvalidSaltError } from "./errors-D2E1GRjw.js";
2
- import { o as ARKIV_ADDRESS } from "./expiry-Cgdb_dbq.js";
2
+ import { r as ARKIV_ADDRESS } from "./params-DDJOnsNi.js";
3
3
  import { encodePacked, keccak256, parseAbi } from "viem";
4
4
 
5
5
  //#region src/entity/key.ts
6
6
  /** The widest salt the `uint128` wire field carries. */
7
7
  const MAX_SALT = 2n ** 128n - 1n;
8
8
  /**
9
- * Opts a create out of salting, as {@link CreateEntityParameters.salt}: the key is then derived
9
+ * Opts a create out of salting, as {@link CreateEntityOptions.salt}: the key is then derived
10
10
  * from the owner and its nonce alone, so anyone who knows both can work it out before the create
11
11
  * lands.
12
12
  */
13
13
  const NO_SALT = Symbol("NO_SALT");
14
14
  /**
15
- * A cryptographically random 128-bit salt — what {@link CreateEntityParameters.salt} defaults to.
15
+ * A cryptographically random 128-bit salt — what {@link CreateEntityOptions.salt} defaults to.
16
16
  *
17
17
  * The salt exists for unpredictability, not uniqueness: the per-owner nonce already guarantees
18
18
  * distinct keys. Random bits mean only the creator can predict the key of an entity they are about
@@ -79,4 +79,4 @@ const ENTITY_EVENTS_ABI = parseAbi([
79
79
 
80
80
  //#endregion
81
81
  export { randomSalt as a, predictEntityKey as i, MAX_SALT as n, resolveSalt as o, NO_SALT as r, ENTITY_EVENTS_ABI as t };
82
- //# sourceMappingURL=entity-CniBgBSd.js.map
82
+ //# sourceMappingURL=entity-CGqx_AU0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-CGqx_AU0.js","names":[],"sources":["../src/entity/key.ts","../src/entity/events.ts"],"sourcesContent":["import { type Address, encodePacked, type Hex, keccak256 } from \"viem\"\nimport type { CreateEntityOptions } from \"../actions/wallet/createEntity\"\nimport { ARKIV_ADDRESS } from \"../consts\"\nimport { InvalidSaltError, NoRandomSourceError } from \"./errors\"\n\n/** The widest salt the `uint128` wire field carries. */\nexport const MAX_SALT = 2n ** 128n - 1n\n\n/**\n * Opts a create out of salting, as {@link CreateEntityOptions.salt}: the key is then derived\n * from the owner and its nonce alone, so anyone who knows both can work it out before the create\n * lands.\n */\nexport const NO_SALT = Symbol(\"NO_SALT\")\n\n/**\n * A salt as a caller expresses it: an explicit `uint128`, or {@link NO_SALT} to opt out of salting.\n */\nexport type SaltInput = bigint | typeof NO_SALT\n\n/**\n * A cryptographically random 128-bit salt — what {@link CreateEntityOptions.salt} defaults to.\n *\n * The salt exists for unpredictability, not uniqueness: the per-owner nonce already guarantees\n * distinct keys. Random bits mean only the creator can predict the key of an entity they are about\n * to create, so nobody else can reference or squat it in advance.\n *\n * @throws {NoRandomSourceError} If the runtime has no `crypto.getRandomValues`.\n */\nexport function randomSalt(): bigint {\n const source = globalThis.crypto\n if (typeof source?.getRandomValues !== \"function\") {\n throw new NoRandomSourceError()\n }\n const bytes = source.getRandomValues(new Uint8Array(16))\n let salt = 0n\n for (const byte of bytes) salt = (salt << 8n) | BigInt(byte)\n return salt\n}\n\n/**\n * Resolves a caller-supplied salt to a `uint128`.\n */\nexport function resolveSalt(salt: SaltInput): bigint {\n return salt === NO_SALT ? 0n : validateSalt(salt)\n}\n\n/** Validates a caller-supplied salt against the `uint128` wire field. */\nexport function validateSalt(salt: bigint): bigint {\n if (typeof salt !== \"bigint\" || salt < 0n || salt > MAX_SALT) {\n throw new InvalidSaltError(salt)\n }\n return salt\n}\n\n/**\n * The key an entity will be created with, derived exactly as the engine derives it:\n * `keccak256(domain ++ owner ++ nonce ++ salt)`.\n *\n * Deriving it client-side is what lets a batch compose: predict the key of a create, then have a\n * later operation in the same transaction reference it, or store it as a `key` attribute on a\n * sibling entity.\n */\nexport function predictEntityKey({\n owner,\n nonce,\n salt,\n chainId,\n}: {\n /** The account creating the entity. */\n owner: Address\n /**\n * The owner's entity-nonce at creation time. Each create in a batch consumes one, so the *n*th\n * create in a batch uses `nonce + n`.\n */\n nonce: bigint\n /** The salt the create will carry, or {@link NO_SALT} if it carries none. */\n salt: SaltInput\n /** The chain the entity is being created on — half of the derivation domain. */\n chainId: number\n}): Hex {\n return keccak256(\n encodePacked(\n [\"uint256\", \"address\", \"address\", \"uint64\", \"uint128\"],\n [BigInt(chainId), ARKIV_ADDRESS, owner, nonce, resolveSalt(salt)],\n ),\n )\n}\n","import { parseAbi } from \"viem\"\n\n/**\n * The events the engine emits: one per applied operation, in application order, so an off-chain\n * replica can replay a transaction operation by operation.\n */\nexport const ENTITY_EVENTS_ABI = parseAbi([\n \"event EntityCreated(bytes32 indexed entityKey, address indexed owner, uint64 expiresAt, uint8 creationFlags)\",\n \"event EntityPatched(bytes32 indexed entityKey, address indexed owner)\",\n \"event ExpiryExtended(bytes32 indexed entityKey, address indexed owner, uint64 expiresAt)\",\n \"event OwnershipTransferred(bytes32 indexed entityKey, address indexed previousOwner, address indexed newOwner)\",\n \"event EntityDeleted(bytes32 indexed entityKey, address indexed owner)\",\n])\n\n/** The name of each event in {@link ENTITY_EVENTS_ABI}. */\nexport type EntityEventName = (typeof ENTITY_EVENTS_ABI)[number][\"name\"]\n"],"mappings":";;;;;;AAMA,MAAa,WAAW,MAAM,OAAO;;;;;;AAOrC,MAAa,UAAU,OAAO,UAAU;;;;;;;;;;AAgBxC,SAAgB,aAAqB;CACnC,MAAM,SAAS,WAAW;AAC1B,KAAI,OAAO,QAAQ,oBAAoB,WACrC,OAAM,IAAI,qBAAqB;CAEjC,MAAM,QAAQ,OAAO,gBAAgB,IAAI,WAAW,GAAG,CAAC;CACxD,IAAI,OAAO;AACX,MAAK,MAAM,QAAQ,MAAO,QAAQ,QAAQ,KAAM,OAAO,KAAK;AAC5D,QAAO;;;;;AAMT,SAAgB,YAAY,MAAyB;AACnD,QAAO,SAAS,UAAU,KAAK,aAAa,KAAK;;;AAInD,SAAgB,aAAa,MAAsB;AACjD,KAAI,OAAO,SAAS,YAAY,OAAO,MAAM,OAAO,SAClD,OAAM,IAAI,iBAAiB,KAAK;AAElC,QAAO;;;;;;;;;;AAWT,SAAgB,iBAAiB,EAC/B,OACA,OACA,MACA,WAaM;AACN,QAAO,UACL,aACE;EAAC;EAAW;EAAW;EAAW;EAAU;EAAU,EACtD;EAAC,OAAO,QAAQ;EAAE;EAAe;EAAO;EAAO,YAAY,KAAK;EAAC,CAClE,CACF;;;;;;;;;AChFH,MAAa,oBAAoB,SAAS;CACxC;CACA;CACA;CACA;CACA;CACD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { i as Lifetime, n as Expiry } from "./expiry-BxOlvVWC.js";
1
+ import { n as Lifetime, t as Expiry } from "./expiry-S2PUL8Hg.js";
2
2
 
3
3
  //#region src/utils/expirationTime.d.ts
4
4
 
@@ -14,7 +14,7 @@ type DeadlineOptions = {
14
14
  atLeast?: Lifetime | undefined;
15
15
  };
16
16
  /**
17
- * Builds the `expires` of a create or an extension.
17
+ * Builds the `expiration` of a create or an extension.
18
18
  *
19
19
  * Every helper returns the `{ minLifetime, expiresAt }` pair the ABI carries, so what you write is
20
20
  * what goes on the wire. The `from*` helpers fill `minLifetime` and leave `expiresAt` at `0n`;
@@ -25,14 +25,14 @@ type DeadlineOptions = {
25
25
  * object.
26
26
  *
27
27
  * @example The 90% case: a duration, and nothing else to think about.
28
- * await client.createEntity({ payload, contentType, expires: ExpirationTime.fromDays(30) })
28
+ * await client.createEntity(Posts, values, { expiration: ExpirationTime.fromDays(30) })
29
29
  *
30
30
  * @example An exact block, or a wall-clock date.
31
- * expires: ExpirationTime.atBlock(1_200_000n)
32
- * expires: ExpirationTime.atDate(new Date("2027-01-01"))
31
+ * expiration: ExpirationTime.atBlock(1_200_000n)
32
+ * expiration: ExpirationTime.atDate(new Date("2027-01-01"))
33
33
  *
34
34
  * @example A deadline that still guarantees a minimum life.
35
- * expires: ExpirationTime.atBlock(1_200_000n, { atLeast: ExpirationTime.fromDays(1) })
35
+ * expiration: ExpirationTime.atBlock(1_200_000n, { atLeast: ExpirationTime.fromDays(1) })
36
36
  */
37
37
  declare const ExpirationTime: {
38
38
  /**
@@ -120,34 +120,5 @@ declare const ExpirationTime: {
120
120
  permanent: () => Expiry;
121
121
  };
122
122
  //#endregion
123
- //#region src/utils/payload.d.ts
124
- /**
125
- * A JSON-serialisable value as an entity payload — `JSON.stringify` then UTF-8.
126
- *
127
- * Pair it with `contentType: "application/json"`, which is what lets `entity.toJson()` read it back.
128
- *
129
- * @example
130
- * await client.createEntity({
131
- * payload: jsonToPayload({ hello: "world" }),
132
- * contentType: "application/json",
133
- * expires: ExpirationTime.fromDays(30),
134
- * })
135
- */
136
- declare function jsonToPayload(json: object): Uint8Array;
137
- /**
138
- * A string as an entity payload, encoded as UTF-8.
139
- *
140
- * Hex-looking text is encoded as text: `stringToPayload("0xab")` gives the four bytes of that
141
- * string, not the single byte `0xab`. Read it back with `entity.toText()`.
142
- *
143
- * @example
144
- * await client.createEntity({
145
- * payload: stringToPayload("hello"),
146
- * contentType: "text/plain",
147
- * expires: ExpirationTime.fromDays(30),
148
- * })
149
- */
150
- declare function stringToPayload(data: string): Uint8Array;
151
- //#endregion
152
- export { ExpirationTime as i, stringToPayload as n, DeadlineOptions as r, jsonToPayload as t };
153
- //# sourceMappingURL=payload-AfUfSctb.d.ts.map
123
+ export { ExpirationTime as n, DeadlineOptions as t };
124
+ //# sourceMappingURL=expirationTime-C7PZK49K.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expirationTime-C7PZK49K.d.ts","names":[],"sources":["../src/utils/expirationTime.ts"],"sourcesContent":[],"mappings":";;;;;;AAWA;AAkCA;;;;AA2B4B,KA7DhB,eAAA,GA6DgB;EAOE;EASE,OAAA,CAAA,EA3EpB,QA2EoB,GAAA,SAAA;CASF;;;;;;;;;;;;;;;;;;;;;;cApDjB;;;;;;;oCAOqB;;;;;;oCAMA;;;;;;gCAOJ;;;;;;8BAOF;;;;;;gCAOE;;;;;;;;kCASE;;;;;;;;gCASF;;;;;;;kCAQE;;;;;;;;qCAgBK,oBAAkB;;;;;;;;;;;;;iBAmBtC,gBAAgB,oBAAkB;;;;;;;;mBAclC"}
@@ -0,0 +1,140 @@
1
+ const require_errors = require('./errors-DhV00966.cjs');
2
+ const require_params = require('./params-BuIrJA9a.cjs');
3
+
4
+ //#region src/entity/expiry.ts
5
+ /**
6
+ * Builds a branded {@link Expiry}.
7
+ *
8
+ * Internal seam for {@link ExpirationTime}, which is the only thing that should call it — it is not
9
+ * part of the package's public surface.
10
+ */
11
+ function makeExpiry(minLifetime, expiresAt) {
12
+ return {
13
+ minLifetime,
14
+ expiresAt
15
+ };
16
+ }
17
+ /**
18
+ * Resolves an expiry into the wire pair and the block the entity will expire at.
19
+ *
20
+ * A duration arrives here already in blocks — {@link ExpirationTime} converted it at the nominal
21
+ * `BLOCK_TIME` (2 seconds) through {@link toBlocks} — and a `Date` deadline is placed against
22
+ * `currentBlock` at that same block time here. Both are **approximate**: block production is not a
23
+ * clock, so a lifetime asked for in days drifts if the chain runs fast or slow. The block the
24
+ * expiry resolves to against `currentBlock` comes back as {@link ResolvedExpiry.target}, so the
25
+ * approximation is always observable rather than assumed.
26
+ *
27
+ * @throws {InvalidExpiryError} If the expiry is malformed, does not fit the `uint64` the wire
28
+ * carries, or would leave the entity dead on arrival.
29
+ */
30
+ function resolveExpiry(expiry, context) {
31
+ const { currentBlock } = context;
32
+ if (typeof expiry?.minLifetime !== "bigint" || expiry.expiresAt === void 0) throw new require_errors.InvalidExpiryError("expiration must be built with ExpirationTime, e.g. ExpirationTime.fromDays(30) or ExpirationTime.atBlock(1_200_000n)");
33
+ const { minLifetime } = expiry;
34
+ const absolute = typeof expiry.expiresAt === "bigint" ? expiry.expiresAt : blockAtDate(expiry.expiresAt, currentBlock);
35
+ if (minLifetime === 0n && absolute === 0n) throw new require_errors.InvalidExpiryError("no expiry given. Pass ExpirationTime.fromDays(30) for a lifetime, ExpirationTime.atBlock(n) for an absolute deadline, or a deadline with { atLeast } to take whichever is later.");
36
+ if (absolute > require_params.MAX_EXPIRES_AT) throw new require_errors.InvalidExpiryError(`expiresAt resolves to block ${absolute}, which does not fit the uint64 the wire carries (max ${require_params.MAX_EXPIRES_AT}). Use ExpirationTime.permanent() for an entity that should not expire.`);
37
+ if (minLifetime > require_params.MAX_EXPIRES_AT) throw new require_errors.InvalidExpiryError(`the lifetime is ${minLifetime} blocks, which does not fit the uint64 the wire carries (max ${require_params.MAX_EXPIRES_AT})`);
38
+ const relative = minLifetime === 0n ? 0n : currentBlock + minLifetime;
39
+ const target = absolute > relative ? absolute : relative;
40
+ if (target <= currentBlock) throw new require_errors.InvalidExpiryError(`the entity would expire at block ${target}, which is not after the current block ${currentBlock}, so it would be dead on arrival`);
41
+ if (target > require_params.MAX_EXPIRES_AT) throw new require_errors.InvalidExpiryError(`a lifetime of ${minLifetime} blocks from block ${currentBlock} lands at ${target}, past the largest expiry the wire carries (${require_params.MAX_EXPIRES_AT})`);
42
+ return {
43
+ expiresAt: absolute,
44
+ minLifetime,
45
+ target
46
+ };
47
+ }
48
+ /**
49
+ * A duration in seconds as a whole number of blocks.
50
+ *
51
+ * Arkiv counts lifetimes in blocks, so a duration that is not a whole number of them does not
52
+ * describe anything the chain can store. Rather than silently round a caller's `3` up to two blocks
53
+ * — four seconds, not what they asked for — this rejects it: a duration must be a positive multiple
54
+ * of `BLOCK_TIME` (2 seconds). The {@link ExpirationTime} helpers all produce such multiples.
55
+ *
56
+ * @throws {InvalidExpiryError} If the duration is not a positive whole number of blocks' seconds.
57
+ */
58
+ function toBlocks(seconds) {
59
+ if (!Number.isInteger(seconds) || seconds <= 0) throw new require_errors.InvalidExpiryError(`a lifetime must be a positive whole number of seconds, got ${seconds}. Use the ExpirationTime helpers, e.g. ExpirationTime.fromDays(30).`);
60
+ if (seconds % require_params.BLOCK_TIME !== 0) throw new require_errors.InvalidExpiryError(`a lifetime must be a multiple of the ${require_params.BLOCK_TIME}s block time, got ${seconds}, which is ${seconds / require_params.BLOCK_TIME} blocks. Try ${seconds - seconds % require_params.BLOCK_TIME} or ${seconds + require_params.BLOCK_TIME - seconds % require_params.BLOCK_TIME}, or ExpirationTime.fromBlocks(n).`);
61
+ return BigInt(seconds / require_params.BLOCK_TIME);
62
+ }
63
+ /**
64
+ * The block a wall-clock instant lands on.
65
+ *
66
+ * Rounds **up**: a date almost never falls on a block boundary, and unlike a duration — which the
67
+ * caller states and can state exactly — there is nothing here to reject, so the entity lives until
68
+ * at least the instant asked for.
69
+ */
70
+ function blockAtDate(date, currentBlock) {
71
+ const secondsAway = (date.getTime() - Date.now()) / 1e3;
72
+ if (secondsAway <= 0) throw new require_errors.InvalidExpiryError(`the deadline ${date.toISOString()} is in the past, so the entity would be dead on arrival`);
73
+ return currentBlock + BigInt(Math.ceil(secondsAway / require_params.BLOCK_TIME));
74
+ }
75
+
76
+ //#endregion
77
+ //#region src/utils/expirationTime.ts
78
+ function lifetimeOf(seconds) {
79
+ return makeExpiry(toBlocks(seconds), 0n);
80
+ }
81
+ function deadlineOf(expiresAt, options) {
82
+ return makeExpiry(options?.atLeast?.minLifetime ?? 0n, expiresAt);
83
+ }
84
+ /**
85
+ * Builds the `expiration` of a create or an extension.
86
+ *
87
+ * Every helper returns the `{ minLifetime, expiresAt }` pair the ABI carries, so what you write is
88
+ * what goes on the wire. The `from*` helpers fill `minLifetime` and leave `expiresAt` at `0n`;
89
+ * {@link ExpirationTime.atBlock} and {@link ExpirationTime.atDate} do the reverse. The engine takes
90
+ * whichever comes later, which is why a deadline can also carry a floor.
91
+ *
92
+ * Values are plain data — no methods, no prototype — so they log, clone and compare like any other
93
+ * object.
94
+ *
95
+ * @example The 90% case: a duration, and nothing else to think about.
96
+ * await client.createEntity(Posts, values, { expiration: ExpirationTime.fromDays(30) })
97
+ *
98
+ * @example An exact block, or a wall-clock date.
99
+ * expiration: ExpirationTime.atBlock(1_200_000n)
100
+ * expiration: ExpirationTime.atDate(new Date("2027-01-01"))
101
+ *
102
+ * @example A deadline that still guarantees a minimum life.
103
+ * expiration: ExpirationTime.atBlock(1_200_000n, { atLeast: ExpirationTime.fromDays(1) })
104
+ */
105
+ const ExpirationTime = {
106
+ fromSeconds: (seconds) => lifetimeOf(seconds),
107
+ fromMinutes: (minutes) => lifetimeOf(minutes * 60),
108
+ fromHours: (hours) => lifetimeOf(hours * 60 * 60),
109
+ fromDays: (days) => lifetimeOf(days * 24 * 60 * 60),
110
+ fromWeeks: (weeks) => lifetimeOf(weeks * 7 * 24 * 60 * 60),
111
+ fromMonths: (months) => lifetimeOf(months * 30 * 24 * 60 * 60),
112
+ fromYears: (years) => lifetimeOf(years * 365 * 24 * 60 * 60),
113
+ fromBlocks: (blocks) => {
114
+ if (!Number.isInteger(blocks) || blocks <= 0) throw new require_errors.InvalidExpiryError(`a lifetime must be a positive whole number of blocks, got ${blocks}`);
115
+ return makeExpiry(BigInt(blocks), 0n);
116
+ },
117
+ atBlock: (block, options) => {
118
+ if (typeof block !== "bigint" || block < 0n) throw new require_errors.InvalidExpiryError(`a deadline must be a non-negative block height, got ${block}`);
119
+ return deadlineOf(block, options);
120
+ },
121
+ atDate: (date, options) => {
122
+ if (!(date instanceof Date) || Number.isNaN(date.getTime())) throw new require_errors.InvalidExpiryError(`a deadline must be a valid Date, got ${String(date)}`);
123
+ return deadlineOf(date, options);
124
+ },
125
+ permanent: () => deadlineOf(require_params.MAX_EXPIRES_AT)
126
+ };
127
+
128
+ //#endregion
129
+ Object.defineProperty(exports, 'ExpirationTime', {
130
+ enumerable: true,
131
+ get: function () {
132
+ return ExpirationTime;
133
+ }
134
+ });
135
+ Object.defineProperty(exports, 'resolveExpiry', {
136
+ enumerable: true,
137
+ get: function () {
138
+ return resolveExpiry;
139
+ }
140
+ });
@@ -1,4 +1,4 @@
1
- import { i as Lifetime, n as Expiry } from "./expiry-DRV29F1r.cjs";
1
+ import { n as Lifetime, t as Expiry } from "./expiry-B48I-yTA.cjs";
2
2
 
3
3
  //#region src/utils/expirationTime.d.ts
4
4
 
@@ -14,7 +14,7 @@ type DeadlineOptions = {
14
14
  atLeast?: Lifetime | undefined;
15
15
  };
16
16
  /**
17
- * Builds the `expires` of a create or an extension.
17
+ * Builds the `expiration` of a create or an extension.
18
18
  *
19
19
  * Every helper returns the `{ minLifetime, expiresAt }` pair the ABI carries, so what you write is
20
20
  * what goes on the wire. The `from*` helpers fill `minLifetime` and leave `expiresAt` at `0n`;
@@ -25,14 +25,14 @@ type DeadlineOptions = {
25
25
  * object.
26
26
  *
27
27
  * @example The 90% case: a duration, and nothing else to think about.
28
- * await client.createEntity({ payload, contentType, expires: ExpirationTime.fromDays(30) })
28
+ * await client.createEntity(Posts, values, { expiration: ExpirationTime.fromDays(30) })
29
29
  *
30
30
  * @example An exact block, or a wall-clock date.
31
- * expires: ExpirationTime.atBlock(1_200_000n)
32
- * expires: ExpirationTime.atDate(new Date("2027-01-01"))
31
+ * expiration: ExpirationTime.atBlock(1_200_000n)
32
+ * expiration: ExpirationTime.atDate(new Date("2027-01-01"))
33
33
  *
34
34
  * @example A deadline that still guarantees a minimum life.
35
- * expires: ExpirationTime.atBlock(1_200_000n, { atLeast: ExpirationTime.fromDays(1) })
35
+ * expiration: ExpirationTime.atBlock(1_200_000n, { atLeast: ExpirationTime.fromDays(1) })
36
36
  */
37
37
  declare const ExpirationTime: {
38
38
  /**
@@ -120,34 +120,5 @@ declare const ExpirationTime: {
120
120
  permanent: () => Expiry;
121
121
  };
122
122
  //#endregion
123
- //#region src/utils/payload.d.ts
124
- /**
125
- * A JSON-serialisable value as an entity payload — `JSON.stringify` then UTF-8.
126
- *
127
- * Pair it with `contentType: "application/json"`, which is what lets `entity.toJson()` read it back.
128
- *
129
- * @example
130
- * await client.createEntity({
131
- * payload: jsonToPayload({ hello: "world" }),
132
- * contentType: "application/json",
133
- * expires: ExpirationTime.fromDays(30),
134
- * })
135
- */
136
- declare function jsonToPayload(json: object): Uint8Array;
137
- /**
138
- * A string as an entity payload, encoded as UTF-8.
139
- *
140
- * Hex-looking text is encoded as text: `stringToPayload("0xab")` gives the four bytes of that
141
- * string, not the single byte `0xab`. Read it back with `entity.toText()`.
142
- *
143
- * @example
144
- * await client.createEntity({
145
- * payload: stringToPayload("hello"),
146
- * contentType: "text/plain",
147
- * expires: ExpirationTime.fromDays(30),
148
- * })
149
- */
150
- declare function stringToPayload(data: string): Uint8Array;
151
- //#endregion
152
- export { ExpirationTime as i, stringToPayload as n, DeadlineOptions as r, jsonToPayload as t };
153
- //# sourceMappingURL=payload-D167BlJR.d.cts.map
123
+ export { ExpirationTime as n, DeadlineOptions as t };
124
+ //# sourceMappingURL=expirationTime-DOB8V4B8.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expirationTime-DOB8V4B8.d.cts","names":[],"sources":["../src/utils/expirationTime.ts"],"sourcesContent":[],"mappings":";;;;;;AAWA;AAkCA;;;;AA2B4B,KA7DhB,eAAA,GA6DgB;EAOE;EASE,OAAA,CAAA,EA3EpB,QA2EoB,GAAA,SAAA;CASF;;;;;;;;;;;;;;;;;;;;;;cApDjB;;;;;;;oCAOqB;;;;;;oCAMA;;;;;;gCAOJ;;;;;;8BAOF;;;;;;gCAOE;;;;;;;;kCASE;;;;;;;;gCASF;;;;;;;kCAQE;;;;;;;;qCAgBK,oBAAkB;;;;;;;;;;;;;iBAmBtC,gBAAgB,oBAAkB;;;;;;;;mBAclC"}