@lit-protocol/vincent-policy-spending-limit 1.0.2 → 2.0.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 +22 -1
- package/CONTRIBUTING.md +8 -8
- package/README.md +16 -16
- package/dist/CHANGELOG.md +22 -1
- package/dist/CONTRIBUTING.md +8 -8
- package/dist/README.md +16 -16
- package/dist/package.json +2 -2
- package/dist/src/generated/lit-action.js +2 -2
- package/dist/src/generated/vincent-bundled-policy.d.ts +4 -4
- package/dist/src/generated/vincent-bundled-policy.js +2 -2
- package/dist/src/generated/vincent-bundled-policy.js.map +1 -1
- package/dist/src/generated/vincent-bundled-policy.ts +1 -1
- package/dist/src/generated/vincent-policy-metadata.json +1 -1
- package/dist/src/lib/lit-action.js +3 -3
- package/dist/src/lib/lit-action.js.map +1 -1
- package/dist/src/lib/schemas.d.ts +1 -1
- package/dist/src/lib/schemas.d.ts.map +1 -1
- package/dist/src/lib/schemas.js +39 -23
- package/dist/src/lib/schemas.js.map +1 -1
- package/dist/src/lib/vincent-policy.d.ts +4 -4
- package/dist/src/lib/vincent-policy.js +9 -9
- package/dist/src/lib/vincent-policy.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DO NOT EDIT THIS FILE. IT IS GENERATED ON BUILD.
|
|
3
3
|
*/
|
|
4
|
-
export declare const bundledVincentPolicy: import("@lit-protocol/vincent-
|
|
4
|
+
export declare const bundledVincentPolicy: import("@lit-protocol/vincent-ability-sdk").BundledVincentPolicy<import("node_modules/@lit-protocol/vincent-ability-sdk/dist/src/lib/types").VincentPolicy<"@lit-protocol/vincent-policy-spending-limit", import("zod").ZodObject<{
|
|
5
5
|
ethRpcUrl: import("zod").ZodString;
|
|
6
6
|
rpcUrlForUniswap: import("zod").ZodString;
|
|
7
7
|
chainIdForUniswap: import("zod").ZodNumber;
|
|
@@ -91,7 +91,7 @@ export declare const bundledVincentPolicy: import("@lit-protocol/vincent-tool-sd
|
|
|
91
91
|
error: string;
|
|
92
92
|
}, {
|
|
93
93
|
error: string;
|
|
94
|
-
}>, import("node_modules/@lit-protocol/vincent-
|
|
94
|
+
}>, import("node_modules/@lit-protocol/vincent-ability-sdk/dist/src/lib/types").PolicyLifecycleFunction<import("zod").ZodObject<{
|
|
95
95
|
ethRpcUrl: import("zod").ZodString;
|
|
96
96
|
rpcUrlForUniswap: import("zod").ZodString;
|
|
97
97
|
chainIdForUniswap: import("zod").ZodNumber;
|
|
@@ -139,7 +139,7 @@ export declare const bundledVincentPolicy: import("@lit-protocol/vincent-tool-sd
|
|
|
139
139
|
reason: string;
|
|
140
140
|
maxSpendingLimitInUsd?: number | undefined;
|
|
141
141
|
buyAmountInUsd?: number | undefined;
|
|
142
|
-
}>>, import("node_modules/@lit-protocol/vincent-
|
|
142
|
+
}>>, import("node_modules/@lit-protocol/vincent-ability-sdk/dist/src/lib/types").PolicyLifecycleFunction<import("zod").ZodObject<{
|
|
143
143
|
ethRpcUrl: import("zod").ZodString;
|
|
144
144
|
rpcUrlForUniswap: import("zod").ZodString;
|
|
145
145
|
chainIdForUniswap: import("zod").ZodNumber;
|
|
@@ -187,7 +187,7 @@ export declare const bundledVincentPolicy: import("@lit-protocol/vincent-tool-sd
|
|
|
187
187
|
maxSpendingLimitInUsd: number;
|
|
188
188
|
reason: "Attempted buy amount exceeds daily limit";
|
|
189
189
|
buyAmountInUsd: number;
|
|
190
|
-
}>>, import("node_modules/@lit-protocol/vincent-
|
|
190
|
+
}>>, import("node_modules/@lit-protocol/vincent-ability-sdk/dist/src/lib/types").CommitLifecycleFunction<import("zod").ZodObject<{
|
|
191
191
|
amountSpentUsd: import("zod").ZodNumber;
|
|
192
192
|
maxSpendingLimitInUsd: import("zod").ZodNumber;
|
|
193
193
|
}, "strip", import("zod").ZodTypeAny, {
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.bundledVincentPolicy = void 0;
|
|
7
7
|
const tslib_1 = require("tslib");
|
|
8
|
-
const
|
|
8
|
+
const vincent_ability_sdk_1 = require("@lit-protocol/vincent-ability-sdk");
|
|
9
9
|
const vincent_policy_1 = require("../lib/vincent-policy");
|
|
10
10
|
const vincent_policy_metadata_json_1 = tslib_1.__importDefault(require("./vincent-policy-metadata.json"));
|
|
11
11
|
if (!vincent_policy_metadata_json_1.default.ipfsCid) {
|
|
12
12
|
throw new Error('ipfsCid is not defined in metadata JSON file');
|
|
13
13
|
}
|
|
14
|
-
exports.bundledVincentPolicy = (0,
|
|
14
|
+
exports.bundledVincentPolicy = (0, vincent_ability_sdk_1.asBundledVincentPolicy)(vincent_policy_1.vincentPolicy, vincent_policy_metadata_json_1.default.ipfsCid);
|
|
15
15
|
//# sourceMappingURL=vincent-bundled-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vincent-bundled-policy.js","sourceRoot":"","sources":["../../../src/generated/vincent-bundled-policy.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"vincent-bundled-policy.js","sourceRoot":"","sources":["../../../src/generated/vincent-bundled-policy.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;AAEH,2EAA2E;AAC3E,0DAAsD;AACtD,0GAAsD;AAEtD,IAAG,CAAC,sCAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAClE,CAAC;AAEY,QAAA,oBAAoB,GAAG,IAAA,4CAAsB,EAAC,8BAAa,EAAE,sCAAQ,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* DO NOT EDIT THIS FILE. IT IS GENERATED ON BUILD.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { asBundledVincentPolicy } from '@lit-protocol/vincent-
|
|
5
|
+
import { asBundledVincentPolicy } from '@lit-protocol/vincent-ability-sdk';
|
|
6
6
|
import { vincentPolicy } from '../lib/vincent-policy';
|
|
7
7
|
import metadata from './vincent-policy-metadata.json';
|
|
8
8
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const vincent_ability_sdk_1 = require("@lit-protocol/vincent-ability-sdk");
|
|
4
4
|
const vincent_policy_1 = require("./vincent-policy");
|
|
5
5
|
(async () => {
|
|
6
|
-
return await (0,
|
|
6
|
+
return await (0, vincent_ability_sdk_1.vincentPolicyHandler)({
|
|
7
7
|
vincentPolicy: vincent_policy_1.vincentPolicy,
|
|
8
8
|
context,
|
|
9
|
-
|
|
9
|
+
abilityParams,
|
|
10
10
|
});
|
|
11
11
|
})();
|
|
12
12
|
//# sourceMappingURL=lit-action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-action.js","sourceRoot":"","sources":["../../../src/lib/lit-action.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"lit-action.js","sourceRoot":"","sources":["../../../src/lib/lit-action.ts"],"names":[],"mappings":";;AAAA,2EAAyE;AAEzE,qDAAiD;AAUjD,CAAC,KAAK,IAAI,EAAE;IACV,OAAO,MAAM,IAAA,0CAAoB,EAAC;QAChC,aAAa,EAAE,8BAAa;QAC5B,OAAO;QACP,aAAa;KACd,CAAC,CAAC;AACL,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAyB9B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;EAI3B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAMnC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;EAG7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;EAElC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC"}
|
package/dist/src/lib/schemas.js
CHANGED
|
@@ -1,44 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.commitDenyResultSchema = exports.commitAllowResultSchema = exports.commitParamsSchema = exports.evalDenyResultSchema = exports.evalAllowResultSchema = exports.precheckDenyResultSchema = exports.precheckAllowResultSchema = exports.userParamsSchema = exports.
|
|
3
|
+
exports.commitDenyResultSchema = exports.commitAllowResultSchema = exports.commitParamsSchema = exports.evalDenyResultSchema = exports.evalAllowResultSchema = exports.precheckDenyResultSchema = exports.precheckAllowResultSchema = exports.userParamsSchema = exports.abilityParamsSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
exports.
|
|
6
|
-
ethRpcUrl: zod_1.z
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
exports.abilityParamsSchema = zod_1.z.object({
|
|
6
|
+
ethRpcUrl: zod_1.z
|
|
7
|
+
.string()
|
|
8
|
+
.describe('An Ethereum Mainnet RPC Endpoint. This is used to check USD <> ETH prices via Chainlink.'),
|
|
9
|
+
rpcUrlForUniswap: zod_1.z
|
|
10
|
+
.string()
|
|
11
|
+
.describe('An RPC endpoint for any chain that is supported by the Uniswap. Must work for the chain specified in chainIdForUniswap.'),
|
|
12
|
+
chainIdForUniswap: zod_1.z
|
|
13
|
+
.number()
|
|
14
|
+
.describe('The chain ID to execute the transaction on. For example: 8453 for Base.'),
|
|
15
|
+
tokenAddress: zod_1.z
|
|
16
|
+
.string()
|
|
17
|
+
.describe('ERC20 Token address to spend/sell. For example 0x4200000000000000000000000000000000000006 for WETH on Base.'),
|
|
18
|
+
tokenDecimals: zod_1.z
|
|
19
|
+
.number()
|
|
20
|
+
.describe('ERC20 Token to spend/sell decimals. For example 18 for WETH on Base.'),
|
|
21
|
+
buyAmount: zod_1.z
|
|
22
|
+
.number()
|
|
23
|
+
.describe('Amount of token to spend/sell. For example 0.00001 for 0.00001 WETH.'),
|
|
12
24
|
});
|
|
13
25
|
exports.userParamsSchema = zod_1.z.object({
|
|
14
|
-
maxDailySpendingLimitInUsdCents: zod_1.z
|
|
26
|
+
maxDailySpendingLimitInUsdCents: zod_1.z
|
|
27
|
+
.bigint()
|
|
28
|
+
.describe('The maximum daily spending limit in USD cents, as a BigInt.'),
|
|
15
29
|
});
|
|
16
30
|
exports.precheckAllowResultSchema = zod_1.z.object({
|
|
17
|
-
maxSpendingLimitInUsd: zod_1.z.number(),
|
|
18
|
-
buyAmountInUsd: zod_1.z.number(),
|
|
31
|
+
maxSpendingLimitInUsd: zod_1.z.number().describe("The user's daily spending limit in USD."),
|
|
32
|
+
buyAmountInUsd: zod_1.z.number().describe('The value of the tokens to be spent, in USD.'),
|
|
19
33
|
});
|
|
20
34
|
exports.precheckDenyResultSchema = zod_1.z.object({
|
|
21
|
-
reason: zod_1.z
|
|
22
|
-
|
|
23
|
-
|
|
35
|
+
reason: zod_1.z
|
|
36
|
+
.literal('Attempted buy amount exceeds daily limit')
|
|
37
|
+
.describe('The reason for denying the precheck.'),
|
|
38
|
+
maxSpendingLimitInUsd: zod_1.z.number().describe("The user's daily spending limit in USD."),
|
|
39
|
+
buyAmountInUsd: zod_1.z.number().describe('The value of the tokens to be spent, in USD.'),
|
|
24
40
|
});
|
|
25
41
|
exports.evalAllowResultSchema = zod_1.z.object({
|
|
26
|
-
maxSpendingLimitInUsd: zod_1.z.number(),
|
|
27
|
-
buyAmountInUsd: zod_1.z.number(),
|
|
42
|
+
maxSpendingLimitInUsd: zod_1.z.number().describe("The user's daily spending limit in USD."),
|
|
43
|
+
buyAmountInUsd: zod_1.z.number().describe('The value of the tokens to be spent, in USD.'),
|
|
28
44
|
});
|
|
29
45
|
exports.evalDenyResultSchema = zod_1.z.object({
|
|
30
|
-
reason: zod_1.z.string(),
|
|
31
|
-
maxSpendingLimitInUsd: zod_1.z.number().optional(),
|
|
32
|
-
buyAmountInUsd: zod_1.z.number().optional(),
|
|
46
|
+
reason: zod_1.z.string().describe('The reason for denying the evaluation.'),
|
|
47
|
+
maxSpendingLimitInUsd: zod_1.z.number().optional().describe("The user's daily spending limit in USD."),
|
|
48
|
+
buyAmountInUsd: zod_1.z.number().optional().describe('The value of the tokens to be spent, in USD.'),
|
|
33
49
|
});
|
|
34
50
|
exports.commitParamsSchema = zod_1.z.object({
|
|
35
|
-
amountSpentUsd: zod_1.z.number(),
|
|
36
|
-
maxSpendingLimitInUsd: zod_1.z.number(),
|
|
51
|
+
amountSpentUsd: zod_1.z.number().describe('The amount spent for this transaction, in USD.'),
|
|
52
|
+
maxSpendingLimitInUsd: zod_1.z.number().describe("The user's daily spending limit in USD."),
|
|
37
53
|
});
|
|
38
54
|
exports.commitAllowResultSchema = zod_1.z.object({
|
|
39
|
-
spendTxHash: zod_1.z.string(),
|
|
55
|
+
spendTxHash: zod_1.z.string().describe('The hash of the transaction recording the amount spent.'),
|
|
40
56
|
});
|
|
41
57
|
exports.commitDenyResultSchema = zod_1.z.object({
|
|
42
|
-
error: zod_1.z.string(),
|
|
58
|
+
error: zod_1.z.string().describe('A string containing the error message if the commit failed.'),
|
|
43
59
|
});
|
|
44
60
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/lib/schemas.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/lib/schemas.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,CACP,0FAA0F,CAC3F;IACH,gBAAgB,EAAE,OAAC;SAChB,MAAM,EAAE;SACR,QAAQ,CACP,yHAAyH,CAC1H;IACH,iBAAiB,EAAE,OAAC;SACjB,MAAM,EAAE;SACR,QAAQ,CAAC,yEAAyE,CAAC;IACtF,YAAY,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,QAAQ,CACP,6GAA6G,CAC9G;IACH,aAAa,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,CAAC,sEAAsE,CAAC;IACnF,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,CAAC,sEAAsE,CAAC;CACpF,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,+BAA+B,EAAE,OAAC;SAC/B,MAAM,EAAE;SACR,QAAQ,CAAC,6DAA6D,CAAC;CAC3E,CAAC,CAAC;AAEU,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACrF,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CACpF,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,OAAC;SACN,OAAO,CAAC,0CAA0C,CAAC;SACnD,QAAQ,CAAC,sCAAsC,CAAC;IACnD,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACrF,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CACpF,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACrF,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CACpF,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACrE,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAChG,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CAC/F,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACrF,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACtF,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;CAC5F,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;CAC1F,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const vincentPolicy: import("node_modules/@lit-protocol/vincent-
|
|
1
|
+
export declare const vincentPolicy: import("node_modules/@lit-protocol/vincent-ability-sdk/dist/src/lib/types").VincentPolicy<"@lit-protocol/vincent-policy-spending-limit", import("zod").ZodObject<{
|
|
2
2
|
ethRpcUrl: import("zod").ZodString;
|
|
3
3
|
rpcUrlForUniswap: import("zod").ZodString;
|
|
4
4
|
chainIdForUniswap: import("zod").ZodNumber;
|
|
@@ -88,7 +88,7 @@ export declare const vincentPolicy: import("node_modules/@lit-protocol/vincent-t
|
|
|
88
88
|
error: string;
|
|
89
89
|
}, {
|
|
90
90
|
error: string;
|
|
91
|
-
}>, import("node_modules/@lit-protocol/vincent-
|
|
91
|
+
}>, import("node_modules/@lit-protocol/vincent-ability-sdk/dist/src/lib/types").PolicyLifecycleFunction<import("zod").ZodObject<{
|
|
92
92
|
ethRpcUrl: import("zod").ZodString;
|
|
93
93
|
rpcUrlForUniswap: import("zod").ZodString;
|
|
94
94
|
chainIdForUniswap: import("zod").ZodNumber;
|
|
@@ -136,7 +136,7 @@ export declare const vincentPolicy: import("node_modules/@lit-protocol/vincent-t
|
|
|
136
136
|
reason: string;
|
|
137
137
|
maxSpendingLimitInUsd?: number | undefined;
|
|
138
138
|
buyAmountInUsd?: number | undefined;
|
|
139
|
-
}>>, import("node_modules/@lit-protocol/vincent-
|
|
139
|
+
}>>, import("node_modules/@lit-protocol/vincent-ability-sdk/dist/src/lib/types").PolicyLifecycleFunction<import("zod").ZodObject<{
|
|
140
140
|
ethRpcUrl: import("zod").ZodString;
|
|
141
141
|
rpcUrlForUniswap: import("zod").ZodString;
|
|
142
142
|
chainIdForUniswap: import("zod").ZodNumber;
|
|
@@ -184,7 +184,7 @@ export declare const vincentPolicy: import("node_modules/@lit-protocol/vincent-t
|
|
|
184
184
|
maxSpendingLimitInUsd: number;
|
|
185
185
|
reason: "Attempted buy amount exceeds daily limit";
|
|
186
186
|
buyAmountInUsd: number;
|
|
187
|
-
}>>, import("node_modules/@lit-protocol/vincent-
|
|
187
|
+
}>>, import("node_modules/@lit-protocol/vincent-ability-sdk/dist/src/lib/types").CommitLifecycleFunction<import("zod").ZodObject<{
|
|
188
188
|
amountSpentUsd: import("zod").ZodNumber;
|
|
189
189
|
maxSpendingLimitInUsd: import("zod").ZodNumber;
|
|
190
190
|
}, "strip", import("zod").ZodTypeAny, {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.vincentPolicy = void 0;
|
|
4
|
-
const
|
|
4
|
+
const vincent_ability_sdk_1 = require("@lit-protocol/vincent-ability-sdk");
|
|
5
5
|
const send_spend_tx_1 = require("./policy-helpers/send-spend-tx");
|
|
6
6
|
const check_spending_limit_1 = require("./policy-helpers/check-spending-limit");
|
|
7
7
|
const schemas_1 = require("./schemas");
|
|
8
|
-
exports.vincentPolicy = (0,
|
|
8
|
+
exports.vincentPolicy = (0, vincent_ability_sdk_1.createVincentPolicy)({
|
|
9
9
|
packageName: '@lit-protocol/vincent-policy-spending-limit',
|
|
10
|
-
|
|
10
|
+
abilityParamsSchema: schemas_1.abilityParamsSchema,
|
|
11
11
|
userParamsSchema: schemas_1.userParamsSchema,
|
|
12
12
|
commitParamsSchema: schemas_1.commitParamsSchema,
|
|
13
13
|
precheckAllowResultSchema: schemas_1.precheckAllowResultSchema,
|
|
@@ -16,10 +16,10 @@ exports.vincentPolicy = (0, vincent_tool_sdk_1.createVincentPolicy)({
|
|
|
16
16
|
evalDenyResultSchema: schemas_1.evalDenyResultSchema,
|
|
17
17
|
commitAllowResultSchema: schemas_1.commitAllowResultSchema,
|
|
18
18
|
commitDenyResultSchema: schemas_1.commitDenyResultSchema,
|
|
19
|
-
precheck: async ({
|
|
20
|
-
console.log('Prechecking spending limit policy', {
|
|
19
|
+
precheck: async ({ abilityParams, userParams }, { allow, deny, appId, delegation: { delegatorPkpInfo } }) => {
|
|
20
|
+
console.log('Prechecking spending limit policy', { abilityParams, userParams });
|
|
21
21
|
const { ethAddress } = delegatorPkpInfo;
|
|
22
|
-
const { buyAmount, ethRpcUrl, rpcUrlForUniswap, chainIdForUniswap, tokenAddress, tokenDecimals, } =
|
|
22
|
+
const { buyAmount, ethRpcUrl, rpcUrlForUniswap, chainIdForUniswap, tokenAddress, tokenDecimals, } = abilityParams;
|
|
23
23
|
const { maxDailySpendingLimitInUsdCents } = userParams;
|
|
24
24
|
const { buyAmountAllowed, buyAmountInUsd, adjustedMaxDailySpendingLimit } = await (0, check_spending_limit_1.checkIfBuyAmountAllowed)({
|
|
25
25
|
ethRpcUrl,
|
|
@@ -43,10 +43,10 @@ exports.vincentPolicy = (0, vincent_tool_sdk_1.createVincentPolicy)({
|
|
|
43
43
|
buyAmountInUsd: Number(buyAmountInUsd),
|
|
44
44
|
});
|
|
45
45
|
},
|
|
46
|
-
evaluate: async ({
|
|
46
|
+
evaluate: async ({ abilityParams, userParams }, { allow, deny, appId, delegation: { delegatorPkpInfo } }) => {
|
|
47
47
|
const { ethAddress } = delegatorPkpInfo;
|
|
48
|
-
console.log('Evaluating spending limit policy', JSON.stringify(
|
|
49
|
-
const { buyAmount, ethRpcUrl, rpcUrlForUniswap, chainIdForUniswap, tokenAddress, tokenDecimals, } =
|
|
48
|
+
console.log('Evaluating spending limit policy', JSON.stringify(abilityParams));
|
|
49
|
+
const { buyAmount, ethRpcUrl, rpcUrlForUniswap, chainIdForUniswap, tokenAddress, tokenDecimals, } = abilityParams;
|
|
50
50
|
const { maxDailySpendingLimitInUsdCents } = userParams;
|
|
51
51
|
const checkBuyAmountResponse = await Lit.Actions.runOnce({ waitForResponse: true, name: 'checkBuyAmount' }, async () => {
|
|
52
52
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vincent-policy.js","sourceRoot":"","sources":["../../../src/lib/vincent-policy.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"vincent-policy.js","sourceRoot":"","sources":["../../../src/lib/vincent-policy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lit-protocol/vincent-policy-spending-limit",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"ethers": "^5.8.0",
|
|
10
10
|
"tslib": "2.8.1",
|
|
11
11
|
"zod": "^3.25.64",
|
|
12
|
-
"@lit-protocol/vincent-
|
|
12
|
+
"@lit-protocol/vincent-ability-sdk": "2.0.0"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@lit-protocol/vincent-app-sdk": "^
|
|
15
|
+
"@lit-protocol/vincent-app-sdk": "^2.0.0"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"esbuild": "^0.19.12",
|