@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,359 @@
1
+ import type { ClientWithCoreApi, Experimental_HaneulClientTypes } from '@haneullabs/haneul/experimental';
2
+ export type AnalyzedObject = Experimental_HaneulClientTypes.ObjectResponse & {
3
+ ownerAddress: string | null;
4
+ };
5
+ export declare const objectIds: import("../analyzer.js").Analyzer<string[], {
6
+ client: ClientWithCoreApi;
7
+ }, {
8
+ data: {
9
+ version: 2;
10
+ sender?: string | null | undefined;
11
+ expiration?: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
12
+ None: true;
13
+ Epoch: string | number;
14
+ }, "None" | "Epoch"> | null | undefined;
15
+ gasData: {
16
+ budget: string | number | null;
17
+ price: string | number | null;
18
+ owner: string | null;
19
+ payment: {
20
+ objectId: string;
21
+ version: string | number;
22
+ digest: string;
23
+ }[] | null;
24
+ };
25
+ inputs: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
26
+ Object: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
27
+ ImmOrOwnedObject: {
28
+ objectId: string;
29
+ version: string | number;
30
+ digest: string;
31
+ };
32
+ SharedObject: {
33
+ objectId: string;
34
+ initialSharedVersion: string | number;
35
+ mutable: boolean;
36
+ };
37
+ Receiving: {
38
+ objectId: string;
39
+ version: string | number;
40
+ digest: string;
41
+ };
42
+ }, "ImmOrOwnedObject" | "SharedObject" | "Receiving">;
43
+ Pure: {
44
+ bytes: string;
45
+ };
46
+ UnresolvedPure: {
47
+ value: unknown;
48
+ };
49
+ UnresolvedObject: {
50
+ objectId: string;
51
+ version?: string | number | null | undefined;
52
+ digest?: string | null | undefined;
53
+ initialSharedVersion?: string | number | null | undefined;
54
+ mutable?: boolean | null | undefined;
55
+ };
56
+ }, "Pure" | "Object" | "UnresolvedPure" | "UnresolvedObject">[];
57
+ commands: import("@haneullabs/bcs").EnumOutputShapeWithKeys<{
58
+ MoveCall: {
59
+ package: string;
60
+ module: string;
61
+ function: string;
62
+ typeArguments: string[];
63
+ arguments: ({
64
+ $kind: "GasCoin";
65
+ GasCoin: true;
66
+ } | {
67
+ $kind: "Input";
68
+ Input: number;
69
+ type?: "pure";
70
+ } | {
71
+ $kind: "Input";
72
+ Input: number;
73
+ type?: "object";
74
+ } | {
75
+ $kind: "Result";
76
+ Result: number;
77
+ } | {
78
+ $kind: "NestedResult";
79
+ NestedResult: [number, number];
80
+ })[];
81
+ _argumentTypes?: {
82
+ ref: "&" | "&mut" | null;
83
+ body: import("@haneullabs/haneul/dist/cjs/transactions/index.js").OpenMoveTypeSignatureBody;
84
+ }[] | null | undefined;
85
+ };
86
+ TransferObjects: {
87
+ objects: ({
88
+ $kind: "GasCoin";
89
+ GasCoin: true;
90
+ } | {
91
+ $kind: "Input";
92
+ Input: number;
93
+ type?: "pure";
94
+ } | {
95
+ $kind: "Input";
96
+ Input: number;
97
+ type?: "object";
98
+ } | {
99
+ $kind: "Result";
100
+ Result: number;
101
+ } | {
102
+ $kind: "NestedResult";
103
+ NestedResult: [number, number];
104
+ })[];
105
+ address: {
106
+ $kind: "GasCoin";
107
+ GasCoin: true;
108
+ } | {
109
+ $kind: "Input";
110
+ Input: number;
111
+ type?: "pure";
112
+ } | {
113
+ $kind: "Input";
114
+ Input: number;
115
+ type?: "object";
116
+ } | {
117
+ $kind: "Result";
118
+ Result: number;
119
+ } | {
120
+ $kind: "NestedResult";
121
+ NestedResult: [number, number];
122
+ };
123
+ };
124
+ SplitCoins: {
125
+ coin: {
126
+ $kind: "GasCoin";
127
+ GasCoin: true;
128
+ } | {
129
+ $kind: "Input";
130
+ Input: number;
131
+ type?: "pure";
132
+ } | {
133
+ $kind: "Input";
134
+ Input: number;
135
+ type?: "object";
136
+ } | {
137
+ $kind: "Result";
138
+ Result: number;
139
+ } | {
140
+ $kind: "NestedResult";
141
+ NestedResult: [number, number];
142
+ };
143
+ amounts: ({
144
+ $kind: "GasCoin";
145
+ GasCoin: true;
146
+ } | {
147
+ $kind: "Input";
148
+ Input: number;
149
+ type?: "pure";
150
+ } | {
151
+ $kind: "Input";
152
+ Input: number;
153
+ type?: "object";
154
+ } | {
155
+ $kind: "Result";
156
+ Result: number;
157
+ } | {
158
+ $kind: "NestedResult";
159
+ NestedResult: [number, number];
160
+ })[];
161
+ };
162
+ MergeCoins: {
163
+ destination: {
164
+ $kind: "GasCoin";
165
+ GasCoin: true;
166
+ } | {
167
+ $kind: "Input";
168
+ Input: number;
169
+ type?: "pure";
170
+ } | {
171
+ $kind: "Input";
172
+ Input: number;
173
+ type?: "object";
174
+ } | {
175
+ $kind: "Result";
176
+ Result: number;
177
+ } | {
178
+ $kind: "NestedResult";
179
+ NestedResult: [number, number];
180
+ };
181
+ sources: ({
182
+ $kind: "GasCoin";
183
+ GasCoin: true;
184
+ } | {
185
+ $kind: "Input";
186
+ Input: number;
187
+ type?: "pure";
188
+ } | {
189
+ $kind: "Input";
190
+ Input: number;
191
+ type?: "object";
192
+ } | {
193
+ $kind: "Result";
194
+ Result: number;
195
+ } | {
196
+ $kind: "NestedResult";
197
+ NestedResult: [number, number];
198
+ })[];
199
+ };
200
+ Publish: {
201
+ modules: string[];
202
+ dependencies: string[];
203
+ };
204
+ MakeMoveVec: {
205
+ type: string | null;
206
+ elements: ({
207
+ $kind: "GasCoin";
208
+ GasCoin: true;
209
+ } | {
210
+ $kind: "Input";
211
+ Input: number;
212
+ type?: "pure";
213
+ } | {
214
+ $kind: "Input";
215
+ Input: number;
216
+ type?: "object";
217
+ } | {
218
+ $kind: "Result";
219
+ Result: number;
220
+ } | {
221
+ $kind: "NestedResult";
222
+ NestedResult: [number, number];
223
+ })[];
224
+ };
225
+ Upgrade: {
226
+ modules: string[];
227
+ dependencies: string[];
228
+ package: string;
229
+ ticket: {
230
+ $kind: "GasCoin";
231
+ GasCoin: true;
232
+ } | {
233
+ $kind: "Input";
234
+ Input: number;
235
+ type?: "pure";
236
+ } | {
237
+ $kind: "Input";
238
+ Input: number;
239
+ type?: "object";
240
+ } | {
241
+ $kind: "Result";
242
+ Result: number;
243
+ } | {
244
+ $kind: "NestedResult";
245
+ NestedResult: [number, number];
246
+ };
247
+ };
248
+ $Intent: {
249
+ name: string;
250
+ inputs: {
251
+ [x: string]: {
252
+ $kind: "GasCoin";
253
+ GasCoin: true;
254
+ } | {
255
+ $kind: "Input";
256
+ Input: number;
257
+ type?: "pure";
258
+ } | {
259
+ $kind: "Input";
260
+ Input: number;
261
+ type?: "object";
262
+ } | {
263
+ $kind: "Result";
264
+ Result: number;
265
+ } | {
266
+ $kind: "NestedResult";
267
+ NestedResult: [number, number];
268
+ } | ({
269
+ $kind: "GasCoin";
270
+ GasCoin: true;
271
+ } | {
272
+ $kind: "Input";
273
+ Input: number;
274
+ type?: "pure";
275
+ } | {
276
+ $kind: "Input";
277
+ Input: number;
278
+ type?: "object";
279
+ } | {
280
+ $kind: "Result";
281
+ Result: number;
282
+ } | {
283
+ $kind: "NestedResult";
284
+ NestedResult: [number, number];
285
+ })[];
286
+ };
287
+ data: {
288
+ [x: string]: unknown;
289
+ };
290
+ };
291
+ }, "MoveCall" | "TransferObjects" | "SplitCoins" | "MergeCoins" | "Publish" | "MakeMoveVec" | "Upgrade" | "$Intent">[];
292
+ };
293
+ }>;
294
+ export declare const objects: import("../analyzer.js").Analyzer<{
295
+ ownerAddress: string | null;
296
+ id: string;
297
+ version: string;
298
+ digest: string;
299
+ owner: Experimental_HaneulClientTypes.ObjectOwner;
300
+ type: string;
301
+ content: PromiseLike<Uint8Array>;
302
+ previousTransaction: string | null;
303
+ }[], {
304
+ client: import("@haneullabs/haneul/experimental").Experimental_BaseClient & {
305
+ core: import("@haneullabs/haneul/experimental").Experimental_CoreClient;
306
+ };
307
+ }, {
308
+ objectIds: string[];
309
+ }>;
310
+ export declare const ownedObjects: import("../analyzer.js").Analyzer<{
311
+ ownerAddress: string | null;
312
+ id: string;
313
+ version: string;
314
+ digest: string;
315
+ owner: Experimental_HaneulClientTypes.ObjectOwner;
316
+ type: string;
317
+ content: PromiseLike<Uint8Array>;
318
+ previousTransaction: string | null;
319
+ }[], {
320
+ client: import("@haneullabs/haneul/experimental").Experimental_BaseClient & {
321
+ core: import("@haneullabs/haneul/experimental").Experimental_CoreClient;
322
+ };
323
+ }, {
324
+ objects: {
325
+ ownerAddress: string | null;
326
+ id: string;
327
+ version: string;
328
+ digest: string;
329
+ owner: Experimental_HaneulClientTypes.ObjectOwner;
330
+ type: string;
331
+ content: PromiseLike<Uint8Array>;
332
+ previousTransaction: string | null;
333
+ }[];
334
+ }>;
335
+ export declare const objectsById: import("../analyzer.js").Analyzer<Map<string, {
336
+ ownerAddress: string | null;
337
+ id: string;
338
+ version: string;
339
+ digest: string;
340
+ owner: Experimental_HaneulClientTypes.ObjectOwner;
341
+ type: string;
342
+ content: PromiseLike<Uint8Array>;
343
+ previousTransaction: string | null;
344
+ }>, {
345
+ client: import("@haneullabs/haneul/experimental").Experimental_BaseClient & {
346
+ core: import("@haneullabs/haneul/experimental").Experimental_CoreClient;
347
+ };
348
+ }, {
349
+ objects: {
350
+ ownerAddress: string | null;
351
+ id: string;
352
+ version: string;
353
+ digest: string;
354
+ owner: Experimental_HaneulClientTypes.ObjectOwner;
355
+ type: string;
356
+ content: PromiseLike<Uint8Array>;
357
+ previousTransaction: string | null;
358
+ }[];
359
+ }>;
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var objects_exports = {};
20
+ __export(objects_exports, {
21
+ objectIds: () => objectIds,
22
+ objects: () => objects,
23
+ objectsById: () => objectsById,
24
+ ownedObjects: () => ownedObjects
25
+ });
26
+ module.exports = __toCommonJS(objects_exports);
27
+ var import_analyzer = require("../analyzer.js");
28
+ var import_core = require("./core.js");
29
+ const objectIds = (0, import_analyzer.createAnalyzer)({
30
+ dependencies: { data: import_core.data },
31
+ analyze: () => ({ data: data2 }) => {
32
+ const issues = [];
33
+ const inputs = data2.inputs.filter((input) => {
34
+ switch (input.$kind) {
35
+ case "UnresolvedObject":
36
+ case "UnresolvedPure":
37
+ issues.push({ message: `Unexpected unresolved input: ${JSON.stringify(input)}` });
38
+ return false;
39
+ case "Pure":
40
+ return false;
41
+ case "Object":
42
+ return true;
43
+ default:
44
+ issues.push({ message: `Unknown input type: ${JSON.stringify(input)}` });
45
+ return false;
46
+ }
47
+ }).map((input) => {
48
+ switch (input.Object.$kind) {
49
+ case "ImmOrOwnedObject":
50
+ return input.Object.ImmOrOwnedObject.objectId;
51
+ case "SharedObject":
52
+ return input.Object.SharedObject.objectId;
53
+ case "Receiving":
54
+ return input.Object.Receiving.objectId;
55
+ default:
56
+ throw new Error(`Unknown object type: ${JSON.stringify(input)}`);
57
+ }
58
+ });
59
+ if (issues.length) {
60
+ return { issues };
61
+ }
62
+ const gasObjects = data2.gasData.payment?.map((obj) => obj.objectId) || [];
63
+ return {
64
+ result: Array.from(/* @__PURE__ */ new Set([...inputs, ...gasObjects]))
65
+ };
66
+ }
67
+ });
68
+ const objects = (0, import_analyzer.createAnalyzer)({
69
+ cacheKey: "objects@1.0.0",
70
+ dependencies: { objectIds },
71
+ analyze: ({ client }) => async ({ objectIds: objectIds2 }) => {
72
+ const { objects: objects2 } = await client.core.getObjects({
73
+ objectIds: objectIds2
74
+ });
75
+ const issues = [];
76
+ const foundObjects = objects2.filter(
77
+ (obj) => {
78
+ if (obj instanceof Error) {
79
+ issues.push({ message: `Failed to fetch object: ${obj.message}`, error: obj });
80
+ return false;
81
+ }
82
+ return true;
83
+ }
84
+ );
85
+ const result = foundObjects.map((obj) => {
86
+ let ownerAddress = null;
87
+ switch (obj.owner.$kind) {
88
+ case "AddressOwner":
89
+ ownerAddress = obj.owner.AddressOwner;
90
+ break;
91
+ case "ObjectOwner":
92
+ ownerAddress = obj.owner.ObjectOwner;
93
+ break;
94
+ case "ConsensusAddressOwner":
95
+ ownerAddress = obj.owner.ConsensusAddressOwner.owner;
96
+ break;
97
+ case "Shared":
98
+ case "Immutable":
99
+ ownerAddress = null;
100
+ break;
101
+ default:
102
+ issues.push({ message: `Unknown owner type: ${JSON.stringify(obj.owner)}` });
103
+ }
104
+ return { ...obj, ownerAddress };
105
+ });
106
+ if (issues.length) {
107
+ return { issues };
108
+ }
109
+ return { result };
110
+ }
111
+ });
112
+ const ownedObjects = (0, import_analyzer.createAnalyzer)({
113
+ dependencies: { objects },
114
+ analyze: () => ({ objects: objects2 }) => {
115
+ return { result: objects2.filter((obj) => obj.ownerAddress !== null) };
116
+ }
117
+ });
118
+ const objectsById = (0, import_analyzer.createAnalyzer)({
119
+ dependencies: { objects },
120
+ analyze: () => ({ objects: objects2 }) => ({
121
+ result: new Map(objects2.map((obj) => [obj.id, obj]))
122
+ })
123
+ });
124
+ //# sourceMappingURL=objects.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/transaction-analyzer/rules/objects.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ClientWithCoreApi, Experimental_HaneulClientTypes } from '@haneullabs/haneul/experimental';\nimport { createAnalyzer } from '../analyzer.js';\nimport type { TransactionAnalysisIssue } from '../analyzer.js';\n\nimport { data } from './core.js';\n\nexport type AnalyzedObject = Experimental_HaneulClientTypes.ObjectResponse & {\n\townerAddress: string | null;\n};\n\nexport const objectIds = createAnalyzer({\n\tdependencies: { data },\n\tanalyze:\n\t\t() =>\n\t\t({ data }) => {\n\t\t\tconst issues: TransactionAnalysisIssue[] = [];\n\n\t\t\tconst inputs = data.inputs\n\t\t\t\t.filter((input): input is Extract<typeof input, { $kind: 'Object' }> => {\n\t\t\t\t\tswitch (input.$kind) {\n\t\t\t\t\t\tcase 'UnresolvedObject':\n\t\t\t\t\t\tcase 'UnresolvedPure':\n\t\t\t\t\t\t\tissues.push({ message: `Unexpected unresolved input: ${JSON.stringify(input)}` });\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\tcase 'Pure':\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tissues.push({ message: `Unknown input type: ${JSON.stringify(input)}` });\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.map((input) => {\n\t\t\t\t\tswitch (input.Object.$kind) {\n\t\t\t\t\t\tcase 'ImmOrOwnedObject':\n\t\t\t\t\t\t\treturn input.Object.ImmOrOwnedObject.objectId;\n\t\t\t\t\t\tcase 'SharedObject':\n\t\t\t\t\t\t\treturn input.Object.SharedObject.objectId;\n\t\t\t\t\t\tcase 'Receiving':\n\t\t\t\t\t\t\treturn input.Object.Receiving.objectId;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tthrow new Error(`Unknown object type: ${JSON.stringify(input)}`);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tif (issues.length) {\n\t\t\t\treturn { issues };\n\t\t\t}\n\n\t\t\tconst gasObjects = data.gasData.payment?.map((obj) => obj.objectId) || [];\n\n\t\t\treturn {\n\t\t\t\tresult: Array.from(new Set([...inputs, ...gasObjects])),\n\t\t\t};\n\t\t},\n});\n\nexport const objects = createAnalyzer({\n\tcacheKey: 'objects@1.0.0',\n\tdependencies: { objectIds },\n\tanalyze:\n\t\t({ client }: { client: ClientWithCoreApi }) =>\n\t\tasync ({ objectIds }) => {\n\t\t\tconst { objects } = await client.core.getObjects({\n\t\t\t\tobjectIds,\n\t\t\t});\n\n\t\t\tconst issues: TransactionAnalysisIssue[] = [];\n\n\t\t\tconst foundObjects = objects.filter(\n\t\t\t\t(obj): obj is Experimental_HaneulClientTypes.ObjectResponse => {\n\t\t\t\t\tif (obj instanceof Error) {\n\t\t\t\t\t\tissues.push({ message: `Failed to fetch object: ${obj.message}`, error: obj });\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tconst result = foundObjects.map((obj) => {\n\t\t\t\tlet ownerAddress: string | null = null;\n\t\t\t\tswitch (obj.owner.$kind) {\n\t\t\t\t\tcase 'AddressOwner':\n\t\t\t\t\t\townerAddress = obj.owner.AddressOwner;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'ObjectOwner':\n\t\t\t\t\t\townerAddress = obj.owner.ObjectOwner;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'ConsensusAddressOwner':\n\t\t\t\t\t\townerAddress = obj.owner.ConsensusAddressOwner.owner;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Shared':\n\t\t\t\t\tcase 'Immutable':\n\t\t\t\t\t\townerAddress = null;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tissues.push({ message: `Unknown owner type: ${JSON.stringify(obj.owner)}` });\n\t\t\t\t}\n\n\t\t\t\treturn { ...obj, ownerAddress };\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 };\n\t\t},\n});\n\nexport const ownedObjects = createAnalyzer({\n\tdependencies: { objects },\n\tanalyze:\n\t\t() =>\n\t\t({ objects }) => {\n\t\t\treturn { result: objects.filter((obj) => obj.ownerAddress !== null) };\n\t\t},\n});\n\nexport const objectsById = createAnalyzer({\n\tdependencies: { objects },\n\tanalyze:\n\t\t() =>\n\t\t({ objects }) => ({\n\t\t\tresult: new Map(objects.map((obj) => [obj.id, obj])),\n\t\t}),\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["data", "objectIds", "objects"]
7
+ }
@@ -0,0 +1,5 @@
1
+ export type Defined = {} | null;
2
+ export type Simplify<T> = {
3
+ [K in keyof T]: T[K];
4
+ } & {};
5
+ export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var util_exports = {};
16
+ module.exports = __toCommonJS(util_exports);
17
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/util.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/ban-types */\n\nexport type Defined = {} | null;\nexport type Simplify<T> = { [K in keyof T]: T[K] } & {};\nexport type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n\tk: infer I,\n) => void\n\t? I\n\t: never;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,71 @@
1
+ import type { Analyzer, AnalyzerResult } from '../transaction-analyzer/analyzer.js';
2
+ export declare const autoApprovalAnalyzer: Analyzer<{
3
+ operationType: string | null;
4
+ bytes: Uint8Array<ArrayBufferLike>;
5
+ coinFlows: {
6
+ outflows: import("../transaction-analyzer/index.js").CoinFlow[];
7
+ };
8
+ accessLevel: Record<string, "read" | "mutate" | "transfer">;
9
+ ownedObjects: {
10
+ ownerAddress: string | null;
11
+ id: string;
12
+ version: string;
13
+ digest: string;
14
+ owner: import("@haneullabs/haneul/dist/cjs/experimental/types.js").Experimental_HaneulClientTypes.ObjectOwner;
15
+ type: string;
16
+ content: PromiseLike<Uint8Array>;
17
+ previousTransaction: string | null;
18
+ }[];
19
+ digest: string;
20
+ coinValues: {
21
+ total: number;
22
+ coinTypesWithoutPrice: string[];
23
+ coinTypes: {
24
+ coinType: string;
25
+ decimals: number;
26
+ price: number;
27
+ amount: bigint;
28
+ convertedAmount: number;
29
+ }[];
30
+ };
31
+ }, {
32
+ client: import("@haneullabs/haneul/dist/cjs/experimental/client.js").Experimental_BaseClient & {
33
+ core: import("@haneullabs/haneul/dist/cjs/experimental/core.js").Experimental_CoreClient;
34
+ };
35
+ getCoinPrices: (coinTypes: string[]) => Promise<{
36
+ coinType: string;
37
+ decimals: number;
38
+ price: number | null;
39
+ }[]>;
40
+ }, {
41
+ operationType: string | null;
42
+ bytes: Uint8Array<ArrayBufferLike>;
43
+ coinFlows: {
44
+ outflows: import("../transaction-analyzer/index.js").CoinFlow[];
45
+ };
46
+ coinValues: {
47
+ total: number;
48
+ coinTypesWithoutPrice: string[];
49
+ coinTypes: {
50
+ coinType: string;
51
+ decimals: number;
52
+ price: number;
53
+ amount: bigint;
54
+ convertedAmount: number;
55
+ }[];
56
+ };
57
+ accessLevel: Record<string, "read" | "mutate" | "transfer">;
58
+ ownedObjects: {
59
+ ownerAddress: string | null;
60
+ id: string;
61
+ version: string;
62
+ digest: string;
63
+ owner: import("@haneullabs/haneul/dist/cjs/experimental/types.js").Experimental_HaneulClientTypes.ObjectOwner;
64
+ type: string;
65
+ content: PromiseLike<Uint8Array>;
66
+ previousTransaction: string | null;
67
+ }[];
68
+ digest: string;
69
+ }>;
70
+ export type AutoApprovalAnalysis = typeof autoApprovalAnalyzer extends Analyzer<infer R, any, any> ? R : never;
71
+ export type AutoApprovalResult = AnalyzerResult<AutoApprovalAnalysis>;
@@ -0,0 +1,50 @@
1
+ import { createAnalyzer } from "../transaction-analyzer/index.js";
2
+ import { analyzers } from "../transaction-analyzer/index.js";
3
+ import { extractOperationType, OPERATION_INTENT } from "./intent.js";
4
+ const operationType = createAnalyzer({
5
+ dependencies: {
6
+ bytes: analyzers.bytes
7
+ },
8
+ analyze: (_options, tx) => {
9
+ let operationType2 = null;
10
+ tx.addIntentResolver(
11
+ OPERATION_INTENT,
12
+ extractOperationType((type) => {
13
+ operationType2 = type;
14
+ })
15
+ );
16
+ return async () => {
17
+ return {
18
+ result: operationType2
19
+ };
20
+ };
21
+ }
22
+ });
23
+ const autoApprovalAnalyzer = createAnalyzer({
24
+ dependencies: {
25
+ operationType,
26
+ bytes: analyzers.bytes,
27
+ coinFlows: analyzers.coinFlows,
28
+ coinValues: analyzers.coinValues,
29
+ accessLevel: analyzers.accessLevel,
30
+ ownedObjects: analyzers.ownedObjects,
31
+ digest: analyzers.digest
32
+ },
33
+ analyze: () => async ({ bytes, coinFlows, accessLevel, ownedObjects, digest, operationType: operationType2, coinValues }) => {
34
+ return {
35
+ result: {
36
+ operationType: operationType2,
37
+ bytes,
38
+ coinFlows,
39
+ accessLevel,
40
+ ownedObjects,
41
+ digest,
42
+ coinValues
43
+ }
44
+ };
45
+ }
46
+ });
47
+ export {
48
+ autoApprovalAnalyzer
49
+ };
50
+ //# sourceMappingURL=analyzer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/auto-approvals/analyzer.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Analyzer, AnalyzerResult } from '../transaction-analyzer/analyzer.js';\nimport { createAnalyzer } from '../transaction-analyzer/index.js';\nimport { analyzers } from '../transaction-analyzer/index.js';\nimport { extractOperationType, OPERATION_INTENT } from './intent.js';\n\nconst operationType = createAnalyzer({\n\tdependencies: {\n\t\tbytes: analyzers.bytes,\n\t},\n\tanalyze: (_options, tx) => {\n\t\tlet operationType: string | null = null;\n\t\ttx.addIntentResolver(\n\t\t\tOPERATION_INTENT,\n\t\t\textractOperationType((type) => {\n\t\t\t\toperationType = type;\n\t\t\t}),\n\t\t);\n\n\t\treturn async () => {\n\t\t\treturn {\n\t\t\t\tresult: operationType,\n\t\t\t};\n\t\t};\n\t},\n});\n\nexport const autoApprovalAnalyzer = createAnalyzer({\n\tdependencies: {\n\t\toperationType,\n\t\tbytes: analyzers.bytes,\n\t\tcoinFlows: analyzers.coinFlows,\n\t\tcoinValues: analyzers.coinValues,\n\t\taccessLevel: analyzers.accessLevel,\n\t\townedObjects: analyzers.ownedObjects,\n\t\tdigest: analyzers.digest,\n\t},\n\tanalyze:\n\t\t() =>\n\t\tasync ({ bytes, coinFlows, accessLevel, ownedObjects, digest, operationType, coinValues }) => {\n\t\t\treturn {\n\t\t\t\tresult: {\n\t\t\t\t\toperationType,\n\t\t\t\t\tbytes,\n\t\t\t\t\tcoinFlows,\n\t\t\t\t\taccessLevel,\n\t\t\t\t\townedObjects,\n\t\t\t\t\tdigest,\n\t\t\t\t\tcoinValues,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n});\n\nexport type AutoApprovalAnalysis =\n\ttypeof autoApprovalAnalyzer extends Analyzer<infer R, any, any> ? R : never;\nexport type AutoApprovalResult = AnalyzerResult<AutoApprovalAnalysis>;\n"],
5
+ "mappings": "AAIA,SAAS,sBAAsB;AAC/B,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB,wBAAwB;AAEvD,MAAM,gBAAgB,eAAe;AAAA,EACpC,cAAc;AAAA,IACb,OAAO,UAAU;AAAA,EAClB;AAAA,EACA,SAAS,CAAC,UAAU,OAAO;AAC1B,QAAIA,iBAA+B;AACnC,OAAG;AAAA,MACF;AAAA,MACA,qBAAqB,CAAC,SAAS;AAC9B,QAAAA,iBAAgB;AAAA,MACjB,CAAC;AAAA,IACF;AAEA,WAAO,YAAY;AAClB,aAAO;AAAA,QACN,QAAQA;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACD,CAAC;AAEM,MAAM,uBAAuB,eAAe;AAAA,EAClD,cAAc;AAAA,IACb;AAAA,IACA,OAAO,UAAU;AAAA,IACjB,WAAW,UAAU;AAAA,IACrB,YAAY,UAAU;AAAA,IACtB,aAAa,UAAU;AAAA,IACvB,cAAc,UAAU;AAAA,IACxB,QAAQ,UAAU;AAAA,EACnB;AAAA,EACA,SACC,MACA,OAAO,EAAE,OAAO,WAAW,aAAa,cAAc,QAAQ,eAAAA,gBAAe,WAAW,MAAM;AAC7F,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,eAAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACF,CAAC;",
6
+ "names": ["operationType"]
7
+ }
@@ -0,0 +1,6 @@
1
+ export { operationType, extractOperationType, OPERATION_INTENT } from './intent.js';
2
+ export { autoApprovalAnalyzer } from './analyzer.js';
3
+ export type { AutoApprovalResult, AutoApprovalAnalysis } from './analyzer.js';
4
+ export { AutoApprovalManager } from './manager.js';
5
+ export type { AutoApprovalIssue, AutoApprovalCheck } from './manager.js';
6
+ export * from './schemas/index.js';