@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
package/CHANGELOG.md ADDED
@@ -0,0 +1,69 @@
1
+ # @haneullabs/wallet-sdk
2
+
3
+ ## 0.0.8
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [29e8b92]
8
+ - @haneullabs/haneul@1.45.2
9
+ - @haneullabs/wallet-standard@0.19.9
10
+
11
+ ## 0.0.7
12
+
13
+ ### Patch Changes
14
+
15
+ - e3811f1: update valibot
16
+ - Updated dependencies [e3811f1]
17
+ - @haneullabs/haneul@1.45.1
18
+ - @haneullabs/wallet-standard@0.19.8
19
+
20
+ ## 0.0.6
21
+
22
+ ### Patch Changes
23
+
24
+ - a71f824: fix coin calculation in AutoApprovalManager.applyTransactionEffects
25
+
26
+ ## 0.0.5
27
+
28
+ ### Patch Changes
29
+
30
+ - Updated dependencies [88bdbac]
31
+ - @haneullabs/haneul@1.45.0
32
+ - @haneullabs/wallet-standard@0.19.7
33
+
34
+ ## 0.0.4
35
+
36
+ ### Patch Changes
37
+
38
+ - Updated dependencies [44d9b4f]
39
+ - @haneullabs/haneul@1.44.0
40
+ - @haneullabs/wallet-standard@0.19.6
41
+
42
+ ## 0.0.3
43
+
44
+ ### Patch Changes
45
+
46
+ - Updated dependencies [89fa2dc]
47
+ - @haneullabs/bcs@1.9.2
48
+ - @haneullabs/haneul@1.43.2
49
+ - @haneullabs/wallet-standard@0.19.5
50
+
51
+ ## 0.0.2
52
+
53
+ ### Patch Changes
54
+
55
+ - Updated dependencies [a37829f]
56
+ - @haneullabs/bcs@1.9.1
57
+ - @haneullabs/haneul@1.43.1
58
+ - @haneullabs/wallet-standard@0.19.4
59
+
60
+ ## 0.0.1
61
+
62
+ ### Patch Changes
63
+
64
+ - Updated dependencies [f3b19a7]
65
+ - Updated dependencies [f3b19a7]
66
+ - Updated dependencies [bf9f85c]
67
+ - @haneullabs/haneul@1.43.0
68
+ - @haneullabs/bcs@1.9.0
69
+ - @haneullabs/wallet-standard@0.19.3
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # `@haneullabs/wallet-sdk`
@@ -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,70 @@
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 analyzer_exports = {};
20
+ __export(analyzer_exports, {
21
+ autoApprovalAnalyzer: () => autoApprovalAnalyzer
22
+ });
23
+ module.exports = __toCommonJS(analyzer_exports);
24
+ var import_transaction_analyzer = require("../transaction-analyzer/index.js");
25
+ var import_transaction_analyzer2 = require("../transaction-analyzer/index.js");
26
+ var import_intent = require("./intent.js");
27
+ const operationType = (0, import_transaction_analyzer.createAnalyzer)({
28
+ dependencies: {
29
+ bytes: import_transaction_analyzer2.analyzers.bytes
30
+ },
31
+ analyze: (_options, tx) => {
32
+ let operationType2 = null;
33
+ tx.addIntentResolver(
34
+ import_intent.OPERATION_INTENT,
35
+ (0, import_intent.extractOperationType)((type) => {
36
+ operationType2 = type;
37
+ })
38
+ );
39
+ return async () => {
40
+ return {
41
+ result: operationType2
42
+ };
43
+ };
44
+ }
45
+ });
46
+ const autoApprovalAnalyzer = (0, import_transaction_analyzer.createAnalyzer)({
47
+ dependencies: {
48
+ operationType,
49
+ bytes: import_transaction_analyzer2.analyzers.bytes,
50
+ coinFlows: import_transaction_analyzer2.analyzers.coinFlows,
51
+ coinValues: import_transaction_analyzer2.analyzers.coinValues,
52
+ accessLevel: import_transaction_analyzer2.analyzers.accessLevel,
53
+ ownedObjects: import_transaction_analyzer2.analyzers.ownedObjects,
54
+ digest: import_transaction_analyzer2.analyzers.digest
55
+ },
56
+ analyze: () => async ({ bytes, coinFlows, accessLevel, ownedObjects, digest, operationType: operationType2, coinValues }) => {
57
+ return {
58
+ result: {
59
+ operationType: operationType2,
60
+ bytes,
61
+ coinFlows,
62
+ accessLevel,
63
+ ownedObjects,
64
+ digest,
65
+ coinValues
66
+ }
67
+ };
68
+ }
69
+ });
70
+ //# 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": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,kCAA+B;AAC/B,IAAAA,+BAA0B;AAC1B,oBAAuD;AAEvD,MAAM,oBAAgB,4CAAe;AAAA,EACpC,cAAc;AAAA,IACb,OAAO,uCAAU;AAAA,EAClB;AAAA,EACA,SAAS,CAAC,UAAU,OAAO;AAC1B,QAAIC,iBAA+B;AACnC,OAAG;AAAA,MACF;AAAA,UACA,oCAAqB,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,2BAAuB,4CAAe;AAAA,EAClD,cAAc;AAAA,IACb;AAAA,IACA,OAAO,uCAAU;AAAA,IACjB,WAAW,uCAAU;AAAA,IACrB,YAAY,uCAAU;AAAA,IACtB,aAAa,uCAAU;AAAA,IACvB,cAAc,uCAAU;AAAA,IACxB,QAAQ,uCAAU;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": ["import_transaction_analyzer", "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';
@@ -0,0 +1,33 @@
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var auto_approvals_exports = {};
21
+ __export(auto_approvals_exports, {
22
+ AutoApprovalManager: () => import_manager.AutoApprovalManager,
23
+ OPERATION_INTENT: () => import_intent.OPERATION_INTENT,
24
+ autoApprovalAnalyzer: () => import_analyzer.autoApprovalAnalyzer,
25
+ extractOperationType: () => import_intent.extractOperationType,
26
+ operationType: () => import_intent.operationType
27
+ });
28
+ module.exports = __toCommonJS(auto_approvals_exports);
29
+ var import_intent = require("./intent.js");
30
+ var import_analyzer = require("./analyzer.js");
31
+ var import_manager = require("./manager.js");
32
+ __reExport(auto_approvals_exports, require("./schemas/index.js"), module.exports);
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/auto-approvals/index.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { operationType, extractOperationType, OPERATION_INTENT } from './intent.js';\nexport { autoApprovalAnalyzer } from './analyzer.js';\nexport type { AutoApprovalResult, AutoApprovalAnalysis } from './analyzer.js';\n\nexport { AutoApprovalManager } from './manager.js';\nexport type { AutoApprovalIssue, AutoApprovalCheck } from './manager.js';\n\nexport * from './schemas/index.js';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAsE;AACtE,sBAAqC;AAGrC,qBAAoC;AAGpC,mCAAc,+BAVd;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ import type { Transaction, TransactionResult } from '@haneullabs/haneul/transactions';
2
+ import type { TransactionDataBuilder } from '@haneullabs/haneul/transactions';
3
+ export declare const OPERATION_INTENT = "@haneullabs/wallet-kit/AutoApprovalOperation";
4
+ export declare function operationType(operationType: string): (tx: Transaction) => TransactionResult;
5
+ export declare function extractOperationType(cb: (operationType: string) => void): (transactionData: TransactionDataBuilder, _options: unknown, next: () => Promise<void>) => Promise<void>;
@@ -0,0 +1,65 @@
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 intent_exports = {};
20
+ __export(intent_exports, {
21
+ OPERATION_INTENT: () => OPERATION_INTENT,
22
+ extractOperationType: () => extractOperationType,
23
+ operationType: () => operationType
24
+ });
25
+ module.exports = __toCommonJS(intent_exports);
26
+ var import_transactions = require("@haneullabs/haneul/transactions");
27
+ const OPERATION_INTENT = "@haneullabs/wallet-kit/AutoApprovalOperation";
28
+ function operationType(operationType2) {
29
+ return (tx) => {
30
+ tx.addIntentResolver(OPERATION_INTENT, (transactionData, _options, next) => {
31
+ replaceOperationTypeIntent(transactionData);
32
+ return next();
33
+ });
34
+ const result = tx.add(
35
+ import_transactions.Commands.Intent({
36
+ name: OPERATION_INTENT,
37
+ inputs: {},
38
+ data: { operationType: operationType2 }
39
+ })
40
+ );
41
+ return result;
42
+ };
43
+ }
44
+ function extractOperationType(cb) {
45
+ return (transactionData, _options, next) => {
46
+ replaceOperationTypeIntent(transactionData, cb);
47
+ return next();
48
+ };
49
+ }
50
+ function replaceOperationTypeIntent(transactionData, cb) {
51
+ let intentFound = false;
52
+ for (let index = 0; index < transactionData.commands.length; index++) {
53
+ const command = transactionData.commands[index];
54
+ if (command.$kind === "$Intent" && command.$Intent.name === OPERATION_INTENT) {
55
+ if (intentFound) {
56
+ throw new Error("Multiple operation type intents found in transaction");
57
+ }
58
+ intentFound = true;
59
+ const operationType2 = command.$Intent.data.operationType;
60
+ transactionData.replaceCommand(index, []);
61
+ cb?.(operationType2);
62
+ }
63
+ }
64
+ }
65
+ //# sourceMappingURL=intent.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/auto-approvals/intent.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Transaction, TransactionResult } from '@haneullabs/haneul/transactions';\nimport type { TransactionDataBuilder } from '@haneullabs/haneul/transactions';\nimport { Commands } from '@haneullabs/haneul/transactions';\n\nexport const OPERATION_INTENT = '@haneullabs/wallet-kit/AutoApprovalOperation';\n\nexport function operationType(operationType: string) {\n\treturn (tx: Transaction): TransactionResult => {\n\t\ttx.addIntentResolver(OPERATION_INTENT, (transactionData, _options, next) => {\n\t\t\treplaceOperationTypeIntent(transactionData);\n\t\t\treturn next();\n\t\t});\n\n\t\tconst result = tx.add(\n\t\t\tCommands.Intent({\n\t\t\t\tname: OPERATION_INTENT,\n\t\t\t\tinputs: {},\n\t\t\t\tdata: { operationType },\n\t\t\t}),\n\t\t);\n\n\t\treturn result;\n\t};\n}\n\nexport function extractOperationType(cb: (operationType: string) => void) {\n\treturn (\n\t\ttransactionData: TransactionDataBuilder,\n\t\t_options: unknown,\n\t\tnext: () => Promise<void>,\n\t) => {\n\t\treplaceOperationTypeIntent(transactionData, cb);\n\t\treturn next();\n\t};\n}\n\nfunction replaceOperationTypeIntent(\n\ttransactionData: TransactionDataBuilder,\n\tcb?: (operationType: string) => void,\n) {\n\tlet intentFound = false;\n\tfor (let index = 0; index < transactionData.commands.length; index++) {\n\t\tconst command = transactionData.commands[index];\n\t\tif (command.$kind === '$Intent' && command.$Intent.name === OPERATION_INTENT) {\n\t\t\tif (intentFound) {\n\t\t\t\tthrow new Error('Multiple operation type intents found in transaction');\n\t\t\t}\n\t\t\tintentFound = true;\n\t\t\tconst operationType = command.$Intent.data.operationType as string;\n\t\t\ttransactionData.replaceCommand(index, []);\n\t\t\tcb?.(operationType);\n\t\t}\n\t}\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,0BAAyB;AAElB,MAAM,mBAAmB;AAEzB,SAAS,cAAcA,gBAAuB;AACpD,SAAO,CAAC,OAAuC;AAC9C,OAAG,kBAAkB,kBAAkB,CAAC,iBAAiB,UAAU,SAAS;AAC3E,iCAA2B,eAAe;AAC1C,aAAO,KAAK;AAAA,IACb,CAAC;AAED,UAAM,SAAS,GAAG;AAAA,MACjB,6BAAS,OAAO;AAAA,QACf,MAAM;AAAA,QACN,QAAQ,CAAC;AAAA,QACT,MAAM,EAAE,eAAAA,eAAc;AAAA,MACvB,CAAC;AAAA,IACF;AAEA,WAAO;AAAA,EACR;AACD;AAEO,SAAS,qBAAqB,IAAqC;AACzE,SAAO,CACN,iBACA,UACA,SACI;AACJ,+BAA2B,iBAAiB,EAAE;AAC9C,WAAO,KAAK;AAAA,EACb;AACD;AAEA,SAAS,2BACR,iBACA,IACC;AACD,MAAI,cAAc;AAClB,WAAS,QAAQ,GAAG,QAAQ,gBAAgB,SAAS,QAAQ,SAAS;AACrE,UAAM,UAAU,gBAAgB,SAAS,KAAK;AAC9C,QAAI,QAAQ,UAAU,aAAa,QAAQ,QAAQ,SAAS,kBAAkB;AAC7E,UAAI,aAAa;AAChB,cAAM,IAAI,MAAM,sDAAsD;AAAA,MACvE;AACA,oBAAc;AACd,YAAMA,iBAAgB,QAAQ,QAAQ,KAAK;AAC3C,sBAAgB,eAAe,OAAO,CAAC,CAAC;AACxC,WAAKA,cAAa;AAAA,IACnB;AAAA,EACD;AACD;",
6
+ "names": ["operationType"]
7
+ }
@@ -0,0 +1,31 @@
1
+ import type { Experimental_HaneulClientTypes } from '@haneullabs/haneul/experimental';
2
+ import type { AutoApprovalState } from './schemas/state.js';
3
+ import type { AutoApprovalSettings } from './schemas/policy.js';
4
+ import type { AutoApprovalResult } from './analyzer.js';
5
+ export interface AutoApprovalManagerOptions {
6
+ policy: string;
7
+ state: string | null;
8
+ }
9
+ export interface AutoApprovalIssue {
10
+ message: string;
11
+ }
12
+ export interface AutoApprovalCheck {
13
+ matchesPolicy: boolean;
14
+ canAutoApprove: boolean;
15
+ policyIssues: AutoApprovalIssue[];
16
+ settingsIssues: AutoApprovalIssue[];
17
+ analysisIssues: AutoApprovalIssue[];
18
+ }
19
+ export declare class AutoApprovalManager {
20
+ #private;
21
+ constructor(options: AutoApprovalManagerOptions);
22
+ checkTransaction(analysis: AutoApprovalResult): AutoApprovalCheck;
23
+ commitTransaction(analysis: AutoApprovalResult): void;
24
+ revertTransaction(analysis: AutoApprovalResult): void;
25
+ applyTransactionEffects(analysis: AutoApprovalResult, result: Experimental_HaneulClientTypes.TransactionResponse): void;
26
+ reset(): void;
27
+ export(): string;
28
+ getState(): AutoApprovalState;
29
+ getSettings(): AutoApprovalSettings | null;
30
+ updateSettings(settings: AutoApprovalSettings): void;
31
+ }