@nucypher/taco 0.3.0 → 0.5.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/README.md +0 -1
- package/dist/cjs/conditions/base/contract.d.ts +14 -18
- 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 +7 -7
- package/dist/cjs/conditions/base/time.d.ts +5 -5
- package/dist/cjs/conditions/compound-condition.js.map +1 -1
- package/dist/cjs/conditions/condition-expr.d.ts +3 -7
- package/dist/cjs/conditions/condition-expr.js +2 -9
- 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 +1 -3
- package/dist/cjs/conditions/const.js +7 -4
- package/dist/cjs/conditions/const.js.map +1 -1
- package/dist/cjs/conditions/context/context.d.ts +21 -17
- package/dist/cjs/conditions/context/context.js +107 -70
- 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 +3 -3
- package/dist/cjs/conditions/shared.js +8 -4
- package/dist/cjs/conditions/shared.js.map +1 -1
- package/dist/cjs/conditions/zod.js.map +1 -1
- package/dist/cjs/dkg.d.ts +1 -1
- package/dist/cjs/dkg.js +2 -2
- package/dist/cjs/dkg.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +2 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/taco.d.ts +5 -22
- package/dist/cjs/taco.js +10 -31
- package/dist/cjs/taco.js.map +1 -1
- package/dist/cjs/tdec.d.ts +3 -3
- package/dist/cjs/tdec.js +16 -12
- 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 +14 -18
- 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 +7 -7
- package/dist/es/conditions/base/time.d.ts +5 -5
- package/dist/es/conditions/compound-condition.js.map +1 -1
- package/dist/es/conditions/condition-expr.d.ts +3 -7
- package/dist/es/conditions/condition-expr.js +4 -11
- 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 +1 -3
- package/dist/es/conditions/const.js +6 -3
- package/dist/es/conditions/const.js.map +1 -1
- package/dist/es/conditions/context/context.d.ts +21 -17
- package/dist/es/conditions/context/context.js +108 -71
- 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 +3 -3
- package/dist/es/conditions/shared.js +8 -4
- package/dist/es/conditions/shared.js.map +1 -1
- package/dist/es/conditions/zod.js.map +1 -1
- package/dist/es/dkg.d.ts +1 -1
- package/dist/es/dkg.js +2 -2
- package/dist/es/dkg.js.map +1 -1
- package/dist/es/index.d.ts +2 -2
- package/dist/es/index.js +2 -3
- package/dist/es/index.js.map +1 -1
- package/dist/es/taco.d.ts +5 -22
- package/dist/es/taco.js +10 -29
- package/dist/es/taco.js.map +1 -1
- package/dist/es/tdec.d.ts +3 -3
- package/dist/es/tdec.js +17 -13
- 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 +8 -8
- 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
package/dist/cjs/tdec.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DkgPublicKey, ThresholdMessageKit } from '@nucypher/nucypher-core';
|
|
2
|
-
import { Domain } from '@nucypher/shared';
|
|
2
|
+
import { Domain, PorterClient } from '@nucypher/shared';
|
|
3
3
|
import { ethers } from 'ethers';
|
|
4
4
|
import { ConditionExpression } from './conditions/condition-expr';
|
|
5
|
-
import {
|
|
5
|
+
import { ConditionContext } from './conditions/context';
|
|
6
6
|
export declare const encryptMessage: (plaintext: Uint8Array | string, encryptingKey: DkgPublicKey, conditions: ConditionExpression, authSigner: ethers.Signer) => Promise<ThresholdMessageKit>;
|
|
7
|
-
export declare const retrieveAndDecrypt: (provider: ethers.providers.Provider, domain: Domain,
|
|
7
|
+
export declare const retrieveAndDecrypt: (provider: ethers.providers.Provider, domain: Domain, porter: PorterClient, thresholdMessageKit: ThresholdMessageKit, ritualId: number, context?: ConditionContext) => Promise<Uint8Array>;
|
package/dist/cjs/tdec.js
CHANGED
|
@@ -5,10 +5,11 @@ const nucypher_core_1 = require("@nucypher/nucypher-core");
|
|
|
5
5
|
const shared_1 = require("@nucypher/shared");
|
|
6
6
|
const utils_1 = require("ethers/lib/utils");
|
|
7
7
|
const context_1 = require("./conditions/context");
|
|
8
|
+
const dkg_1 = require("./dkg");
|
|
8
9
|
const ERR_DECRYPTION_FAILED = (errors) => `Threshold of responses not met; TACo decryption failed with errors: ${JSON.stringify(errors)}`;
|
|
9
10
|
const ERR_RITUAL_ID_MISMATCH = (expectedRitualId, ritualIds) => `Ritual id mismatch. Expected ${expectedRitualId}, got ${ritualIds}`;
|
|
10
11
|
const encryptMessage = async (plaintext, encryptingKey, conditions, authSigner) => {
|
|
11
|
-
const [ciphertext, authenticatedData] = (0, nucypher_core_1.encryptForDkg)(plaintext instanceof Uint8Array ? plaintext : (0, shared_1.toBytes)(plaintext), encryptingKey, conditions.
|
|
12
|
+
const [ciphertext, authenticatedData] = (0, nucypher_core_1.encryptForDkg)(plaintext instanceof Uint8Array ? plaintext : (0, shared_1.toBytes)(plaintext), encryptingKey, conditions.toCoreCondition());
|
|
12
13
|
const headerHash = (0, utils_1.keccak256)(ciphertext.header.toBytes());
|
|
13
14
|
const authorization = await authSigner.signMessage((0, utils_1.arrayify)(headerHash));
|
|
14
15
|
const acp = new nucypher_core_1.AccessControlPolicy(authenticatedData, (0, shared_1.toBytes)(authorization));
|
|
@@ -16,20 +17,22 @@ const encryptMessage = async (plaintext, encryptingKey, conditions, authSigner)
|
|
|
16
17
|
};
|
|
17
18
|
exports.encryptMessage = encryptMessage;
|
|
18
19
|
// Retrieve and decrypt ciphertext using provider and condition expression
|
|
19
|
-
const retrieveAndDecrypt = async (provider, domain,
|
|
20
|
-
const decryptionShares = await retrieve(provider, domain,
|
|
20
|
+
const retrieveAndDecrypt = async (provider, domain, porter, thresholdMessageKit, ritualId, context) => {
|
|
21
|
+
const decryptionShares = await retrieve(provider, domain, porter, thresholdMessageKit, ritualId, context);
|
|
21
22
|
const sharedSecret = (0, nucypher_core_1.combineDecryptionSharesSimple)(decryptionShares);
|
|
22
23
|
return thresholdMessageKit.decryptWithSharedSecret(sharedSecret);
|
|
23
24
|
};
|
|
24
25
|
exports.retrieveAndDecrypt = retrieveAndDecrypt;
|
|
25
26
|
// Retrieve decryption shares
|
|
26
|
-
const retrieve = async (provider, domain,
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
const retrieve = async (provider, domain, porter, thresholdMessageKit, ritualId, context) => {
|
|
28
|
+
const ritual = await dkg_1.DkgClient.getActiveRitual(provider, domain, ritualId);
|
|
29
|
+
const dkgParticipants = await shared_1.DkgCoordinatorAgent.getParticipants(provider, domain, ritualId, ritual.sharesNum);
|
|
30
|
+
const conditionContext = context
|
|
31
|
+
? context
|
|
32
|
+
: context_1.ConditionContext.fromMessageKit(thresholdMessageKit);
|
|
33
|
+
const { sharedSecrets, encryptedRequests } = await makeDecryptionRequests(ritualId, conditionContext, dkgParticipants, thresholdMessageKit);
|
|
34
|
+
const { encryptedResponses, errors } = await porter.tacoDecrypt(encryptedRequests, ritual.threshold);
|
|
35
|
+
if (Object.keys(encryptedResponses).length < ritual.threshold) {
|
|
33
36
|
throw new Error(ERR_DECRYPTION_FAILED(errors));
|
|
34
37
|
}
|
|
35
38
|
return makeDecryptionShares(encryptedResponses, sharedSecrets, ritualId);
|
|
@@ -42,8 +45,9 @@ const makeDecryptionShares = (encryptedResponses, sessionSharedSecret, expectedR
|
|
|
42
45
|
}
|
|
43
46
|
return decryptedResponses.map(({ decryptionShare }) => nucypher_core_1.DecryptionShareSimple.fromBytes(decryptionShare));
|
|
44
47
|
};
|
|
45
|
-
const makeDecryptionRequests = async (ritualId,
|
|
46
|
-
const
|
|
48
|
+
const makeDecryptionRequests = async (ritualId, conditionContext, dkgParticipants, thresholdMessageKit) => {
|
|
49
|
+
const coreContext = await conditionContext.toCoreContext();
|
|
50
|
+
const decryptionRequest = new nucypher_core_1.ThresholdDecryptionRequest(ritualId, nucypher_core_1.FerveoVariant.simple, thresholdMessageKit.ciphertextHeader, thresholdMessageKit.acp, coreContext);
|
|
47
51
|
const ephemeralSessionKey = makeSessionKey();
|
|
48
52
|
// Compute shared secrets for each participant
|
|
49
53
|
const sharedSecrets = Object.fromEntries(dkgParticipants.map(({ provider, decryptionRequestStaticKey }) => {
|
package/dist/cjs/tdec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tdec.js","sourceRoot":"","sources":["../../src/tdec.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"tdec.js","sourceRoot":"","sources":["../../src/tdec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Conditions as CoreConditions, Context as CoreContext, } from '@nucypher/nucypher-core';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoreContext = exports.CoreConditions = void 0;
|
|
4
|
+
// Re-exporting core types to avoid confusion with taco types
|
|
5
|
+
var nucypher_core_1 = require("@nucypher/nucypher-core");
|
|
6
|
+
Object.defineProperty(exports, "CoreConditions", { enumerable: true, get: function () { return nucypher_core_1.Conditions; } });
|
|
7
|
+
Object.defineProperty(exports, "CoreContext", { enumerable: true, get: function () { return nucypher_core_1.Context; } });
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAAA,6DAA6D;AAC7D,yDAGiC;AAF/B,+GAAA,UAAU,OAAkB;AAC5B,4GAAA,OAAO,OAAe"}
|
|
@@ -142,25 +142,21 @@ declare const functionAbiSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
142
142
|
}>;
|
|
143
143
|
export type FunctionAbiProps = z.infer<typeof functionAbiSchema>;
|
|
144
144
|
export declare const ContractConditionType = "contract";
|
|
145
|
-
export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<
|
|
146
|
-
conditionType: z.ZodDefault<z.ZodLiteral<"rpc">>;
|
|
145
|
+
export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
147
146
|
chain: z.ZodNever | z.ZodLiteral<z.Primitive> | z.ZodUnion<[z.ZodLiteral<z.Primitive>, z.ZodLiteral<z.Primitive>, ...z.ZodLiteral<z.Primitive>[]]>;
|
|
148
|
-
method: z.ZodEnum<["eth_getBalance"]>;
|
|
149
|
-
parameters: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodLiteral<":userAddress">]>, "atleastone">, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodLiteral<":userAddress">]>, z.ZodType<any, z.ZodTypeDef, any>], null>]>;
|
|
150
147
|
returnValueTest: z.ZodObject<{
|
|
151
148
|
index: z.ZodOptional<z.ZodNumber>;
|
|
152
149
|
comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
|
|
153
150
|
value: z.ZodType<any, z.ZodTypeDef, any>;
|
|
154
151
|
}, "strip", z.ZodTypeAny, {
|
|
155
152
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
156
|
-
value?: any;
|
|
157
153
|
index?: number | undefined;
|
|
154
|
+
value?: any;
|
|
158
155
|
}, {
|
|
159
156
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
160
|
-
value?: any;
|
|
161
157
|
index?: number | undefined;
|
|
158
|
+
value?: any;
|
|
162
159
|
}>;
|
|
163
|
-
}, {
|
|
164
160
|
conditionType: z.ZodDefault<z.ZodLiteral<"contract">>;
|
|
165
161
|
contractAddress: z.ZodString;
|
|
166
162
|
standardContractType: z.ZodOptional<z.ZodEnum<["ERC20", "ERC721"]>>;
|
|
@@ -305,17 +301,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<z.objectU
|
|
|
305
301
|
stateMutability: "view" | "pure";
|
|
306
302
|
}>>;
|
|
307
303
|
parameters: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
|
|
308
|
-
}
|
|
304
|
+
}, "strip", z.ZodTypeAny, {
|
|
309
305
|
conditionType: "contract";
|
|
310
306
|
method: string;
|
|
311
307
|
parameters: any[];
|
|
312
308
|
returnValueTest: {
|
|
313
309
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
314
|
-
value?: any;
|
|
315
310
|
index?: number | undefined;
|
|
311
|
+
value?: any;
|
|
316
312
|
};
|
|
317
313
|
contractAddress: string;
|
|
318
314
|
chain?: z.Primitive;
|
|
315
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
319
316
|
functionAbi?: {
|
|
320
317
|
type: "function";
|
|
321
318
|
name: string;
|
|
@@ -335,18 +332,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<z.objectU
|
|
|
335
332
|
}[]];
|
|
336
333
|
stateMutability: "view" | "pure";
|
|
337
334
|
} | undefined;
|
|
338
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
339
335
|
}, {
|
|
340
336
|
method: string;
|
|
341
337
|
parameters: any[];
|
|
342
338
|
returnValueTest: {
|
|
343
339
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
344
|
-
value?: any;
|
|
345
340
|
index?: number | undefined;
|
|
341
|
+
value?: any;
|
|
346
342
|
};
|
|
347
343
|
contractAddress: string;
|
|
348
|
-
conditionType?: "contract" | undefined;
|
|
349
344
|
chain?: z.Primitive;
|
|
345
|
+
conditionType?: "contract" | undefined;
|
|
346
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
350
347
|
functionAbi?: {
|
|
351
348
|
type: "function";
|
|
352
349
|
name: string;
|
|
@@ -366,18 +363,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<z.objectU
|
|
|
366
363
|
}[]];
|
|
367
364
|
stateMutability: "view" | "pure";
|
|
368
365
|
} | undefined;
|
|
369
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
370
366
|
}>, {
|
|
371
367
|
conditionType: "contract";
|
|
372
368
|
method: string;
|
|
373
369
|
parameters: any[];
|
|
374
370
|
returnValueTest: {
|
|
375
371
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
376
|
-
value?: any;
|
|
377
372
|
index?: number | undefined;
|
|
373
|
+
value?: any;
|
|
378
374
|
};
|
|
379
375
|
contractAddress: string;
|
|
380
376
|
chain?: z.Primitive;
|
|
377
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
381
378
|
functionAbi?: {
|
|
382
379
|
type: "function";
|
|
383
380
|
name: string;
|
|
@@ -397,18 +394,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<z.objectU
|
|
|
397
394
|
}[]];
|
|
398
395
|
stateMutability: "view" | "pure";
|
|
399
396
|
} | undefined;
|
|
400
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
401
397
|
}, {
|
|
402
398
|
method: string;
|
|
403
399
|
parameters: any[];
|
|
404
400
|
returnValueTest: {
|
|
405
401
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
406
|
-
value?: any;
|
|
407
402
|
index?: number | undefined;
|
|
403
|
+
value?: any;
|
|
408
404
|
};
|
|
409
405
|
contractAddress: string;
|
|
410
|
-
conditionType?: "contract" | undefined;
|
|
411
406
|
chain?: z.Primitive;
|
|
407
|
+
conditionType?: "contract" | undefined;
|
|
408
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
412
409
|
functionAbi?: {
|
|
413
410
|
type: "function";
|
|
414
411
|
name: string;
|
|
@@ -428,7 +425,6 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<z.objectU
|
|
|
428
425
|
}[]];
|
|
429
426
|
stateMutability: "view" | "pure";
|
|
430
427
|
} | undefined;
|
|
431
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
432
428
|
}>;
|
|
433
429
|
export type ContractConditionProps = z.infer<typeof contractConditionSchema>;
|
|
434
430
|
export declare class ContractCondition extends Condition {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { ETH_ADDRESS_REGEXP } from '@nucypher/shared';
|
|
1
2
|
import { ethers } from 'ethers';
|
|
2
3
|
import { z } from 'zod';
|
|
3
4
|
import { Condition } from '../condition';
|
|
4
|
-
import { ETH_ADDRESS_REGEXP } from '../const';
|
|
5
5
|
import { paramOrContextParamSchema } from '../shared';
|
|
6
6
|
import { rpcConditionSchema } from './rpc';
|
|
7
7
|
// TODO: Consider replacing with `z.unknown`:
|
|
@@ -12,9 +12,9 @@ const EthBaseTypes = [
|
|
|
12
12
|
'string',
|
|
13
13
|
'address',
|
|
14
14
|
'address payable',
|
|
15
|
-
...Array.from({ length: 32 }, (_v, i) => `bytes${i + 1}`),
|
|
15
|
+
...Array.from({ length: 32 }, (_v, i) => `bytes${i + 1}`), // bytes1 through bytes32
|
|
16
16
|
'bytes',
|
|
17
|
-
...Array.from({ length: 32 }, (_v, i) => `uint${8 * (i + 1)}`),
|
|
17
|
+
...Array.from({ length: 32 }, (_v, i) => `uint${8 * (i + 1)}`), // uint8 through uint256
|
|
18
18
|
...Array.from({ length: 32 }, (_v, i) => `int${8 * (i + 1)}`), // int8 through int256
|
|
19
19
|
];
|
|
20
20
|
const functionAbiVariableSchema = z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/conditions/base/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/conditions/base/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,37 +6,37 @@ 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<["==", ">", "<", ">=", "<=", "!="]>;
|
|
13
13
|
value: z.ZodType<any, z.ZodTypeDef, any>;
|
|
14
14
|
}, "strip", z.ZodTypeAny, {
|
|
15
15
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
16
|
-
value?: any;
|
|
17
16
|
index?: number | undefined;
|
|
17
|
+
value?: any;
|
|
18
18
|
}, {
|
|
19
19
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
20
|
-
value?: any;
|
|
21
20
|
index?: number | undefined;
|
|
21
|
+
value?: any;
|
|
22
22
|
}>;
|
|
23
23
|
}, "strip", z.ZodTypeAny, {
|
|
24
24
|
conditionType: "rpc";
|
|
25
25
|
method: "eth_getBalance";
|
|
26
|
-
parameters: [string, ...string[]] | [string, any];
|
|
26
|
+
parameters: ([string, ...string[]] | [string, any]) & ([string, ...string[]] | [string, any] | undefined);
|
|
27
27
|
returnValueTest: {
|
|
28
28
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
29
|
-
value?: any;
|
|
30
29
|
index?: number | undefined;
|
|
30
|
+
value?: any;
|
|
31
31
|
};
|
|
32
32
|
chain?: z.Primitive;
|
|
33
33
|
}, {
|
|
34
34
|
method: "eth_getBalance";
|
|
35
|
-
parameters: [string, ...string[]] | [string, any];
|
|
35
|
+
parameters: ([string, ...string[]] | [string, any]) & ([string, ...string[]] | [string, any] | undefined);
|
|
36
36
|
returnValueTest: {
|
|
37
37
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
38
|
-
value?: any;
|
|
39
38
|
index?: number | undefined;
|
|
39
|
+
value?: any;
|
|
40
40
|
};
|
|
41
41
|
conditionType?: "rpc" | undefined;
|
|
42
42
|
chain?: z.Primitive;
|
|
@@ -13,31 +13,31 @@ export declare const timeConditionSchema: z.ZodObject<{
|
|
|
13
13
|
value: z.ZodType<any, z.ZodTypeDef, any>;
|
|
14
14
|
}, "strip", z.ZodTypeAny, {
|
|
15
15
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
16
|
-
value?: any;
|
|
17
16
|
index?: number | undefined;
|
|
17
|
+
value?: any;
|
|
18
18
|
}, {
|
|
19
19
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
20
|
-
value?: any;
|
|
21
20
|
index?: number | undefined;
|
|
21
|
+
value?: any;
|
|
22
22
|
}>;
|
|
23
23
|
}, "strip", z.ZodTypeAny, {
|
|
24
24
|
conditionType: "time";
|
|
25
25
|
method: "blocktime";
|
|
26
26
|
returnValueTest: {
|
|
27
27
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
28
|
-
value?: any;
|
|
29
28
|
index?: number | undefined;
|
|
29
|
+
value?: any;
|
|
30
30
|
};
|
|
31
31
|
chain?: z.Primitive;
|
|
32
32
|
}, {
|
|
33
33
|
returnValueTest: {
|
|
34
34
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
35
|
-
value?: any;
|
|
36
35
|
index?: number | undefined;
|
|
36
|
+
value?: any;
|
|
37
37
|
};
|
|
38
38
|
conditionType?: "time" | undefined;
|
|
39
|
-
chain?: z.Primitive;
|
|
40
39
|
method?: "blocktime" | undefined;
|
|
40
|
+
chain?: z.Primitive;
|
|
41
41
|
}>;
|
|
42
42
|
export type TimeConditionProps = z.infer<typeof timeConditionSchema>;
|
|
43
43
|
export declare class TimeCondition extends Condition {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compound-condition.js","sourceRoot":"","sources":["../../../src/conditions/compound-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAGxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAgB,CAAC;KAClD,MAAM,CAAC;IACN,aAAa,EAAE,CAAC;SACb,OAAO,CAAC,qBAAqB,CAAC;SAC9B,OAAO,CAAC,qBAAqB,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,QAAQ,EAAE,CAAC;SACR,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACV,CAAC,CAAC,KAAK,CAAC;QACN,kBAAkB;QAClB,mBAAmB;QACnB,uBAAuB;QACvB,uBAAuB;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,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAGxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAgB,CAAC;KAClD,MAAM,CAAC;IACN,aAAa,EAAE,CAAC;SACb,OAAO,CAAC,qBAAqB,CAAC;SAC9B,OAAO,CAAC,qBAAqB,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,QAAQ,EAAE,CAAC;SACR,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACV,CAAC,CAAC,KAAK,CAAC;QACN,kBAAkB;QAClB,mBAAmB;QACnB,uBAAuB;QACvB,uBAAuB;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,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC9C,YAAY,KAAgD;QAC1D,KAAK,CAAC,uBAAuB,EAAE;YAC7B,aAAa,EAAE,qBAAqB;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,SAAS,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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { Conditions as
|
|
2
|
-
import { ethers } from 'ethers';
|
|
1
|
+
import { Conditions as CoreConditions } from '@nucypher/nucypher-core';
|
|
3
2
|
import { Condition } from './condition';
|
|
4
|
-
import { ConditionContext, CustomContextParam } from './context';
|
|
5
3
|
export type ConditionExpressionJSON = {
|
|
6
4
|
version: string;
|
|
7
5
|
condition: Record<string, unknown>;
|
|
@@ -15,9 +13,7 @@ export declare class ConditionExpression {
|
|
|
15
13
|
static fromObj(obj: ConditionExpressionJSON): ConditionExpression;
|
|
16
14
|
toJson(): string;
|
|
17
15
|
static fromJSON(json: string): ConditionExpression;
|
|
18
|
-
|
|
19
|
-
static
|
|
20
|
-
buildContext(provider: ethers.providers.Provider, customParameters?: Record<string, CustomContextParam>, signer?: ethers.Signer): ConditionContext;
|
|
21
|
-
contextRequiresSigner(): boolean;
|
|
16
|
+
toCoreCondition(): CoreConditions;
|
|
17
|
+
static fromCoreConditions(conditions: CoreConditions): ConditionExpression;
|
|
22
18
|
equals(other: ConditionExpression): boolean;
|
|
23
19
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Conditions as
|
|
1
|
+
import { Conditions as CoreConditions } from '@nucypher/nucypher-core';
|
|
2
2
|
import { toJSON } from '@nucypher/shared';
|
|
3
3
|
import { SemVer } from 'semver';
|
|
4
4
|
import { ConditionFactory } from './condition-factory';
|
|
5
|
-
import { ConditionContext } from './context';
|
|
6
5
|
const ERR_VERSION = (provided, current) => `Version provided, ${provided}, is incompatible with current version, ${current}`;
|
|
7
6
|
const ERR_CONDITION = (condition) => `Invalid condition: unrecognized condition data ${JSON.stringify(condition)}`;
|
|
8
7
|
export class ConditionExpression {
|
|
@@ -38,18 +37,12 @@ export class ConditionExpression {
|
|
|
38
37
|
static fromJSON(json) {
|
|
39
38
|
return ConditionExpression.fromObj(JSON.parse(json));
|
|
40
39
|
}
|
|
41
|
-
|
|
42
|
-
return new
|
|
40
|
+
toCoreCondition() {
|
|
41
|
+
return new CoreConditions(toJSON(this.toObj()));
|
|
43
42
|
}
|
|
44
|
-
static
|
|
43
|
+
static fromCoreConditions(conditions) {
|
|
45
44
|
return ConditionExpression.fromJSON(conditions.toString());
|
|
46
45
|
}
|
|
47
|
-
buildContext(provider, customParameters = {}, signer) {
|
|
48
|
-
return new ConditionContext(provider, this.condition, customParameters, signer);
|
|
49
|
-
}
|
|
50
|
-
contextRequiresSigner() {
|
|
51
|
-
return this.condition.requiresSigner();
|
|
52
|
-
}
|
|
53
46
|
equals(other) {
|
|
54
47
|
return [
|
|
55
48
|
this.version === other.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition-expr.js","sourceRoot":"","sources":["../../../src/conditions/condition-expr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"condition-expr.js","sourceRoot":"","sources":["../../../src/conditions/condition-expr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,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,MAAM,OAAO,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,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,MAAM,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,gBAAgB,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,MAAM,CAAC,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,cAAc,CAAC,MAAM,CAAC,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,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EACL,aAAa,EAEb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAM,OAAO,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,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EACL,aAAa,EAEb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAM,OAAO,gBAAgB;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAqB;QACpD,QAAQ,KAAK,CAAC,aAAa,EAAE,CAAC;YAC5B,KAAK,gBAAgB;gBACnB,OAAO,IAAI,YAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,iBAAiB;gBACpB,OAAO,IAAI,aAAa,CAAC,KAA2B,CAAC,CAAC;YACxD,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -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 {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { objectEquals } from '@nucypher/shared';
|
|
2
|
-
import {
|
|
2
|
+
import { USER_ADDRESS_PARAMS } from './const';
|
|
3
3
|
const ERR_INVALID_CONDITION = (error) => `Invalid condition: ${JSON.stringify(error.issues)}`;
|
|
4
4
|
export class Condition {
|
|
5
5
|
schema;
|
|
@@ -20,8 +20,18 @@ export class Condition {
|
|
|
20
20
|
}
|
|
21
21
|
return { error: result.error };
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
// TODO: Fix this method and add a test for it
|
|
24
|
+
findParamWithAuthentication() {
|
|
25
|
+
const serialized = JSON.stringify(this.value);
|
|
26
|
+
for (const param of USER_ADDRESS_PARAMS) {
|
|
27
|
+
if (serialized.includes(param)) {
|
|
28
|
+
return param;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
requiresAuthentication() {
|
|
34
|
+
return Boolean(this.findParamWithAuthentication());
|
|
25
35
|
}
|
|
26
36
|
toObj() {
|
|
27
37
|
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,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAK9C,MAAM,qBAAqB,GAAG,CAAC,KAAiB,EAAE,EAAE,CAClD,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAEvD,MAAM,OAAO,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,mBAAmB,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,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { ChainId } from '@nucypher/shared';
|
|
2
|
-
export declare const USER_ADDRESS_PARAM = ":userAddress";
|
|
3
|
-
export declare const ETH_ADDRESS_REGEXP: RegExp;
|
|
4
2
|
export declare const CONTEXT_PARAM_REGEXP: RegExp;
|
|
5
3
|
export declare const CONTEXT_PARAM_PREFIX = ":";
|
|
6
4
|
export declare const SUPPORTED_CHAIN_IDS: ChainId[];
|
|
7
|
-
export declare const
|
|
5
|
+
export declare const USER_ADDRESS_PARAMS: string[];
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ChainId } from '@nucypher/shared';
|
|
2
|
-
|
|
3
|
-
export const ETH_ADDRESS_REGEXP = new RegExp('^0x[a-fA-F0-9]{40}$');
|
|
2
|
+
import { USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
|
|
4
3
|
// Only allow alphanumeric characters and underscores
|
|
5
4
|
export const CONTEXT_PARAM_REGEXP = new RegExp('^:[a-zA-Z_][a-zA-Z0-9_]*$');
|
|
6
5
|
export const CONTEXT_PARAM_PREFIX = ':';
|
|
@@ -10,5 +9,9 @@ export const SUPPORTED_CHAIN_IDS = [
|
|
|
10
9
|
ChainId.SEPOLIA,
|
|
11
10
|
ChainId.ETHEREUM_MAINNET,
|
|
12
11
|
];
|
|
13
|
-
export const
|
|
12
|
+
export const USER_ADDRESS_PARAMS = [
|
|
13
|
+
USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
|
|
14
|
+
// Ordering matters, this should always be last
|
|
15
|
+
USER_ADDRESS_PARAM_DEFAULT,
|
|
16
|
+
];
|
|
14
17
|
//# sourceMappingURL=const.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAE7B,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mCAAmC;IACnC,+CAA+C;IAC/C,0BAA0B;CAC3B,CAAC"}
|
|
@@ -1,23 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ThresholdMessageKit } from '@nucypher/nucypher-core';
|
|
2
|
+
import { AuthProvider, AuthSignature } from '@nucypher/taco-auth';
|
|
3
|
+
import { CoreContext } from '../../types';
|
|
3
4
|
import { Condition } from '../condition';
|
|
4
|
-
import { TypedSignature } from './providers';
|
|
5
5
|
export type CustomContextParam = string | number | boolean;
|
|
6
|
-
export type ContextParam = CustomContextParam |
|
|
6
|
+
export type ContextParam = CustomContextParam | AuthSignature;
|
|
7
|
+
export declare const RESERVED_CONTEXT_PARAMS: string[];
|
|
7
8
|
export declare class ConditionContext {
|
|
8
|
-
|
|
9
|
-
private
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
private
|
|
13
|
-
|
|
14
|
-
private validate;
|
|
15
|
-
toObj: () => Promise<Record<string, ContextParam>>;
|
|
9
|
+
requestedContextParameters: Set<string>;
|
|
10
|
+
private customContextParameters;
|
|
11
|
+
private authProviders;
|
|
12
|
+
constructor(condition: Condition);
|
|
13
|
+
private static validateCoreConditions;
|
|
14
|
+
private validateNoMissingContextParameters;
|
|
16
15
|
private fillContextParameters;
|
|
17
|
-
private
|
|
18
|
-
private
|
|
16
|
+
private validateAuthProviders;
|
|
17
|
+
private fillAuthContextParameters;
|
|
18
|
+
private validateCustomContextParameter;
|
|
19
|
+
private static isContextParameter;
|
|
20
|
+
private static findContextParameters;
|
|
21
|
+
addCustomContextParameterValues(customContextParameters: Record<string, CustomContextParam>): void;
|
|
22
|
+
addAuthProvider(contextParam: string, authProvider: AuthProvider): void;
|
|
19
23
|
toJson(): Promise<string>;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
static
|
|
24
|
+
toCoreContext(): Promise<CoreContext>;
|
|
25
|
+
toContextParameters: () => Promise<Record<string, ContextParam>>;
|
|
26
|
+
static fromMessageKit(messageKit: ThresholdMessageKit): ConditionContext;
|
|
23
27
|
}
|