@nucypher/taco 0.3.0 → 0.4.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/dist/cjs/conditions/base/contract.d.ts +1 -1
- package/dist/cjs/conditions/base/contract.js +6 -6
- package/dist/cjs/conditions/base/contract.js.map +1 -1
- package/dist/cjs/conditions/base/rpc.d.ts +1 -1
- package/dist/cjs/conditions/compound-condition.js.map +1 -1
- package/dist/cjs/conditions/condition-expr.d.ts +5 -6
- package/dist/cjs/conditions/condition-expr.js +4 -7
- package/dist/cjs/conditions/condition-expr.js.map +1 -1
- package/dist/cjs/conditions/condition-factory.js.map +1 -1
- package/dist/cjs/conditions/condition.d.ts +3 -2
- package/dist/cjs/conditions/condition.js +12 -2
- package/dist/cjs/conditions/condition.js.map +1 -1
- package/dist/cjs/conditions/const.d.ts +2 -2
- package/dist/cjs/conditions/const.js +12 -4
- package/dist/cjs/conditions/const.js.map +1 -1
- package/dist/cjs/conditions/context/context.d.ts +20 -18
- package/dist/cjs/conditions/context/context.js +85 -54
- package/dist/cjs/conditions/context/context.js.map +1 -1
- package/dist/cjs/conditions/predefined/erc20.js +2 -2
- package/dist/cjs/conditions/predefined/erc20.js.map +1 -1
- package/dist/cjs/conditions/predefined/erc721.js +3 -3
- package/dist/cjs/conditions/predefined/erc721.js.map +1 -1
- package/dist/cjs/conditions/shared.d.ts +1 -1
- package/dist/cjs/conditions/shared.js +7 -3
- package/dist/cjs/conditions/shared.js.map +1 -1
- package/dist/cjs/conditions/zod.js.map +1 -1
- package/dist/cjs/dkg.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/taco.d.ts +3 -2
- package/dist/cjs/taco.js +10 -4
- package/dist/cjs/taco.js.map +1 -1
- package/dist/cjs/tdec.d.ts +2 -1
- package/dist/cjs/tdec.js +9 -8
- package/dist/cjs/tdec.js.map +1 -1
- package/dist/cjs/types.d.ts +1 -0
- package/dist/cjs/types.js +8 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/es/conditions/base/contract.d.ts +1 -1
- package/dist/es/conditions/base/contract.js +3 -3
- package/dist/es/conditions/base/contract.js.map +1 -1
- package/dist/es/conditions/base/rpc.d.ts +1 -1
- package/dist/es/conditions/compound-condition.js.map +1 -1
- package/dist/es/conditions/condition-expr.d.ts +5 -6
- package/dist/es/conditions/condition-expr.js +6 -9
- package/dist/es/conditions/condition-expr.js.map +1 -1
- package/dist/es/conditions/condition-factory.js.map +1 -1
- package/dist/es/conditions/condition.d.ts +3 -2
- package/dist/es/conditions/condition.js +13 -3
- package/dist/es/conditions/condition.js.map +1 -1
- package/dist/es/conditions/const.d.ts +2 -2
- package/dist/es/conditions/const.js +11 -3
- package/dist/es/conditions/const.js.map +1 -1
- package/dist/es/conditions/context/context.d.ts +20 -18
- package/dist/es/conditions/context/context.js +87 -56
- package/dist/es/conditions/context/context.js.map +1 -1
- package/dist/es/conditions/predefined/erc20.js +2 -2
- package/dist/es/conditions/predefined/erc20.js.map +1 -1
- package/dist/es/conditions/predefined/erc721.js +3 -3
- package/dist/es/conditions/predefined/erc721.js.map +1 -1
- package/dist/es/conditions/shared.d.ts +1 -1
- package/dist/es/conditions/shared.js +9 -3
- package/dist/es/conditions/shared.js.map +1 -1
- package/dist/es/conditions/zod.js.map +1 -1
- package/dist/es/dkg.js.map +1 -1
- package/dist/es/index.d.ts +1 -0
- package/dist/es/index.js +3 -1
- package/dist/es/index.js.map +1 -1
- package/dist/es/taco.d.ts +3 -2
- package/dist/es/taco.js +10 -4
- package/dist/es/taco.js.map +1 -1
- package/dist/es/tdec.d.ts +2 -1
- package/dist/es/tdec.js +9 -8
- package/dist/es/tdec.js.map +1 -1
- package/dist/es/types.d.ts +1 -0
- package/dist/es/types.js +3 -0
- package/dist/es/types.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.es.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/dist/cjs/conditions/context/providers.d.ts +0 -16
- package/dist/cjs/conditions/context/providers.js +0 -111
- package/dist/cjs/conditions/context/providers.js.map +0 -1
- package/dist/cjs/web3.d.ts +0 -33
- package/dist/cjs/web3.js +0 -3
- package/dist/cjs/web3.js.map +0 -1
- package/dist/es/conditions/context/providers.d.ts +0 -16
- package/dist/es/conditions/context/providers.js +0 -107
- package/dist/es/conditions/context/providers.js.map +0 -1
- package/dist/es/web3.d.ts +0 -33
- package/dist/es/web3.js +0 -2
- package/dist/es/web3.js.map +0 -1
|
@@ -146,7 +146,7 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<z.objectU
|
|
|
146
146
|
conditionType: z.ZodDefault<z.ZodLiteral<"rpc">>;
|
|
147
147
|
chain: z.ZodNever | z.ZodLiteral<z.Primitive> | z.ZodUnion<[z.ZodLiteral<z.Primitive>, z.ZodLiteral<z.Primitive>, ...z.ZodLiteral<z.Primitive>[]]>;
|
|
148
148
|
method: z.ZodEnum<["eth_getBalance"]>;
|
|
149
|
-
parameters: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodString, z.
|
|
149
|
+
parameters: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>]>, "atleastone">, z.ZodTuple<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>]>, z.ZodType<any, z.ZodTypeDef, any>], null>]>;
|
|
150
150
|
returnValueTest: z.ZodObject<{
|
|
151
151
|
index: z.ZodOptional<z.ZodNumber>;
|
|
152
152
|
comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ContractCondition = exports.contractConditionSchema = exports.ContractConditionType = void 0;
|
|
4
|
+
const shared_1 = require("@nucypher/shared");
|
|
4
5
|
const ethers_1 = require("ethers");
|
|
5
6
|
const zod_1 = require("zod");
|
|
6
7
|
const condition_1 = require("../condition");
|
|
7
|
-
const
|
|
8
|
-
const shared_1 = require("../shared");
|
|
8
|
+
const shared_2 = require("../shared");
|
|
9
9
|
const rpc_1 = require("./rpc");
|
|
10
10
|
// TODO: Consider replacing with `z.unknown`:
|
|
11
11
|
// Since Solidity types are tied to Solidity version, we may not be able to accurately represent them in Zod.
|
|
@@ -15,9 +15,9 @@ const EthBaseTypes = [
|
|
|
15
15
|
'string',
|
|
16
16
|
'address',
|
|
17
17
|
'address payable',
|
|
18
|
-
...Array.from({ length: 32 }, (_v, i) => `bytes${i + 1}`),
|
|
18
|
+
...Array.from({ length: 32 }, (_v, i) => `bytes${i + 1}`), // bytes1 through bytes32
|
|
19
19
|
'bytes',
|
|
20
|
-
...Array.from({ length: 32 }, (_v, i) => `uint${8 * (i + 1)}`),
|
|
20
|
+
...Array.from({ length: 32 }, (_v, i) => `uint${8 * (i + 1)}`), // uint8 through uint256
|
|
21
21
|
...Array.from({ length: 32 }, (_v, i) => `int${8 * (i + 1)}`), // int8 through int256
|
|
22
22
|
];
|
|
23
23
|
const functionAbiVariableSchema = zod_1.z
|
|
@@ -65,11 +65,11 @@ exports.contractConditionSchema = rpc_1.rpcConditionSchema
|
|
|
65
65
|
conditionType: zod_1.z
|
|
66
66
|
.literal(exports.ContractConditionType)
|
|
67
67
|
.default(exports.ContractConditionType),
|
|
68
|
-
contractAddress: zod_1.z.string().regex(
|
|
68
|
+
contractAddress: zod_1.z.string().regex(shared_1.ETH_ADDRESS_REGEXP).length(42),
|
|
69
69
|
standardContractType: zod_1.z.enum(['ERC20', 'ERC721']).optional(),
|
|
70
70
|
method: zod_1.z.string(),
|
|
71
71
|
functionAbi: functionAbiSchema.optional(),
|
|
72
|
-
parameters: zod_1.z.array(
|
|
72
|
+
parameters: zod_1.z.array(shared_2.paramOrContextParamSchema),
|
|
73
73
|
})
|
|
74
74
|
// Adding this custom logic causes the return type to be ZodEffects instead of ZodObject
|
|
75
75
|
// https://github.com/colinhacks/zod/issues/2474
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/conditions/base/contract.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,6BAAwB;AAExB,4CAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/conditions/base/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export declare const rpcConditionSchema: z.ZodObject<{
|
|
|
6
6
|
conditionType: z.ZodDefault<z.ZodLiteral<"rpc">>;
|
|
7
7
|
chain: z.ZodNever | z.ZodLiteral<z.Primitive> | z.ZodUnion<[z.ZodLiteral<z.Primitive>, z.ZodLiteral<z.Primitive>, ...z.ZodLiteral<z.Primitive>[]]>;
|
|
8
8
|
method: z.ZodEnum<["eth_getBalance"]>;
|
|
9
|
-
parameters: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodString, z.
|
|
9
|
+
parameters: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>]>, "atleastone">, z.ZodTuple<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>]>, z.ZodType<any, z.ZodTypeDef, any>], null>]>;
|
|
10
10
|
returnValueTest: z.ZodObject<{
|
|
11
11
|
index: z.ZodOptional<z.ZodNumber>;
|
|
12
12
|
comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compound-condition.js","sourceRoot":"","sources":["../../../src/conditions/compound-condition.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,8CAA0D;AAC1D,oCAAgD;AAChD,sCAAkD;AAClD,2CAAwD;AAG3C,QAAA,qBAAqB,GAAG,UAAU,CAAC;AAEnC,QAAA,uBAAuB,GAAgB,OAAC;KAClD,MAAM,CAAC;IACN,aAAa,EAAE,OAAC;SACb,OAAO,CAAC,6BAAqB,CAAC;SAC9B,OAAO,CAAC,6BAAqB,CAAC;IACjC,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,QAAQ,EAAE,OAAC;SACR,KAAK,CACJ,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACV,OAAC,CAAC,KAAK,CAAC;QACN,wBAAkB;QAClB,0BAAmB;QACnB,kCAAuB;QACvB,+BAAuB;KACxB,CAAC,CACH,CACF;SACA,GAAG,CAAC,CAAC,CAAC;CACV,CAAC;KACD,MAAM,CACL,CAAC,SAAS,EAAE,EAAE;IACZ,yDAAyD;IACzD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"compound-condition.js","sourceRoot":"","sources":["../../../src/conditions/compound-condition.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,8CAA0D;AAC1D,oCAAgD;AAChD,sCAAkD;AAClD,2CAAwD;AAG3C,QAAA,qBAAqB,GAAG,UAAU,CAAC;AAEnC,QAAA,uBAAuB,GAAgB,OAAC;KAClD,MAAM,CAAC;IACN,aAAa,EAAE,OAAC;SACb,OAAO,CAAC,6BAAqB,CAAC;SAC9B,OAAO,CAAC,6BAAqB,CAAC;IACjC,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,QAAQ,EAAE,OAAC;SACR,KAAK,CACJ,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACV,OAAC,CAAC,KAAK,CAAC;QACN,wBAAkB;QAClB,0BAAmB;QACnB,kCAAuB;QACvB,+BAAuB;KACxB,CAAC,CACH,CACF;SACA,GAAG,CAAC,CAAC,CAAC;CACV,CAAC;KACD,MAAM,CACL,CAAC,SAAS,EAAE,EAAE;IACZ,yDAAyD;IACzD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,6CAA6C;IAC7C,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,gEAAgE;IAChE,OAAO,KAAK,CAAC;AACf,CAAC,EACD,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE,8BAA8B,QAAQ,CAAC,MAAM,kBAAkB,QAAQ,GAAG;IACnF,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC,CACH,CAAC;AAMJ,MAAa,iBAAkB,SAAQ,qBAAS;IAC9C,YAAY,KAAgD;QAC1D,KAAK,CAAC,+BAAuB,EAAE;YAC7B,aAAa,EAAE,6BAAqB;YACpC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,YAAY,CACzB,QAA4B,EAC5B,QAA8B;QAE9B,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACzC,IAAI,OAAO,YAAY,qBAAS,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,iBAAiB,CAAC;YAC3B,QAAQ;YACR,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,UAA8B;QAC7C,OAAO,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,UAA8B;QAC9C,OAAO,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,SAA2B;QAC3C,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;CACF;AAnCD,8CAmCC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Conditions as
|
|
2
|
-
import {
|
|
1
|
+
import { Conditions as CoreConditions } from '@nucypher/nucypher-core';
|
|
2
|
+
import { AuthProviders } from '@nucypher/taco-auth';
|
|
3
3
|
import { Condition } from './condition';
|
|
4
4
|
import { ConditionContext, CustomContextParam } from './context';
|
|
5
5
|
export type ConditionExpressionJSON = {
|
|
@@ -15,9 +15,8 @@ export declare class ConditionExpression {
|
|
|
15
15
|
static fromObj(obj: ConditionExpressionJSON): ConditionExpression;
|
|
16
16
|
toJson(): string;
|
|
17
17
|
static fromJSON(json: string): ConditionExpression;
|
|
18
|
-
|
|
19
|
-
static
|
|
20
|
-
buildContext(
|
|
21
|
-
contextRequiresSigner(): boolean;
|
|
18
|
+
toCoreCondition(): CoreConditions;
|
|
19
|
+
static fromCoreConditions(conditions: CoreConditions): ConditionExpression;
|
|
20
|
+
buildContext(customParameters?: Record<string, CustomContextParam>, authProviders?: AuthProviders): ConditionContext;
|
|
22
21
|
equals(other: ConditionExpression): boolean;
|
|
23
22
|
}
|
|
@@ -41,17 +41,14 @@ class ConditionExpression {
|
|
|
41
41
|
static fromJSON(json) {
|
|
42
42
|
return ConditionExpression.fromObj(JSON.parse(json));
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
toCoreCondition() {
|
|
45
45
|
return new nucypher_core_1.Conditions((0, shared_1.toJSON)(this.toObj()));
|
|
46
46
|
}
|
|
47
|
-
static
|
|
47
|
+
static fromCoreConditions(conditions) {
|
|
48
48
|
return ConditionExpression.fromJSON(conditions.toString());
|
|
49
49
|
}
|
|
50
|
-
buildContext(
|
|
51
|
-
return new context_1.ConditionContext(
|
|
52
|
-
}
|
|
53
|
-
contextRequiresSigner() {
|
|
54
|
-
return this.condition.requiresSigner();
|
|
50
|
+
buildContext(customParameters = {}, authProviders = {}) {
|
|
51
|
+
return new context_1.ConditionContext(this.condition, customParameters, authProviders);
|
|
55
52
|
}
|
|
56
53
|
equals(other) {
|
|
57
54
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition-expr.js","sourceRoot":"","sources":["../../../src/conditions/condition-expr.ts"],"names":[],"mappings":";;;AAAA,2DAAuE;AACvE,6CAA0C;AAE1C,mCAAgC;AAGhC,2DAAuD;AACvD,uCAAiE;AAEjE,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE,EAAE,CACxD,qBAAqB,QAAQ,2CAA2C,OAAO,EAAE,CAAC;AACpF,MAAM,aAAa,GAAG,CAAC,SAAkC,EAAE,EAAE,CAC3D,kDAAkD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;AAOhF,MAAa,mBAAmB;IAIZ;IACA;IAJX,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAEhC,YACkB,SAAoB,EACpB,UAAkB,mBAAmB,CAAC,OAAO;QAD7C,cAAS,GAAT,SAAS,CAAW;QACpB,YAAO,GAAP,OAAO,CAAsC;IAC5D,CAAC;IAEG,KAAK;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,GAA4B;QAChD,MAAM,eAAe,GAAG,IAAI,eAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,eAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,eAAe,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"condition-expr.js","sourceRoot":"","sources":["../../../src/conditions/condition-expr.ts"],"names":[],"mappings":";;;AAAA,2DAAuE;AACvE,6CAA0C;AAE1C,mCAAgC;AAGhC,2DAAuD;AACvD,uCAAiE;AAEjE,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE,EAAE,CACxD,qBAAqB,QAAQ,2CAA2C,OAAO,EAAE,CAAC;AACpF,MAAM,aAAa,GAAG,CAAC,SAAkC,EAAE,EAAE,CAC3D,kDAAkD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;AAOhF,MAAa,mBAAmB;IAIZ;IACA;IAJX,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAEhC,YACkB,SAAoB,EACpB,UAAkB,mBAAmB,CAAC,OAAO;QAD7C,cAAS,GAAT,SAAS,CAAW;QACpB,YAAO,GAAP,OAAO,CAAsC;IAC5D,CAAC;IAEG,KAAK;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,GAA4B;QAChD,MAAM,eAAe,GAAG,IAAI,eAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,eAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,eAAe,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,SAAS,GAAG,oCAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM;QACX,OAAO,IAAA,eAAM,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAY;QACjC,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,0BAAc,CAAC,IAAA,eAAM,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,UAA0B;QACzD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEM,YAAY,CACjB,mBAAuD,EAAE,EACzD,gBAA+B,EAAE;QAEjC,OAAO,IAAI,0BAAgB,CACzB,IAAI,CAAC,SAAS,EACd,gBAAgB,EAChB,aAAa,CACd,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAA0B;QACtC,OAAO;YACL,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;SACvC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;;AA/DH,kDAgEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":";;;AAAA,8CAIyB;AACzB,oCAA+E;AAC/E,sCAIqB;AACrB,6DAI8B;AAG9B,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAa,gBAAgB;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAqB;QACpD,QAAQ,KAAK,CAAC,aAAa,EAAE;
|
|
1
|
+
{"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":";;;AAAA,8CAIyB;AACzB,oCAA+E;AAC/E,sCAIqB;AACrB,6DAI8B;AAG9B,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAa,gBAAgB;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAqB;QACpD,QAAQ,KAAK,CAAC,aAAa,EAAE,CAAC;YAC5B,KAAK,sBAAgB;gBACnB,OAAO,IAAI,kBAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,wBAAiB;gBACpB,OAAO,IAAI,oBAAa,CAAC,KAA2B,CAAC,CAAC;YACxD,KAAK,gCAAqB;gBACxB,OAAO,IAAI,4BAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,0CAAqB;gBACxB,OAAO,IAAI,sCAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF;AAfD,4CAeC"}
|
|
@@ -9,8 +9,9 @@ export declare class Condition {
|
|
|
9
9
|
data?: ConditionProps;
|
|
10
10
|
error?: z.ZodError;
|
|
11
11
|
};
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
findParamWithAuthentication(): string | null;
|
|
13
|
+
requiresAuthentication(): boolean;
|
|
14
|
+
toObj(): ConditionProps;
|
|
14
15
|
equals(other: Condition): boolean;
|
|
15
16
|
}
|
|
16
17
|
export {};
|
|
@@ -23,8 +23,18 @@ class Condition {
|
|
|
23
23
|
}
|
|
24
24
|
return { error: result.error };
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
// TODO: Fix this method and add a test for it
|
|
27
|
+
findParamWithAuthentication() {
|
|
28
|
+
const serialized = JSON.stringify(this.value);
|
|
29
|
+
for (const param of const_1.USER_ADDRESS_PARAMS) {
|
|
30
|
+
if (serialized.includes(param)) {
|
|
31
|
+
return param;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
requiresAuthentication() {
|
|
37
|
+
return Boolean(this.findParamWithAuthentication());
|
|
28
38
|
}
|
|
29
39
|
toObj() {
|
|
30
40
|
const { data, error } = Condition.validate(this.schema, this.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAGhD,
|
|
1
|
+
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAGhD,mCAA8C;AAK9C,MAAM,qBAAqB,GAAG,CAAC,KAAiB,EAAE,EAAE,CAClD,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAEvD,MAAa,SAAS;IAEF;IACA;IAFlB,YACkB,MAAuB,EACvB,KAAqB;QADrB,WAAM,GAAN,MAAM,CAAiB;QACvB,UAAK,GAAL,KAAK,CAAgB;QAErC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,MAAuB,EACvB,KAAqB;QAKrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,8CAA8C;IACvC,2BAA2B;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,2BAAmB,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,sBAAsB;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK;QACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,KAAgB;QAC5B,OAAO,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF;AApDD,8BAoDC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChainId } from '@nucypher/shared';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const ETH_ADDRESS_REGEXP: RegExp;
|
|
2
|
+
export declare const USER_ADDRESS_PARAM_EXTERNAL_EIP4361 = ":userAddressExternalEIP4361";
|
|
4
3
|
export declare const CONTEXT_PARAM_REGEXP: RegExp;
|
|
5
4
|
export declare const CONTEXT_PARAM_PREFIX = ":";
|
|
6
5
|
export declare const SUPPORTED_CHAIN_IDS: ChainId[];
|
|
6
|
+
export declare const USER_ADDRESS_PARAMS: string[];
|
|
7
7
|
export declare const RESERVED_CONTEXT_PARAMS: string[];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RESERVED_CONTEXT_PARAMS = exports.
|
|
3
|
+
exports.RESERVED_CONTEXT_PARAMS = exports.USER_ADDRESS_PARAMS = exports.SUPPORTED_CHAIN_IDS = exports.CONTEXT_PARAM_PREFIX = exports.CONTEXT_PARAM_REGEXP = exports.USER_ADDRESS_PARAM_EXTERNAL_EIP4361 = void 0;
|
|
4
4
|
const shared_1 = require("@nucypher/shared");
|
|
5
|
-
|
|
6
|
-
exports.
|
|
5
|
+
const taco_auth_1 = require("@nucypher/taco-auth");
|
|
6
|
+
exports.USER_ADDRESS_PARAM_EXTERNAL_EIP4361 = ':userAddressExternalEIP4361';
|
|
7
7
|
// Only allow alphanumeric characters and underscores
|
|
8
8
|
exports.CONTEXT_PARAM_REGEXP = new RegExp('^:[a-zA-Z_][a-zA-Z0-9_]*$');
|
|
9
9
|
exports.CONTEXT_PARAM_PREFIX = ':';
|
|
@@ -13,5 +13,13 @@ exports.SUPPORTED_CHAIN_IDS = [
|
|
|
13
13
|
shared_1.ChainId.SEPOLIA,
|
|
14
14
|
shared_1.ChainId.ETHEREUM_MAINNET,
|
|
15
15
|
];
|
|
16
|
-
exports.
|
|
16
|
+
exports.USER_ADDRESS_PARAMS = [
|
|
17
|
+
exports.USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
|
|
18
|
+
// Ordering matters, this should always be last
|
|
19
|
+
taco_auth_1.USER_ADDRESS_PARAM_DEFAULT,
|
|
20
|
+
];
|
|
21
|
+
exports.RESERVED_CONTEXT_PARAMS = [
|
|
22
|
+
taco_auth_1.USER_ADDRESS_PARAM_DEFAULT,
|
|
23
|
+
// USER_ADDRESS_PARAM_EXTERNAL_EIP4361 is not reserved and can be used as a custom context parameter
|
|
24
|
+
];
|
|
17
25
|
//# sourceMappingURL=const.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,mDAAiE;AAEpD,QAAA,mCAAmC,GAC9C,6BAA6B,CAAC;AAEhC,qDAAqD;AACxC,QAAA,oBAAoB,GAAG,IAAI,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAE/D,QAAA,oBAAoB,GAAG,GAAG,CAAC;AAE3B,QAAA,mBAAmB,GAAG;IACjC,gBAAO,CAAC,OAAO;IACf,gBAAO,CAAC,IAAI;IACZ,gBAAO,CAAC,OAAO;IACf,gBAAO,CAAC,gBAAgB;CACzB,CAAC;AAEW,QAAA,mBAAmB,GAAG;IACjC,2CAAmC;IACnC,+CAA+C;IAC/C,sCAA0B;CAC3B,CAAC;AAEW,QAAA,uBAAuB,GAAG;IACrC,sCAA0B;IAC1B,oGAAoG;CACrG,CAAC"}
|
|
@@ -1,23 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
export type CustomContextParam = string | number | boolean;
|
|
6
|
-
export type ContextParam = CustomContextParam |
|
|
1
|
+
import { ThresholdMessageKit } from '@nucypher/nucypher-core';
|
|
2
|
+
import { AuthProviders, AuthSignature } from '@nucypher/taco-auth';
|
|
3
|
+
import { CoreConditions, CoreContext } from '../../types';
|
|
4
|
+
import { Condition, ConditionProps } from '../condition';
|
|
5
|
+
export type CustomContextParam = string | number | boolean | AuthSignature;
|
|
6
|
+
export type ContextParam = CustomContextParam | AuthSignature;
|
|
7
7
|
export declare class ConditionContext {
|
|
8
|
-
private readonly provider;
|
|
9
|
-
private readonly condition;
|
|
10
8
|
readonly customParameters: Record<string, CustomContextParam>;
|
|
11
|
-
private readonly
|
|
12
|
-
|
|
13
|
-
constructor(
|
|
14
|
-
private
|
|
15
|
-
|
|
9
|
+
private readonly authProviders;
|
|
10
|
+
requestedParameters: Set<string>;
|
|
11
|
+
constructor(condition: Condition, customParameters?: Record<string, CustomContextParam>, authProviders?: AuthProviders);
|
|
12
|
+
private validateContextParameters;
|
|
13
|
+
private validateCoreConditions;
|
|
14
|
+
private validateNoMissingContextParameters;
|
|
16
15
|
private fillContextParameters;
|
|
17
|
-
private
|
|
18
|
-
private
|
|
16
|
+
private validateAuthProviders;
|
|
17
|
+
private fillAuthContextParameters;
|
|
18
|
+
private static isContextParameter;
|
|
19
|
+
static findContextParameters(condition: ConditionProps): Set<string>;
|
|
19
20
|
toJson(): Promise<string>;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
static fromConditions(
|
|
21
|
+
toCoreContext(): Promise<CoreContext>;
|
|
22
|
+
toContextParameters: () => Promise<Record<string, ContextParam>>;
|
|
23
|
+
static fromConditions(conditions: CoreConditions, authProviders?: AuthProviders, customParameters?: Record<string, CustomContextParam>): ConditionContext;
|
|
24
|
+
static requestedContextParameters(messageKit: ThresholdMessageKit): Set<string>;
|
|
23
25
|
}
|
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConditionContext = void 0;
|
|
4
|
-
const nucypher_core_1 = require("@nucypher/nucypher-core");
|
|
5
4
|
const shared_1 = require("@nucypher/shared");
|
|
5
|
+
const taco_auth_1 = require("@nucypher/taco-auth");
|
|
6
|
+
const types_1 = require("../../types");
|
|
6
7
|
const compound_condition_1 = require("../compound-condition");
|
|
7
8
|
const condition_expr_1 = require("../condition-expr");
|
|
8
9
|
const const_1 = require("../const");
|
|
9
|
-
const providers_1 = require("./providers");
|
|
10
10
|
const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
|
|
11
11
|
const ERR_INVALID_CUSTOM_PARAM = (key) => `Custom parameter ${key} must start with ${const_1.CONTEXT_PARAM_PREFIX}`;
|
|
12
|
-
const
|
|
12
|
+
const ERR_AUTH_PROVIDER_REQUIRED = (key) => `No matching authentication provider to satisfy ${key} context variable in condition`;
|
|
13
13
|
const ERR_MISSING_CONTEXT_PARAMS = (params) => `Missing custom context parameter(s): ${params.join(', ')}`;
|
|
14
14
|
const ERR_UNKNOWN_CONTEXT_PARAMS = (params) => `Unknown custom context parameter(s): ${params.join(', ')}`;
|
|
15
|
+
const ERR_NO_AUTH_PROVIDER_FOR_PARAM = (param) => `No custom parameter for requested context parameter: ${param}`;
|
|
15
16
|
class ConditionContext {
|
|
16
|
-
provider;
|
|
17
|
-
condition;
|
|
18
17
|
customParameters;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
constructor(
|
|
22
|
-
this.provider = provider;
|
|
23
|
-
this.condition = condition;
|
|
18
|
+
authProviders;
|
|
19
|
+
requestedParameters;
|
|
20
|
+
constructor(condition, customParameters = {}, authProviders = {}) {
|
|
24
21
|
this.customParameters = customParameters;
|
|
25
|
-
this.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
this.
|
|
22
|
+
this.authProviders = authProviders;
|
|
23
|
+
const condProps = condition.toObj();
|
|
24
|
+
this.validateContextParameters();
|
|
25
|
+
this.validateCoreConditions(condProps);
|
|
26
|
+
this.requestedParameters =
|
|
27
|
+
ConditionContext.findContextParameters(condProps);
|
|
28
|
+
this.validateAuthProviders(this.requestedParameters);
|
|
30
29
|
}
|
|
31
|
-
|
|
30
|
+
validateContextParameters() {
|
|
32
31
|
Object.keys(this.customParameters).forEach((key) => {
|
|
33
32
|
if (const_1.RESERVED_CONTEXT_PARAMS.includes(key)) {
|
|
34
33
|
throw new Error(ERR_RESERVED_PARAM(key));
|
|
@@ -37,60 +36,86 @@ class ConditionContext {
|
|
|
37
36
|
throw new Error(ERR_INVALID_CUSTOM_PARAM(key));
|
|
38
37
|
}
|
|
39
38
|
});
|
|
40
|
-
if (this.condition.requiresSigner() && !this.signer) {
|
|
41
|
-
throw new Error(ERR_SIGNER_REQUIRED);
|
|
42
|
-
}
|
|
43
39
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
40
|
+
validateCoreConditions(condObject) {
|
|
41
|
+
// Checking whether the condition is compatible with the current version of the library
|
|
42
|
+
// Intentionally ignoring the return value of the function
|
|
43
|
+
new types_1.CoreConditions((0, shared_1.toJSON)(condObject));
|
|
44
|
+
}
|
|
45
|
+
validateNoMissingContextParameters(parameters) {
|
|
49
46
|
// Ok, so at this point we should have all the parameters we need
|
|
50
47
|
// If we don't, we have a problem and we should throw
|
|
51
|
-
const missingParameters = Array.from(requestedParameters).filter((key) => parameters[key] === undefined);
|
|
48
|
+
const missingParameters = Array.from(this.requestedParameters).filter((key) => parameters[key] === undefined);
|
|
52
49
|
if (missingParameters.length > 0) {
|
|
53
50
|
throw new Error(ERR_MISSING_CONTEXT_PARAMS(missingParameters));
|
|
54
51
|
}
|
|
55
52
|
// We may also have some parameters that are not used
|
|
56
|
-
const unknownParameters = Object.keys(parameters).filter((key) => !requestedParameters.has(key) &&
|
|
53
|
+
const unknownParameters = Object.keys(parameters).filter((key) => !this.requestedParameters.has(key) &&
|
|
54
|
+
!const_1.RESERVED_CONTEXT_PARAMS.includes(key));
|
|
57
55
|
if (unknownParameters.length > 0) {
|
|
58
56
|
throw new Error(ERR_UNKNOWN_CONTEXT_PARAMS(unknownParameters));
|
|
59
57
|
}
|
|
60
|
-
|
|
61
|
-
};
|
|
58
|
+
}
|
|
62
59
|
async fillContextParameters(requestedParameters) {
|
|
63
|
-
|
|
64
|
-
const parameters = {};
|
|
65
|
-
// Fill in predefined context parameters
|
|
66
|
-
if (requestedParameters.has(const_1.USER_ADDRESS_PARAM)) {
|
|
67
|
-
if (!this.walletAuthProvider) {
|
|
68
|
-
throw new Error(ERR_SIGNER_REQUIRED);
|
|
69
|
-
}
|
|
70
|
-
parameters[const_1.USER_ADDRESS_PARAM] =
|
|
71
|
-
await this.walletAuthProvider.getOrCreateWalletSignature();
|
|
72
|
-
// Remove from requested parameters
|
|
73
|
-
requestedParameters.delete(const_1.USER_ADDRESS_PARAM);
|
|
74
|
-
}
|
|
75
|
-
// Fill in custom parameters
|
|
60
|
+
const parameters = await this.fillAuthContextParameters(requestedParameters);
|
|
76
61
|
for (const key in this.customParameters) {
|
|
77
62
|
parameters[key] = this.customParameters[key];
|
|
78
63
|
}
|
|
79
64
|
return parameters;
|
|
80
65
|
}
|
|
81
|
-
|
|
66
|
+
validateAuthProviders(requestedParameters) {
|
|
67
|
+
for (const param of requestedParameters) {
|
|
68
|
+
// If it's not a user address parameter, we can skip
|
|
69
|
+
if (!const_1.USER_ADDRESS_PARAMS.includes(param)) {
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
// If it's a user address parameter, we need to check if we have an auth provider
|
|
73
|
+
const authMethod = taco_auth_1.AUTH_METHOD_FOR_PARAM[param];
|
|
74
|
+
if (!authMethod && !this.customParameters[param]) {
|
|
75
|
+
// If we don't have an auth method, and we don't have a custom parameter, we have a problem
|
|
76
|
+
throw new Error(ERR_NO_AUTH_PROVIDER_FOR_PARAM(param));
|
|
77
|
+
}
|
|
78
|
+
// If we have an auth method, but we don't have an auth provider, we have a problem
|
|
79
|
+
if (authMethod && !this.authProviders[authMethod]) {
|
|
80
|
+
throw new Error(ERR_AUTH_PROVIDER_REQUIRED(param));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async fillAuthContextParameters(requestedParameters) {
|
|
85
|
+
const entries = await Promise.all([...requestedParameters]
|
|
86
|
+
.map((param) => [param, taco_auth_1.AUTH_METHOD_FOR_PARAM[param]])
|
|
87
|
+
.filter(([, authMethod]) => !!authMethod)
|
|
88
|
+
.map(async ([param, authMethod]) => {
|
|
89
|
+
const maybeAuthProvider = this.authProviders[authMethod];
|
|
90
|
+
// TODO: Throw here instead of validating in the constructor?
|
|
91
|
+
// TODO: Hide getOrCreateAuthSignature behind a more generic interface
|
|
92
|
+
return [param, await maybeAuthProvider.getOrCreateAuthSignature()];
|
|
93
|
+
}));
|
|
94
|
+
return Object.fromEntries(entries);
|
|
95
|
+
}
|
|
96
|
+
static isContextParameter(param) {
|
|
82
97
|
return !!String(param).match(const_1.CONTEXT_PARAM_REGEXP);
|
|
83
98
|
}
|
|
84
|
-
|
|
99
|
+
static findContextParameters(condition) {
|
|
85
100
|
// First, we want to find all the parameters we need to add
|
|
86
101
|
const requestedParameters = new Set();
|
|
87
|
-
// Search conditions for parameters
|
|
88
102
|
// Check return value test
|
|
89
103
|
if (condition.returnValueTest) {
|
|
90
104
|
const rvt = condition.returnValueTest.value;
|
|
91
|
-
|
|
105
|
+
// Return value test can be a single parameter or an array of parameters
|
|
106
|
+
if (Array.isArray(rvt)) {
|
|
107
|
+
rvt.forEach((value) => {
|
|
108
|
+
if (ConditionContext.isContextParameter(value)) {
|
|
109
|
+
requestedParameters.add(value);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
else if (ConditionContext.isContextParameter(rvt)) {
|
|
92
114
|
requestedParameters.add(rvt);
|
|
93
115
|
}
|
|
116
|
+
else {
|
|
117
|
+
// Not a context parameter, we can skip
|
|
118
|
+
}
|
|
94
119
|
}
|
|
95
120
|
// Check condition parameters
|
|
96
121
|
for (const param of condition.parameters ?? []) {
|
|
@@ -101,7 +126,7 @@ class ConditionContext {
|
|
|
101
126
|
// If it's a compound condition, check operands
|
|
102
127
|
if (condition.conditionType === compound_condition_1.CompoundConditionType) {
|
|
103
128
|
for (const key in condition.operands) {
|
|
104
|
-
const innerParams = this.
|
|
129
|
+
const innerParams = this.findContextParameters(condition.operands[key]);
|
|
105
130
|
for (const param of innerParams) {
|
|
106
131
|
requestedParameters.add(param);
|
|
107
132
|
}
|
|
@@ -110,18 +135,24 @@ class ConditionContext {
|
|
|
110
135
|
return requestedParameters;
|
|
111
136
|
}
|
|
112
137
|
async toJson() {
|
|
113
|
-
const parameters = await this.
|
|
138
|
+
const parameters = await this.toContextParameters();
|
|
114
139
|
return (0, shared_1.toJSON)(parameters);
|
|
115
140
|
}
|
|
116
|
-
|
|
117
|
-
return new ConditionContext(this.provider, this.condition, params, this.signer);
|
|
118
|
-
}
|
|
119
|
-
async toWASMContext() {
|
|
141
|
+
async toCoreContext() {
|
|
120
142
|
const asJson = await this.toJson();
|
|
121
|
-
return new
|
|
143
|
+
return new types_1.CoreContext(asJson);
|
|
144
|
+
}
|
|
145
|
+
toContextParameters = async () => {
|
|
146
|
+
const parameters = await this.fillContextParameters(this.requestedParameters);
|
|
147
|
+
this.validateNoMissingContextParameters(parameters);
|
|
148
|
+
return parameters;
|
|
149
|
+
};
|
|
150
|
+
static fromConditions(conditions, authProviders, customParameters) {
|
|
151
|
+
return new ConditionContext(condition_expr_1.ConditionExpression.fromCoreConditions(conditions).condition, customParameters, authProviders);
|
|
122
152
|
}
|
|
123
|
-
static
|
|
124
|
-
|
|
153
|
+
static requestedContextParameters(messageKit) {
|
|
154
|
+
const conditionExpr = condition_expr_1.ConditionExpression.fromCoreConditions(messageKit.acp.conditions);
|
|
155
|
+
return ConditionContext.findContextParameters(conditionExpr.condition.toObj());
|
|
125
156
|
}
|
|
126
157
|
}
|
|
127
158
|
exports.ConditionContext = ConditionContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ERC20Balance = void 0;
|
|
4
|
+
const taco_auth_1 = require("@nucypher/taco-auth");
|
|
4
5
|
const contract_1 = require("../base/contract");
|
|
5
|
-
const const_1 = require("../const");
|
|
6
6
|
const ERC20BalanceDefaults = {
|
|
7
7
|
conditionType: contract_1.ContractConditionType,
|
|
8
8
|
method: 'balanceOf',
|
|
9
|
-
parameters: [
|
|
9
|
+
parameters: [taco_auth_1.USER_ADDRESS_PARAM_DEFAULT],
|
|
10
10
|
standardContractType: 'ERC20',
|
|
11
11
|
};
|
|
12
12
|
class ERC20Balance extends contract_1.ContractCondition {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../../src/conditions/predefined/erc20.ts"],"names":[],"mappings":";;;AAAA,+CAI0B;
|
|
1
|
+
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../../src/conditions/predefined/erc20.ts"],"names":[],"mappings":";;;AAAA,mDAAiE;AAEjE,+CAI0B;AAI1B,MAAM,oBAAoB,GAAqD;IAC7E,aAAa,EAAE,gCAAqB;IACpC,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,CAAC,sCAA0B,CAAC;IACxC,oBAAoB,EAAE,OAAO;CAC9B,CAAC;AAEF,MAAa,YAAa,SAAQ,4BAAiB;IACjD,YAAY,KAAuD;QACjE,KAAK,CAAC,EAAE,GAAG,oBAAoB,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF;AAJD,oCAIC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ERC721Balance = exports.ERC721Ownership = void 0;
|
|
4
|
+
const taco_auth_1 = require("@nucypher/taco-auth");
|
|
4
5
|
const contract_1 = require("../base/contract");
|
|
5
|
-
const const_1 = require("../const");
|
|
6
6
|
const ERC721OwnershipDefaults = {
|
|
7
7
|
conditionType: contract_1.ContractConditionType,
|
|
8
8
|
method: 'ownerOf',
|
|
9
9
|
standardContractType: 'ERC721',
|
|
10
10
|
returnValueTest: {
|
|
11
11
|
comparator: '==',
|
|
12
|
-
value:
|
|
12
|
+
value: taco_auth_1.USER_ADDRESS_PARAM_DEFAULT,
|
|
13
13
|
},
|
|
14
14
|
};
|
|
15
15
|
class ERC721Ownership extends contract_1.ContractCondition {
|
|
@@ -21,7 +21,7 @@ exports.ERC721Ownership = ERC721Ownership;
|
|
|
21
21
|
const ERC721BalanceDefaults = {
|
|
22
22
|
conditionType: contract_1.ContractConditionType,
|
|
23
23
|
method: 'balanceOf',
|
|
24
|
-
parameters: [
|
|
24
|
+
parameters: [taco_auth_1.USER_ADDRESS_PARAM_DEFAULT],
|
|
25
25
|
standardContractType: 'ERC721',
|
|
26
26
|
};
|
|
27
27
|
class ERC721Balance extends contract_1.ContractCondition {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc721.js","sourceRoot":"","sources":["../../../../src/conditions/predefined/erc721.ts"],"names":[],"mappings":";;;AAAA,+CAI0B;
|
|
1
|
+
{"version":3,"file":"erc721.js","sourceRoot":"","sources":["../../../../src/conditions/predefined/erc721.ts"],"names":[],"mappings":";;;AAAA,mDAAiE;AAEjE,+CAI0B;AAI1B,MAAM,uBAAuB,GAGzB;IACF,aAAa,EAAE,gCAAqB;IACpC,MAAM,EAAE,SAAS;IACjB,oBAAoB,EAAE,QAAQ;IAC9B,eAAe,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,sCAA0B;KAClC;CACF,CAAC;AAEF,MAAa,eAAgB,SAAQ,4BAAiB;IACpD,YAAY,KAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,uBAAuB,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAJD,0CAIC;AAID,MAAM,qBAAqB,GACzB;IACE,aAAa,EAAE,gCAAqB;IACpC,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,CAAC,sCAA0B,CAAC;IACxC,oBAAoB,EAAE,QAAQ;CAC/B,CAAC;AAEJ,MAAa,aAAc,SAAQ,4BAAiB;IAClD,YAAY,KAAwD;QAClE,KAAK,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;CACF;AAJD,sCAIC"}
|
|
@@ -16,5 +16,5 @@ export declare const returnValueTestSchema: z.ZodObject<{
|
|
|
16
16
|
index?: number | undefined;
|
|
17
17
|
}>;
|
|
18
18
|
export type ReturnValueTestProps = z.infer<typeof returnValueTestSchema>;
|
|
19
|
-
export declare const EthAddressOrUserAddressSchema: z.ZodUnion<[z.ZodString, z.
|
|
19
|
+
export declare const EthAddressOrUserAddressSchema: z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>]>;
|
|
20
20
|
export type OmitConditionType<T> = Omit<T, 'conditionType'>;
|