@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.
- package/CHANGELOG.md +69 -0
- package/README.md +1 -0
- package/dist/cjs/auto-approvals/analyzer.d.ts +71 -0
- package/dist/cjs/auto-approvals/analyzer.js +70 -0
- package/dist/cjs/auto-approvals/analyzer.js.map +7 -0
- package/dist/cjs/auto-approvals/index.d.ts +6 -0
- package/dist/cjs/auto-approvals/index.js +33 -0
- package/dist/cjs/auto-approvals/index.js.map +7 -0
- package/dist/cjs/auto-approvals/intent.d.ts +5 -0
- package/dist/cjs/auto-approvals/intent.js +65 -0
- package/dist/cjs/auto-approvals/intent.js.map +7 -0
- package/dist/cjs/auto-approvals/manager.d.ts +31 -0
- package/dist/cjs/auto-approvals/manager.js +328 -0
- package/dist/cjs/auto-approvals/manager.js.map +7 -0
- package/dist/cjs/auto-approvals/schemas/index.d.ts +4 -0
- package/dist/cjs/auto-approvals/schemas/index.js +28 -0
- package/dist/cjs/auto-approvals/schemas/index.js.map +7 -0
- package/dist/cjs/auto-approvals/schemas/policy.d.ts +145 -0
- package/dist/cjs/auto-approvals/schemas/policy.js +79 -0
- package/dist/cjs/auto-approvals/schemas/policy.js.map +7 -0
- package/dist/cjs/auto-approvals/schemas/state.d.ts +115 -0
- package/dist/cjs/auto-approvals/schemas/state.js +49 -0
- package/dist/cjs/auto-approvals/schemas/state.js.map +7 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +5 -0
- package/dist/cjs/transaction-analyzer/analyzer.d.ts +34 -0
- package/dist/cjs/transaction-analyzer/analyzer.js +94 -0
- package/dist/cjs/transaction-analyzer/analyzer.js.map +7 -0
- package/dist/cjs/transaction-analyzer/index.d.ts +9 -0
- package/dist/cjs/transaction-analyzer/index.js +28 -0
- package/dist/cjs/transaction-analyzer/index.js.map +7 -0
- package/dist/cjs/transaction-analyzer/rules/accessLevel.d.ts +29 -0
- package/dist/cjs/transaction-analyzer/rules/accessLevel.js +106 -0
- package/dist/cjs/transaction-analyzer/rules/accessLevel.js.map +7 -0
- package/dist/cjs/transaction-analyzer/rules/coin-flows.d.ts +313 -0
- package/dist/cjs/transaction-analyzer/rules/coin-flows.js +179 -0
- package/dist/cjs/transaction-analyzer/rules/coin-flows.js.map +7 -0
- package/dist/cjs/transaction-analyzer/rules/coin-value.d.ts +42 -0
- package/dist/cjs/transaction-analyzer/rules/coin-value.js +60 -0
- package/dist/cjs/transaction-analyzer/rules/coin-value.js.map +7 -0
- package/dist/cjs/transaction-analyzer/rules/coins.d.ts +337 -0
- package/dist/cjs/transaction-analyzer/rules/coins.js +78 -0
- package/dist/cjs/transaction-analyzer/rules/coins.js.map +7 -0
- package/dist/cjs/transaction-analyzer/rules/commands.d.ts +366 -0
- package/dist/cjs/transaction-analyzer/rules/commands.js +148 -0
- package/dist/cjs/transaction-analyzer/rules/commands.js.map +7 -0
- package/dist/cjs/transaction-analyzer/rules/core.d.ts +314 -0
- package/dist/cjs/transaction-analyzer/rules/core.js +73 -0
- package/dist/cjs/transaction-analyzer/rules/core.js.map +7 -0
- package/dist/cjs/transaction-analyzer/rules/functions.d.ts +292 -0
- package/dist/cjs/transaction-analyzer/rules/functions.js +58 -0
- package/dist/cjs/transaction-analyzer/rules/functions.js.map +7 -0
- package/dist/cjs/transaction-analyzer/rules/index.d.ts +2244 -0
- package/dist/cjs/transaction-analyzer/rules/index.js +52 -0
- package/dist/cjs/transaction-analyzer/rules/index.js.map +7 -0
- package/dist/cjs/transaction-analyzer/rules/inputs.d.ts +313 -0
- package/dist/cjs/transaction-analyzer/rules/inputs.js +49 -0
- package/dist/cjs/transaction-analyzer/rules/inputs.js.map +7 -0
- package/dist/cjs/transaction-analyzer/rules/objects.d.ts +359 -0
- package/dist/cjs/transaction-analyzer/rules/objects.js +124 -0
- package/dist/cjs/transaction-analyzer/rules/objects.js.map +7 -0
- package/dist/cjs/util.d.ts +5 -0
- package/dist/cjs/util.js +17 -0
- package/dist/cjs/util.js.map +7 -0
- package/dist/esm/auto-approvals/analyzer.d.ts +71 -0
- package/dist/esm/auto-approvals/analyzer.js +50 -0
- package/dist/esm/auto-approvals/analyzer.js.map +7 -0
- package/dist/esm/auto-approvals/index.d.ts +6 -0
- package/dist/esm/auto-approvals/index.js +12 -0
- package/dist/esm/auto-approvals/index.js.map +7 -0
- package/dist/esm/auto-approvals/intent.d.ts +5 -0
- package/dist/esm/auto-approvals/intent.js +45 -0
- package/dist/esm/auto-approvals/intent.js.map +7 -0
- package/dist/esm/auto-approvals/manager.d.ts +31 -0
- package/dist/esm/auto-approvals/manager.js +308 -0
- package/dist/esm/auto-approvals/manager.js.map +7 -0
- package/dist/esm/auto-approvals/schemas/index.d.ts +4 -0
- package/dist/esm/auto-approvals/schemas/index.js +8 -0
- package/dist/esm/auto-approvals/schemas/index.js.map +7 -0
- package/dist/esm/auto-approvals/schemas/policy.d.ts +145 -0
- package/dist/esm/auto-approvals/schemas/policy.js +49 -0
- package/dist/esm/auto-approvals/schemas/policy.js.map +7 -0
- package/dist/esm/auto-approvals/schemas/state.d.ts +115 -0
- package/dist/esm/auto-approvals/schemas/state.js +19 -0
- package/dist/esm/auto-approvals/schemas/state.js.map +7 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/package.json +5 -0
- package/dist/esm/transaction-analyzer/analyzer.d.ts +34 -0
- package/dist/esm/transaction-analyzer/analyzer.js +74 -0
- package/dist/esm/transaction-analyzer/analyzer.js.map +7 -0
- package/dist/esm/transaction-analyzer/index.d.ts +9 -0
- package/dist/esm/transaction-analyzer/index.js +8 -0
- package/dist/esm/transaction-analyzer/index.js.map +7 -0
- package/dist/esm/transaction-analyzer/rules/accessLevel.d.ts +29 -0
- package/dist/esm/transaction-analyzer/rules/accessLevel.js +86 -0
- package/dist/esm/transaction-analyzer/rules/accessLevel.js.map +7 -0
- package/dist/esm/transaction-analyzer/rules/coin-flows.d.ts +313 -0
- package/dist/esm/transaction-analyzer/rules/coin-flows.js +159 -0
- package/dist/esm/transaction-analyzer/rules/coin-flows.js.map +7 -0
- package/dist/esm/transaction-analyzer/rules/coin-value.d.ts +42 -0
- package/dist/esm/transaction-analyzer/rules/coin-value.js +40 -0
- package/dist/esm/transaction-analyzer/rules/coin-value.js.map +7 -0
- package/dist/esm/transaction-analyzer/rules/coins.d.ts +337 -0
- package/dist/esm/transaction-analyzer/rules/coins.js +58 -0
- package/dist/esm/transaction-analyzer/rules/coins.js.map +7 -0
- package/dist/esm/transaction-analyzer/rules/commands.d.ts +366 -0
- package/dist/esm/transaction-analyzer/rules/commands.js +128 -0
- package/dist/esm/transaction-analyzer/rules/commands.js.map +7 -0
- package/dist/esm/transaction-analyzer/rules/core.d.ts +314 -0
- package/dist/esm/transaction-analyzer/rules/core.js +53 -0
- package/dist/esm/transaction-analyzer/rules/core.js.map +7 -0
- package/dist/esm/transaction-analyzer/rules/functions.d.ts +292 -0
- package/dist/esm/transaction-analyzer/rules/functions.js +38 -0
- package/dist/esm/transaction-analyzer/rules/functions.js.map +7 -0
- package/dist/esm/transaction-analyzer/rules/index.d.ts +2244 -0
- package/dist/esm/transaction-analyzer/rules/index.js +32 -0
- package/dist/esm/transaction-analyzer/rules/index.js.map +7 -0
- package/dist/esm/transaction-analyzer/rules/inputs.d.ts +313 -0
- package/dist/esm/transaction-analyzer/rules/inputs.js +29 -0
- package/dist/esm/transaction-analyzer/rules/inputs.js.map +7 -0
- package/dist/esm/transaction-analyzer/rules/objects.d.ts +359 -0
- package/dist/esm/transaction-analyzer/rules/objects.js +104 -0
- package/dist/esm/transaction-analyzer/rules/objects.js.map +7 -0
- package/dist/esm/util.d.ts +5 -0
- package/dist/esm/util.js +1 -0
- package/dist/esm/util.js.map +7 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- 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
|
+
}
|