@haneullabs/wallet-sdk 0.1.0

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 (133) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/auto-approvals/analyzer.d.ts +71 -0
  4. package/dist/cjs/auto-approvals/analyzer.js +70 -0
  5. package/dist/cjs/auto-approvals/analyzer.js.map +7 -0
  6. package/dist/cjs/auto-approvals/index.d.ts +6 -0
  7. package/dist/cjs/auto-approvals/index.js +33 -0
  8. package/dist/cjs/auto-approvals/index.js.map +7 -0
  9. package/dist/cjs/auto-approvals/intent.d.ts +5 -0
  10. package/dist/cjs/auto-approvals/intent.js +65 -0
  11. package/dist/cjs/auto-approvals/intent.js.map +7 -0
  12. package/dist/cjs/auto-approvals/manager.d.ts +31 -0
  13. package/dist/cjs/auto-approvals/manager.js +328 -0
  14. package/dist/cjs/auto-approvals/manager.js.map +7 -0
  15. package/dist/cjs/auto-approvals/schemas/index.d.ts +4 -0
  16. package/dist/cjs/auto-approvals/schemas/index.js +28 -0
  17. package/dist/cjs/auto-approvals/schemas/index.js.map +7 -0
  18. package/dist/cjs/auto-approvals/schemas/policy.d.ts +145 -0
  19. package/dist/cjs/auto-approvals/schemas/policy.js +79 -0
  20. package/dist/cjs/auto-approvals/schemas/policy.js.map +7 -0
  21. package/dist/cjs/auto-approvals/schemas/state.d.ts +115 -0
  22. package/dist/cjs/auto-approvals/schemas/state.js +49 -0
  23. package/dist/cjs/auto-approvals/schemas/state.js.map +7 -0
  24. package/dist/cjs/index.d.ts +2 -0
  25. package/dist/cjs/index.js +20 -0
  26. package/dist/cjs/index.js.map +7 -0
  27. package/dist/cjs/package.json +5 -0
  28. package/dist/cjs/transaction-analyzer/analyzer.d.ts +34 -0
  29. package/dist/cjs/transaction-analyzer/analyzer.js +94 -0
  30. package/dist/cjs/transaction-analyzer/analyzer.js.map +7 -0
  31. package/dist/cjs/transaction-analyzer/index.d.ts +9 -0
  32. package/dist/cjs/transaction-analyzer/index.js +28 -0
  33. package/dist/cjs/transaction-analyzer/index.js.map +7 -0
  34. package/dist/cjs/transaction-analyzer/rules/accessLevel.d.ts +29 -0
  35. package/dist/cjs/transaction-analyzer/rules/accessLevel.js +106 -0
  36. package/dist/cjs/transaction-analyzer/rules/accessLevel.js.map +7 -0
  37. package/dist/cjs/transaction-analyzer/rules/coin-flows.d.ts +313 -0
  38. package/dist/cjs/transaction-analyzer/rules/coin-flows.js +179 -0
  39. package/dist/cjs/transaction-analyzer/rules/coin-flows.js.map +7 -0
  40. package/dist/cjs/transaction-analyzer/rules/coin-value.d.ts +42 -0
  41. package/dist/cjs/transaction-analyzer/rules/coin-value.js +60 -0
  42. package/dist/cjs/transaction-analyzer/rules/coin-value.js.map +7 -0
  43. package/dist/cjs/transaction-analyzer/rules/coins.d.ts +337 -0
  44. package/dist/cjs/transaction-analyzer/rules/coins.js +78 -0
  45. package/dist/cjs/transaction-analyzer/rules/coins.js.map +7 -0
  46. package/dist/cjs/transaction-analyzer/rules/commands.d.ts +366 -0
  47. package/dist/cjs/transaction-analyzer/rules/commands.js +148 -0
  48. package/dist/cjs/transaction-analyzer/rules/commands.js.map +7 -0
  49. package/dist/cjs/transaction-analyzer/rules/core.d.ts +314 -0
  50. package/dist/cjs/transaction-analyzer/rules/core.js +73 -0
  51. package/dist/cjs/transaction-analyzer/rules/core.js.map +7 -0
  52. package/dist/cjs/transaction-analyzer/rules/functions.d.ts +292 -0
  53. package/dist/cjs/transaction-analyzer/rules/functions.js +58 -0
  54. package/dist/cjs/transaction-analyzer/rules/functions.js.map +7 -0
  55. package/dist/cjs/transaction-analyzer/rules/index.d.ts +2244 -0
  56. package/dist/cjs/transaction-analyzer/rules/index.js +52 -0
  57. package/dist/cjs/transaction-analyzer/rules/index.js.map +7 -0
  58. package/dist/cjs/transaction-analyzer/rules/inputs.d.ts +313 -0
  59. package/dist/cjs/transaction-analyzer/rules/inputs.js +49 -0
  60. package/dist/cjs/transaction-analyzer/rules/inputs.js.map +7 -0
  61. package/dist/cjs/transaction-analyzer/rules/objects.d.ts +359 -0
  62. package/dist/cjs/transaction-analyzer/rules/objects.js +124 -0
  63. package/dist/cjs/transaction-analyzer/rules/objects.js.map +7 -0
  64. package/dist/cjs/util.d.ts +5 -0
  65. package/dist/cjs/util.js +17 -0
  66. package/dist/cjs/util.js.map +7 -0
  67. package/dist/esm/auto-approvals/analyzer.d.ts +71 -0
  68. package/dist/esm/auto-approvals/analyzer.js +50 -0
  69. package/dist/esm/auto-approvals/analyzer.js.map +7 -0
  70. package/dist/esm/auto-approvals/index.d.ts +6 -0
  71. package/dist/esm/auto-approvals/index.js +12 -0
  72. package/dist/esm/auto-approvals/index.js.map +7 -0
  73. package/dist/esm/auto-approvals/intent.d.ts +5 -0
  74. package/dist/esm/auto-approvals/intent.js +45 -0
  75. package/dist/esm/auto-approvals/intent.js.map +7 -0
  76. package/dist/esm/auto-approvals/manager.d.ts +31 -0
  77. package/dist/esm/auto-approvals/manager.js +308 -0
  78. package/dist/esm/auto-approvals/manager.js.map +7 -0
  79. package/dist/esm/auto-approvals/schemas/index.d.ts +4 -0
  80. package/dist/esm/auto-approvals/schemas/index.js +8 -0
  81. package/dist/esm/auto-approvals/schemas/index.js.map +7 -0
  82. package/dist/esm/auto-approvals/schemas/policy.d.ts +145 -0
  83. package/dist/esm/auto-approvals/schemas/policy.js +49 -0
  84. package/dist/esm/auto-approvals/schemas/policy.js.map +7 -0
  85. package/dist/esm/auto-approvals/schemas/state.d.ts +115 -0
  86. package/dist/esm/auto-approvals/schemas/state.js +19 -0
  87. package/dist/esm/auto-approvals/schemas/state.js.map +7 -0
  88. package/dist/esm/index.d.ts +2 -0
  89. package/dist/esm/index.js +3 -0
  90. package/dist/esm/index.js.map +7 -0
  91. package/dist/esm/package.json +5 -0
  92. package/dist/esm/transaction-analyzer/analyzer.d.ts +34 -0
  93. package/dist/esm/transaction-analyzer/analyzer.js +74 -0
  94. package/dist/esm/transaction-analyzer/analyzer.js.map +7 -0
  95. package/dist/esm/transaction-analyzer/index.d.ts +9 -0
  96. package/dist/esm/transaction-analyzer/index.js +8 -0
  97. package/dist/esm/transaction-analyzer/index.js.map +7 -0
  98. package/dist/esm/transaction-analyzer/rules/accessLevel.d.ts +29 -0
  99. package/dist/esm/transaction-analyzer/rules/accessLevel.js +86 -0
  100. package/dist/esm/transaction-analyzer/rules/accessLevel.js.map +7 -0
  101. package/dist/esm/transaction-analyzer/rules/coin-flows.d.ts +313 -0
  102. package/dist/esm/transaction-analyzer/rules/coin-flows.js +159 -0
  103. package/dist/esm/transaction-analyzer/rules/coin-flows.js.map +7 -0
  104. package/dist/esm/transaction-analyzer/rules/coin-value.d.ts +42 -0
  105. package/dist/esm/transaction-analyzer/rules/coin-value.js +40 -0
  106. package/dist/esm/transaction-analyzer/rules/coin-value.js.map +7 -0
  107. package/dist/esm/transaction-analyzer/rules/coins.d.ts +337 -0
  108. package/dist/esm/transaction-analyzer/rules/coins.js +58 -0
  109. package/dist/esm/transaction-analyzer/rules/coins.js.map +7 -0
  110. package/dist/esm/transaction-analyzer/rules/commands.d.ts +366 -0
  111. package/dist/esm/transaction-analyzer/rules/commands.js +128 -0
  112. package/dist/esm/transaction-analyzer/rules/commands.js.map +7 -0
  113. package/dist/esm/transaction-analyzer/rules/core.d.ts +314 -0
  114. package/dist/esm/transaction-analyzer/rules/core.js +53 -0
  115. package/dist/esm/transaction-analyzer/rules/core.js.map +7 -0
  116. package/dist/esm/transaction-analyzer/rules/functions.d.ts +292 -0
  117. package/dist/esm/transaction-analyzer/rules/functions.js +38 -0
  118. package/dist/esm/transaction-analyzer/rules/functions.js.map +7 -0
  119. package/dist/esm/transaction-analyzer/rules/index.d.ts +2244 -0
  120. package/dist/esm/transaction-analyzer/rules/index.js +32 -0
  121. package/dist/esm/transaction-analyzer/rules/index.js.map +7 -0
  122. package/dist/esm/transaction-analyzer/rules/inputs.d.ts +313 -0
  123. package/dist/esm/transaction-analyzer/rules/inputs.js +29 -0
  124. package/dist/esm/transaction-analyzer/rules/inputs.js.map +7 -0
  125. package/dist/esm/transaction-analyzer/rules/objects.d.ts +359 -0
  126. package/dist/esm/transaction-analyzer/rules/objects.js +104 -0
  127. package/dist/esm/transaction-analyzer/rules/objects.js.map +7 -0
  128. package/dist/esm/util.d.ts +5 -0
  129. package/dist/esm/util.js +1 -0
  130. package/dist/esm/util.js.map +7 -0
  131. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  132. package/dist/tsconfig.tsbuildinfo +1 -0
  133. package/package.json +59 -0
@@ -0,0 +1,32 @@
1
+ import { accessLevel } from "./accessLevel.js";
2
+ import { coinFlows } from "./coin-flows.js";
3
+ import { coinValues } from "./coin-value.js";
4
+ import { coins, gasCoins } from "./coins.js";
5
+ import { commands } from "./commands.js";
6
+ import { balanceChanges, bytes, data, digest, transactionResponse } from "./core.js";
7
+ import { moveFunctions } from "./functions.js";
8
+ import { inputs } from "./inputs.js";
9
+ import { objectIds, objects, objectsById, ownedObjects } from "./objects.js";
10
+ const analyzers = {
11
+ accessLevel,
12
+ balanceChanges,
13
+ bytes,
14
+ coinFlows,
15
+ coins,
16
+ coinValues,
17
+ commands,
18
+ data,
19
+ digest,
20
+ transactionResponse,
21
+ gasCoins,
22
+ inputs,
23
+ moveFunctions,
24
+ objectIds,
25
+ objects,
26
+ objectsById,
27
+ ownedObjects
28
+ };
29
+ export {
30
+ analyzers
31
+ };
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/transaction-analyzer/rules/index.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { accessLevel } from './accessLevel.js';\nimport { coinFlows } from './coin-flows.js';\nimport { coinValues } from './coin-value.js';\nimport { coins, gasCoins } from './coins.js';\nimport { commands } from './commands.js';\nimport { balanceChanges, bytes, data, digest, transactionResponse } from './core.js';\nimport { moveFunctions } from './functions.js';\nimport { inputs } from './inputs.js';\nimport { objectIds, objects, objectsById, ownedObjects } from './objects.js';\n\nexport const analyzers = {\n\taccessLevel,\n\tbalanceChanges,\n\tbytes,\n\tcoinFlows,\n\tcoins,\n\tcoinValues,\n\tcommands,\n\tdata,\n\tdigest,\n\ttransactionResponse,\n\tgasCoins,\n\tinputs,\n\tmoveFunctions,\n\tobjectIds,\n\tobjects,\n\tobjectsById,\n\townedObjects,\n};\n"],
5
+ "mappings": "AAGA,SAAS,mBAAmB;AAC5B,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,OAAO,gBAAgB;AAChC,SAAS,gBAAgB;AACzB,SAAS,gBAAgB,OAAO,MAAM,QAAQ,2BAA2B;AACzE,SAAS,qBAAqB;AAC9B,SAAS,cAAc;AACvB,SAAS,WAAW,SAAS,aAAa,oBAAoB;AAEvD,MAAM,YAAY;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;",
6
+ "names": []
7
+ }
@@ -0,0 +1,313 @@
1
+ import type { Experimental_HaneulClientTypes } from '@haneullabs/haneul/experimental';
2
+ export type AnalyzedCommandInput = {
3
+ $kind: 'Pure';
4
+ index: number;
5
+ bytes: string;
6
+ accessLevel: 'read' | 'mutate' | 'transfer';
7
+ } | {
8
+ $kind: 'Object';
9
+ index: number;
10
+ object: Experimental_HaneulClientTypes.ObjectResponse;
11
+ accessLevel: 'read' | 'mutate' | 'transfer';
12
+ };
13
+ export declare const inputs: import("../analyzer.js").Analyzer<AnalyzedCommandInput[], {
14
+ client: import("@haneullabs/haneul/experimental").Experimental_BaseClient & {
15
+ core: import("@haneullabs/haneul/experimental").Experimental_CoreClient;
16
+ };
17
+ }, {
18
+ data: {
19
+ version: 2;
20
+ sender?: string | null | undefined;
21
+ expiration?: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
22
+ None: true;
23
+ Epoch: string | number;
24
+ }, "None" | "Epoch"> | null | undefined;
25
+ gasData: {
26
+ budget: string | number | null;
27
+ price: string | number | null;
28
+ owner: string | null;
29
+ payment: {
30
+ objectId: string;
31
+ version: string | number;
32
+ digest: string;
33
+ }[] | null;
34
+ };
35
+ inputs: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
36
+ Object: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
37
+ ImmOrOwnedObject: {
38
+ objectId: string;
39
+ version: string | number;
40
+ digest: string;
41
+ };
42
+ SharedObject: {
43
+ objectId: string;
44
+ initialSharedVersion: string | number;
45
+ mutable: boolean;
46
+ };
47
+ Receiving: {
48
+ objectId: string;
49
+ version: string | number;
50
+ digest: string;
51
+ };
52
+ }, "ImmOrOwnedObject" | "SharedObject" | "Receiving">;
53
+ Pure: {
54
+ bytes: string;
55
+ };
56
+ UnresolvedPure: {
57
+ value: unknown;
58
+ };
59
+ UnresolvedObject: {
60
+ objectId: string;
61
+ version?: string | number | null | undefined;
62
+ digest?: string | null | undefined;
63
+ initialSharedVersion?: string | number | null | undefined;
64
+ mutable?: boolean | null | undefined;
65
+ };
66
+ }, "Pure" | "Object" | "UnresolvedPure" | "UnresolvedObject">[];
67
+ commands: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
68
+ MoveCall: {
69
+ package: string;
70
+ module: string;
71
+ function: string;
72
+ typeArguments: string[];
73
+ arguments: ({
74
+ $kind: "GasCoin";
75
+ GasCoin: true;
76
+ } | {
77
+ $kind: "Input";
78
+ Input: number;
79
+ type?: "pure";
80
+ } | {
81
+ $kind: "Input";
82
+ Input: number;
83
+ type?: "object";
84
+ } | {
85
+ $kind: "Result";
86
+ Result: number;
87
+ } | {
88
+ $kind: "NestedResult";
89
+ NestedResult: [number, number];
90
+ })[];
91
+ _argumentTypes?: {
92
+ ref: "&" | "&mut" | null;
93
+ body: import("@haneullabs/haneul/dist/cjs/transactions/index.js").OpenMoveTypeSignatureBody;
94
+ }[] | null | undefined;
95
+ };
96
+ TransferObjects: {
97
+ objects: ({
98
+ $kind: "GasCoin";
99
+ GasCoin: true;
100
+ } | {
101
+ $kind: "Input";
102
+ Input: number;
103
+ type?: "pure";
104
+ } | {
105
+ $kind: "Input";
106
+ Input: number;
107
+ type?: "object";
108
+ } | {
109
+ $kind: "Result";
110
+ Result: number;
111
+ } | {
112
+ $kind: "NestedResult";
113
+ NestedResult: [number, number];
114
+ })[];
115
+ address: {
116
+ $kind: "GasCoin";
117
+ GasCoin: true;
118
+ } | {
119
+ $kind: "Input";
120
+ Input: number;
121
+ type?: "pure";
122
+ } | {
123
+ $kind: "Input";
124
+ Input: number;
125
+ type?: "object";
126
+ } | {
127
+ $kind: "Result";
128
+ Result: number;
129
+ } | {
130
+ $kind: "NestedResult";
131
+ NestedResult: [number, number];
132
+ };
133
+ };
134
+ SplitCoins: {
135
+ coin: {
136
+ $kind: "GasCoin";
137
+ GasCoin: true;
138
+ } | {
139
+ $kind: "Input";
140
+ Input: number;
141
+ type?: "pure";
142
+ } | {
143
+ $kind: "Input";
144
+ Input: number;
145
+ type?: "object";
146
+ } | {
147
+ $kind: "Result";
148
+ Result: number;
149
+ } | {
150
+ $kind: "NestedResult";
151
+ NestedResult: [number, number];
152
+ };
153
+ amounts: ({
154
+ $kind: "GasCoin";
155
+ GasCoin: true;
156
+ } | {
157
+ $kind: "Input";
158
+ Input: number;
159
+ type?: "pure";
160
+ } | {
161
+ $kind: "Input";
162
+ Input: number;
163
+ type?: "object";
164
+ } | {
165
+ $kind: "Result";
166
+ Result: number;
167
+ } | {
168
+ $kind: "NestedResult";
169
+ NestedResult: [number, number];
170
+ })[];
171
+ };
172
+ MergeCoins: {
173
+ destination: {
174
+ $kind: "GasCoin";
175
+ GasCoin: true;
176
+ } | {
177
+ $kind: "Input";
178
+ Input: number;
179
+ type?: "pure";
180
+ } | {
181
+ $kind: "Input";
182
+ Input: number;
183
+ type?: "object";
184
+ } | {
185
+ $kind: "Result";
186
+ Result: number;
187
+ } | {
188
+ $kind: "NestedResult";
189
+ NestedResult: [number, number];
190
+ };
191
+ sources: ({
192
+ $kind: "GasCoin";
193
+ GasCoin: true;
194
+ } | {
195
+ $kind: "Input";
196
+ Input: number;
197
+ type?: "pure";
198
+ } | {
199
+ $kind: "Input";
200
+ Input: number;
201
+ type?: "object";
202
+ } | {
203
+ $kind: "Result";
204
+ Result: number;
205
+ } | {
206
+ $kind: "NestedResult";
207
+ NestedResult: [number, number];
208
+ })[];
209
+ };
210
+ Publish: {
211
+ modules: string[];
212
+ dependencies: string[];
213
+ };
214
+ MakeMoveVec: {
215
+ type: string | null;
216
+ elements: ({
217
+ $kind: "GasCoin";
218
+ GasCoin: true;
219
+ } | {
220
+ $kind: "Input";
221
+ Input: number;
222
+ type?: "pure";
223
+ } | {
224
+ $kind: "Input";
225
+ Input: number;
226
+ type?: "object";
227
+ } | {
228
+ $kind: "Result";
229
+ Result: number;
230
+ } | {
231
+ $kind: "NestedResult";
232
+ NestedResult: [number, number];
233
+ })[];
234
+ };
235
+ Upgrade: {
236
+ modules: string[];
237
+ dependencies: string[];
238
+ package: string;
239
+ ticket: {
240
+ $kind: "GasCoin";
241
+ GasCoin: true;
242
+ } | {
243
+ $kind: "Input";
244
+ Input: number;
245
+ type?: "pure";
246
+ } | {
247
+ $kind: "Input";
248
+ Input: number;
249
+ type?: "object";
250
+ } | {
251
+ $kind: "Result";
252
+ Result: number;
253
+ } | {
254
+ $kind: "NestedResult";
255
+ NestedResult: [number, number];
256
+ };
257
+ };
258
+ $Intent: {
259
+ name: string;
260
+ inputs: {
261
+ [x: string]: {
262
+ $kind: "GasCoin";
263
+ GasCoin: true;
264
+ } | {
265
+ $kind: "Input";
266
+ Input: number;
267
+ type?: "pure";
268
+ } | {
269
+ $kind: "Input";
270
+ Input: number;
271
+ type?: "object";
272
+ } | {
273
+ $kind: "Result";
274
+ Result: number;
275
+ } | {
276
+ $kind: "NestedResult";
277
+ NestedResult: [number, number];
278
+ } | ({
279
+ $kind: "GasCoin";
280
+ GasCoin: true;
281
+ } | {
282
+ $kind: "Input";
283
+ Input: number;
284
+ type?: "pure";
285
+ } | {
286
+ $kind: "Input";
287
+ Input: number;
288
+ type?: "object";
289
+ } | {
290
+ $kind: "Result";
291
+ Result: number;
292
+ } | {
293
+ $kind: "NestedResult";
294
+ NestedResult: [number, number];
295
+ })[];
296
+ };
297
+ data: {
298
+ [x: string]: unknown;
299
+ };
300
+ };
301
+ }, "MoveCall" | "TransferObjects" | "SplitCoins" | "MergeCoins" | "Publish" | "MakeMoveVec" | "Upgrade" | "$Intent">[];
302
+ };
303
+ objectsById: Map<string, {
304
+ ownerAddress: string | null;
305
+ id: string;
306
+ version: string;
307
+ digest: string;
308
+ owner: Experimental_HaneulClientTypes.ObjectOwner;
309
+ type: string;
310
+ content: PromiseLike<Uint8Array>;
311
+ previousTransaction: string | null;
312
+ }>;
313
+ }>;
@@ -0,0 +1,29 @@
1
+ import { createAnalyzer } from "../analyzer.js";
2
+ import { data } from "./core.js";
3
+ import { objectsById } from "./objects.js";
4
+ const inputs = createAnalyzer({
5
+ dependencies: { data, objectsById },
6
+ analyze: () => ({ data: data2, objectsById: objectsById2 }) => {
7
+ return {
8
+ result: data2.inputs.map((input, index) => {
9
+ switch (input.$kind) {
10
+ case "Pure":
11
+ return { $kind: "Pure", index, bytes: input.Pure.bytes, accessLevel: "transfer" };
12
+ case "Object":
13
+ const objectId = input.Object.ImmOrOwnedObject?.objectId ?? input.Object.Receiving?.objectId ?? input.Object.SharedObject?.objectId;
14
+ const object = objectsById2.get(objectId);
15
+ if (!object) {
16
+ throw new Error(`Missing object for id ${objectId}`);
17
+ }
18
+ return { $kind: "Object", index, object, accessLevel: "read" };
19
+ default:
20
+ throw new Error(`Unknown input type: ${JSON.stringify(input)}`);
21
+ }
22
+ })
23
+ };
24
+ }
25
+ });
26
+ export {
27
+ inputs
28
+ };
29
+ //# sourceMappingURL=inputs.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/transaction-analyzer/rules/inputs.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Experimental_HaneulClientTypes } from '@haneullabs/haneul/experimental';\nimport { createAnalyzer } from '../analyzer.js';\nimport { data } from './core.js';\nimport { objectsById } from './objects.js';\n\nexport type AnalyzedCommandInput =\n\t| {\n\t\t\t$kind: 'Pure';\n\t\t\tindex: number;\n\t\t\tbytes: string; // base64 encoded\n\t\t\t// TODO: add parsed value and type\n\t\t\taccessLevel: 'read' | 'mutate' | 'transfer';\n\t }\n\t| {\n\t\t\t$kind: 'Object';\n\t\t\tindex: number;\n\t\t\tobject: Experimental_HaneulClientTypes.ObjectResponse;\n\t\t\taccessLevel: 'read' | 'mutate' | 'transfer';\n\t };\n\nexport const inputs = createAnalyzer({\n\tdependencies: { data, objectsById },\n\tanalyze:\n\t\t() =>\n\t\t({ data, objectsById }) => {\n\t\t\treturn {\n\t\t\t\tresult: data.inputs.map((input, index): AnalyzedCommandInput => {\n\t\t\t\t\tswitch (input.$kind) {\n\t\t\t\t\t\tcase 'Pure':\n\t\t\t\t\t\t\treturn { $kind: 'Pure', index, bytes: input.Pure.bytes!, accessLevel: 'transfer' };\n\t\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\t\tconst objectId =\n\t\t\t\t\t\t\t\tinput.Object.ImmOrOwnedObject?.objectId ??\n\t\t\t\t\t\t\t\tinput.Object.Receiving?.objectId ??\n\t\t\t\t\t\t\t\tinput.Object.SharedObject?.objectId!;\n\n\t\t\t\t\t\t\tconst object = objectsById.get(objectId)!;\n\t\t\t\t\t\t\tif (!object) {\n\t\t\t\t\t\t\t\tthrow new Error(`Missing object for id ${objectId}`);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn { $kind: 'Object', index, object, accessLevel: 'read' };\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tthrow new Error(`Unknown input type: ${JSON.stringify(input)}`);\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t};\n\t\t},\n});\n"],
5
+ "mappings": "AAIA,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAiBrB,MAAM,SAAS,eAAe;AAAA,EACpC,cAAc,EAAE,MAAM,YAAY;AAAA,EAClC,SACC,MACA,CAAC,EAAE,MAAAA,OAAM,aAAAC,aAAY,MAAM;AAC1B,WAAO;AAAA,MACN,QAAQD,MAAK,OAAO,IAAI,CAAC,OAAO,UAAgC;AAC/D,gBAAQ,MAAM,OAAO;AAAA,UACpB,KAAK;AACJ,mBAAO,EAAE,OAAO,QAAQ,OAAO,OAAO,MAAM,KAAK,OAAQ,aAAa,WAAW;AAAA,UAClF,KAAK;AACJ,kBAAM,WACL,MAAM,OAAO,kBAAkB,YAC/B,MAAM,OAAO,WAAW,YACxB,MAAM,OAAO,cAAc;AAE5B,kBAAM,SAASC,aAAY,IAAI,QAAQ;AACvC,gBAAI,CAAC,QAAQ;AACZ,oBAAM,IAAI,MAAM,yBAAyB,QAAQ,EAAE;AAAA,YACpD;AAEA,mBAAO,EAAE,OAAO,UAAU,OAAO,QAAQ,aAAa,OAAO;AAAA,UAC9D;AACC,kBAAM,IAAI,MAAM,uBAAuB,KAAK,UAAU,KAAK,CAAC,EAAE;AAAA,QAChE;AAAA,MACD,CAAC;AAAA,IACF;AAAA,EACD;AACF,CAAC;",
6
+ "names": ["data", "objectsById"]
7
+ }