@nucypher/taco 0.7.0-alpha.0 → 0.7.0-alpha.1
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/ecdsa.d.ts +7 -0
- package/dist/cjs/conditions/base/ecdsa.js +21 -0
- package/dist/cjs/conditions/base/ecdsa.js.map +1 -0
- package/dist/cjs/conditions/base/index.d.ts +1 -0
- package/dist/cjs/conditions/base/index.js +2 -1
- package/dist/cjs/conditions/base/index.js.map +1 -1
- package/dist/cjs/conditions/condition-factory.js +3 -0
- package/dist/cjs/conditions/condition-factory.js.map +1 -1
- package/dist/cjs/conditions/schemas/common.d.ts +1 -0
- package/dist/cjs/conditions/schemas/common.js +5 -1
- package/dist/cjs/conditions/schemas/common.js.map +1 -1
- package/dist/cjs/conditions/schemas/contract.d.ts +12 -12
- package/dist/cjs/conditions/schemas/ecdsa.d.ts +38 -0
- package/dist/cjs/conditions/schemas/ecdsa.js +40 -0
- package/dist/cjs/conditions/schemas/ecdsa.js.map +1 -0
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.d.ts +1 -0
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js +1 -0
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
- package/dist/cjs/conditions/schemas/rpc.d.ts +4 -4
- package/dist/cjs/conditions/schemas/sequential.js +31 -11
- package/dist/cjs/conditions/schemas/sequential.js.map +1 -1
- package/dist/cjs/conditions/schemas/time.d.ts +2 -2
- package/dist/cjs/conditions/schemas/utils.js +2 -0
- package/dist/cjs/conditions/schemas/utils.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/sign.d.ts +2 -0
- package/dist/cjs/sign.js +11 -0
- package/dist/cjs/sign.js.map +1 -1
- package/dist/es/conditions/base/ecdsa.d.ts +7 -0
- package/dist/es/conditions/base/ecdsa.js +12 -0
- package/dist/es/conditions/base/ecdsa.js.map +1 -0
- package/dist/es/conditions/base/index.d.ts +1 -0
- package/dist/es/conditions/base/index.js +1 -0
- package/dist/es/conditions/base/index.js.map +1 -1
- package/dist/es/conditions/condition-factory.js +3 -0
- package/dist/es/conditions/condition-factory.js.map +1 -1
- package/dist/es/conditions/schemas/common.d.ts +1 -0
- package/dist/es/conditions/schemas/common.js +4 -0
- package/dist/es/conditions/schemas/common.js.map +1 -1
- package/dist/es/conditions/schemas/contract.d.ts +12 -12
- package/dist/es/conditions/schemas/ecdsa.d.ts +38 -0
- package/dist/es/conditions/schemas/ecdsa.js +37 -0
- package/dist/es/conditions/schemas/ecdsa.js.map +1 -0
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.d.ts +1 -0
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.js +1 -0
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
- package/dist/es/conditions/schemas/rpc.d.ts +4 -4
- package/dist/es/conditions/schemas/sequential.js +31 -11
- package/dist/es/conditions/schemas/sequential.js.map +1 -1
- package/dist/es/conditions/schemas/time.d.ts +2 -2
- package/dist/es/conditions/schemas/utils.js +2 -0
- package/dist/es/conditions/schemas/utils.js.map +1 -1
- package/dist/es/index.d.ts +1 -1
- package/dist/es/index.js +1 -1
- package/dist/es/index.js.map +1 -1
- package/dist/es/sign.d.ts +2 -0
- package/dist/es/sign.js +10 -0
- package/dist/es/sign.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.es.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AddressAllowlistCondition, AddressAllowlistConditionType, } from './base/address-allowlist';
|
|
2
2
|
import { ContractCondition, ContractConditionType, } from './base/contract';
|
|
3
|
+
import { ECDSACondition, ECDSAConditionType, } from './base/ecdsa';
|
|
3
4
|
import { JsonApiCondition, JsonApiConditionType, } from './base/json-api';
|
|
4
5
|
import { JsonRpcCondition, JsonRpcConditionType, } from './base/json-rpc';
|
|
5
6
|
import { JWTCondition, JWTConditionType } from './base/jwt';
|
|
@@ -20,6 +21,8 @@ export class ConditionFactory {
|
|
|
20
21
|
return new TimeCondition(props);
|
|
21
22
|
case ContractConditionType:
|
|
22
23
|
return new ContractCondition(props);
|
|
24
|
+
case ECDSAConditionType:
|
|
25
|
+
return new ECDSACondition(props);
|
|
23
26
|
case JsonApiConditionType:
|
|
24
27
|
return new JsonApiCondition(props);
|
|
25
28
|
case JsonRpcConditionType:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EAEzB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAEhB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAEhB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EACL,kCAAkC,EAElC,sCAAsC,EACtC,+BAA+B,EAE/B,mCAAmC,GACpC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EAEb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,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,kBAAkB;YAClB,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,oBAAoB;gBACvB,OAAO,IAAI,gBAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,KAAK,oBAAoB;gBACvB,OAAO,IAAI,gBAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,KAAK,gBAAgB;gBACnB,OAAO,IAAI,YAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,6BAA6B;gBAChC,OAAO,IAAI,yBAAyB,CAClC,KAAuC,CACxC,CAAC;YACJ,KAAK,mCAAmC;gBACtC,OAAO,IAAI,+BAA+B,CACxC,KAA6C,CAC9C,CAAC;YACJ,KAAK,sCAAsC;gBACzC,OAAO,IAAI,kCAAkC,CAC3C,KAAgD,CACjD,CAAC;YACJ,qBAAqB;YACrB,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EAEzB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EAEd,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAEhB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAEhB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EACL,kCAAkC,EAElC,sCAAsC,EACtC,+BAA+B,EAE/B,mCAAmC,GACpC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EAEb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,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,kBAAkB;YAClB,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,kBAAkB;gBACrB,OAAO,IAAI,cAAc,CAAC,KAA4B,CAAC,CAAC;YAC1D,KAAK,oBAAoB;gBACvB,OAAO,IAAI,gBAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,KAAK,oBAAoB;gBACvB,OAAO,IAAI,gBAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,KAAK,gBAAgB;gBACnB,OAAO,IAAI,YAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,6BAA6B;gBAChC,OAAO,IAAI,yBAAyB,CAClC,KAAuC,CACxC,CAAC;YACJ,KAAK,mCAAmC;gBACtC,OAAO,IAAI,+BAA+B,CACxC,KAA6C,CAC9C,CAAC;YACJ,KAAK,sCAAsC;gBACzC,OAAO,IAAI,kCAAkC,CAC3C,KAAgD,CACjD,CAAC;YACJ,qBAAqB;YACrB,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -13,3 +13,4 @@ export default createUnionSchema;
|
|
|
13
13
|
export declare const jsonPathSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
14
14
|
export declare const jsonAuthorizationTypeSchema: z.ZodEnum<["Bearer", "Basic", "X-API-Key"]>;
|
|
15
15
|
export declare const httpsURLSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
16
|
+
export declare const hexStringSchema: z.ZodString;
|
|
@@ -76,4 +76,8 @@ export const httpsURLSchema = z
|
|
|
76
76
|
.refine((url) => validateHttpsURL(url), {
|
|
77
77
|
message: 'Invalid URL',
|
|
78
78
|
});
|
|
79
|
+
export const hexStringSchema = z
|
|
80
|
+
.string()
|
|
81
|
+
.regex(/^[0-9a-fA-F]+$/, 'Invalid hex string')
|
|
82
|
+
.describe('A string containing only hexadecimal characters (0-9, a-f, A-F)');
|
|
79
83
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAa,CAAC,EAAc,MAAM,KAAK,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEtE,kEAAkE;AAClE,mDAAmD;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,MAAM,CACL,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC/C,CAAC,EACD;IACE,OAAO,EAAE,+DAA+D,oBAAoB,GAAG;CAChG,CACF;KACA,QAAQ,CACP,yEAAyE,oBAAoB,KAAK,CACnG,CAAC;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,OAAO,CAAC,0BAA0B,CAAC;KACnC,QAAQ,CACP,iJAAiJ,CAClJ,CAAC;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,CACP,6KAA6K,CAC9K;CACJ,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,WAAW,GAAG,CAGlB,MAAS,EACT,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAIzD,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,SAAS,iBAAiB,CAAiC,MAAS;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,WAAW,CAChB,MAAqE,CACtE,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC;AAEjC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAW,EAAE;IACrD,yCAAyC;IACzC,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,kBAAkB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;IACtC,OAAO,EAAE,6BAA6B;CACvC,CAAC;KACD,QAAQ,CACP,kFAAkF,CACnF,CAAC;AAEJ,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAW,EAAE;IAChD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,2CAA2C;QAC3C,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACzC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,gDAAgD;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;KACtC,QAAQ,CAAC,2DAA2D,CAAC,CAAC;AAEzE,wFAAwF;AACxF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,EAAE;KACL,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;IACtC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -324,15 +324,16 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
324
324
|
parameters: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
|
|
325
325
|
}, "strip", z.ZodTypeAny, {
|
|
326
326
|
conditionType: "contract";
|
|
327
|
-
chain: number;
|
|
328
327
|
method: string;
|
|
329
|
-
parameters: any[];
|
|
330
328
|
returnValueTest: {
|
|
331
329
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
332
330
|
value?: any;
|
|
333
331
|
index?: number | undefined;
|
|
334
332
|
};
|
|
333
|
+
parameters: any[];
|
|
334
|
+
chain: number;
|
|
335
335
|
contractAddress: string;
|
|
336
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
336
337
|
functionAbi?: {
|
|
337
338
|
type: "function";
|
|
338
339
|
name: string;
|
|
@@ -352,18 +353,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
352
353
|
}[]];
|
|
353
354
|
stateMutability: "view" | "pure";
|
|
354
355
|
} | undefined;
|
|
355
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
356
356
|
}, {
|
|
357
|
-
chain: number;
|
|
358
357
|
method: string;
|
|
359
|
-
parameters: any[];
|
|
360
358
|
returnValueTest: {
|
|
361
359
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
362
360
|
value?: any;
|
|
363
361
|
index?: number | undefined;
|
|
364
362
|
};
|
|
363
|
+
parameters: any[];
|
|
364
|
+
chain: number;
|
|
365
365
|
contractAddress: string;
|
|
366
366
|
conditionType?: "contract" | undefined;
|
|
367
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
367
368
|
functionAbi?: {
|
|
368
369
|
type: "function";
|
|
369
370
|
name: string;
|
|
@@ -383,18 +384,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
383
384
|
}[]];
|
|
384
385
|
stateMutability: "view" | "pure";
|
|
385
386
|
} | undefined;
|
|
386
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
387
387
|
}>, {
|
|
388
388
|
conditionType: "contract";
|
|
389
|
-
chain: number;
|
|
390
389
|
method: string;
|
|
391
|
-
parameters: any[];
|
|
392
390
|
returnValueTest: {
|
|
393
391
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
394
392
|
value?: any;
|
|
395
393
|
index?: number | undefined;
|
|
396
394
|
};
|
|
395
|
+
parameters: any[];
|
|
396
|
+
chain: number;
|
|
397
397
|
contractAddress: string;
|
|
398
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
398
399
|
functionAbi?: {
|
|
399
400
|
type: "function";
|
|
400
401
|
name: string;
|
|
@@ -414,18 +415,18 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
414
415
|
}[]];
|
|
415
416
|
stateMutability: "view" | "pure";
|
|
416
417
|
} | undefined;
|
|
417
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
418
418
|
}, {
|
|
419
|
-
chain: number;
|
|
420
419
|
method: string;
|
|
421
|
-
parameters: any[];
|
|
422
420
|
returnValueTest: {
|
|
423
421
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
424
422
|
value?: any;
|
|
425
423
|
index?: number | undefined;
|
|
426
424
|
};
|
|
425
|
+
parameters: any[];
|
|
426
|
+
chain: number;
|
|
427
427
|
contractAddress: string;
|
|
428
428
|
conditionType?: "contract" | undefined;
|
|
429
|
+
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
429
430
|
functionAbi?: {
|
|
430
431
|
type: "function";
|
|
431
432
|
name: string;
|
|
@@ -445,6 +446,5 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
445
446
|
}[]];
|
|
446
447
|
stateMutability: "view" | "pure";
|
|
447
448
|
} | undefined;
|
|
448
|
-
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
449
449
|
}>;
|
|
450
450
|
export type ContractConditionProps = z.infer<typeof contractConditionSchema>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ECDSA_MESSAGE_PARAM_DEFAULT = ":message";
|
|
3
|
+
export declare const ECDSA_SIGNATURE_PARAM_DEFAULT = ":signature";
|
|
4
|
+
export declare const ECDSAConditionType = "ecdsa";
|
|
5
|
+
export declare const SUPPORTED_ECDSA_CURVES: readonly ["SECP256k1", "NIST256p", "NIST384p", "NIST521p", "Ed25519", "BRAINPOOLP256r1"];
|
|
6
|
+
export type ECDSACurve = (typeof SUPPORTED_ECDSA_CURVES)[number];
|
|
7
|
+
export declare const ecdsaConditionSchema: z.ZodEffects<z.ZodObject<{} & {
|
|
8
|
+
conditionType: z.ZodDefault<z.ZodLiteral<"ecdsa">>;
|
|
9
|
+
message: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodString]>>;
|
|
10
|
+
signature: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodString]>>;
|
|
11
|
+
verifyingKey: z.ZodString;
|
|
12
|
+
curve: z.ZodEnum<["SECP256k1", "NIST256p", "NIST384p", "NIST521p", "Ed25519", "BRAINPOOLP256r1"]>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
message: string;
|
|
15
|
+
conditionType: "ecdsa";
|
|
16
|
+
signature: string;
|
|
17
|
+
verifyingKey: string;
|
|
18
|
+
curve: "SECP256k1" | "NIST256p" | "NIST384p" | "NIST521p" | "Ed25519" | "BRAINPOOLP256r1";
|
|
19
|
+
}, {
|
|
20
|
+
verifyingKey: string;
|
|
21
|
+
curve: "SECP256k1" | "NIST256p" | "NIST384p" | "NIST521p" | "Ed25519" | "BRAINPOOLP256r1";
|
|
22
|
+
message?: string | undefined;
|
|
23
|
+
conditionType?: "ecdsa" | undefined;
|
|
24
|
+
signature?: string | undefined;
|
|
25
|
+
}>, {
|
|
26
|
+
message: string;
|
|
27
|
+
conditionType: "ecdsa";
|
|
28
|
+
signature: string;
|
|
29
|
+
verifyingKey: string;
|
|
30
|
+
curve: "SECP256k1" | "NIST256p" | "NIST384p" | "NIST521p" | "Ed25519" | "BRAINPOOLP256r1";
|
|
31
|
+
}, {
|
|
32
|
+
verifyingKey: string;
|
|
33
|
+
curve: "SECP256k1" | "NIST256p" | "NIST384p" | "NIST521p" | "Ed25519" | "BRAINPOOLP256r1";
|
|
34
|
+
message?: string | undefined;
|
|
35
|
+
conditionType?: "ecdsa" | undefined;
|
|
36
|
+
signature?: string | undefined;
|
|
37
|
+
}>;
|
|
38
|
+
export type ECDSAConditionProps = z.infer<typeof ecdsaConditionSchema>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { baseConditionSchema, hexStringSchema } from './common';
|
|
3
|
+
import { contextParamSchema } from './context';
|
|
4
|
+
export const ECDSA_MESSAGE_PARAM_DEFAULT = ':message';
|
|
5
|
+
export const ECDSA_SIGNATURE_PARAM_DEFAULT = ':signature';
|
|
6
|
+
export const ECDSAConditionType = 'ecdsa';
|
|
7
|
+
export const SUPPORTED_ECDSA_CURVES = [
|
|
8
|
+
'SECP256k1',
|
|
9
|
+
'NIST256p',
|
|
10
|
+
'NIST384p',
|
|
11
|
+
'NIST521p',
|
|
12
|
+
'Ed25519',
|
|
13
|
+
'BRAINPOOLP256r1',
|
|
14
|
+
];
|
|
15
|
+
export const ecdsaConditionSchema = baseConditionSchema
|
|
16
|
+
.extend({
|
|
17
|
+
conditionType: z.literal(ECDSAConditionType).default(ECDSAConditionType),
|
|
18
|
+
message: z
|
|
19
|
+
.union([z.string(), contextParamSchema])
|
|
20
|
+
.default(ECDSA_MESSAGE_PARAM_DEFAULT),
|
|
21
|
+
signature: z
|
|
22
|
+
.union([hexStringSchema, contextParamSchema])
|
|
23
|
+
.default(ECDSA_SIGNATURE_PARAM_DEFAULT),
|
|
24
|
+
verifyingKey: hexStringSchema,
|
|
25
|
+
curve: z.enum(SUPPORTED_ECDSA_CURVES),
|
|
26
|
+
})
|
|
27
|
+
.refine((data) => {
|
|
28
|
+
// ensure that if message starts with 0x that it is valid hex
|
|
29
|
+
if (data.message.startsWith('0x'))
|
|
30
|
+
return hexStringSchema.safeParse(data.message.slice(2)).success;
|
|
31
|
+
return true;
|
|
32
|
+
}, {
|
|
33
|
+
message: 'Message must be a valid hex string if it starts with "0x"',
|
|
34
|
+
path: ['message'],
|
|
35
|
+
})
|
|
36
|
+
.describe('ECDSA Condition for verifying the authenticity of a message using ECDSA signatures.');
|
|
37
|
+
//# sourceMappingURL=ecdsa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecdsa.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/ecdsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,YAAY,CAAC;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,iBAAiB;CACT,CAAC;AAIX,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB;KACpD,MAAM,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACxE,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;SACvC,OAAO,CAAC,2BAA2B,CAAC;IACvC,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;SAC5C,OAAO,CAAC,6BAA6B,CAAC;IACzC,YAAY,EAAE,eAAe;IAC7B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;CACtC,CAAC;KACD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;IACP,6DAA6D;IAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAC/B,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC,EACD;IACE,OAAO,EAAE,2DAA2D;IACpE,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CACF;KACA,QAAQ,CACP,qFAAqF,CACtF,CAAC"}
|
|
@@ -10,6 +10,7 @@ export * from './context';
|
|
|
10
10
|
// ts-unused-exports:disable-next-line - this comment line is added to prevent lint from changing or objecting the export order.
|
|
11
11
|
export * from './compound';
|
|
12
12
|
export * from './contract';
|
|
13
|
+
export * from './ecdsa';
|
|
13
14
|
export * from './if-then-else';
|
|
14
15
|
export * from './json-api';
|
|
15
16
|
export * from './json-rpc';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-for-zod-doc-gen.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/export-for-zod-doc-gen.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,gIAAgI;AAChI,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,gIAAgI;AAChI,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,qBAAqB,CAAC;AACpC,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,gIAAgI;AAChI,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"export-for-zod-doc-gen.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/export-for-zod-doc-gen.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,gIAAgI;AAChI,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,gIAAgI;AAChI,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,qBAAqB,CAAC;AACpC,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,gIAAgI;AAChI,cAAc,qBAAqB,CAAC"}
|
|
@@ -29,23 +29,23 @@ export declare const rpcConditionSchema: z.ZodObject<{} & {
|
|
|
29
29
|
}>;
|
|
30
30
|
}, "strip", z.ZodTypeAny, {
|
|
31
31
|
conditionType: "rpc";
|
|
32
|
-
chain: number;
|
|
33
32
|
method: "eth_getBalance";
|
|
34
|
-
parameters: [string, string | number] | [string];
|
|
35
33
|
returnValueTest: {
|
|
36
34
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
37
35
|
value?: any;
|
|
38
36
|
index?: number | undefined;
|
|
39
37
|
};
|
|
40
|
-
|
|
38
|
+
parameters: [string] | [string, string | number];
|
|
41
39
|
chain: number;
|
|
40
|
+
}, {
|
|
42
41
|
method: "eth_getBalance";
|
|
43
|
-
parameters: [string, string | number] | [string];
|
|
44
42
|
returnValueTest: {
|
|
45
43
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
46
44
|
value?: any;
|
|
47
45
|
index?: number | undefined;
|
|
48
46
|
};
|
|
47
|
+
parameters: [string] | [string, string | number];
|
|
48
|
+
chain: number;
|
|
49
49
|
conditionType?: "rpc" | undefined;
|
|
50
50
|
}>;
|
|
51
51
|
export type RpcConditionProps = z.infer<typeof rpcConditionSchema>;
|
|
@@ -1,7 +1,36 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { maxNestedDepth } from '../multi-condition';
|
|
3
3
|
import { baseConditionSchema, plainStringSchema } from './common';
|
|
4
|
+
import { CompoundConditionType } from './compound';
|
|
5
|
+
import { IfThenElseConditionType } from './if-then-else';
|
|
4
6
|
import { anyConditionSchema } from './utils';
|
|
7
|
+
const getAllNestedConditionVariableNames = (condition) => {
|
|
8
|
+
const conditionVariables = [];
|
|
9
|
+
if (condition.conditionType === SequentialConditionType) {
|
|
10
|
+
for (const variable of condition.conditionVariables) {
|
|
11
|
+
conditionVariables.push(variable.varName);
|
|
12
|
+
conditionVariables.push(...getAllNestedConditionVariableNames(variable.condition));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
else if (condition.conditionType === IfThenElseConditionType) {
|
|
16
|
+
conditionVariables.push(...getAllNestedConditionVariableNames(condition.ifCondition));
|
|
17
|
+
conditionVariables.push(...getAllNestedConditionVariableNames(condition.thenCondition));
|
|
18
|
+
if (typeof condition.elseCondition !== 'boolean') {
|
|
19
|
+
conditionVariables.push(...getAllNestedConditionVariableNames(condition.elseCondition));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else if (condition.conditionType === CompoundConditionType) {
|
|
23
|
+
for (const operand of condition.operands) {
|
|
24
|
+
conditionVariables.push(...getAllNestedConditionVariableNames(operand));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return conditionVariables;
|
|
28
|
+
};
|
|
29
|
+
const noDuplicateVarNames = (condition) => {
|
|
30
|
+
const allVarNames = getAllNestedConditionVariableNames(condition);
|
|
31
|
+
const duplicates = allVarNames.filter((item, index) => allVarNames.indexOf(item) !== index);
|
|
32
|
+
return duplicates.length === 0;
|
|
33
|
+
};
|
|
5
34
|
export const SequentialConditionType = 'sequential';
|
|
6
35
|
export const conditionVariableSchema = z.lazy(() => z.object({
|
|
7
36
|
varName: plainStringSchema,
|
|
@@ -18,17 +47,8 @@ export const sequentialConditionSchema = baseConditionSchema
|
|
|
18
47
|
message: 'Exceeded max nested depth of 2 for multi-condition type',
|
|
19
48
|
path: ['conditionVariables'],
|
|
20
49
|
})
|
|
21
|
-
.refine(
|
|
22
|
-
|
|
23
|
-
(condition) => {
|
|
24
|
-
const seen = new Set();
|
|
25
|
-
return condition.conditionVariables.every((child) => {
|
|
26
|
-
if (seen.has(child.varName)) {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
seen.add(child.varName);
|
|
30
|
-
return true;
|
|
31
|
-
});
|
|
50
|
+
.refine((condition) => {
|
|
51
|
+
return noDuplicateVarNames(condition);
|
|
32
52
|
}, {
|
|
33
53
|
message: 'Duplicate variable names are not allowed',
|
|
34
54
|
path: ['conditionVariables'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/sequential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/sequential.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,20 +29,20 @@ export declare const timeConditionSchema: z.ZodObject<{
|
|
|
29
29
|
}>;
|
|
30
30
|
}, "strip", z.ZodTypeAny, {
|
|
31
31
|
conditionType: "time";
|
|
32
|
-
chain: number;
|
|
33
32
|
method: "blocktime";
|
|
34
33
|
returnValueTest: {
|
|
35
34
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
36
35
|
value?: any;
|
|
37
36
|
index?: number | undefined;
|
|
38
37
|
};
|
|
39
|
-
}, {
|
|
40
38
|
chain: number;
|
|
39
|
+
}, {
|
|
41
40
|
returnValueTest: {
|
|
42
41
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
43
42
|
value?: any;
|
|
44
43
|
index?: number | undefined;
|
|
45
44
|
};
|
|
45
|
+
chain: number;
|
|
46
46
|
conditionType?: "time" | undefined;
|
|
47
47
|
method?: "blocktime" | undefined;
|
|
48
48
|
}>;
|
|
@@ -2,6 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { compoundConditionSchema } from '../compound-condition';
|
|
3
3
|
import { addressAllowlistConditionSchema } from './address-allowlist';
|
|
4
4
|
import { contractConditionSchema } from './contract';
|
|
5
|
+
import { ecdsaConditionSchema } from './ecdsa';
|
|
5
6
|
import { ifThenElseConditionSchema } from './if-then-else';
|
|
6
7
|
import { jsonApiConditionSchema } from './json-api';
|
|
7
8
|
import { jsonRpcConditionSchema } from './json-rpc';
|
|
@@ -15,6 +16,7 @@ export const anyConditionSchema = z.lazy(() => z.union([
|
|
|
15
16
|
timeConditionSchema,
|
|
16
17
|
addressAllowlistConditionSchema,
|
|
17
18
|
contractConditionSchema,
|
|
19
|
+
ecdsaConditionSchema,
|
|
18
20
|
jsonApiConditionSchema,
|
|
19
21
|
jsonRpcConditionSchema,
|
|
20
22
|
jwtConditionSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,wCAAwC,EACxC,qCAAqC,GACtC,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzD,CAAC,CAAC,KAAK,CAAC;IACN,kBAAkB;IAClB,mBAAmB;IACnB,+BAA+B;IAC/B,uBAAuB;IACvB,sBAAsB;IACtB,sBAAsB;IACtB,kBAAkB;IAClB,qCAAqC;IACrC,wCAAwC;IACxC,uBAAuB;IACvB,yBAAyB;IACzB,yBAAyB;CAC1B,CAAC,CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,wCAAwC,EACxC,qCAAqC,GACtC,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzD,CAAC,CAAC,KAAK,CAAC;IACN,kBAAkB;IAClB,mBAAmB;IACnB,+BAA+B;IAC/B,uBAAuB;IACvB,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;IACtB,kBAAkB;IAClB,qCAAqC;IACrC,wCAAwC;IACxC,uBAAuB;IACvB,yBAAyB;IACzB,yBAAyB;CAC1B,CAAC,CACH,CAAC"}
|
package/dist/es/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { DkgPublicKey, ThresholdMessageKit } from '@nucypher/nucypher-core';
|
|
2
2
|
export { Domain, domains, fromBytes, getPorterUris, initialize, toBytes, toHexString, } from '@nucypher/shared';
|
|
3
3
|
export * as conditions from './conditions';
|
|
4
|
-
export { signUserOp } from './sign';
|
|
4
|
+
export { setSigningCohortConditions, signUserOp } from './sign';
|
|
5
5
|
export { decrypt, encrypt, encryptWithPublicKey } from './taco';
|
package/dist/es/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { DkgPublicKey, ThresholdMessageKit } from '@nucypher/nucypher-core';
|
|
2
2
|
export { domains, fromBytes, getPorterUris, initialize, toBytes, toHexString, } from '@nucypher/shared';
|
|
3
3
|
export * as conditions from './conditions';
|
|
4
|
-
export { signUserOp } from './sign';
|
|
4
|
+
export { setSigningCohortConditions, signUserOp } from './sign';
|
|
5
5
|
export { decrypt, encrypt, encryptWithPublicKey } from './taco';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAEL,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACV,OAAO,EACP,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAEL,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACV,OAAO,EACP,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/es/sign.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Domain, TacoSignature, UserOperation } from '@nucypher/shared';
|
|
2
2
|
import { ethers } from 'ethers';
|
|
3
|
+
import { Condition } from './conditions/condition';
|
|
3
4
|
import { ConditionContext } from './conditions/context';
|
|
4
5
|
export type SignResult = {
|
|
5
6
|
messageHash: string;
|
|
@@ -22,3 +23,4 @@ export type SignResult = {
|
|
|
22
23
|
* @throws An error if the signing process fails due to insufficient signatures or mismatched hashes.
|
|
23
24
|
*/
|
|
24
25
|
export declare function signUserOp(provider: ethers.providers.Provider, domain: Domain, cohortId: number, chainId: number, userOp: UserOperation, aaVersion: 'mdt' | '0.8.0' | string, context?: ConditionContext, porterUris?: string[]): Promise<SignResult>;
|
|
26
|
+
export declare function setSigningCohortConditions(provider: ethers.providers.JsonRpcProvider, domain: Domain, conditions: Condition, cohortId: number, chainId: number, signer: ethers.Signer): Promise<ethers.ContractTransaction>;
|
package/dist/es/sign.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { convertUserOperationToPython, fromHexString, getPorterUris, PorterClient, SigningCoordinatorAgent, toBase64, toHexString, UserOperationSignatureRequest, } from '@nucypher/shared';
|
|
2
|
+
import { ethers } from 'ethers';
|
|
3
|
+
import { ConditionExpression } from './conditions/condition-expr';
|
|
2
4
|
const ERR_INSUFFICIENT_SIGNATURES = (errors) => `Threshold of signatures not met; TACo signing failed with errors: ${JSON.stringify(errors)}`;
|
|
3
5
|
const ERR_MISMATCHED_HASHES = (hashToSignatures) => `Threshold of signatures not met; multiple mismatched hashes found: ${JSON.stringify(Object.fromEntries(hashToSignatures.entries()))}`;
|
|
4
6
|
function aggregateSignatures(signaturesByAddress, threshold) {
|
|
@@ -82,4 +84,12 @@ export async function signUserOp(provider, domain, cohortId, chainId, userOp, aa
|
|
|
82
84
|
signingResults: porterSignResult.signingResults,
|
|
83
85
|
};
|
|
84
86
|
}
|
|
87
|
+
export async function setSigningCohortConditions(provider, domain, conditions, cohortId, chainId, signer) {
|
|
88
|
+
// Convert Condition to ConditionExpression, then to JSON, then to bytes
|
|
89
|
+
const conditionExpression = new ConditionExpression(conditions);
|
|
90
|
+
const conditionsJson = conditionExpression.toJson();
|
|
91
|
+
const conditionsBytes = ethers.utils.toUtf8Bytes(conditionsJson);
|
|
92
|
+
// Set conditions on the SigningCoordinator contract
|
|
93
|
+
return await SigningCoordinatorAgent.setSigningCohortConditions(provider, domain, cohortId, chainId, conditionsBytes, signer);
|
|
94
|
+
}
|
|
85
95
|
//# sourceMappingURL=sign.js.map
|
package/dist/es/sign.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAE5B,aAAa,EACb,aAAa,EACb,YAAY,EACZ,uBAAuB,EAGvB,QAAQ,EACR,WAAW,EAEX,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/sign.ts"],"names":[],"mappings":"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"}
|