@arkiv-network/sdk 0.7.0-dev.1 → 0.8.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 (210) hide show
  1. package/README.md +29 -16
  2. package/dist/attr/index.cjs +34 -0
  3. package/dist/attr/index.d.cts +2 -0
  4. package/dist/attr/index.d.ts +2 -0
  5. package/dist/attr/index.js +3 -0
  6. package/dist/attr-BDZ-APg5.js +809 -0
  7. package/dist/attr-BDZ-APg5.js.map +1 -0
  8. package/dist/attr-BvxHN99W.cjs +1029 -0
  9. package/dist/chains/index.cjs +2 -3
  10. package/dist/chains/index.d.cts +22 -60
  11. package/dist/chains/index.d.cts.map +1 -1
  12. package/dist/chains/index.d.ts +22 -60
  13. package/dist/chains/index.d.ts.map +1 -1
  14. package/dist/chains/index.js +2 -2
  15. package/dist/chains-BJrZs6sG.js +57 -0
  16. package/dist/chains-BJrZs6sG.js.map +1 -0
  17. package/dist/chains-BYRTTipa.cjs +73 -0
  18. package/dist/changeOwnership-B7bEgla4.d.cts +509 -0
  19. package/dist/changeOwnership-B7bEgla4.d.cts.map +1 -0
  20. package/dist/changeOwnership-DwgtdSFc.d.ts +509 -0
  21. package/dist/changeOwnership-DwgtdSFc.d.ts.map +1 -0
  22. package/dist/entity/index.cjs +19 -0
  23. package/dist/entity/index.d.cts +4 -0
  24. package/dist/entity/index.d.ts +4 -0
  25. package/dist/entity/index.js +6 -0
  26. package/dist/entity-B0t6sN7F.cjs +71 -0
  27. package/dist/entity-BIp_df9u.js +67 -0
  28. package/dist/entity-BIp_df9u.js.map +1 -0
  29. package/dist/entity-CFhbAv0R.js +70 -0
  30. package/dist/entity-CFhbAv0R.js.map +1 -0
  31. package/dist/entity-wfBnZd91.cjs +98 -0
  32. package/dist/errors-D-eJkGVc.cjs +56 -0
  33. package/dist/errors-DGB8AgT2.js +33 -0
  34. package/dist/errors-DGB8AgT2.js.map +1 -0
  35. package/dist/expiry-BUYIXTGb.cjs +135 -0
  36. package/dist/expiry-BxOlvVWC.d.ts +79 -0
  37. package/dist/expiry-BxOlvVWC.d.ts.map +1 -0
  38. package/dist/expiry-DGRzrSan.js +95 -0
  39. package/dist/expiry-DGRzrSan.js.map +1 -0
  40. package/dist/expiry-DRV29F1r.d.cts +79 -0
  41. package/dist/expiry-DRV29F1r.d.cts.map +1 -0
  42. package/dist/flags-0Vl5rrHq.d.cts +41 -0
  43. package/dist/flags-0Vl5rrHq.d.cts.map +1 -0
  44. package/dist/flags-Ct8k0gpB.cjs +43 -0
  45. package/dist/flags-ZtlvOIIk.js +33 -0
  46. package/dist/flags-ZtlvOIIk.js.map +1 -0
  47. package/dist/flags-wmcMoAnN.d.ts +41 -0
  48. package/dist/flags-wmcMoAnN.d.ts.map +1 -0
  49. package/dist/index-Cgw1u5aY.d.cts +278 -0
  50. package/dist/index-Cgw1u5aY.d.cts.map +1 -0
  51. package/dist/index-ClgIuxJ8.d.ts +159 -0
  52. package/dist/index-ClgIuxJ8.d.ts.map +1 -0
  53. package/dist/index-D0CmtiWT.d.cts +159 -0
  54. package/dist/index-D0CmtiWT.d.cts.map +1 -0
  55. package/dist/index-D8LZt-3J.d.cts +417 -0
  56. package/dist/index-D8LZt-3J.d.cts.map +1 -0
  57. package/dist/index-DVYFaXNV.d.ts +417 -0
  58. package/dist/index-DVYFaXNV.d.ts.map +1 -0
  59. package/dist/index-VCqgn29D.d.ts +278 -0
  60. package/dist/index-VCqgn29D.d.ts.map +1 -0
  61. package/dist/index.cjs +676 -375
  62. package/dist/index.d.cts +247 -208
  63. package/dist/index.d.cts.map +1 -1
  64. package/dist/index.d.ts +247 -208
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +626 -368
  67. package/dist/index.js.map +1 -1
  68. package/dist/payload-Bnw1hrvb.cjs +83 -0
  69. package/dist/payload-CIxSn_DW.js +67 -0
  70. package/dist/payload-CIxSn_DW.js.map +1 -0
  71. package/dist/payload-Dgx3PQeK.d.ts +94 -0
  72. package/dist/payload-Dgx3PQeK.d.ts.map +1 -0
  73. package/dist/payload-P0nWyjLg.d.cts +94 -0
  74. package/dist/payload-P0nWyjLg.d.cts.map +1 -0
  75. package/dist/query/index.cjs +24 -150
  76. package/dist/query/index.d.cts +5 -3
  77. package/dist/query/index.d.ts +5 -3
  78. package/dist/query/index.js +6 -138
  79. package/dist/queryBuilder-BXDvX1K_.cjs +1123 -0
  80. package/dist/queryBuilder-CbLL4pG5.js +963 -0
  81. package/dist/queryBuilder-CbLL4pG5.js.map +1 -0
  82. package/dist/selection-BvK6yX0g.d.cts +433 -0
  83. package/dist/selection-BvK6yX0g.d.cts.map +1 -0
  84. package/dist/selection-fpmI3ADQ.d.ts +433 -0
  85. package/dist/selection-fpmI3ADQ.d.ts.map +1 -0
  86. package/dist/types/index.cjs +3 -3
  87. package/dist/types/index.d.cts +7 -2
  88. package/dist/types/index.d.ts +7 -2
  89. package/dist/types/index.js +3 -3
  90. package/dist/utils/index.cjs +4 -17
  91. package/dist/utils/index.d.cts +3 -17
  92. package/dist/utils/index.d.ts +3 -17
  93. package/dist/utils/index.js +4 -18
  94. package/package.json +26 -5
  95. package/src/actions/public/getEntity.ts +27 -43
  96. package/src/actions/public/getEntityNonce.ts +30 -0
  97. package/src/actions/public/predictEntityKeys.test.ts +143 -0
  98. package/src/actions/public/predictEntityKeys.ts +138 -0
  99. package/src/actions/public/query.ts +33 -69
  100. package/src/actions/public/watchEntityEvents.test.ts +414 -0
  101. package/src/actions/public/watchEntityEvents.ts +225 -0
  102. package/src/actions/wallet/changeOwnership.ts +2 -2
  103. package/src/actions/wallet/createEntity.ts +99 -24
  104. package/src/actions/wallet/extendEntity.ts +37 -13
  105. package/src/actions/wallet/mutateEntities.test.ts +76 -0
  106. package/src/actions/wallet/mutateEntities.ts +19 -21
  107. package/src/actions/wallet/patchEntity.ts +90 -0
  108. package/src/attr/attributes.test.ts +120 -0
  109. package/src/attr/attributes.ts +190 -0
  110. package/src/attr/codec.test.ts +162 -0
  111. package/src/attr/codec.ts +220 -0
  112. package/src/attr/decimal.ts +86 -0
  113. package/src/attr/errors.ts +145 -0
  114. package/src/attr/index.ts +50 -0
  115. package/src/attr/names.ts +106 -0
  116. package/src/attr/types.ts +150 -0
  117. package/src/attr/values.test.ts +271 -0
  118. package/src/attr/values.ts +502 -0
  119. package/src/chains/cheesecake.ts +22 -0
  120. package/src/chains/index.ts +1 -2
  121. package/src/clients/createPublicClient.test.ts +3 -5
  122. package/src/clients/createPublicClient.ts +5 -4
  123. package/src/clients/createWalletClient.test.ts +2 -2
  124. package/src/clients/createWalletClient.ts +13 -7
  125. package/src/clients/decorators/arkivPublic.ts +160 -139
  126. package/src/clients/decorators/arkivWallet.ts +86 -94
  127. package/src/entity/create.test.ts +184 -0
  128. package/src/entity/errors.ts +38 -0
  129. package/src/entity/events.ts +16 -0
  130. package/src/entity/expiry.test.ts +195 -0
  131. package/src/entity/expiry.ts +181 -0
  132. package/src/entity/flags.ts +65 -0
  133. package/src/entity/index.ts +14 -0
  134. package/src/entity/key.ts +68 -0
  135. package/src/entity/operations.ts +134 -0
  136. package/src/entity/params.ts +15 -0
  137. package/src/errors.ts +26 -49
  138. package/src/index.ts +6 -0
  139. package/src/query/engine.ts +59 -139
  140. package/src/query/errors.ts +151 -0
  141. package/src/query/expression.test.ts +286 -0
  142. package/src/query/expression.ts +493 -0
  143. package/src/query/index.ts +40 -4
  144. package/src/query/injection.test.ts +151 -0
  145. package/src/query/queryBuilder.test.ts +322 -637
  146. package/src/query/queryBuilder.ts +126 -359
  147. package/src/query/queryResult.ts +54 -51
  148. package/src/query/selection.test.ts +48 -98
  149. package/src/query/selection.ts +77 -65
  150. package/src/types/entity.test.ts +44 -155
  151. package/src/types/entity.ts +60 -52
  152. package/src/types/events.ts +59 -16
  153. package/src/types/index.ts +20 -17
  154. package/src/types/rpcSchema.ts +69 -37
  155. package/src/utils/arkivTransactions.test.ts +600 -155
  156. package/src/utils/arkivTransactions.ts +181 -190
  157. package/src/utils/chains.test.ts +21 -24
  158. package/src/utils/compression.ts +1 -1
  159. package/src/utils/entities.test.ts +62 -0
  160. package/src/utils/entities.ts +109 -37
  161. package/src/utils/expirationTime.ts +114 -10
  162. package/src/utils/logger.ts +2 -2
  163. package/src/utils/revert.test.ts +99 -0
  164. package/src/utils/revert.ts +145 -0
  165. package/dist/chains-BifaY04V.cjs +0 -108
  166. package/dist/chains-CrtkVbBh.js +0 -86
  167. package/dist/chains-CrtkVbBh.js.map +0 -1
  168. package/dist/consts-Bz0LZQZY.js +0 -7
  169. package/dist/consts-Bz0LZQZY.js.map +0 -1
  170. package/dist/consts-CxT1-RXU.cjs +0 -18
  171. package/dist/entity-BhSXaB23.cjs +0 -81
  172. package/dist/entity-CN41IOrq.d.cts +0 -401
  173. package/dist/entity-CN41IOrq.d.cts.map +0 -1
  174. package/dist/entity-DGfVyB-a.js +0 -71
  175. package/dist/entity-DGfVyB-a.js.map +0 -1
  176. package/dist/entity-NnEVlePN.d.ts +0 -401
  177. package/dist/entity-NnEVlePN.d.ts.map +0 -1
  178. package/dist/index-ClkpS6s_.d.ts +0 -481
  179. package/dist/index-ClkpS6s_.d.ts.map +0 -1
  180. package/dist/index-w4qop0Pe.d.cts +0 -481
  181. package/dist/index-w4qop0Pe.d.cts.map +0 -1
  182. package/dist/payload-BpNUPOnY.js +0 -13
  183. package/dist/payload-BpNUPOnY.js.map +0 -1
  184. package/dist/payload-C2KHOUoj.d.ts +0 -6
  185. package/dist/payload-C2KHOUoj.d.ts.map +0 -1
  186. package/dist/payload-CJN8fTvX.d.cts +0 -6
  187. package/dist/payload-CJN8fTvX.d.cts.map +0 -1
  188. package/dist/payload-D8YLKcJj.cjs +0 -23
  189. package/dist/query/index.js.map +0 -1
  190. package/dist/queryBuilder-BE_XhLLa.js +0 -735
  191. package/dist/queryBuilder-BE_XhLLa.js.map +0 -1
  192. package/dist/queryBuilder-J37buGCi.cjs +0 -865
  193. package/dist/utils/index.d.cts.map +0 -1
  194. package/dist/utils/index.d.ts.map +0 -1
  195. package/dist/utils/index.js.map +0 -1
  196. package/src/actions/public/buildQuery.ts +0 -10
  197. package/src/actions/public/subscribeEntityEvents.ts +0 -93
  198. package/src/actions/wallet/updateEntity.ts +0 -59
  199. package/src/chains/braga.ts +0 -26
  200. package/src/chains/kaolin.ts +0 -29
  201. package/src/query/engine.test.ts +0 -571
  202. package/src/query/predicate.test.ts +0 -461
  203. package/src/query/predicate.ts +0 -144
  204. package/src/query/queryResult.test.ts +0 -270
  205. package/src/query/selectQueryBuilder.test.ts +0 -213
  206. package/src/types/attributes.ts +0 -28
  207. package/src/utils/validation.test.ts +0 -106
  208. package/src/utils/validation.ts +0 -80
  209. /package/dist/{types-Ci4BRClw.js → types-Bx1EKe0v.js} +0 -0
  210. /package/dist/{types-a8gm_IaQ.cjs → types-CKPddlfS.cjs} +0 -0
@@ -0,0 +1,159 @@
1
+ import { Address, Hex } from "viem";
2
+
3
+ //#region src/entity/errors.d.ts
4
+ /** An expiry could not be expressed, or would be rejected by the engine. */
5
+ declare class InvalidExpiryError extends Error {
6
+ constructor(reason: string);
7
+ }
8
+ /** A `creationFlags` byte could not be built or read. */
9
+ declare class InvalidCreationFlagsError extends Error {
10
+ constructor(reason: string);
11
+ }
12
+ /** A key salt was outside the `uint128` the wire carries. */
13
+ declare class InvalidSaltError extends Error {
14
+ constructor(salt: bigint);
15
+ }
16
+ /** No cryptographic randomness was available to generate a salt. */
17
+ declare class NoRandomSourceError extends Error {
18
+ constructor();
19
+ }
20
+ //#endregion
21
+ //#region src/entity/events.d.ts
22
+ /**
23
+ * The events the engine emits: one per applied operation, in application order, so an off-chain
24
+ * replica can replay a transaction operation by operation.
25
+ */
26
+ declare const ENTITY_EVENTS_ABI: readonly [{
27
+ readonly name: "EntityCreated";
28
+ readonly type: "event";
29
+ readonly inputs: readonly [{
30
+ readonly type: "bytes32";
31
+ readonly name: "entityKey";
32
+ readonly indexed: true;
33
+ }, {
34
+ readonly type: "address";
35
+ readonly name: "owner";
36
+ readonly indexed: true;
37
+ }, {
38
+ readonly type: "uint64";
39
+ readonly name: "expiresAt";
40
+ }, {
41
+ readonly type: "uint8";
42
+ readonly name: "creationFlags";
43
+ }];
44
+ }, {
45
+ readonly name: "EntityPatched";
46
+ readonly type: "event";
47
+ readonly inputs: readonly [{
48
+ readonly type: "bytes32";
49
+ readonly name: "entityKey";
50
+ readonly indexed: true;
51
+ }, {
52
+ readonly type: "address";
53
+ readonly name: "owner";
54
+ readonly indexed: true;
55
+ }];
56
+ }, {
57
+ readonly name: "ExpiryExtended";
58
+ readonly type: "event";
59
+ readonly inputs: readonly [{
60
+ readonly type: "bytes32";
61
+ readonly name: "entityKey";
62
+ readonly indexed: true;
63
+ }, {
64
+ readonly type: "address";
65
+ readonly name: "owner";
66
+ readonly indexed: true;
67
+ }, {
68
+ readonly type: "uint64";
69
+ readonly name: "expiresAt";
70
+ }];
71
+ }, {
72
+ readonly name: "OwnershipTransferred";
73
+ readonly type: "event";
74
+ readonly inputs: readonly [{
75
+ readonly type: "bytes32";
76
+ readonly name: "entityKey";
77
+ readonly indexed: true;
78
+ }, {
79
+ readonly type: "address";
80
+ readonly name: "previousOwner";
81
+ readonly indexed: true;
82
+ }, {
83
+ readonly type: "address";
84
+ readonly name: "newOwner";
85
+ readonly indexed: true;
86
+ }];
87
+ }, {
88
+ readonly name: "EntityDeleted";
89
+ readonly type: "event";
90
+ readonly inputs: readonly [{
91
+ readonly type: "bytes32";
92
+ readonly name: "entityKey";
93
+ readonly indexed: true;
94
+ }, {
95
+ readonly type: "address";
96
+ readonly name: "owner";
97
+ readonly indexed: true;
98
+ }];
99
+ }];
100
+ /** The name of each event in {@link ENTITY_EVENTS_ABI}. */
101
+ type EntityEventName = (typeof ENTITY_EVENTS_ABI)[number]["name"];
102
+ //#endregion
103
+ //#region src/entity/key.d.ts
104
+ /** The widest salt the `uint128` wire field carries. */
105
+ declare const MAX_SALT: bigint;
106
+ /**
107
+ * A cryptographically random 128-bit salt — what {@link CreateEntityParameters.salt} defaults to.
108
+ *
109
+ * The salt exists for unpredictability, not uniqueness: the per-owner nonce already guarantees
110
+ * distinct keys. Random bits mean only the creator can predict the key of an entity they are about
111
+ * to create, so nobody else can reference or squat it in advance.
112
+ *
113
+ * @throws {NoRandomSourceError} If the runtime has no `crypto.getRandomValues`.
114
+ */
115
+ declare function randomSalt(): bigint;
116
+ /**
117
+ * The key an entity will be created with, derived exactly as the engine derives it:
118
+ * `keccak256(domain ++ owner ++ nonce ++ salt)`.
119
+ *
120
+ * Deriving it client-side is what lets a batch compose: predict the key of a create, then have a
121
+ * later operation in the same transaction reference it, or store it as a `key` attribute on a
122
+ * sibling entity.
123
+ */
124
+ declare function predictEntityKey({
125
+ owner,
126
+ nonce,
127
+ salt,
128
+ chainId
129
+ }: {
130
+ /** The account creating the entity. */
131
+ owner: Address;
132
+ /**
133
+ * The owner's entity-nonce at creation time. Each create in a batch consumes one, so the *n*th
134
+ * create in a batch uses `nonce + n`.
135
+ */
136
+ nonce: bigint;
137
+ /** The salt the create will carry. */
138
+ salt: bigint;
139
+ /** The chain the entity is being created on — half of the derivation domain. */
140
+ chainId: number;
141
+ }): Hex;
142
+ //#endregion
143
+ //#region src/entity/params.d.ts
144
+ /**
145
+ * Max uint64 value
146
+ */
147
+ declare const MAX_EXPIRES_AT: bigint;
148
+ /** The operation tags of the `execute` ABI's tagged union. */
149
+ declare const OperationType: {
150
+ readonly Create: 1;
151
+ readonly Patch: 2;
152
+ readonly ExtendExpiry: 3;
153
+ readonly TransferOwnership: 4;
154
+ readonly Delete: 5;
155
+ };
156
+ type OperationType = (typeof OperationType)[keyof typeof OperationType];
157
+ //#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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ClgIuxJ8.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;EAW9B,WAAA,CAAA,MAAA,EAAA,MAAoB;;;cAXpB,gBAAA,SAAyB,KAAA;ECXzB,WAAA,CAAA,IAAA,EAAA,MAMX;AAGF;;cDaa,mBAAA,SAA4B,KAAA;;AEvBzC;;;;;;AFJA;AAQa,cCHA,iBDG0B,EAAA,SAAa,CAAA;EAQvC,SAAA,IAAA,EAAA,eAAyB;EAWzB,SAAA,IAAA,EAAA,OAAoB;;;;ICtBpB,SAAA,OAMX,EAAA,IAAA;EAGU,CAAA,EAAA;;;;ECVC,CAAA,EAAA;IAWG,SAAU,IAAA,EAAA,QAAA;IA2BV,SAAA,IAAA,EAAgB,WAAA;EAC9B,CAAA,EAAA;IACA,SAAA,IAAA,EAAA,OAAA;IACA,SAAA,IAAA,EAAA,eAAA;EACA,CAAA,CAAA;CAGO,EAAA;EAUL,SAAA,IAAA,EAAA,eAAA;EAAG,SAAA,IAAA,EAAA,OAAA;;;;ICzDM,SAAA,OAA+B,EAAA,IAAA;EAG/B,CAAA,EAAA;IAQD,SAAA,IAAa,EAAA,SAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KFCxB,eAAA,WAA0B;;;;cCVzB;AFJb;AAQA;AAQA;AAWA;;;;ACtBA;AASA;iBCCgB,UAAA,CAAA;AAXhB;AAWA;AA2BA;;;;;;AAiBI,iBAjBY,gBAAA,CAiBZ;EAAA,KAAA;EAAA,KAAA;EAAA,IAAA;EAAA;CAAA,EAAA;EAAG;SAVE;;;AC/CT;AAGA;EAQY,KAAA,EAAA,MAAA;;;;;ID8CR;;;;;;AF3DS,cGEA,cHFmB,EAAQ,MAAK;AAQ7C;AAQa,cGXA,aHWyB,EAAA;EAWzB,SAAA,MAAA,EAAA,CAAA;;;;ECtBA,SAAA,MAAA,EAAA,CAAA;AASb,CAAA;KEDY,aAAA,WAAwB,4BAA4B"}
@@ -0,0 +1,159 @@
1
+ import { Address, Hex } from "viem";
2
+
3
+ //#region src/entity/errors.d.ts
4
+ /** An expiry could not be expressed, or would be rejected by the engine. */
5
+ declare class InvalidExpiryError extends Error {
6
+ constructor(reason: string);
7
+ }
8
+ /** A `creationFlags` byte could not be built or read. */
9
+ declare class InvalidCreationFlagsError extends Error {
10
+ constructor(reason: string);
11
+ }
12
+ /** A key salt was outside the `uint128` the wire carries. */
13
+ declare class InvalidSaltError extends Error {
14
+ constructor(salt: bigint);
15
+ }
16
+ /** No cryptographic randomness was available to generate a salt. */
17
+ declare class NoRandomSourceError extends Error {
18
+ constructor();
19
+ }
20
+ //#endregion
21
+ //#region src/entity/events.d.ts
22
+ /**
23
+ * The events the engine emits: one per applied operation, in application order, so an off-chain
24
+ * replica can replay a transaction operation by operation.
25
+ */
26
+ declare const ENTITY_EVENTS_ABI: readonly [{
27
+ readonly name: "EntityCreated";
28
+ readonly type: "event";
29
+ readonly inputs: readonly [{
30
+ readonly type: "bytes32";
31
+ readonly name: "entityKey";
32
+ readonly indexed: true;
33
+ }, {
34
+ readonly type: "address";
35
+ readonly name: "owner";
36
+ readonly indexed: true;
37
+ }, {
38
+ readonly type: "uint64";
39
+ readonly name: "expiresAt";
40
+ }, {
41
+ readonly type: "uint8";
42
+ readonly name: "creationFlags";
43
+ }];
44
+ }, {
45
+ readonly name: "EntityPatched";
46
+ readonly type: "event";
47
+ readonly inputs: readonly [{
48
+ readonly type: "bytes32";
49
+ readonly name: "entityKey";
50
+ readonly indexed: true;
51
+ }, {
52
+ readonly type: "address";
53
+ readonly name: "owner";
54
+ readonly indexed: true;
55
+ }];
56
+ }, {
57
+ readonly name: "ExpiryExtended";
58
+ readonly type: "event";
59
+ readonly inputs: readonly [{
60
+ readonly type: "bytes32";
61
+ readonly name: "entityKey";
62
+ readonly indexed: true;
63
+ }, {
64
+ readonly type: "address";
65
+ readonly name: "owner";
66
+ readonly indexed: true;
67
+ }, {
68
+ readonly type: "uint64";
69
+ readonly name: "expiresAt";
70
+ }];
71
+ }, {
72
+ readonly name: "OwnershipTransferred";
73
+ readonly type: "event";
74
+ readonly inputs: readonly [{
75
+ readonly type: "bytes32";
76
+ readonly name: "entityKey";
77
+ readonly indexed: true;
78
+ }, {
79
+ readonly type: "address";
80
+ readonly name: "previousOwner";
81
+ readonly indexed: true;
82
+ }, {
83
+ readonly type: "address";
84
+ readonly name: "newOwner";
85
+ readonly indexed: true;
86
+ }];
87
+ }, {
88
+ readonly name: "EntityDeleted";
89
+ readonly type: "event";
90
+ readonly inputs: readonly [{
91
+ readonly type: "bytes32";
92
+ readonly name: "entityKey";
93
+ readonly indexed: true;
94
+ }, {
95
+ readonly type: "address";
96
+ readonly name: "owner";
97
+ readonly indexed: true;
98
+ }];
99
+ }];
100
+ /** The name of each event in {@link ENTITY_EVENTS_ABI}. */
101
+ type EntityEventName = (typeof ENTITY_EVENTS_ABI)[number]["name"];
102
+ //#endregion
103
+ //#region src/entity/key.d.ts
104
+ /** The widest salt the `uint128` wire field carries. */
105
+ declare const MAX_SALT: bigint;
106
+ /**
107
+ * A cryptographically random 128-bit salt — what {@link CreateEntityParameters.salt} defaults to.
108
+ *
109
+ * The salt exists for unpredictability, not uniqueness: the per-owner nonce already guarantees
110
+ * distinct keys. Random bits mean only the creator can predict the key of an entity they are about
111
+ * to create, so nobody else can reference or squat it in advance.
112
+ *
113
+ * @throws {NoRandomSourceError} If the runtime has no `crypto.getRandomValues`.
114
+ */
115
+ declare function randomSalt(): bigint;
116
+ /**
117
+ * The key an entity will be created with, derived exactly as the engine derives it:
118
+ * `keccak256(domain ++ owner ++ nonce ++ salt)`.
119
+ *
120
+ * Deriving it client-side is what lets a batch compose: predict the key of a create, then have a
121
+ * later operation in the same transaction reference it, or store it as a `key` attribute on a
122
+ * sibling entity.
123
+ */
124
+ declare function predictEntityKey({
125
+ owner,
126
+ nonce,
127
+ salt,
128
+ chainId
129
+ }: {
130
+ /** The account creating the entity. */
131
+ owner: Address;
132
+ /**
133
+ * The owner's entity-nonce at creation time. Each create in a batch consumes one, so the *n*th
134
+ * create in a batch uses `nonce + n`.
135
+ */
136
+ nonce: bigint;
137
+ /** The salt the create will carry. */
138
+ salt: bigint;
139
+ /** The chain the entity is being created on — half of the derivation domain. */
140
+ chainId: number;
141
+ }): Hex;
142
+ //#endregion
143
+ //#region src/entity/params.d.ts
144
+ /**
145
+ * Max uint64 value
146
+ */
147
+ declare const MAX_EXPIRES_AT: bigint;
148
+ /** The operation tags of the `execute` ABI's tagged union. */
149
+ declare const OperationType: {
150
+ readonly Create: 1;
151
+ readonly Patch: 2;
152
+ readonly ExtendExpiry: 3;
153
+ readonly TransferOwnership: 4;
154
+ readonly Delete: 5;
155
+ };
156
+ type OperationType = (typeof OperationType)[keyof typeof OperationType];
157
+ //#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-D0CmtiWT.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D0CmtiWT.d.cts","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;EAW9B,WAAA,CAAA,MAAA,EAAA,MAAoB;;;cAXpB,gBAAA,SAAyB,KAAA;ECXzB,WAAA,CAAA,IAAA,EAAA,MAMX;AAGF;;cDaa,mBAAA,SAA4B,KAAA;;AEvBzC;;;;;;AFJA;AAQa,cCHA,iBDG0B,EAAA,SAAQ,CAAA;EAQlC,SAAA,IAAA,EAAA,eAAiB;EAWjB,SAAA,IAAA,EAAA,OAAoB;;;;ICtBpB,SAAA,OAMX,EAAA,IAAA;EAGU,CAAA,EAAA;;;;ECVC,CAAA,EAAA;IAWG,SAAU,IAAA,EAAA,QAAA;IA2BV,SAAA,IAAA,EAAgB,WAAA;EAC9B,CAAA,EAAA;IACA,SAAA,IAAA,EAAA,OAAA;IACA,SAAA,IAAA,EAAA,eAAA;EACA,CAAA,CAAA;CAGO,EAAA;EAUL,SAAA,IAAA,EAAA,eAAA;EAAG,SAAA,IAAA,EAAA,OAAA;;;;ICzDM,SAAA,OAA+B,EAAA,IAAA;EAG/B,CAAA,EAAA;IAQD,SAAA,IAAa,EAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KFCb,eAAA,WAA0B;;;;cCVzB;AFJb;AAQA;AAQA;AAWA;;;;ACtBA;AASA;iBCCgB,UAAA,CAAA;AAXhB;AAWA;AA2BA;;;;;;AAiBI,iBAjBY,gBAAA,CAiBZ;EAAA,KAAA;EAAA,KAAA;EAAA,IAAA;EAAA;CAAA,EAAA;EAAG;SAVE;;;AC/CT;AAGA;EAQY,KAAA,EAAA,MAAA;;;;;ID8CR;;;;;;AF3DS,cGEA,cHFmB,EAAA,MAAQ;AAQxC;AAQa,cGXA,aHWiB,EAAQ;EAWzB,SAAA,MAAA,EAAA,CAAA;;;;ECtBA,SAAA,MAAA,EAAA,CAAA;AASb,CAAA;KEDY,aAAA,WAAwB,4BAA4B"}