@haneullabs/wallet-sdk 0.1.0 → 0.1.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 (197) hide show
  1. package/CHANGELOG.md +47 -18
  2. package/dist/auto-approvals/analyzer.d.mts +83 -0
  3. package/dist/auto-approvals/analyzer.d.mts.map +1 -0
  4. package/dist/auto-approvals/analyzer.mjs +43 -0
  5. package/dist/auto-approvals/analyzer.mjs.map +1 -0
  6. package/dist/auto-approvals/index.d.mts +6 -0
  7. package/dist/auto-approvals/intent.d.mts +9 -0
  8. package/dist/auto-approvals/intent.d.mts.map +1 -0
  9. package/dist/auto-approvals/intent.mjs +40 -0
  10. package/dist/auto-approvals/intent.mjs.map +1 -0
  11. package/dist/auto-approvals/manager.d.mts +38 -0
  12. package/dist/auto-approvals/manager.d.mts.map +1 -0
  13. package/dist/auto-approvals/manager.mjs +192 -0
  14. package/dist/auto-approvals/manager.mjs.map +1 -0
  15. package/dist/auto-approvals/schemas/index.d.mts +2 -0
  16. package/dist/auto-approvals/schemas/policy.d.mts +149 -0
  17. package/dist/auto-approvals/schemas/policy.d.mts.map +1 -0
  18. package/dist/auto-approvals/schemas/policy.mjs +49 -0
  19. package/dist/auto-approvals/schemas/policy.mjs.map +1 -0
  20. package/dist/auto-approvals/schemas/state.d.mts +115 -0
  21. package/dist/auto-approvals/schemas/state.d.mts.map +1 -0
  22. package/dist/auto-approvals/schemas/state.mjs +20 -0
  23. package/dist/auto-approvals/schemas/state.mjs.map +1 -0
  24. package/dist/index.d.mts +16 -0
  25. package/dist/index.mjs +9 -0
  26. package/dist/transaction-analyzer/analyzer.d.mts +39 -0
  27. package/dist/transaction-analyzer/analyzer.d.mts.map +1 -0
  28. package/dist/transaction-analyzer/analyzer.mjs +46 -0
  29. package/dist/transaction-analyzer/analyzer.mjs.map +1 -0
  30. package/dist/transaction-analyzer/index.d.mts +8 -0
  31. package/dist/transaction-analyzer/rules/accessLevel.mjs +65 -0
  32. package/dist/transaction-analyzer/rules/accessLevel.mjs.map +1 -0
  33. package/dist/transaction-analyzer/rules/coin-flows.d.mts +12 -0
  34. package/dist/transaction-analyzer/rules/coin-flows.d.mts.map +1 -0
  35. package/dist/transaction-analyzer/rules/coin-flows.mjs +122 -0
  36. package/dist/transaction-analyzer/rules/coin-flows.mjs.map +1 -0
  37. package/dist/transaction-analyzer/rules/coin-value.d.mts +25 -0
  38. package/dist/transaction-analyzer/rules/coin-value.d.mts.map +1 -0
  39. package/dist/transaction-analyzer/rules/coin-value.mjs +36 -0
  40. package/dist/transaction-analyzer/rules/coin-value.mjs.map +1 -0
  41. package/dist/transaction-analyzer/rules/coins.d.mts +12 -0
  42. package/dist/transaction-analyzer/rules/coins.d.mts.map +1 -0
  43. package/dist/transaction-analyzer/rules/coins.mjs +48 -0
  44. package/dist/transaction-analyzer/rules/coins.mjs.map +1 -0
  45. package/dist/transaction-analyzer/rules/commands.d.mts +79 -0
  46. package/dist/transaction-analyzer/rules/commands.d.mts.map +1 -0
  47. package/dist/transaction-analyzer/rules/commands.mjs +141 -0
  48. package/dist/transaction-analyzer/rules/commands.mjs.map +1 -0
  49. package/dist/transaction-analyzer/rules/core.mjs +48 -0
  50. package/dist/transaction-analyzer/rules/core.mjs.map +1 -0
  51. package/dist/transaction-analyzer/rules/functions.mjs +31 -0
  52. package/dist/transaction-analyzer/rules/functions.mjs.map +1 -0
  53. package/dist/transaction-analyzer/rules/index.d.mts +2125 -0
  54. package/dist/transaction-analyzer/rules/index.d.mts.map +1 -0
  55. package/dist/transaction-analyzer/rules/index.mjs +34 -0
  56. package/dist/transaction-analyzer/rules/index.mjs.map +1 -0
  57. package/dist/transaction-analyzer/rules/inputs.d.mts +20 -0
  58. package/dist/transaction-analyzer/rules/inputs.d.mts.map +1 -0
  59. package/dist/transaction-analyzer/rules/inputs.mjs +38 -0
  60. package/dist/transaction-analyzer/rules/inputs.mjs.map +1 -0
  61. package/dist/transaction-analyzer/rules/objects.d.mts +12 -0
  62. package/dist/transaction-analyzer/rules/objects.d.mts.map +1 -0
  63. package/dist/transaction-analyzer/rules/objects.mjs +92 -0
  64. package/dist/transaction-analyzer/rules/objects.mjs.map +1 -0
  65. package/dist/util.d.mts +7 -0
  66. package/dist/util.d.mts.map +1 -0
  67. package/package.json +27 -25
  68. package/dist/cjs/auto-approvals/analyzer.d.ts +0 -71
  69. package/dist/cjs/auto-approvals/analyzer.js +0 -70
  70. package/dist/cjs/auto-approvals/analyzer.js.map +0 -7
  71. package/dist/cjs/auto-approvals/index.d.ts +0 -6
  72. package/dist/cjs/auto-approvals/index.js +0 -33
  73. package/dist/cjs/auto-approvals/index.js.map +0 -7
  74. package/dist/cjs/auto-approvals/intent.d.ts +0 -5
  75. package/dist/cjs/auto-approvals/intent.js +0 -65
  76. package/dist/cjs/auto-approvals/intent.js.map +0 -7
  77. package/dist/cjs/auto-approvals/manager.d.ts +0 -31
  78. package/dist/cjs/auto-approvals/manager.js +0 -328
  79. package/dist/cjs/auto-approvals/manager.js.map +0 -7
  80. package/dist/cjs/auto-approvals/schemas/index.d.ts +0 -4
  81. package/dist/cjs/auto-approvals/schemas/index.js +0 -28
  82. package/dist/cjs/auto-approvals/schemas/index.js.map +0 -7
  83. package/dist/cjs/auto-approvals/schemas/policy.d.ts +0 -145
  84. package/dist/cjs/auto-approvals/schemas/policy.js +0 -79
  85. package/dist/cjs/auto-approvals/schemas/policy.js.map +0 -7
  86. package/dist/cjs/auto-approvals/schemas/state.d.ts +0 -115
  87. package/dist/cjs/auto-approvals/schemas/state.js +0 -49
  88. package/dist/cjs/auto-approvals/schemas/state.js.map +0 -7
  89. package/dist/cjs/index.d.ts +0 -2
  90. package/dist/cjs/index.js +0 -20
  91. package/dist/cjs/index.js.map +0 -7
  92. package/dist/cjs/package.json +0 -5
  93. package/dist/cjs/transaction-analyzer/analyzer.d.ts +0 -34
  94. package/dist/cjs/transaction-analyzer/analyzer.js +0 -94
  95. package/dist/cjs/transaction-analyzer/analyzer.js.map +0 -7
  96. package/dist/cjs/transaction-analyzer/index.d.ts +0 -9
  97. package/dist/cjs/transaction-analyzer/index.js +0 -28
  98. package/dist/cjs/transaction-analyzer/index.js.map +0 -7
  99. package/dist/cjs/transaction-analyzer/rules/accessLevel.d.ts +0 -29
  100. package/dist/cjs/transaction-analyzer/rules/accessLevel.js +0 -106
  101. package/dist/cjs/transaction-analyzer/rules/accessLevel.js.map +0 -7
  102. package/dist/cjs/transaction-analyzer/rules/coin-flows.d.ts +0 -313
  103. package/dist/cjs/transaction-analyzer/rules/coin-flows.js +0 -179
  104. package/dist/cjs/transaction-analyzer/rules/coin-flows.js.map +0 -7
  105. package/dist/cjs/transaction-analyzer/rules/coin-value.d.ts +0 -42
  106. package/dist/cjs/transaction-analyzer/rules/coin-value.js +0 -60
  107. package/dist/cjs/transaction-analyzer/rules/coin-value.js.map +0 -7
  108. package/dist/cjs/transaction-analyzer/rules/coins.d.ts +0 -337
  109. package/dist/cjs/transaction-analyzer/rules/coins.js +0 -78
  110. package/dist/cjs/transaction-analyzer/rules/coins.js.map +0 -7
  111. package/dist/cjs/transaction-analyzer/rules/commands.d.ts +0 -366
  112. package/dist/cjs/transaction-analyzer/rules/commands.js +0 -148
  113. package/dist/cjs/transaction-analyzer/rules/commands.js.map +0 -7
  114. package/dist/cjs/transaction-analyzer/rules/core.d.ts +0 -314
  115. package/dist/cjs/transaction-analyzer/rules/core.js +0 -73
  116. package/dist/cjs/transaction-analyzer/rules/core.js.map +0 -7
  117. package/dist/cjs/transaction-analyzer/rules/functions.d.ts +0 -292
  118. package/dist/cjs/transaction-analyzer/rules/functions.js +0 -58
  119. package/dist/cjs/transaction-analyzer/rules/functions.js.map +0 -7
  120. package/dist/cjs/transaction-analyzer/rules/index.d.ts +0 -2244
  121. package/dist/cjs/transaction-analyzer/rules/index.js +0 -52
  122. package/dist/cjs/transaction-analyzer/rules/index.js.map +0 -7
  123. package/dist/cjs/transaction-analyzer/rules/inputs.d.ts +0 -313
  124. package/dist/cjs/transaction-analyzer/rules/inputs.js +0 -49
  125. package/dist/cjs/transaction-analyzer/rules/inputs.js.map +0 -7
  126. package/dist/cjs/transaction-analyzer/rules/objects.d.ts +0 -359
  127. package/dist/cjs/transaction-analyzer/rules/objects.js +0 -124
  128. package/dist/cjs/transaction-analyzer/rules/objects.js.map +0 -7
  129. package/dist/cjs/util.d.ts +0 -5
  130. package/dist/cjs/util.js +0 -17
  131. package/dist/cjs/util.js.map +0 -7
  132. package/dist/esm/auto-approvals/analyzer.d.ts +0 -71
  133. package/dist/esm/auto-approvals/analyzer.js +0 -50
  134. package/dist/esm/auto-approvals/analyzer.js.map +0 -7
  135. package/dist/esm/auto-approvals/index.d.ts +0 -6
  136. package/dist/esm/auto-approvals/index.js +0 -12
  137. package/dist/esm/auto-approvals/index.js.map +0 -7
  138. package/dist/esm/auto-approvals/intent.d.ts +0 -5
  139. package/dist/esm/auto-approvals/intent.js +0 -45
  140. package/dist/esm/auto-approvals/intent.js.map +0 -7
  141. package/dist/esm/auto-approvals/manager.d.ts +0 -31
  142. package/dist/esm/auto-approvals/manager.js +0 -308
  143. package/dist/esm/auto-approvals/manager.js.map +0 -7
  144. package/dist/esm/auto-approvals/schemas/index.d.ts +0 -4
  145. package/dist/esm/auto-approvals/schemas/index.js +0 -8
  146. package/dist/esm/auto-approvals/schemas/index.js.map +0 -7
  147. package/dist/esm/auto-approvals/schemas/policy.d.ts +0 -145
  148. package/dist/esm/auto-approvals/schemas/policy.js +0 -49
  149. package/dist/esm/auto-approvals/schemas/policy.js.map +0 -7
  150. package/dist/esm/auto-approvals/schemas/state.d.ts +0 -115
  151. package/dist/esm/auto-approvals/schemas/state.js +0 -19
  152. package/dist/esm/auto-approvals/schemas/state.js.map +0 -7
  153. package/dist/esm/index.d.ts +0 -2
  154. package/dist/esm/index.js +0 -3
  155. package/dist/esm/index.js.map +0 -7
  156. package/dist/esm/package.json +0 -5
  157. package/dist/esm/transaction-analyzer/analyzer.d.ts +0 -34
  158. package/dist/esm/transaction-analyzer/analyzer.js +0 -74
  159. package/dist/esm/transaction-analyzer/analyzer.js.map +0 -7
  160. package/dist/esm/transaction-analyzer/index.d.ts +0 -9
  161. package/dist/esm/transaction-analyzer/index.js +0 -8
  162. package/dist/esm/transaction-analyzer/index.js.map +0 -7
  163. package/dist/esm/transaction-analyzer/rules/accessLevel.d.ts +0 -29
  164. package/dist/esm/transaction-analyzer/rules/accessLevel.js +0 -86
  165. package/dist/esm/transaction-analyzer/rules/accessLevel.js.map +0 -7
  166. package/dist/esm/transaction-analyzer/rules/coin-flows.d.ts +0 -313
  167. package/dist/esm/transaction-analyzer/rules/coin-flows.js +0 -159
  168. package/dist/esm/transaction-analyzer/rules/coin-flows.js.map +0 -7
  169. package/dist/esm/transaction-analyzer/rules/coin-value.d.ts +0 -42
  170. package/dist/esm/transaction-analyzer/rules/coin-value.js +0 -40
  171. package/dist/esm/transaction-analyzer/rules/coin-value.js.map +0 -7
  172. package/dist/esm/transaction-analyzer/rules/coins.d.ts +0 -337
  173. package/dist/esm/transaction-analyzer/rules/coins.js +0 -58
  174. package/dist/esm/transaction-analyzer/rules/coins.js.map +0 -7
  175. package/dist/esm/transaction-analyzer/rules/commands.d.ts +0 -366
  176. package/dist/esm/transaction-analyzer/rules/commands.js +0 -128
  177. package/dist/esm/transaction-analyzer/rules/commands.js.map +0 -7
  178. package/dist/esm/transaction-analyzer/rules/core.d.ts +0 -314
  179. package/dist/esm/transaction-analyzer/rules/core.js +0 -53
  180. package/dist/esm/transaction-analyzer/rules/core.js.map +0 -7
  181. package/dist/esm/transaction-analyzer/rules/functions.d.ts +0 -292
  182. package/dist/esm/transaction-analyzer/rules/functions.js +0 -38
  183. package/dist/esm/transaction-analyzer/rules/functions.js.map +0 -7
  184. package/dist/esm/transaction-analyzer/rules/index.d.ts +0 -2244
  185. package/dist/esm/transaction-analyzer/rules/index.js +0 -32
  186. package/dist/esm/transaction-analyzer/rules/index.js.map +0 -7
  187. package/dist/esm/transaction-analyzer/rules/inputs.d.ts +0 -313
  188. package/dist/esm/transaction-analyzer/rules/inputs.js +0 -29
  189. package/dist/esm/transaction-analyzer/rules/inputs.js.map +0 -7
  190. package/dist/esm/transaction-analyzer/rules/objects.d.ts +0 -359
  191. package/dist/esm/transaction-analyzer/rules/objects.js +0 -104
  192. package/dist/esm/transaction-analyzer/rules/objects.js.map +0 -7
  193. package/dist/esm/util.d.ts +0 -5
  194. package/dist/esm/util.js +0 -1
  195. package/dist/esm/util.js.map +0 -7
  196. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  197. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,366 +0,0 @@
1
- import type { Command } from '@haneullabs/haneul/transactions';
2
- import type { Experimental_HaneulClientTypes } from '@haneullabs/haneul/experimental';
3
- import type { AnalyzedCommandInput } from './inputs.js';
4
- export type AnalyzedCommandArgument = AnalyzedCommandInput | {
5
- $kind: 'Unknown';
6
- accessLevel: 'read' | 'mutate' | 'transfer';
7
- } | {
8
- $kind: 'GasCoin';
9
- accessLevel: 'read' | 'mutate' | 'transfer';
10
- } | {
11
- $kind: 'Result';
12
- index: [number, number];
13
- accessLevel: 'read' | 'mutate' | 'transfer';
14
- };
15
- export type AnalyzedCommand = {
16
- $kind: 'MoveCall';
17
- index: number;
18
- arguments: AnalyzedCommandArgument[];
19
- function: Experimental_HaneulClientTypes.FunctionResponse;
20
- command: Extract<Command, {
21
- $kind: 'MoveCall';
22
- }>['MoveCall'];
23
- } | {
24
- $kind: 'TransferObjects';
25
- index: number;
26
- objects: AnalyzedCommandArgument[];
27
- address: AnalyzedCommandArgument;
28
- command: Extract<Command, {
29
- $kind: 'TransferObjects';
30
- }>['TransferObjects'];
31
- } | {
32
- $kind: 'MergeCoins';
33
- index: number;
34
- sources: AnalyzedCommandArgument[];
35
- destination: AnalyzedCommandArgument;
36
- command: Extract<Command, {
37
- $kind: 'MergeCoins';
38
- }>['MergeCoins'];
39
- } | {
40
- $kind: 'SplitCoins';
41
- index: number;
42
- coin: AnalyzedCommandArgument;
43
- amounts: AnalyzedCommandArgument[];
44
- command: Extract<Command, {
45
- $kind: 'SplitCoins';
46
- }>['SplitCoins'];
47
- } | {
48
- $kind: 'MakeMoveVec';
49
- index: number;
50
- elements: AnalyzedCommandArgument[];
51
- command: Extract<Command, {
52
- $kind: 'MakeMoveVec';
53
- }>['MakeMoveVec'];
54
- } | {
55
- $kind: 'Upgrade';
56
- index: number;
57
- ticket: AnalyzedCommandArgument;
58
- command: Extract<Command, {
59
- $kind: 'Upgrade';
60
- }>['Upgrade'];
61
- } | {
62
- $kind: 'Publish';
63
- index: number;
64
- command: Extract<Command, {
65
- $kind: 'Publish';
66
- }>['Publish'];
67
- } | {
68
- $kind: 'Unknown';
69
- index: number;
70
- command: Extract<Command, {
71
- $kind: 'Unknown';
72
- }>['Unknown'];
73
- };
74
- export declare const commands: import("../analyzer.js").Analyzer<AnalyzedCommand[], {
75
- client: import("@haneullabs/haneul/experimental").Experimental_BaseClient & {
76
- core: import("@haneullabs/haneul/experimental").Experimental_CoreClient;
77
- };
78
- }, {
79
- data: {
80
- version: 2;
81
- sender?: string | null | undefined;
82
- expiration?: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
83
- None: true;
84
- Epoch: string | number;
85
- }, "None" | "Epoch"> | null | undefined;
86
- gasData: {
87
- budget: string | number | null;
88
- price: string | number | null;
89
- owner: string | null;
90
- payment: {
91
- objectId: string;
92
- version: string | number;
93
- digest: string;
94
- }[] | null;
95
- };
96
- inputs: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
97
- Object: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
98
- ImmOrOwnedObject: {
99
- objectId: string;
100
- version: string | number;
101
- digest: string;
102
- };
103
- SharedObject: {
104
- objectId: string;
105
- initialSharedVersion: string | number;
106
- mutable: boolean;
107
- };
108
- Receiving: {
109
- objectId: string;
110
- version: string | number;
111
- digest: string;
112
- };
113
- }, "ImmOrOwnedObject" | "SharedObject" | "Receiving">;
114
- Pure: {
115
- bytes: string;
116
- };
117
- UnresolvedPure: {
118
- value: unknown;
119
- };
120
- UnresolvedObject: {
121
- objectId: string;
122
- version?: string | number | null | undefined;
123
- digest?: string | null | undefined;
124
- initialSharedVersion?: string | number | null | undefined;
125
- mutable?: boolean | null | undefined;
126
- };
127
- }, "Pure" | "Object" | "UnresolvedPure" | "UnresolvedObject">[];
128
- commands: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
129
- MoveCall: {
130
- package: string;
131
- module: string;
132
- function: string;
133
- typeArguments: string[];
134
- arguments: ({
135
- $kind: "GasCoin";
136
- GasCoin: true;
137
- } | {
138
- $kind: "Input";
139
- Input: number;
140
- type?: "pure";
141
- } | {
142
- $kind: "Input";
143
- Input: number;
144
- type?: "object";
145
- } | {
146
- $kind: "Result";
147
- Result: number;
148
- } | {
149
- $kind: "NestedResult";
150
- NestedResult: [number, number];
151
- })[];
152
- _argumentTypes?: {
153
- ref: "&" | "&mut" | null;
154
- body: import("@haneullabs/haneul/transactions").OpenMoveTypeSignatureBody;
155
- }[] | null | undefined;
156
- };
157
- TransferObjects: {
158
- objects: ({
159
- $kind: "GasCoin";
160
- GasCoin: true;
161
- } | {
162
- $kind: "Input";
163
- Input: number;
164
- type?: "pure";
165
- } | {
166
- $kind: "Input";
167
- Input: number;
168
- type?: "object";
169
- } | {
170
- $kind: "Result";
171
- Result: number;
172
- } | {
173
- $kind: "NestedResult";
174
- NestedResult: [number, number];
175
- })[];
176
- address: {
177
- $kind: "GasCoin";
178
- GasCoin: true;
179
- } | {
180
- $kind: "Input";
181
- Input: number;
182
- type?: "pure";
183
- } | {
184
- $kind: "Input";
185
- Input: number;
186
- type?: "object";
187
- } | {
188
- $kind: "Result";
189
- Result: number;
190
- } | {
191
- $kind: "NestedResult";
192
- NestedResult: [number, number];
193
- };
194
- };
195
- SplitCoins: {
196
- coin: {
197
- $kind: "GasCoin";
198
- GasCoin: true;
199
- } | {
200
- $kind: "Input";
201
- Input: number;
202
- type?: "pure";
203
- } | {
204
- $kind: "Input";
205
- Input: number;
206
- type?: "object";
207
- } | {
208
- $kind: "Result";
209
- Result: number;
210
- } | {
211
- $kind: "NestedResult";
212
- NestedResult: [number, number];
213
- };
214
- amounts: ({
215
- $kind: "GasCoin";
216
- GasCoin: true;
217
- } | {
218
- $kind: "Input";
219
- Input: number;
220
- type?: "pure";
221
- } | {
222
- $kind: "Input";
223
- Input: number;
224
- type?: "object";
225
- } | {
226
- $kind: "Result";
227
- Result: number;
228
- } | {
229
- $kind: "NestedResult";
230
- NestedResult: [number, number];
231
- })[];
232
- };
233
- MergeCoins: {
234
- destination: {
235
- $kind: "GasCoin";
236
- GasCoin: true;
237
- } | {
238
- $kind: "Input";
239
- Input: number;
240
- type?: "pure";
241
- } | {
242
- $kind: "Input";
243
- Input: number;
244
- type?: "object";
245
- } | {
246
- $kind: "Result";
247
- Result: number;
248
- } | {
249
- $kind: "NestedResult";
250
- NestedResult: [number, number];
251
- };
252
- sources: ({
253
- $kind: "GasCoin";
254
- GasCoin: true;
255
- } | {
256
- $kind: "Input";
257
- Input: number;
258
- type?: "pure";
259
- } | {
260
- $kind: "Input";
261
- Input: number;
262
- type?: "object";
263
- } | {
264
- $kind: "Result";
265
- Result: number;
266
- } | {
267
- $kind: "NestedResult";
268
- NestedResult: [number, number];
269
- })[];
270
- };
271
- Publish: {
272
- modules: string[];
273
- dependencies: string[];
274
- };
275
- MakeMoveVec: {
276
- type: string | null;
277
- elements: ({
278
- $kind: "GasCoin";
279
- GasCoin: true;
280
- } | {
281
- $kind: "Input";
282
- Input: number;
283
- type?: "pure";
284
- } | {
285
- $kind: "Input";
286
- Input: number;
287
- type?: "object";
288
- } | {
289
- $kind: "Result";
290
- Result: number;
291
- } | {
292
- $kind: "NestedResult";
293
- NestedResult: [number, number];
294
- })[];
295
- };
296
- Upgrade: {
297
- modules: string[];
298
- dependencies: string[];
299
- package: string;
300
- ticket: {
301
- $kind: "GasCoin";
302
- GasCoin: true;
303
- } | {
304
- $kind: "Input";
305
- Input: number;
306
- type?: "pure";
307
- } | {
308
- $kind: "Input";
309
- Input: number;
310
- type?: "object";
311
- } | {
312
- $kind: "Result";
313
- Result: number;
314
- } | {
315
- $kind: "NestedResult";
316
- NestedResult: [number, number];
317
- };
318
- };
319
- $Intent: {
320
- name: string;
321
- inputs: {
322
- [x: string]: {
323
- $kind: "GasCoin";
324
- GasCoin: true;
325
- } | {
326
- $kind: "Input";
327
- Input: number;
328
- type?: "pure";
329
- } | {
330
- $kind: "Input";
331
- Input: number;
332
- type?: "object";
333
- } | {
334
- $kind: "Result";
335
- Result: number;
336
- } | {
337
- $kind: "NestedResult";
338
- NestedResult: [number, number];
339
- } | ({
340
- $kind: "GasCoin";
341
- GasCoin: true;
342
- } | {
343
- $kind: "Input";
344
- Input: number;
345
- type?: "pure";
346
- } | {
347
- $kind: "Input";
348
- Input: number;
349
- type?: "object";
350
- } | {
351
- $kind: "Result";
352
- Result: number;
353
- } | {
354
- $kind: "NestedResult";
355
- NestedResult: [number, number];
356
- })[];
357
- };
358
- data: {
359
- [x: string]: unknown;
360
- };
361
- };
362
- }, "MoveCall" | "TransferObjects" | "SplitCoins" | "MergeCoins" | "Publish" | "MakeMoveVec" | "Upgrade" | "$Intent">[];
363
- };
364
- moveFunctions: Experimental_HaneulClientTypes.FunctionResponse[];
365
- inputs: AnalyzedCommandInput[];
366
- }>;
@@ -1,128 +0,0 @@
1
- import { inputs } from "./inputs.js";
2
- import { createAnalyzer } from "../analyzer.js";
3
- import { data } from "./core.js";
4
- import { moveFunctions } from "./functions.js";
5
- const commands = createAnalyzer({
6
- dependencies: {
7
- data,
8
- moveFunctions,
9
- inputs
10
- },
11
- analyze: () => ({ data: data2, moveFunctions: moveFunctions2, inputs: inputs2 }) => {
12
- const issues = [];
13
- const commands2 = [];
14
- const mapInput = (arg, accessLevel = "transfer") => {
15
- switch (arg.$kind) {
16
- case "Input":
17
- break;
18
- case "GasCoin":
19
- return { $kind: "GasCoin", accessLevel };
20
- case "Result":
21
- return { $kind: "Result", index: [arg.Result, 0], accessLevel };
22
- case "NestedResult":
23
- return { $kind: "Result", index: arg.NestedResult, accessLevel };
24
- default:
25
- issues.push({ message: `Unexpected input type: ${JSON.stringify(arg)}` });
26
- return { $kind: "Unknown", accessLevel };
27
- }
28
- const input = inputs2[arg.Input];
29
- if (!input) {
30
- issues.push({ message: `Missing input for index ${arg.Input}` });
31
- return { $kind: "Unknown", accessLevel };
32
- }
33
- return { ...input, accessLevel };
34
- };
35
- for (let index = 0; index < data2.commands.length; index++) {
36
- const command = data2.commands[index];
37
- switch (command.$kind) {
38
- case "$Intent":
39
- issues.push({ message: `Unexpected $Intent command: ${JSON.stringify(command)}` });
40
- break;
41
- case "MakeMoveVec":
42
- commands2.push({
43
- $kind: "MakeMoveVec",
44
- index,
45
- elements: command.MakeMoveVec.elements.map((el) => mapInput(el)),
46
- command: command.MakeMoveVec
47
- });
48
- break;
49
- case "TransferObjects":
50
- commands2.push({
51
- $kind: "TransferObjects",
52
- index,
53
- address: mapInput(command.TransferObjects.address),
54
- objects: command.TransferObjects.objects.map((obj) => mapInput(obj)),
55
- command: command.TransferObjects
56
- });
57
- break;
58
- case "MergeCoins":
59
- commands2.push({
60
- $kind: "MergeCoins",
61
- index,
62
- sources: command.MergeCoins.sources.map((src) => mapInput(src)),
63
- destination: mapInput(command.MergeCoins.destination, "mutate"),
64
- command: command.MergeCoins
65
- });
66
- break;
67
- case "SplitCoins":
68
- commands2.push({
69
- $kind: "SplitCoins",
70
- index,
71
- coin: mapInput(command.SplitCoins.coin, "mutate"),
72
- amounts: command.SplitCoins.amounts.map((amt) => mapInput(amt, "transfer")),
73
- command: command.SplitCoins
74
- });
75
- break;
76
- case "MoveCall": {
77
- const func = moveFunctions2.find(
78
- (fn) => fn.packageId === command.MoveCall.package && fn.moduleName === command.MoveCall.module && fn.name === command.MoveCall.function
79
- );
80
- commands2.push({
81
- $kind: "MoveCall",
82
- index,
83
- arguments: command.MoveCall.arguments.map((arg, i) => {
84
- let accessLevel = "transfer";
85
- switch (func.parameters[i].reference) {
86
- case "mutable":
87
- accessLevel = "mutate";
88
- break;
89
- case "immutable":
90
- accessLevel = "read";
91
- break;
92
- }
93
- return mapInput(arg, accessLevel);
94
- }),
95
- command: command.MoveCall,
96
- function: func
97
- });
98
- break;
99
- }
100
- case "Publish":
101
- commands2.push({
102
- $kind: "Publish",
103
- index,
104
- command: command.Publish
105
- });
106
- break;
107
- case "Upgrade":
108
- commands2.push({
109
- $kind: "Upgrade",
110
- index,
111
- ticket: mapInput(command.Upgrade.ticket),
112
- command: command.Upgrade
113
- });
114
- break;
115
- default:
116
- throw new Error("Unknown command type: " + command.$kind);
117
- }
118
- }
119
- if (issues.length) {
120
- return { issues };
121
- }
122
- return { result: commands2 };
123
- }
124
- });
125
- export {
126
- commands
127
- };
128
- //# sourceMappingURL=commands.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/transaction-analyzer/rules/commands.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Argument, Command } from '@haneullabs/haneul/transactions';\nimport type { Experimental_HaneulClientTypes } from '@haneullabs/haneul/experimental';\nimport { inputs } from './inputs.js';\nimport type { AnalyzedCommandInput } from './inputs.js';\nimport type { TransactionAnalysisIssue } from '../analyzer.js';\nimport { createAnalyzer } from '../analyzer.js';\nimport { data } from './core.js';\nimport { moveFunctions } from './functions.js';\n\nexport type AnalyzedCommandArgument =\n\t| AnalyzedCommandInput\n\t| {\n\t\t\t$kind: 'Unknown';\n\t\t\taccessLevel: 'read' | 'mutate' | 'transfer';\n\t }\n\t| {\n\t\t\t$kind: 'GasCoin';\n\t\t\taccessLevel: 'read' | 'mutate' | 'transfer';\n\t }\n\t| {\n\t\t\t$kind: 'Result';\n\t\t\tindex: [number, number];\n\t\t\taccessLevel: 'read' | 'mutate' | 'transfer';\n\t };\n\nexport type AnalyzedCommand =\n\t| {\n\t\t\t$kind: 'MoveCall';\n\t\t\tindex: number;\n\t\t\targuments: AnalyzedCommandArgument[];\n\t\t\tfunction: Experimental_HaneulClientTypes.FunctionResponse;\n\t\t\tcommand: Extract<Command, { $kind: 'MoveCall' }>['MoveCall'];\n\t }\n\t| {\n\t\t\t$kind: 'TransferObjects';\n\t\t\tindex: number;\n\t\t\tobjects: AnalyzedCommandArgument[];\n\t\t\taddress: AnalyzedCommandArgument;\n\t\t\tcommand: Extract<Command, { $kind: 'TransferObjects' }>['TransferObjects'];\n\t }\n\t| {\n\t\t\t$kind: 'MergeCoins';\n\t\t\tindex: number;\n\t\t\tsources: AnalyzedCommandArgument[];\n\t\t\tdestination: AnalyzedCommandArgument;\n\t\t\tcommand: Extract<Command, { $kind: 'MergeCoins' }>['MergeCoins'];\n\t }\n\t| {\n\t\t\t$kind: 'SplitCoins';\n\t\t\tindex: number;\n\t\t\tcoin: AnalyzedCommandArgument;\n\t\t\tamounts: AnalyzedCommandArgument[];\n\t\t\tcommand: Extract<Command, { $kind: 'SplitCoins' }>['SplitCoins'];\n\t }\n\t| {\n\t\t\t$kind: 'MakeMoveVec';\n\t\t\tindex: number;\n\t\t\telements: AnalyzedCommandArgument[];\n\t\t\tcommand: Extract<Command, { $kind: 'MakeMoveVec' }>['MakeMoveVec'];\n\t }\n\t| {\n\t\t\t$kind: 'Upgrade';\n\t\t\tindex: number;\n\t\t\tticket: AnalyzedCommandArgument;\n\t\t\tcommand: Extract<Command, { $kind: 'Upgrade' }>['Upgrade'];\n\t }\n\t| {\n\t\t\t$kind: 'Publish';\n\t\t\tindex: number;\n\t\t\tcommand: Extract<Command, { $kind: 'Publish' }>['Publish'];\n\t }\n\t| {\n\t\t\t$kind: 'Unknown';\n\t\t\tindex: number;\n\t\t\tcommand: Extract<Command, { $kind: 'Unknown' }>['Unknown'];\n\t };\n\nexport const commands = createAnalyzer({\n\tdependencies: {\n\t\tdata,\n\t\tmoveFunctions,\n\t\tinputs,\n\t},\n\tanalyze:\n\t\t() =>\n\t\t({ data, moveFunctions, inputs }) => {\n\t\t\tconst issues: TransactionAnalysisIssue[] = [];\n\t\t\tconst commands: AnalyzedCommand[] = [];\n\n\t\t\tconst mapInput = (\n\t\t\t\targ: Argument,\n\t\t\t\taccessLevel: 'read' | 'mutate' | 'transfer' = 'transfer',\n\t\t\t): AnalyzedCommandArgument => {\n\t\t\t\tswitch (arg.$kind) {\n\t\t\t\t\tcase 'Input':\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'GasCoin':\n\t\t\t\t\t\treturn { $kind: 'GasCoin', accessLevel };\n\t\t\t\t\tcase 'Result':\n\t\t\t\t\t\treturn { $kind: 'Result', index: [arg.Result, 0], accessLevel };\n\t\t\t\t\tcase 'NestedResult':\n\t\t\t\t\t\treturn { $kind: 'Result', index: arg.NestedResult, accessLevel };\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tissues.push({ message: `Unexpected input type: ${JSON.stringify(arg)}` });\n\t\t\t\t\t\treturn { $kind: 'Unknown', accessLevel };\n\t\t\t\t}\n\n\t\t\t\tconst input = inputs[arg.Input];\n\n\t\t\t\tif (!input) {\n\t\t\t\t\tissues.push({ message: `Missing input for index ${arg.Input}` });\n\t\t\t\t\treturn { $kind: 'Unknown', accessLevel };\n\t\t\t\t}\n\n\t\t\t\treturn { ...input, accessLevel };\n\t\t\t};\n\n\t\t\tfor (let index = 0; index < data.commands.length; index++) {\n\t\t\t\tconst command = data.commands[index];\n\t\t\t\tswitch (command.$kind) {\n\t\t\t\t\tcase '$Intent':\n\t\t\t\t\t\tissues.push({ message: `Unexpected $Intent command: ${JSON.stringify(command)}` });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'MakeMoveVec':\n\t\t\t\t\t\tcommands.push({\n\t\t\t\t\t\t\t$kind: 'MakeMoveVec',\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\telements: command.MakeMoveVec.elements.map((el) => mapInput(el)),\n\t\t\t\t\t\t\tcommand: command.MakeMoveVec,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'TransferObjects':\n\t\t\t\t\t\tcommands.push({\n\t\t\t\t\t\t\t$kind: 'TransferObjects',\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\taddress: mapInput(command.TransferObjects.address),\n\t\t\t\t\t\t\tobjects: command.TransferObjects.objects.map((obj) => mapInput(obj)),\n\t\t\t\t\t\t\tcommand: command.TransferObjects,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'MergeCoins':\n\t\t\t\t\t\tcommands.push({\n\t\t\t\t\t\t\t$kind: 'MergeCoins',\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\tsources: command.MergeCoins.sources.map((src) => mapInput(src)),\n\t\t\t\t\t\t\tdestination: mapInput(command.MergeCoins.destination, 'mutate'),\n\t\t\t\t\t\t\tcommand: command.MergeCoins,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'SplitCoins':\n\t\t\t\t\t\tcommands.push({\n\t\t\t\t\t\t\t$kind: 'SplitCoins',\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\tcoin: mapInput(command.SplitCoins.coin, 'mutate'),\n\t\t\t\t\t\t\tamounts: command.SplitCoins.amounts.map((amt) => mapInput(amt, 'transfer')),\n\t\t\t\t\t\t\tcommand: command.SplitCoins,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'MoveCall': {\n\t\t\t\t\t\tconst func = moveFunctions.find(\n\t\t\t\t\t\t\t(fn) =>\n\t\t\t\t\t\t\t\tfn.packageId === command.MoveCall.package &&\n\t\t\t\t\t\t\t\tfn.moduleName === command.MoveCall.module &&\n\t\t\t\t\t\t\t\tfn.name === command.MoveCall.function,\n\t\t\t\t\t\t)!;\n\t\t\t\t\t\tcommands.push({\n\t\t\t\t\t\t\t$kind: 'MoveCall',\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\targuments: command.MoveCall.arguments.map((arg, i) => {\n\t\t\t\t\t\t\t\tlet accessLevel: 'read' | 'mutate' | 'transfer' = 'transfer';\n\t\t\t\t\t\t\t\tswitch (func.parameters[i].reference) {\n\t\t\t\t\t\t\t\t\tcase 'mutable':\n\t\t\t\t\t\t\t\t\t\taccessLevel = 'mutate';\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tcase 'immutable':\n\t\t\t\t\t\t\t\t\t\taccessLevel = 'read';\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn mapInput(arg, accessLevel);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tcommand: command.MoveCall,\n\t\t\t\t\t\t\tfunction: func,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'Publish':\n\t\t\t\t\t\tcommands.push({\n\t\t\t\t\t\t\t$kind: 'Publish',\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\tcommand: command.Publish,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Upgrade':\n\t\t\t\t\t\tcommands.push({\n\t\t\t\t\t\t\t$kind: 'Upgrade',\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\tticket: mapInput(command.Upgrade.ticket),\n\t\t\t\t\t\t\tcommand: command.Upgrade,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow new Error('Unknown command type: ' + (command as { $kind: string }).$kind);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (issues.length) {\n\t\t\t\treturn { issues };\n\t\t\t}\n\n\t\t\treturn { result: commands };\n\t\t},\n});\n"],
5
- "mappings": "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",
6
- "names": ["data", "moveFunctions", "inputs", "commands"]
7
- }