@lit-protocol/vincent-ability-sdk 0.0.1-ea
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 +64 -0
- package/CONTRIBUTING.md +117 -0
- package/README.md +213 -0
- package/dist/package.json +44 -0
- package/dist/src/index.d.ts +15 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +21 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/internal.d.ts +12 -0
- package/dist/src/internal.d.ts.map +1 -0
- package/dist/src/internal.js +32 -0
- package/dist/src/internal.js.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.d.ts +28 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.js +51 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.js.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.d.ts +18 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.js +48 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.js.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/types.d.ts +31 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/types.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/types.js +9 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/types.js.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/types.d.ts +20 -0
- package/dist/src/lib/abilityCore/abilityConfig/types.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/types.js +4 -0
- package/dist/src/lib/abilityCore/abilityConfig/types.js.map +1 -0
- package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.d.ts +5 -0
- package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.js +21 -0
- package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.js.map +1 -0
- package/dist/src/lib/abilityCore/bundledAbility/types.d.ts +18 -0
- package/dist/src/lib/abilityCore/bundledAbility/types.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/bundledAbility/types.js +4 -0
- package/dist/src/lib/abilityCore/bundledAbility/types.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.d.ts +5 -0
- package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.js +18 -0
- package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/getPkpInfo.d.ts +10 -0
- package/dist/src/lib/abilityCore/helpers/getPkpInfo.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/getPkpInfo.js +26 -0
- package/dist/src/lib/abilityCore/helpers/getPkpInfo.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/index.d.ts +5 -0
- package/dist/src/lib/abilityCore/helpers/index.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/index.js +12 -0
- package/dist/src/lib/abilityCore/helpers/index.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/resultCreators.d.ts +21 -0
- package/dist/src/lib/abilityCore/helpers/resultCreators.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/resultCreators.js +48 -0
- package/dist/src/lib/abilityCore/helpers/resultCreators.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.d.ts +55 -0
- package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.js +68 -0
- package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/typeGuards.d.ts +8 -0
- package/dist/src/lib/abilityCore/helpers/typeGuards.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/typeGuards.js +28 -0
- package/dist/src/lib/abilityCore/helpers/typeGuards.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/validatePolicies.d.ts +24 -0
- package/dist/src/lib/abilityCore/helpers/validatePolicies.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/validatePolicies.js +31 -0
- package/dist/src/lib/abilityCore/helpers/validatePolicies.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/zod.d.ts +43 -0
- package/dist/src/lib/abilityCore/helpers/zod.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/zod.js +70 -0
- package/dist/src/lib/abilityCore/helpers/zod.js.map +1 -0
- package/dist/src/lib/abilityCore/vincentAbility.d.ts +54 -0
- package/dist/src/lib/abilityCore/vincentAbility.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/vincentAbility.js +162 -0
- package/dist/src/lib/abilityCore/vincentAbility.js.map +1 -0
- package/dist/src/lib/assertSupportedAbilityVersion.d.ts +2 -0
- package/dist/src/lib/assertSupportedAbilityVersion.d.ts.map +1 -0
- package/dist/src/lib/assertSupportedAbilityVersion.js +15 -0
- package/dist/src/lib/assertSupportedAbilityVersion.js.map +1 -0
- package/dist/src/lib/constants.d.ts +2 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +5 -0
- package/dist/src/lib/constants.js.map +1 -0
- package/dist/src/lib/handlers/constants.d.ts +2 -0
- package/dist/src/lib/handlers/constants.d.ts.map +1 -0
- package/dist/src/lib/handlers/constants.js +6 -0
- package/dist/src/lib/handlers/constants.js.map +1 -0
- package/dist/src/lib/handlers/evaluatePolicies.d.ts +11 -0
- package/dist/src/lib/handlers/evaluatePolicies.d.ts.map +1 -0
- package/dist/src/lib/handlers/evaluatePolicies.js +110 -0
- package/dist/src/lib/handlers/evaluatePolicies.js.map +1 -0
- package/dist/src/lib/handlers/vincentAbilityHandler.d.ts +15 -0
- package/dist/src/lib/handlers/vincentAbilityHandler.d.ts.map +1 -0
- package/dist/src/lib/handlers/vincentAbilityHandler.js +160 -0
- package/dist/src/lib/handlers/vincentAbilityHandler.js.map +1 -0
- package/dist/src/lib/handlers/vincentPolicyHandler.d.ts +13 -0
- package/dist/src/lib/handlers/vincentPolicyHandler.d.ts.map +1 -0
- package/dist/src/lib/handlers/vincentPolicyHandler.js +70 -0
- package/dist/src/lib/handlers/vincentPolicyHandler.js.map +1 -0
- package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.d.ts +5 -0
- package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.d.ts.map +1 -0
- package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.js +21 -0
- package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.js.map +1 -0
- package/dist/src/lib/policyCore/bundledPolicy/types.d.ts +17 -0
- package/dist/src/lib/policyCore/bundledPolicy/types.d.ts.map +1 -0
- package/dist/src/lib/policyCore/bundledPolicy/types.js +4 -0
- package/dist/src/lib/policyCore/bundledPolicy/types.js.map +1 -0
- package/dist/src/lib/policyCore/helpers/index.d.ts +5 -0
- package/dist/src/lib/policyCore/helpers/index.d.ts.map +1 -0
- package/dist/src/lib/policyCore/helpers/index.js +16 -0
- package/dist/src/lib/policyCore/helpers/index.js.map +1 -0
- package/dist/src/lib/policyCore/helpers/resultCreators.d.ts +38 -0
- package/dist/src/lib/policyCore/helpers/resultCreators.d.ts.map +1 -0
- package/dist/src/lib/policyCore/helpers/resultCreators.js +89 -0
- package/dist/src/lib/policyCore/helpers/resultCreators.js.map +1 -0
- package/dist/src/lib/policyCore/helpers/typeGuards.d.ts +7 -0
- package/dist/src/lib/policyCore/helpers/typeGuards.d.ts.map +1 -0
- package/dist/src/lib/policyCore/helpers/typeGuards.js +23 -0
- package/dist/src/lib/policyCore/helpers/typeGuards.js.map +1 -0
- package/dist/src/lib/policyCore/helpers/zod.d.ts +55 -0
- package/dist/src/lib/policyCore/helpers/zod.d.ts.map +1 -0
- package/dist/src/lib/policyCore/helpers/zod.js +82 -0
- package/dist/src/lib/policyCore/helpers/zod.js.map +1 -0
- package/dist/src/lib/policyCore/index.d.ts +3 -0
- package/dist/src/lib/policyCore/index.d.ts.map +1 -0
- package/dist/src/lib/policyCore/index.js +8 -0
- package/dist/src/lib/policyCore/index.js.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.d.ts +12 -0
- package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.d.ts.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.js +20 -0
- package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.js.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/resultCreators.d.ts +6 -0
- package/dist/src/lib/policyCore/policyConfig/context/resultCreators.d.ts.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/resultCreators.js +30 -0
- package/dist/src/lib/policyCore/policyConfig/context/resultCreators.js.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/types.d.ts +24 -0
- package/dist/src/lib/policyCore/policyConfig/context/types.d.ts.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/types.js +5 -0
- package/dist/src/lib/policyCore/policyConfig/context/types.js.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/types.d.ts +46 -0
- package/dist/src/lib/policyCore/policyConfig/types.d.ts.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/types.js +3 -0
- package/dist/src/lib/policyCore/policyConfig/types.js.map +1 -0
- package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.d.ts +17 -0
- package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.d.ts.map +1 -0
- package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.js +54 -0
- package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.js.map +1 -0
- package/dist/src/lib/policyCore/vincentPolicy.d.ts +92 -0
- package/dist/src/lib/policyCore/vincentPolicy.d.ts.map +1 -0
- package/dist/src/lib/policyCore/vincentPolicy.js +242 -0
- package/dist/src/lib/policyCore/vincentPolicy.js.map +1 -0
- package/dist/src/lib/types.d.ts +260 -0
- package/dist/src/lib/types.d.ts.map +1 -0
- package/dist/src/lib/types.js +4 -0
- package/dist/src/lib/types.js.map +1 -0
- package/dist/src/lib/utils.d.ts +2 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +8 -0
- package/dist/src/lib/utils.js.map +1 -0
- package/dist/src/type-inference-verification/ability-definition-tests.d.ts +702 -0
- package/dist/src/type-inference-verification/ability-definition-tests.d.ts.map +1 -0
- package/dist/src/type-inference-verification/ability-definition-tests.js +203 -0
- package/dist/src/type-inference-verification/ability-definition-tests.js.map +1 -0
- package/dist/src/type-inference-verification/ability-lifecycle-inference.d.ts +2 -0
- package/dist/src/type-inference-verification/ability-lifecycle-inference.d.ts.map +1 -0
- package/dist/src/type-inference-verification/ability-lifecycle-inference.js +109 -0
- package/dist/src/type-inference-verification/ability-lifecycle-inference.js.map +1 -0
- package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.d.ts +923 -0
- package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.d.ts.map +1 -0
- package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.js +196 -0
- package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.js.map +1 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases-ability.d.ts +4305 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases-ability.d.ts.map +1 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases-ability.js +644 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases-ability.js.map +1 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases.d.ts +646 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases.d.ts.map +1 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases.js +264 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases.js.map +1 -0
- package/dist/src/type-inference-verification/context-switching-tests.d.ts +637 -0
- package/dist/src/type-inference-verification/context-switching-tests.d.ts.map +1 -0
- package/dist/src/type-inference-verification/context-switching-tests.js +229 -0
- package/dist/src/type-inference-verification/context-switching-tests.js.map +1 -0
- package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.d.ts +2 -0
- package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.d.ts.map +1 -0
- package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.js +56 -0
- package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.js.map +1 -0
- package/dist/src/type-inference-verification/create-vincent-ability-policy.d.ts +2 -0
- package/dist/src/type-inference-verification/create-vincent-ability-policy.d.ts.map +1 -0
- package/dist/src/type-inference-verification/create-vincent-ability-policy.js +49 -0
- package/dist/src/type-inference-verification/create-vincent-ability-policy.js.map +1 -0
- package/dist/src/type-inference-verification/create-vincent-ability.d.ts +250 -0
- package/dist/src/type-inference-verification/create-vincent-ability.d.ts.map +1 -0
- package/dist/src/type-inference-verification/create-vincent-ability.js +68 -0
- package/dist/src/type-inference-verification/create-vincent-ability.js.map +1 -0
- package/dist/src/type-inference-verification/parameter-inference-tests-tool.d.ts +1710 -0
- package/dist/src/type-inference-verification/parameter-inference-tests-tool.d.ts.map +1 -0
- package/dist/src/type-inference-verification/parameter-inference-tests-tool.js +537 -0
- package/dist/src/type-inference-verification/parameter-inference-tests-tool.js.map +1 -0
- package/dist/src/type-inference-verification/parameter-inference-tests.d.ts +456 -0
- package/dist/src/type-inference-verification/parameter-inference-tests.d.ts.map +1 -0
- package/dist/src/type-inference-verification/parameter-inference-tests.js +179 -0
- package/dist/src/type-inference-verification/parameter-inference-tests.js.map +1 -0
- package/dist/src/type-inference-verification/playground.d.ts +1556 -0
- package/dist/src/type-inference-verification/playground.d.ts.map +1 -0
- package/dist/src/type-inference-verification/playground.js +473 -0
- package/dist/src/type-inference-verification/playground.js.map +1 -0
- package/dist/src/type-inference-verification/schema-test.d.ts +470 -0
- package/dist/src/type-inference-verification/schema-test.d.ts.map +1 -0
- package/dist/src/type-inference-verification/schema-test.js +252 -0
- package/dist/src/type-inference-verification/schema-test.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/abilityCore/abilityConfig/context/resultCreators.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createSuccess = createSuccess;
|
|
5
|
+
exports.createSuccessNoResult = createSuccessNoResult;
|
|
6
|
+
exports.createFailure = createFailure;
|
|
7
|
+
exports.createFailureNoResult = createFailureNoResult;
|
|
8
|
+
const types_1 = require("./types");
|
|
9
|
+
/**
|
|
10
|
+
* Wraps a success result with payload
|
|
11
|
+
*/
|
|
12
|
+
function createSuccess(result) {
|
|
13
|
+
return {
|
|
14
|
+
success: true,
|
|
15
|
+
result,
|
|
16
|
+
[types_1.YouMustCallContextSucceedOrFail]: 'AbilityResult',
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Wraps a success result without payload
|
|
21
|
+
*/
|
|
22
|
+
function createSuccessNoResult() {
|
|
23
|
+
return {
|
|
24
|
+
success: true,
|
|
25
|
+
[types_1.YouMustCallContextSucceedOrFail]: 'AbilityResult',
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Wraps a failure result with payload
|
|
30
|
+
*/
|
|
31
|
+
function createFailure(result) {
|
|
32
|
+
return {
|
|
33
|
+
success: false,
|
|
34
|
+
result,
|
|
35
|
+
[types_1.YouMustCallContextSucceedOrFail]: 'AbilityResult',
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Wraps a failure result without payload
|
|
40
|
+
*/
|
|
41
|
+
function createFailureNoResult() {
|
|
42
|
+
return {
|
|
43
|
+
success: false,
|
|
44
|
+
result: undefined,
|
|
45
|
+
[types_1.YouMustCallContextSucceedOrFail]: 'AbilityResult',
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=resultCreators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultCreators.js","sourceRoot":"","sources":["../../../../../../src/lib/abilityCore/abilityConfig/context/resultCreators.ts"],"names":[],"mappings":";AAAA,8DAA8D;;AAc9D,sCAMC;AAKD,sDAKC;AAKD,sCAMC;AAKD,sDAMC;AA3CD,mCAA0D;AAE1D;;GAEG;AACH,SAAgB,aAAa,CAAI,MAAS;IACxC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM;QACN,CAAC,uCAA+B,CAAC,EAAE,eAAe;KAC9B,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,CAAC,uCAA+B,CAAC,EAAE,eAAe;KACzB,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAI,MAAS;IACxC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM;QACN,CAAC,uCAA+B,CAAC,EAAE,eAAe;KAC9B,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,SAAkB;QAC1B,CAAC,uCAA+B,CAAC,EAAE,eAAe;KACzB,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { BaseContext, AbilityResultFailure, AbilityResultFailureNoResult, AbilityResultSuccess, AbilityResultSuccessNoResult } from '../../../types';
|
|
3
|
+
/** BaseAbilityContext is returned with ability execution results, and contains information about the app, delegation, and
|
|
4
|
+
* policy evaluation results for any policies that the user had enabled for the ability.
|
|
5
|
+
*
|
|
6
|
+
* @category Interfaces
|
|
7
|
+
*/
|
|
8
|
+
export interface BaseAbilityContext<Policies> extends BaseContext {
|
|
9
|
+
policiesContext: Policies;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Enforces that ability results (success/failure) must come from context helpers like `context.succeed()` or `context.fail()`.
|
|
13
|
+
*/
|
|
14
|
+
export declare const YouMustCallContextSucceedOrFail: unique symbol;
|
|
15
|
+
export type MustCallContextSucceedOrFail<T> = T & {
|
|
16
|
+
[YouMustCallContextSucceedOrFail]: 'AbilityResult';
|
|
17
|
+
};
|
|
18
|
+
export type EnforceAbilityResult<T> = typeof YouMustCallContextSucceedOrFail extends keyof T ? T : {
|
|
19
|
+
ERROR: 'You must return the result of context.succeed() or context.fail()';
|
|
20
|
+
FIX: 'Do not construct ability result objects manually.';
|
|
21
|
+
};
|
|
22
|
+
export type ContextSuccess<SuccessResult = undefined> = MustCallContextSucceedOrFail<AbilityResultSuccess<SuccessResult>>;
|
|
23
|
+
export type ContextSuccessNoResult = MustCallContextSucceedOrFail<AbilityResultSuccessNoResult>;
|
|
24
|
+
export type ContextFailure<FailResult = undefined> = MustCallContextSucceedOrFail<AbilityResultFailure<FailResult>>;
|
|
25
|
+
export type ContextFailureNoResult = MustCallContextSucceedOrFail<AbilityResultFailureNoResult>;
|
|
26
|
+
export type ContextResult<SuccessResult, FailResult> = ContextSuccess<SuccessResult> | ContextFailure<FailResult>;
|
|
27
|
+
export interface AbilityContext<SuccessSchema extends z.ZodType = z.ZodUndefined, FailSchema extends z.ZodType = z.ZodUndefined, Policies = any> extends BaseAbilityContext<Policies> {
|
|
28
|
+
succeed: SuccessSchema extends z.ZodUndefined ? () => ContextSuccess : (result: z.infer<SuccessSchema>) => ContextSuccess<z.infer<SuccessSchema>>;
|
|
29
|
+
fail: FailSchema extends z.ZodUndefined ? () => ContextFailure : (result: z.infer<FailSchema>, runtimeError?: string) => ContextFailure<z.infer<FailSchema>>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/abilityCore/abilityConfig/context/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,QAAQ,CAAE,SAAQ,WAAW;IAC/D,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,OAAO,MAEpD,CAAC;AAEF,MAAM,MAAM,4BAA4B,CAAC,CAAC,IAAI,CAAC,GAAG;IAChD,CAAC,+BAA+B,CAAC,EAAE,eAAe,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,OAAO,+BAA+B,SAAS,MAAM,CAAC,GACxF,CAAC,GACD;IACE,KAAK,EAAE,mEAAmE,CAAC;IAC3E,GAAG,EAAE,mDAAmD,CAAC;CAC1D,CAAC;AAEN,MAAM,MAAM,cAAc,CAAC,aAAa,GAAG,SAAS,IAAI,4BAA4B,CAClF,oBAAoB,CAAC,aAAa,CAAC,CACpC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,CAAC,4BAA4B,CAAC,CAAC;AAEhG,MAAM,MAAM,cAAc,CAAC,UAAU,GAAG,SAAS,IAAI,4BAA4B,CAC/E,oBAAoB,CAAC,UAAU,CAAC,CACjC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,CAAC,4BAA4B,CAAC,CAAC;AAEhG,MAAM,MAAM,aAAa,CAAC,aAAa,EAAE,UAAU,IAC/C,cAAc,CAAC,aAAa,CAAC,GAC7B,cAAc,CAAC,UAAU,CAAC,CAAC;AAE/B,MAAM,WAAW,cAAc,CAC7B,aAAa,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EAChD,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EAC7C,QAAQ,GAAG,GAAG,CACd,SAAQ,kBAAkB,CAAC,QAAQ,CAAC;IACpC,OAAO,EAAE,aAAa,SAAS,CAAC,CAAC,YAAY,GACzC,MAAM,cAAc,GACpB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAE/E,IAAI,EAAE,UAAU,SAAS,CAAC,CAAC,YAAY,GACnC,MAAM,cAAc,GACpB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;CACjG"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/abilityCore/abilityConfig/context/types.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.YouMustCallContextSucceedOrFail = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Enforces that ability results (success/failure) must come from context helpers like `context.succeed()` or `context.fail()`.
|
|
7
|
+
*/
|
|
8
|
+
exports.YouMustCallContextSucceedOrFail = Symbol('ExecuteAbilityResult must come from context.succeed() or context.fail()');
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/lib/abilityCore/abilityConfig/context/types.ts"],"names":[],"mappings":";AAAA,qDAAqD;;;AAqBrD;;GAEG;AACU,QAAA,+BAA+B,GAAkB,MAAM,CAClE,yEAAyE,CAC1E,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { PolicyEvaluationResultContext, AbilityExecutionPolicyContext } from '../../types';
|
|
3
|
+
import type { AbilityPolicyMap } from '../helpers';
|
|
4
|
+
import type { ContextFailure, ContextSuccess, EnforceAbilityResult, AbilityContext } from './context/types';
|
|
5
|
+
export type AbilityConfigLifecycleFunction<AbilityParams extends z.ZodType, Policies, SuccessSchema extends z.ZodType = z.ZodUndefined, FailSchema extends z.ZodType = z.ZodUndefined> = (args: {
|
|
6
|
+
abilityParams: z.infer<AbilityParams>;
|
|
7
|
+
}, context: AbilityContext<SuccessSchema, FailSchema, Policies>) => Promise<EnforceAbilityResult<ContextSuccess<z.infer<SuccessSchema>> | ContextFailure<z.infer<FailSchema>>>>;
|
|
8
|
+
export type VincentAbilityConfig<AbilityParamsSchema extends z.ZodType, PkgNames extends string, PolicyMap extends AbilityPolicyMap<any, PkgNames>, PoliciesByPackageName extends PolicyMap['policyByPackageName'], PrecheckSuccessSchema extends z.ZodType = z.ZodUndefined, PrecheckFailSchema extends z.ZodType = z.ZodUndefined, ExecuteSuccessSchema extends z.ZodType = z.ZodUndefined, ExecuteFailSchema extends z.ZodType = z.ZodUndefined, PrecheckFn = undefined | AbilityConfigLifecycleFunction<AbilityParamsSchema, PolicyEvaluationResultContext<PoliciesByPackageName>, PrecheckSuccessSchema, PrecheckFailSchema>, ExecuteFn = AbilityConfigLifecycleFunction<AbilityParamsSchema, AbilityExecutionPolicyContext<PoliciesByPackageName>, ExecuteSuccessSchema, ExecuteFailSchema>> = {
|
|
9
|
+
packageName: string;
|
|
10
|
+
abilityDescription: string;
|
|
11
|
+
abilityParamsSchema: AbilityParamsSchema;
|
|
12
|
+
supportedPolicies: PolicyMap;
|
|
13
|
+
precheckSuccessSchema?: PrecheckSuccessSchema;
|
|
14
|
+
precheckFailSchema?: PrecheckFailSchema;
|
|
15
|
+
executeSuccessSchema?: ExecuteSuccessSchema;
|
|
16
|
+
executeFailSchema?: ExecuteFailSchema;
|
|
17
|
+
precheck?: PrecheckFn;
|
|
18
|
+
execute: ExecuteFn;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/abilityConfig/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,8BAA8B,CACxC,aAAa,SAAS,CAAC,CAAC,OAAO,EAC/B,QAAQ,EACR,aAAa,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EAChD,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,IAC3C,CACF,IAAI,EAAE;IACJ,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;CACvC,EACD,OAAO,EAAE,cAAc,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,KACzD,OAAO,CACV,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CACnG,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC9B,mBAAmB,SAAS,CAAC,CAAC,OAAO,EACrC,QAAQ,SAAS,MAAM,EACvB,SAAS,SAAS,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,EACjD,qBAAqB,SAAS,SAAS,CAAC,qBAAqB,CAAC,EAC9D,qBAAqB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACxD,kBAAkB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACrD,oBAAoB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACvD,iBAAiB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACpD,UAAU,GACN,SAAS,GACT,8BAA8B,CAC5B,mBAAmB,EACnB,6BAA6B,CAAC,qBAAqB,CAAC,EACpD,qBAAqB,EACrB,kBAAkB,CACnB,EACL,SAAS,GAAG,8BAA8B,CACxC,mBAAmB,EACnB,6BAA6B,CAAC,qBAAqB,CAAC,EACpD,oBAAoB,EACpB,iBAAiB,CAClB,IACC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAE3B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,SAAS,CAAC;IAE7B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/abilityConfig/types.ts"],"names":[],"mappings":";AAAA,6CAA6C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { VincentAbility } from '../../types';
|
|
2
|
+
import type { BundledVincentAbility } from './types';
|
|
3
|
+
/** @hidden */
|
|
4
|
+
export declare function asBundledVincentAbility<const VT extends VincentAbility<any, any, any, any, any, any, any, any, any, any>, const IpfsCid extends string>(vincentAbility: VT, ipfsCid: IpfsCid): BundledVincentAbility<VT, IpfsCid>;
|
|
5
|
+
//# sourceMappingURL=bundledAbility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundledAbility.d.ts","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/bundledAbility/bundledAbility.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIrD,cAAc;AACd,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,EAAE,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACjF,KAAK,CAAC,OAAO,SAAS,MAAM,EAC5B,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,qBAAqB,CAAC,EAAE,EAAE,OAAO,CAAC,CAe1E"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/abilityCore/bundledAbility/bundledAbility.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.asBundledVincentAbility = asBundledVincentAbility;
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
/** @hidden */
|
|
7
|
+
function asBundledVincentAbility(vincentAbility, ipfsCid) {
|
|
8
|
+
const bundledAbility = {
|
|
9
|
+
ipfsCid,
|
|
10
|
+
vincentAbility,
|
|
11
|
+
};
|
|
12
|
+
// Add non-enumerable 'magic' property
|
|
13
|
+
Object.defineProperty(bundledAbility, 'vincentAbilityApiVersion', {
|
|
14
|
+
value: constants_1.VINCENT_TOOL_API_VERSION,
|
|
15
|
+
writable: false,
|
|
16
|
+
enumerable: true,
|
|
17
|
+
configurable: false,
|
|
18
|
+
});
|
|
19
|
+
return bundledAbility;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=bundledAbility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundledAbility.js","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/bundledAbility/bundledAbility.ts"],"names":[],"mappings":";AAAA,uDAAuD;;AAQvD,0DAkBC;AArBD,+CAA2D;AAE3D,cAAc;AACd,SAAgB,uBAAuB,CAGrC,cAAkB,EAAE,OAAgB;IACpC,MAAM,cAAc,GAAG;QACrB,OAAO;QACP,cAAc;KACuB,CAAC;IAExC,sCAAsC;IACtC,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,0BAA0B,EAAE;QAChE,KAAK,EAAE,oCAAwB;QAC/B,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,OAAO,cAAqF,CAAC;AAC/F,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { VincentAbility } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* A VincentAbility bundled with an IPFS CID and uniquely branded.
|
|
4
|
+
* This ensures only correctly constructed objects are assignable.
|
|
5
|
+
*
|
|
6
|
+
*
|
|
7
|
+
* @typeParam VT - The Vincent Ability that was bundled for usage
|
|
8
|
+
* @typeParam IpfsCid - The IPFS CID that the bundled ability was published to
|
|
9
|
+
*
|
|
10
|
+
* @category Interfaces
|
|
11
|
+
*/
|
|
12
|
+
export type BundledVincentAbility<VT extends VincentAbility<any, any, any, any, any, any, any, any, any, any>, IpfsCid extends string = string, VincentAbilityApiVersion extends string = string> = {
|
|
13
|
+
readonly ipfsCid: IpfsCid;
|
|
14
|
+
readonly vincentAbility: VT;
|
|
15
|
+
/** @hidden */
|
|
16
|
+
readonly vincentAbilityApiVersion: VincentAbilityApiVersion;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/bundledAbility/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,CAC/B,EAAE,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC3E,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,wBAAwB,SAAS,MAAM,GAAG,MAAM,IAC9C;IAEF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;IAC5B,cAAc;IACd,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;CAC7D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/bundledAbility/types.ts"],"names":[],"mappings":";AAAA,8CAA8C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function getMappedAbilityPolicyParams({ abilityParameterMappings, parsedAbilityParams, }: {
|
|
2
|
+
abilityParameterMappings: Partial<Record<string, string>>;
|
|
3
|
+
parsedAbilityParams: Record<string, unknown>;
|
|
4
|
+
}): Record<string, unknown>;
|
|
5
|
+
//# sourceMappingURL=getMappedAbilityPolicyParams.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMappedAbilityPolicyParams.d.ts","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.ts"],"names":[],"mappings":"AAEA,wBAAgB,4BAA4B,CAAC,EAC3C,wBAAwB,EACxB,mBAAmB,GACpB,EAAE;IACD,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoB1B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getMappedAbilityPolicyParams = getMappedAbilityPolicyParams;
|
|
5
|
+
function getMappedAbilityPolicyParams({ abilityParameterMappings, parsedAbilityParams, }) {
|
|
6
|
+
const mappedAbilityParams = {};
|
|
7
|
+
for (const [abilityParamKey, policyParamKey] of Object.entries(abilityParameterMappings)) {
|
|
8
|
+
if (!policyParamKey) {
|
|
9
|
+
throw new Error(`Missing policy param key for ability param "${abilityParamKey}" (evaluateSupportedPolicies)`);
|
|
10
|
+
}
|
|
11
|
+
if (!(abilityParamKey in parsedAbilityParams)) {
|
|
12
|
+
throw new Error(`Ability param "${abilityParamKey}" expected in abilityParams but was not provided`);
|
|
13
|
+
}
|
|
14
|
+
mappedAbilityParams[policyParamKey] = parsedAbilityParams[abilityParamKey];
|
|
15
|
+
}
|
|
16
|
+
return mappedAbilityParams;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=getMappedAbilityPolicyParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMappedAbilityPolicyParams.js","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.ts"],"names":[],"mappings":";AAAA,8DAA8D;;AAE9D,oEA0BC;AA1BD,SAAgB,4BAA4B,CAAC,EAC3C,wBAAwB,EACxB,mBAAmB,GAIpB;IACC,MAAM,mBAAmB,GAA4B,EAAE,CAAC;IAExD,KAAK,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACzF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,+CAA+C,eAAe,+BAA+B,CAC9F,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,CAAC,eAAe,IAAI,mBAAmB,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,kBAAkB,eAAe,kDAAkD,CACpF,CAAC;QACJ,CAAC;QAED,mBAAmB,CAAC,cAAc,CAAC,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const getPkpInfo: ({ litPubkeyRouterAddress, yellowstoneRpcUrl, pkpEthAddress, }: {
|
|
2
|
+
litPubkeyRouterAddress: string;
|
|
3
|
+
yellowstoneRpcUrl: string;
|
|
4
|
+
pkpEthAddress: string;
|
|
5
|
+
}) => Promise<{
|
|
6
|
+
tokenId: string;
|
|
7
|
+
ethAddress: string;
|
|
8
|
+
publicKey: string;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=getPkpInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPkpInfo.d.ts","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/getPkpInfo.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,GAAU,+DAI9B;IACD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CA0BrE,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/abilityCore/helpers/getPkpInfo.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getPkpInfo = void 0;
|
|
5
|
+
const ethers_1 = require("ethers");
|
|
6
|
+
const getPkpInfo = async ({ litPubkeyRouterAddress, yellowstoneRpcUrl, pkpEthAddress, }) => {
|
|
7
|
+
try {
|
|
8
|
+
const PUBKEY_ROUTER_ABI = [
|
|
9
|
+
'function ethAddressToPkpId(address ethAddress) public view returns (uint256)',
|
|
10
|
+
'function getPubkey(uint256 tokenId) public view returns (bytes memory)',
|
|
11
|
+
];
|
|
12
|
+
const pubkeyRouter = new ethers_1.ethers.Contract(litPubkeyRouterAddress, PUBKEY_ROUTER_ABI, new ethers_1.ethers.providers.StaticJsonRpcProvider(yellowstoneRpcUrl));
|
|
13
|
+
const pkpTokenId = await pubkeyRouter.ethAddressToPkpId(pkpEthAddress);
|
|
14
|
+
const publicKey = await pubkeyRouter.getPubkey(pkpTokenId);
|
|
15
|
+
return {
|
|
16
|
+
tokenId: pkpTokenId.toString(),
|
|
17
|
+
ethAddress: pkpEthAddress,
|
|
18
|
+
publicKey: publicKey.toString('hex'),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw new Error(`Error getting PKP info for PKP Eth Address: ${pkpEthAddress} using Lit Pubkey Router: ${litPubkeyRouterAddress} and Yellowstone RPC URL: ${yellowstoneRpcUrl}: ${error instanceof Error ? error.message : String(error)}`);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.getPkpInfo = getPkpInfo;
|
|
26
|
+
//# sourceMappingURL=getPkpInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPkpInfo.js","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/getPkpInfo.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;AAE5C,mCAAgC;AAEzB,MAAM,UAAU,GAAG,KAAK,EAAE,EAC/B,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,GAKd,EAAuE,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG;YACxB,8EAA8E;YAC9E,wEAAwE;SACzE,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,eAAM,CAAC,QAAQ,CACtC,sBAAsB,EACtB,iBAAiB,EACjB,IAAI,eAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAC9D,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE3D,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE;YAC9B,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;SACrC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,+CAA+C,aAAa,6BAA6B,sBAAsB,6BAA6B,iBAAiB,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3N,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAlCW,QAAA,UAAU,cAkCrB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { getMappedAbilityPolicyParams } from './getMappedAbilityPolicyParams';
|
|
2
|
+
export { getPkpInfo } from './getPkpInfo';
|
|
3
|
+
export { supportedPoliciesForAbility } from './supportedPoliciesForAbility';
|
|
4
|
+
export type { AbilityPolicyMap } from './supportedPoliciesForAbility';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.supportedPoliciesForAbility = exports.getPkpInfo = exports.getMappedAbilityPolicyParams = void 0;
|
|
4
|
+
// src/lib/abilityCore/helpers/index.ts
|
|
5
|
+
var getMappedAbilityPolicyParams_1 = require("./getMappedAbilityPolicyParams");
|
|
6
|
+
Object.defineProperty(exports, "getMappedAbilityPolicyParams", { enumerable: true, get: function () { return getMappedAbilityPolicyParams_1.getMappedAbilityPolicyParams; } });
|
|
7
|
+
var getPkpInfo_1 = require("./getPkpInfo");
|
|
8
|
+
Object.defineProperty(exports, "getPkpInfo", { enumerable: true, get: function () { return getPkpInfo_1.getPkpInfo; } });
|
|
9
|
+
// export { validatePolicies } from './validatePolicies';
|
|
10
|
+
var supportedPoliciesForAbility_1 = require("./supportedPoliciesForAbility");
|
|
11
|
+
Object.defineProperty(exports, "supportedPoliciesForAbility", { enumerable: true, get: function () { return supportedPoliciesForAbility_1.supportedPoliciesForAbility; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/index.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,+EAA8E;AAArE,4IAAA,4BAA4B,OAAA;AACrC,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,yDAAyD;AACzD,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { z, ZodType } from 'zod';
|
|
2
|
+
import type { AbilityResultFailure, AbilityResultFailureNoResult, AbilityResultSuccess, AbilityResultSuccessNoResult, SchemaValidationError } from '../../types';
|
|
3
|
+
export declare function createAbilitySuccessResult(): AbilityResultSuccessNoResult;
|
|
4
|
+
export declare function createAbilitySuccessResult<T>({ result }: {
|
|
5
|
+
result: T;
|
|
6
|
+
}): AbilityResultSuccess<T>;
|
|
7
|
+
export declare function createAbilityFailureResult({ runtimeError, schemaValidationError, }: {
|
|
8
|
+
runtimeError?: string;
|
|
9
|
+
schemaValidationError?: SchemaValidationError;
|
|
10
|
+
}): AbilityResultFailureNoResult;
|
|
11
|
+
export declare function createAbilityFailureResult<T>({ runtimeError, result, schemaValidationError, }: {
|
|
12
|
+
result: T;
|
|
13
|
+
runtimeError?: string;
|
|
14
|
+
schemaValidationError?: SchemaValidationError;
|
|
15
|
+
}): AbilityResultFailure<T>;
|
|
16
|
+
export declare function createAbilityFailureNoResult(runtimeError: string, schemaValidationError?: SchemaValidationError): AbilityResultFailureNoResult;
|
|
17
|
+
export declare function wrapFailure<T extends z.ZodType<any, any, any>>(value: z.infer<T>, runtimeError?: string, schemaValidationError?: SchemaValidationError): AbilityResultFailure<z.infer<T>>;
|
|
18
|
+
export declare function wrapNoResultFailure<T extends ZodType<any, any, any> | undefined>(runtimeError: string, schemaValidationError?: SchemaValidationError): T extends ZodType<any, any, any> ? AbilityResultFailure<z.infer<T>> : AbilityResultFailureNoResult;
|
|
19
|
+
export declare function wrapSuccess<T extends z.ZodType<any, any, any>>(value: z.infer<T>): AbilityResultSuccess<z.infer<T>>;
|
|
20
|
+
export declare function wrapNoResultSuccess(): AbilityResultSuccessNoResult;
|
|
21
|
+
//# sourceMappingURL=resultCreators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultCreators.d.ts","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/resultCreators.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEtC,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAIrB,wBAAgB,0BAA0B,IAAI,4BAA4B,CAAC;AAC3E,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAUlG,wBAAgB,0BAA0B,CAAC,EACzC,YAAY,EACZ,qBAAqB,GACtB,EAAE;IACD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,GAAG,4BAA4B,CAAC;AACjC,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,EAC5C,YAAY,EACZ,MAAM,EACN,qBAAqB,GACtB,EAAE;IACD,MAAM,EAAE,CAAC,CAAC;IACV,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AA2B5B,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,qBAAqB,CAAC,EAAE,qBAAqB,GAC5C,4BAA4B,CAE9B;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,qBAAqB,CAAC,EAAE,qBAAqB,GAC5C,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAElC;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,EAC9E,YAAY,EAAE,MAAM,EACpB,qBAAqB,CAAC,EAAE,qBAAqB,GAC5C,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/B,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAChC,4BAA4B,CAE/B;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAChB,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAElC;AAED,wBAAgB,mBAAmB,IAAI,4BAA4B,CAElE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/abilityCore/helpers/resultCreators.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createAbilitySuccessResult = createAbilitySuccessResult;
|
|
5
|
+
exports.createAbilityFailureResult = createAbilityFailureResult;
|
|
6
|
+
exports.createAbilityFailureNoResult = createAbilityFailureNoResult;
|
|
7
|
+
exports.wrapFailure = wrapFailure;
|
|
8
|
+
exports.wrapNoResultFailure = wrapNoResultFailure;
|
|
9
|
+
exports.wrapSuccess = wrapSuccess;
|
|
10
|
+
exports.wrapNoResultSuccess = wrapNoResultSuccess;
|
|
11
|
+
function createAbilitySuccessResult(args) {
|
|
12
|
+
if (!args || args.result === undefined) {
|
|
13
|
+
return { success: true };
|
|
14
|
+
}
|
|
15
|
+
return { success: true, result: args.result };
|
|
16
|
+
}
|
|
17
|
+
function createAbilityFailureResult({ runtimeError, result, schemaValidationError, }) {
|
|
18
|
+
if (result === undefined) {
|
|
19
|
+
return {
|
|
20
|
+
success: false,
|
|
21
|
+
runtimeError: runtimeError,
|
|
22
|
+
result: undefined,
|
|
23
|
+
...(schemaValidationError ? { schemaValidationError } : {}),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
success: false,
|
|
28
|
+
runtimeError: runtimeError,
|
|
29
|
+
result,
|
|
30
|
+
...(schemaValidationError ? { schemaValidationError } : {}),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function createAbilityFailureNoResult(runtimeError, schemaValidationError) {
|
|
34
|
+
return createAbilityFailureResult({ runtimeError, schemaValidationError });
|
|
35
|
+
}
|
|
36
|
+
function wrapFailure(value, runtimeError, schemaValidationError) {
|
|
37
|
+
return createAbilityFailureResult({ result: value, runtimeError, schemaValidationError });
|
|
38
|
+
}
|
|
39
|
+
function wrapNoResultFailure(runtimeError, schemaValidationError) {
|
|
40
|
+
return createAbilityFailureNoResult(runtimeError, schemaValidationError);
|
|
41
|
+
}
|
|
42
|
+
function wrapSuccess(value) {
|
|
43
|
+
return createAbilitySuccessResult({ result: value });
|
|
44
|
+
}
|
|
45
|
+
function wrapNoResultSuccess() {
|
|
46
|
+
return createAbilitySuccessResult();
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=resultCreators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultCreators.js","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/resultCreators.ts"],"names":[],"mappings":";AAAA,gDAAgD;;AAgBhD,gEAOC;AAkBD,gEAwBC;AAED,oEAKC;AAED,kCAMC;AAED,kDAOC;AAED,kCAIC;AAED,kDAEC;AAnFD,SAAgB,0BAA0B,CAAI,IAE7C;IACC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAChD,CAAC;AAkBD,SAAgB,0BAA0B,CAAI,EAC5C,YAAY,EACZ,MAAM,EACN,qBAAqB,GAKtB;IACC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,YAAY;YAC1B,MAAM,EAAE,SAAkB;YAC1B,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,YAAY;QAC1B,MAAM;QACN,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,SAAgB,4BAA4B,CAC1C,YAAoB,EACpB,qBAA6C;IAE7C,OAAO,0BAA0B,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,WAAW,CACzB,KAAiB,EACjB,YAAqB,EACrB,qBAA6C;IAE7C,OAAO,0BAA0B,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,SAAgB,mBAAmB,CACjC,YAAoB,EACpB,qBAA6C;IAI7C,OAAO,4BAA4B,CAAC,YAAY,EAAE,qBAAqB,CAAQ,CAAC;AAClF,CAAC;AAED,SAAgB,WAAW,CACzB,KAAiB;IAEjB,OAAO,0BAA0B,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,0BAA0B,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { VincentPolicy } from '../../types';
|
|
2
|
+
export type AbilityPolicyMap<T extends readonly any[], PkgNames extends string> = {
|
|
3
|
+
policyByPackageName: {
|
|
4
|
+
[K in PkgNames]: Extract<T[number], {
|
|
5
|
+
vincentAbilityApiVersion: string;
|
|
6
|
+
vincentPolicy: {
|
|
7
|
+
packageName: K;
|
|
8
|
+
};
|
|
9
|
+
}>;
|
|
10
|
+
};
|
|
11
|
+
policyByIpfsCid: Record<string, T[number]>;
|
|
12
|
+
cidToPackageName: Map<string, PkgNames>;
|
|
13
|
+
packageNameToCid: Map<PkgNames, string>;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* `supportedPoliciesForAbility()` takes an array of bundled Vincent Policies, and provides strong type inference for those policies
|
|
17
|
+
* inside of your VincentAbility's lifecycle functions and return values.
|
|
18
|
+
*
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { bundledVincentPolicy } from '@lit-protocol/vincent-policy-spending-limit';
|
|
21
|
+
*
|
|
22
|
+
* const SpendingLimitPolicy = createVincentAbilityPolicy({
|
|
23
|
+
* abilityParamsSchema,
|
|
24
|
+
* bundledVincentPolicy,
|
|
25
|
+
* abilityParameterMappings: {
|
|
26
|
+
* rpcUrlForUniswap: 'rpcUrlForUniswap',
|
|
27
|
+
* chainIdForUniswap: 'chainIdForUniswap',
|
|
28
|
+
* ethRpcUrl: 'ethRpcUrl',
|
|
29
|
+
* tokenInAddress: 'tokenAddress',
|
|
30
|
+
* tokenInDecimals: 'tokenDecimals',
|
|
31
|
+
* tokenInAmount: 'buyAmount',
|
|
32
|
+
* },
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
*
|
|
36
|
+
* export const vincentAbility = createVincentAbility({
|
|
37
|
+
* packageName: '@lit-protocol/vincent-ability-uniswap-swap' as const,
|
|
38
|
+
* description: 'Uniswap Swap Ability',
|
|
39
|
+
*
|
|
40
|
+
* abilityParamsSchema,
|
|
41
|
+
* supportedPolicies: supportedPoliciesForAbility([SpendingLimitPolicy]),
|
|
42
|
+
*
|
|
43
|
+
* ...
|
|
44
|
+
*
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @category API Methods
|
|
49
|
+
*/
|
|
50
|
+
export declare function supportedPoliciesForAbility<const Policies extends readonly {
|
|
51
|
+
vincentPolicy: VincentPolicy<any, any, any, any, any, any, any, any, any, any, any, any, any>;
|
|
52
|
+
ipfsCid: IpfsCid;
|
|
53
|
+
vincentAbilityApiVersion: VincentAbilityApiVersion;
|
|
54
|
+
}[], const IpfsCid extends string = string, const VincentAbilityApiVersion extends string = string, const PkgNames extends Policies[number]['vincentPolicy']['packageName'] = Policies[number]['vincentPolicy']['packageName']>(policies: Policies): AbilityPolicyMap<Policies, PkgNames>;
|
|
55
|
+
//# sourceMappingURL=supportedPoliciesForAbility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supportedPoliciesForAbility.d.ts","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/supportedPoliciesForAbility.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,EAAE,QAAQ,SAAS,MAAM,IAAI;IAChF,mBAAmB,EAAE;SAClB,CAAC,IAAI,QAAQ,GAAG,OAAO,CACtB,CAAC,CAAC,MAAM,CAAC,EACT;YAAE,wBAAwB,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE;gBAAE,WAAW,EAAE,CAAC,CAAA;aAAE,CAAA;SAAE,CACxE;KACF,CAAC;IACF,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,CAAC,QAAQ,SAAS,SAAS;IAC9B,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9F,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB,EAAE,wBAAwB,CAAC;CACpD,EAAE,EACH,KAAK,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACrC,KAAK,CAAC,wBAAwB,SAAS,MAAM,GAAG,MAAM,EACtD,KAAK,CAAC,QAAQ,SACZ,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,EACrG,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAsC1D"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/abilityCore/helpers/supportedPoliciesForAbility.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.supportedPoliciesForAbility = supportedPoliciesForAbility;
|
|
5
|
+
const assertSupportedAbilityVersion_1 = require("../../assertSupportedAbilityVersion");
|
|
6
|
+
/**
|
|
7
|
+
* `supportedPoliciesForAbility()` takes an array of bundled Vincent Policies, and provides strong type inference for those policies
|
|
8
|
+
* inside of your VincentAbility's lifecycle functions and return values.
|
|
9
|
+
*
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { bundledVincentPolicy } from '@lit-protocol/vincent-policy-spending-limit';
|
|
12
|
+
*
|
|
13
|
+
* const SpendingLimitPolicy = createVincentAbilityPolicy({
|
|
14
|
+
* abilityParamsSchema,
|
|
15
|
+
* bundledVincentPolicy,
|
|
16
|
+
* abilityParameterMappings: {
|
|
17
|
+
* rpcUrlForUniswap: 'rpcUrlForUniswap',
|
|
18
|
+
* chainIdForUniswap: 'chainIdForUniswap',
|
|
19
|
+
* ethRpcUrl: 'ethRpcUrl',
|
|
20
|
+
* tokenInAddress: 'tokenAddress',
|
|
21
|
+
* tokenInDecimals: 'tokenDecimals',
|
|
22
|
+
* tokenInAmount: 'buyAmount',
|
|
23
|
+
* },
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
*
|
|
27
|
+
* export const vincentAbility = createVincentAbility({
|
|
28
|
+
* packageName: '@lit-protocol/vincent-ability-uniswap-swap' as const,
|
|
29
|
+
* description: 'Uniswap Swap Ability',
|
|
30
|
+
*
|
|
31
|
+
* abilityParamsSchema,
|
|
32
|
+
* supportedPolicies: supportedPoliciesForAbility([SpendingLimitPolicy]),
|
|
33
|
+
*
|
|
34
|
+
* ...
|
|
35
|
+
*
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @category API Methods
|
|
40
|
+
*/
|
|
41
|
+
function supportedPoliciesForAbility(policies) {
|
|
42
|
+
const policyByPackageName = {};
|
|
43
|
+
const policyByIpfsCid = {};
|
|
44
|
+
const cidToPackageName = new Map();
|
|
45
|
+
const packageNameToCid = new Map();
|
|
46
|
+
for (const policy of policies) {
|
|
47
|
+
const { vincentAbilityApiVersion } = policy;
|
|
48
|
+
(0, assertSupportedAbilityVersion_1.assertSupportedAbilityVersion)(vincentAbilityApiVersion);
|
|
49
|
+
const pkg = policy.vincentPolicy.packageName;
|
|
50
|
+
const cid = policy.ipfsCid;
|
|
51
|
+
if (!pkg)
|
|
52
|
+
throw new Error('Missing policy packageName');
|
|
53
|
+
if (pkg in policyByPackageName) {
|
|
54
|
+
throw new Error(`Duplicate policy packageName: ${pkg}`);
|
|
55
|
+
}
|
|
56
|
+
policyByPackageName[pkg] = policy;
|
|
57
|
+
policyByIpfsCid[cid] = policy;
|
|
58
|
+
cidToPackageName.set(cid, pkg);
|
|
59
|
+
packageNameToCid.set(pkg, cid);
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
policyByPackageName,
|
|
63
|
+
policyByIpfsCid,
|
|
64
|
+
cidToPackageName,
|
|
65
|
+
packageNameToCid,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=supportedPoliciesForAbility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supportedPoliciesForAbility.js","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/supportedPoliciesForAbility.ts"],"names":[],"mappings":";AAAA,6DAA6D;;AAuD7D,kEAgDC;AAnGD,uFAAoF;AAgBpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,SAAgB,2BAA2B,CAUzC,QAAkB;IAClB,MAAM,mBAAmB,GAAG,EAK3B,CAAC;IACF,MAAM,eAAe,GAAqC,EAAE,CAAC;IAC7D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACrD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAErD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAAC;QAC5C,IAAA,6DAA6B,EAAC,wBAAwB,CAAC,CAAC;QAExD,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,WAAuB,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;QAE3B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACxD,IAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAG1B,CAAC;QACF,eAAe,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC9B,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,OAAO;QACL,mBAAmB;QACnB,eAAe;QACf,gBAAgB;QAChB,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AbilityResultFailure, AbilityResultFailureNoResult, AbilityResultSuccess, AbilityResultSuccessNoResult } from '../../types';
|
|
2
|
+
export declare function isAbilitySuccessResult(value: unknown): value is AbilityResultSuccess<unknown> | AbilityResultSuccessNoResult;
|
|
3
|
+
export declare function isAbilityFailureResult(value: unknown): value is AbilityResultFailure<unknown> | AbilityResultFailureNoResult;
|
|
4
|
+
/**
|
|
5
|
+
* Runtime type guard to check whether a value matches the AbilityResult structure.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isAbilityResult(value: unknown): value is AbilityResultFailure<unknown> | AbilityResultFailureNoResult;
|
|
8
|
+
//# sourceMappingURL=typeGuards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/typeGuards.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AAErB,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,4BAA4B,CAOvE;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,4BAA4B,CAOvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,4BAA4B,CAOvE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/abilityCore/helpers/typeGuards.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.isAbilitySuccessResult = isAbilitySuccessResult;
|
|
5
|
+
exports.isAbilityFailureResult = isAbilityFailureResult;
|
|
6
|
+
exports.isAbilityResult = isAbilityResult;
|
|
7
|
+
function isAbilitySuccessResult(value) {
|
|
8
|
+
return (typeof value === 'object' &&
|
|
9
|
+
value !== null &&
|
|
10
|
+
'success' in value &&
|
|
11
|
+
value.success === true);
|
|
12
|
+
}
|
|
13
|
+
function isAbilityFailureResult(value) {
|
|
14
|
+
return (typeof value === 'object' &&
|
|
15
|
+
value !== null &&
|
|
16
|
+
'success' in value &&
|
|
17
|
+
value.success === false);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Runtime type guard to check whether a value matches the AbilityResult structure.
|
|
21
|
+
*/
|
|
22
|
+
function isAbilityResult(value) {
|
|
23
|
+
return (typeof value === 'object' &&
|
|
24
|
+
value !== null &&
|
|
25
|
+
'success' in value &&
|
|
26
|
+
typeof value.success === 'boolean');
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=typeGuards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../../../../src/lib/abilityCore/helpers/typeGuards.ts"],"names":[],"mappings":";AAAA,4CAA4C;;AAS5C,wDASC;AAED,wDASC;AAKD,0CASC;AAlCD,SAAgB,sBAAsB,CACpC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QACjB,KAAa,CAAC,OAAO,KAAK,IAAI,CAChC,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CACpC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QACjB,KAAa,CAAC,OAAO,KAAK,KAAK,CACjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QAClB,OAAQ,KAAa,CAAC,OAAO,KAAK,SAAS,CAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { AbilityPolicyParameterData } from '@lit-protocol/vincent-contracts-sdk';
|
|
3
|
+
import type { VincentAbility, VincentAbilityPolicy } from '../../types';
|
|
4
|
+
import type { AbilityPolicyMap } from './supportedPoliciesForAbility';
|
|
5
|
+
export type ValidatedPolicyMap<ParsedAbilityParams extends Record<string, any>, PoliciesByPackageName extends Record<string, VincentAbilityPolicy<any, any, any>>> = Array<{
|
|
6
|
+
[PkgName in keyof PoliciesByPackageName]: {
|
|
7
|
+
parameters: {
|
|
8
|
+
[paramName: string]: any;
|
|
9
|
+
} | undefined;
|
|
10
|
+
policyPackageName: PkgName;
|
|
11
|
+
abilityPolicyParams: {
|
|
12
|
+
[PolicyParamKey in PoliciesByPackageName[PkgName]['abilityParameterMappings'][keyof PoliciesByPackageName[PkgName]['abilityParameterMappings']] & string]: ParsedAbilityParams[{
|
|
13
|
+
[AbilityParamKey in keyof PoliciesByPackageName[PkgName]['abilityParameterMappings']]: PoliciesByPackageName[PkgName]['abilityParameterMappings'][AbilityParamKey] extends PolicyParamKey ? AbilityParamKey : never;
|
|
14
|
+
}[keyof PoliciesByPackageName[PkgName]['abilityParameterMappings']] & keyof ParsedAbilityParams];
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
}[keyof PoliciesByPackageName]>;
|
|
18
|
+
export declare function validatePolicies<AbilityParamsSchema extends z.ZodType, PolicyMap extends AbilityPolicyMap<any, any>, PoliciesByPackageName extends PolicyMap['policyByPackageName']>({ decodedPolicies, vincentAbility, abilityIpfsCid, parsedAbilityParams, }: {
|
|
19
|
+
decodedPolicies: AbilityPolicyParameterData;
|
|
20
|
+
vincentAbility: VincentAbility<AbilityParamsSchema, keyof PoliciesByPackageName & string, PolicyMap, PoliciesByPackageName, any, any, any, any, any, any>;
|
|
21
|
+
abilityIpfsCid: string;
|
|
22
|
+
parsedAbilityParams: z.infer<AbilityParamsSchema>;
|
|
23
|
+
}): Promise<ValidatedPolicyMap<z.infer<AbilityParamsSchema>, PoliciesByPackageName>>;
|
|
24
|
+
//# sourceMappingURL=validatePolicies.d.ts.map
|