@nucypher/taco 0.7.0-alpha.11 → 0.7.0-alpha.12
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/const.d.ts +1 -0
- package/dist/cjs/conditions/const.js +2 -1
- package/dist/cjs/conditions/const.js.map +1 -1
- package/dist/cjs/conditions/context/context.js +2 -0
- package/dist/cjs/conditions/context/context.js.map +1 -1
- package/dist/cjs/conditions/schemas/context-variable.d.ts +2 -2
- package/dist/cjs/conditions/schemas/rpc.d.ts +2 -2
- package/dist/cjs/conditions/schemas/signing.js +60 -31
- package/dist/cjs/conditions/schemas/signing.js.map +1 -1
- package/dist/es/conditions/const.d.ts +1 -0
- package/dist/es/conditions/const.js +1 -0
- package/dist/es/conditions/const.js.map +1 -1
- package/dist/es/conditions/context/context.js +3 -1
- package/dist/es/conditions/context/context.js.map +1 -1
- package/dist/es/conditions/schemas/signing.js +60 -31
- package/dist/es/conditions/schemas/signing.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.es.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const CONTEXT_PARAM_REGEXP: RegExp;
|
|
2
2
|
export declare const CONTEXT_PARAM_FULL_MATCH_REGEXP: RegExp;
|
|
3
3
|
export declare const CONTEXT_PARAM_PREFIX = ":";
|
|
4
|
+
export declare const NULL_ADDRESS_CONTEXT_VAR = ":nullAddress";
|
|
4
5
|
export declare const USER_ADDRESS_PARAMS: string[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.USER_ADDRESS_PARAMS = exports.CONTEXT_PARAM_PREFIX = exports.CONTEXT_PARAM_FULL_MATCH_REGEXP = exports.CONTEXT_PARAM_REGEXP = void 0;
|
|
3
|
+
exports.USER_ADDRESS_PARAMS = exports.NULL_ADDRESS_CONTEXT_VAR = exports.CONTEXT_PARAM_PREFIX = exports.CONTEXT_PARAM_FULL_MATCH_REGEXP = exports.CONTEXT_PARAM_REGEXP = void 0;
|
|
4
4
|
const taco_auth_1 = require("@nucypher/taco-auth");
|
|
5
5
|
// Only allow alphanumeric characters and underscores
|
|
6
6
|
const contextParamRegexString = ':[a-zA-Z_][a-zA-Z0-9_]*';
|
|
@@ -8,6 +8,7 @@ exports.CONTEXT_PARAM_REGEXP = new RegExp(contextParamRegexString);
|
|
|
8
8
|
// Entire string is context param
|
|
9
9
|
exports.CONTEXT_PARAM_FULL_MATCH_REGEXP = new RegExp(`^${contextParamRegexString}$`);
|
|
10
10
|
exports.CONTEXT_PARAM_PREFIX = ':';
|
|
11
|
+
exports.NULL_ADDRESS_CONTEXT_VAR = ':nullAddress';
|
|
11
12
|
exports.USER_ADDRESS_PARAMS = [
|
|
12
13
|
// Ordering matters, this should always be last
|
|
13
14
|
taco_auth_1.USER_ADDRESS_PARAM_DEFAULT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":";;;AAAA,mDAAiE;AAEjE,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE7C,QAAA,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACpB,QAAA,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEW,QAAA,oBAAoB,GAAG,GAAG,CAAC;AAE3B,QAAA,mBAAmB,GAAG;IACjC,+CAA+C;IAC/C,sCAA0B;CAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":";;;AAAA,mDAAiE;AAEjE,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE7C,QAAA,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACpB,QAAA,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEW,QAAA,oBAAoB,GAAG,GAAG,CAAC;AAE3B,QAAA,wBAAwB,GAAG,cAAc,CAAC;AAE1C,QAAA,mBAAmB,GAAG;IACjC,+CAA+C;IAC/C,sCAA0B;CAC3B,CAAC"}
|
|
@@ -28,10 +28,12 @@ const EXPECTED_AUTH_PROVIDER_TYPES = {
|
|
|
28
28
|
exports.AUTOMATICALLY_INJECTED_CONTEXT_PARAMS = [
|
|
29
29
|
// These context parameters are automatically injected on the node side.
|
|
30
30
|
signing_1.SIGNING_CONDITION_OBJECT_CONTEXT_VAR,
|
|
31
|
+
const_1.NULL_ADDRESS_CONTEXT_VAR,
|
|
31
32
|
];
|
|
32
33
|
exports.RESERVED_CONTEXT_PARAMS = [
|
|
33
34
|
taco_auth_1.USER_ADDRESS_PARAM_DEFAULT,
|
|
34
35
|
signing_1.SIGNING_CONDITION_OBJECT_CONTEXT_VAR,
|
|
36
|
+
const_1.NULL_ADDRESS_CONTEXT_VAR,
|
|
35
37
|
];
|
|
36
38
|
class ConditionContext {
|
|
37
39
|
requestedContextParameters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":";;;AACA,6CAAmE;AACnE,mDAO6B;AAC7B,mCAAgC;AAEhC,uCAA0D;AAC1D,uCAAqC;AAErC,sDAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":";;;AACA,6CAAmE;AACnE,mDAO6B;AAC7B,mCAAgC;AAEhC,uCAA0D;AAC1D,uCAAqC;AAErC,sDAAwD;AACxD,oCAMkB;AAElB,gDAA0E;AAC1E,8CAGuB;AAUvB,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CACzC,sCAAsC,GAAG,sBAAsB,CAAC;AAClE,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAE,EAAE,CAC/C,oBAAoB,GAAG,oBAAoB,4BAAoB,EAAE,CAAC;AACpE,MAAM,0BAA0B,GAAG,CAAC,GAAW,EAAE,EAAE,CACjD,kDAAkD,GAAG,gCAAgC,CAAC;AACxF,MAAM,0BAA0B,GAAG,CAAC,MAAgB,EAAE,EAAE,CACtD,wCAAwC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9D,MAAM,gCAAgC,GAAG,CAAC,KAAa,EAAE,EAAE,CACzD,qCAAqC,KAAK,EAAE,CAAC;AAC/C,MAAM,8BAA8B,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE,CACzE,iCAAiC,KAAK,cAAc,QAAQ,EAAE,CAAC;AACjE,MAAM,8CAA8C,GAAG,CAAC,KAAa,EAAE,EAAE,CACvE,qDAAqD,KAAK,EAAE,CAAC;AAC/D,MAAM,+BAA+B,GAAG,CAAC,KAAa,EAAE,EAAE,CACxD,qBAAqB,KAAK,uDAAuD,CAAC;AAOpF,MAAM,4BAA4B,GAAuC;IACvE,CAAC,sCAA0B,CAAC,EAAE;QAC5B,+BAAmB;QACnB,+BAAmB;QACnB,2CAA+B;KAChC;CACF,CAAC;AAEW,QAAA,qCAAqC,GAAG;IACnD,wEAAwE;IACxE,8CAAoC;IACpC,gCAAwB;CACzB,CAAC;AACW,QAAA,uBAAuB,GAAG;IACrC,sCAA0B;IAC1B,8CAAoC;IACpC,gCAAwB;CACzB,CAAC;AAEF,MAAa,gBAAgB;IACpB,0BAA0B,CAAc;IACvC,uBAAuB,GAAuC,EAAE,CAAC;IACjE,aAAa,GAAiC,EAAE,CAAC;IAEzD,YAAY,SAAoB;QAC9B,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QACpC,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,0BAA0B;YAC7B,gBAAgB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,UAA0B;QAC9D,uFAAuF;QACvF,0DAA0D;QAC1D,IAAI,sBAAc,CAAC,IAAA,cAAM,EAAC,UAAU,CAAC,CAAC,CAAC;IACzC,CAAC;IAEO,kCAAkC,CACxC,UAAwC;QAExC,iEAAiE;QACjE,qDAAqD;QACrD,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAClC,IAAI,CAAC,0BAA0B,CAChC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;QACjD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,0BAAuC;QAEvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CACrD,0BAA0B,CAC3B,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/C,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,qBAAqB;QAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpD,oDAAoD;YACpD,IAAI,CAAC,2BAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,SAAS;YACX,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,mBAAgC;QAEhC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,CAAC,GAAG,mBAAmB,CAAC;aACrB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACtD,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpD,6DAA6D;YAC7D,sEAAsE;YACtE,OAAO,CAAC,KAAK,EAAE,MAAM,iBAAkB,CAAC,wBAAwB,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CACL,CAAC;QACF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEO,8BAA8B,CAAC,WAAmB;QACxD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,6CAAqC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,+BAAuB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,WAAW,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,KAAc;QAC9C,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,uCAA+B,CAAC,CAAC;IAChE,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,KAAc;QAChD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE9C,gBAAgB;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,qCAAqC;gBACrC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,mDAAmD;gBACnD,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK;gBACnC,iEAAiE;gBACjE,IAAI,MAAM,CAAC,4BAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAC7C,CAAC;gBACF,IAAI,iBAAiB,EAAE,CAAC;oBACtB,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;wBACtC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,QAAQ;YACR,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACzB,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAChE,mBAAmB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBACzC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,yGAAyG;YAEzG,uEAAuE;YACvE,uFAAuF;YACvF,MAAM,8CAA8C,GAAG,IAAI,GAAG,EAAU,CAAC;YACzE,IACE,eAAe,IAAI,KAAK;gBACxB,KAAK,CAAC,aAAa,KAAK,oCAAuB,EAC/C,CAAC;gBACA,KAAkC,CAAC,kBAAkB,CAAC,OAAO,CAC5D,CAAC,QAAgC,EAAE,EAAE;oBACnC,8CAA8C,CAAC,GAAG,CAChD,IAAI,QAAQ,CAAC,OAAO,EAAE,CACvB,CAAC;gBACJ,CAAC,CACF,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC7D,mBAAmB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBACzC,IAAI,CAAC,8CAA8C,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpE,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,SAAyB;QAC5D,yCAAyC;QACzC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE9C,uEAAuE;QACvE,uFAAuF;QACvF,MAAM,8CAA8C,GAAG,IAAI,GAAG,EAAU,CAAC;QACzE,IACE,eAAe,IAAI,SAAS;YAC5B,SAAS,CAAC,aAAa,KAAK,oCAAuB,EACnD,CAAC;YACA,SAAsC,CAAC,kBAAkB,CAAC,OAAO,CAChE,CAAC,QAAgC,EAAE,EAAE;gBACnC,8CAA8C,CAAC,GAAG,CAChD,IAAI,QAAQ,CAAC,OAAO,EAAE,CACvB,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAA+B,CAAC;QACxE,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAChE,IACE,CAAC,6CAAqC,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC3D,CAAC,8CAA8C,CAAC,GAAG,CAAC,UAAU,CAAC,EAC/D,CAAC;oBACD,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAEM,+BAA+B,CACpC,uBAA2D;QAE3D,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnD,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,YAAoB,EAAE,YAA0B;QACrE,IAAI,CAAC,CAAC,YAAY,IAAI,4BAA4B,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,8CAA8C,CAAC,YAAY,CAAC,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,4BAA4B,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,YAAY,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,8BAA8B,CAAC,YAAY,EAAE,OAAO,YAAY,CAAC,CAClE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;IAClD,CAAC;IACM,KAAK,CAAC,MAAM;QACjB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpD,OAAO,IAAA,cAAM,EAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,IAAI,mBAAW,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEM,mBAAmB,GAAG,KAAK,IAEhC,EAAE;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACjD,IAAI,CAAC,0BAA0B,CAChC,CAAC;QACF,IAAI,CAAC,kCAAkC,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEK,MAAM,CAAC,cAAc,CAC1B,UAA+B;QAE/B,MAAM,aAAa,GAAG,oCAAmB,CAAC,kBAAkB,CAC1D,UAAU,CAAC,GAAG,CAAC,UAAU,CAC1B,CAAC;QACF,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAClC,QAA0C,EAC1C,MAAc,EACd,QAAgB,EAChB,OAAe;QAEf,yDAAyD;QACzD,MAAM,kBAAkB,GACtB,MAAM,gCAAuB,CAAC,0BAA0B,CACtD,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,CACR,CAAC;QAEJ,0CAA0C;QAC1C,MAAM,mBAAmB,GAAG,eAAM,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAE1E,MAAM,eAAe,GAAG,IAAI,sBAAc,CAAC,mBAAmB,CAAC,CAAC;QAChE,MAAM,aAAa,GACjB,oCAAmB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC1D,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACF;AAjRD,4CAiRC"}
|
|
@@ -113,7 +113,6 @@ export declare const contextVariableConditionSchema: z.ZodObject<{} & {
|
|
|
113
113
|
}>;
|
|
114
114
|
}, "strict", z.ZodTypeAny, {
|
|
115
115
|
conditionType: "context-variable";
|
|
116
|
-
contextVariable: string;
|
|
117
116
|
returnValueTest: {
|
|
118
117
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
119
118
|
value?: any;
|
|
@@ -129,9 +128,9 @@ export declare const contextVariableConditionSchema: z.ZodObject<{} & {
|
|
|
129
128
|
operation: "create2";
|
|
130
129
|
})[] | undefined;
|
|
131
130
|
};
|
|
131
|
+
contextVariable: string;
|
|
132
132
|
}, {
|
|
133
133
|
conditionType: "context-variable";
|
|
134
|
-
contextVariable: string;
|
|
135
134
|
returnValueTest: {
|
|
136
135
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
137
136
|
value?: any;
|
|
@@ -147,5 +146,6 @@ export declare const contextVariableConditionSchema: z.ZodObject<{} & {
|
|
|
147
146
|
operation: "create2";
|
|
148
147
|
})[] | undefined;
|
|
149
148
|
};
|
|
149
|
+
contextVariable: string;
|
|
150
150
|
}>;
|
|
151
151
|
export type ContextVariableConditionProps = z.infer<typeof contextVariableConditionSchema>;
|
|
@@ -132,7 +132,7 @@ export declare const rpcConditionSchema: z.ZodObject<{} & {
|
|
|
132
132
|
};
|
|
133
133
|
chain: number;
|
|
134
134
|
method: "eth_getBalance";
|
|
135
|
-
parameters: [string, string | number]
|
|
135
|
+
parameters: [string] | [string, string | number];
|
|
136
136
|
}, {
|
|
137
137
|
returnValueTest: {
|
|
138
138
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=" | "in" | "!in";
|
|
@@ -151,7 +151,7 @@ export declare const rpcConditionSchema: z.ZodObject<{} & {
|
|
|
151
151
|
};
|
|
152
152
|
chain: number;
|
|
153
153
|
method: "eth_getBalance";
|
|
154
|
-
parameters: [string, string | number]
|
|
154
|
+
parameters: [string] | [string, string | number];
|
|
155
155
|
conditionType?: "rpc" | undefined;
|
|
156
156
|
}>;
|
|
157
157
|
export type RpcConditionProps = z.infer<typeof rpcConditionSchema>;
|
|
@@ -32,12 +32,12 @@ exports.abiParameterValidationSchema = zod_1.z
|
|
|
32
32
|
.int()
|
|
33
33
|
.nonnegative()
|
|
34
34
|
.describe('Index of parameter to check within abi calldata.'),
|
|
35
|
-
|
|
36
|
-
.number()
|
|
37
|
-
.int()
|
|
38
|
-
.nonnegative()
|
|
35
|
+
subIndices: zod_1.z
|
|
36
|
+
.array(zod_1.z.number().int().nonnegative())
|
|
39
37
|
.optional()
|
|
40
|
-
.describe('
|
|
38
|
+
.describe('Sequential indices for navigating nested structures (arrays and tuples). ' +
|
|
39
|
+
'The ABI type determines interpretation at each step: array types consume an index ' +
|
|
40
|
+
'and access that element, tuple types consume an index and access that field.'),
|
|
41
41
|
returnValueTest: return_value_test_1.blockchainReturnValueTestSchema
|
|
42
42
|
.optional()
|
|
43
43
|
.describe('Comparison check for value within calldata'),
|
|
@@ -119,6 +119,49 @@ const humanAbiCallSignatureSchema = zod_1.z
|
|
|
119
119
|
message: 'Invalid human readable ABI signature provided',
|
|
120
120
|
})
|
|
121
121
|
.describe('A human readable ABI signature, e.g. "transfer(address,uint256)"');
|
|
122
|
+
/**
|
|
123
|
+
* Resolves the final ParamType after applying subIndices navigation.
|
|
124
|
+
* Returns the resolved type or undefined if navigation fails (with errors added to ctx).
|
|
125
|
+
*
|
|
126
|
+
* @param ctx - The Zod refinement context.
|
|
127
|
+
* @param paramType - The starting ParamType to navigate from.
|
|
128
|
+
* @param subIndices - The array of indices to navigate through.
|
|
129
|
+
* @param signature - The ABI signature (for error messages).
|
|
130
|
+
* @param validationIndex - The index of the validation (for error paths).
|
|
131
|
+
* @returns The resolved ParamType or undefined if validation failed.
|
|
132
|
+
*/
|
|
133
|
+
function resolveTypeWithSubIndices(ctx, paramType, subIndices, signature, validationIndex) {
|
|
134
|
+
let currentType = paramType;
|
|
135
|
+
for (let i = 0; i < subIndices.length; i++) {
|
|
136
|
+
const idx = subIndices[i];
|
|
137
|
+
if (currentType.baseType === 'array') {
|
|
138
|
+
// Array type - navigate to element type (cannot validate bounds at schema time)
|
|
139
|
+
currentType = currentType.arrayChildren;
|
|
140
|
+
}
|
|
141
|
+
else if (currentType.baseType === 'tuple') {
|
|
142
|
+
// Tuple type - navigate to component at index
|
|
143
|
+
if (idx >= currentType.components.length) {
|
|
144
|
+
ctx.addIssue({
|
|
145
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
146
|
+
message: `Index ${idx} at subIndices position ${i} is out of range for tuple with ${currentType.components.length} fields`,
|
|
147
|
+
path: ['allowedAbiCalls', signature, validationIndex, 'subIndices'],
|
|
148
|
+
});
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
currentType = currentType.components[idx];
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
// Not an indexable type
|
|
155
|
+
ctx.addIssue({
|
|
156
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
157
|
+
message: `Cannot apply index at subIndices position ${i}: type "${currentType.baseType}" is not indexable (not an array or tuple)`,
|
|
158
|
+
path: ['allowedAbiCalls', signature, validationIndex, 'subIndices'],
|
|
159
|
+
});
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return currentType;
|
|
164
|
+
}
|
|
122
165
|
/**
|
|
123
166
|
* Validates the allowed ABI calls against the provided signature and validations.
|
|
124
167
|
* This function is used in the superRefine method of the abiCallValidationSchema.
|
|
@@ -138,37 +181,23 @@ function validateAllowedAbiCall(ctx, signature, validations) {
|
|
|
138
181
|
message: `Parameter index, "${validation.parameterIndex}", is out of range`,
|
|
139
182
|
path: ['allowedAbiCalls', signature, index, 'parameterIndex'],
|
|
140
183
|
});
|
|
184
|
+
continue;
|
|
141
185
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
message: `Type at parameter index, "${validation.parameterIndex}", is not a tuple`,
|
|
149
|
-
path: ['allowedAbiCalls', signature, index, 'parameterIndex'],
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
else if (validation.indexWithinTuple >= paramType.components.length) {
|
|
153
|
-
// invalid index within tuple
|
|
154
|
-
ctx.addIssue({
|
|
155
|
-
code: zod_1.z.ZodIssueCode.custom,
|
|
156
|
-
message: `Index within tuple, "${validation.indexWithinTuple}", is out of range`,
|
|
157
|
-
path: ['allowedAbiCalls', signature, index, 'indexWithinTuple'],
|
|
158
|
-
});
|
|
186
|
+
let finalType = fragment.inputs[validation.parameterIndex];
|
|
187
|
+
// Validate and resolve subIndices if present
|
|
188
|
+
if (validation.subIndices && validation.subIndices.length > 0) {
|
|
189
|
+
const resolvedType = resolveTypeWithSubIndices(ctx, finalType, validation.subIndices, signature, index);
|
|
190
|
+
if (resolvedType === undefined) {
|
|
191
|
+
continue; // Validation failed, errors already added
|
|
159
192
|
}
|
|
193
|
+
finalType = resolvedType;
|
|
160
194
|
}
|
|
161
195
|
if (validation.nestedAbiValidation) {
|
|
162
|
-
// if there is nested ABI validation, the type must be bytes
|
|
163
|
-
|
|
164
|
-
if (validation.indexWithinTuple !== undefined) {
|
|
165
|
-
// if there is an index within tuple, get the type of the component at that index
|
|
166
|
-
paramType = paramType.components[validation.indexWithinTuple];
|
|
167
|
-
}
|
|
168
|
-
if (paramType.baseType !== 'bytes') {
|
|
196
|
+
// if there is nested ABI validation, the final type must be bytes
|
|
197
|
+
if (finalType.baseType !== 'bytes') {
|
|
169
198
|
ctx.addIssue({
|
|
170
199
|
code: zod_1.z.ZodIssueCode.custom,
|
|
171
|
-
message: `Invalid type for nested ABI validation, "${
|
|
200
|
+
message: `Invalid type for nested ABI validation, "${finalType.baseType}"; expected bytes`,
|
|
172
201
|
path: ['allowedAbiCalls', signature, index],
|
|
173
202
|
});
|
|
174
203
|
}
|
|
@@ -176,7 +205,7 @@ function validateAllowedAbiCall(ctx, signature, validations) {
|
|
|
176
205
|
}
|
|
177
206
|
}
|
|
178
207
|
catch {
|
|
179
|
-
// even though abi signatures are already validated by nested schema - zod uses
|
|
208
|
+
// even though abi signatures are already validated by nested schema - zod uses "greedy" (continuable) validation so all validations are run
|
|
180
209
|
// ignore invalid ABI signature
|
|
181
210
|
}
|
|
182
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/signing.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAC/D,6BAAwB;AAExB,qCAA+C;AAC/C,2DAAsE;AAEzD,QAAA,oCAAoC,GAAG,yBAAyB,CAAC;AAE9E,MAAM,sBAAsB,GAAG,4BAAmB,CAAC,MAAM,CAAC;IACxD,uBAAuB,EAAE,OAAC;SACvB,OAAO,CAAC,4CAAoC,CAAC;SAC7C,OAAO,CAAC,4CAAoC,CAAC;SAC7C,QAAQ,CACP,+EAA+E,CAChF;CACJ,CAAC,CAAC;AAEH,MAAM,yCAAyC,GAAG,sBAAsB,CAAC,MAAM,CAC7E;IACE,aAAa,EAAE,OAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,oCAAoC,CAAC;CAClD,CACF,CAAC;AAEW,QAAA,mCAAmC,GAAG,mBAAmB,CAAC;AAE1D,QAAA,qCAAqC,GAChD,yCAAyC,CAAC,MAAM,CAAC;IAC/C,aAAa,EAAE,OAAC;SACb,OAAO,CAAC,2CAAmC,CAAC;SAC5C,OAAO,CAAC,2CAAmC,CAAC;IAC/C,eAAe,EAAE,mDAA+B;CACjD,CAAC,CAAC;AAMQ,QAAA,4BAA4B,GAAgB,OAAC;KACvD,MAAM,CAAC;IACN,cAAc,EAAE,OAAC;SACd,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,
|
|
1
|
+
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/signing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const CONTEXT_PARAM_REGEXP: RegExp;
|
|
2
2
|
export declare const CONTEXT_PARAM_FULL_MATCH_REGEXP: RegExp;
|
|
3
3
|
export declare const CONTEXT_PARAM_PREFIX = ":";
|
|
4
|
+
export declare const NULL_ADDRESS_CONTEXT_VAR = ":nullAddress";
|
|
4
5
|
export declare const USER_ADDRESS_PARAMS: string[];
|
|
@@ -5,6 +5,7 @@ export const CONTEXT_PARAM_REGEXP = new RegExp(contextParamRegexString);
|
|
|
5
5
|
// Entire string is context param
|
|
6
6
|
export const CONTEXT_PARAM_FULL_MATCH_REGEXP = new RegExp(`^${contextParamRegexString}$`);
|
|
7
7
|
export const CONTEXT_PARAM_PREFIX = ':';
|
|
8
|
+
export const NULL_ADDRESS_CONTEXT_VAR = ':nullAddress';
|
|
8
9
|
export const USER_ADDRESS_PARAMS = [
|
|
9
10
|
// Ordering matters, this should always be last
|
|
10
11
|
USER_ADDRESS_PARAM_DEFAULT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACjC,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,+CAA+C;IAC/C,0BAA0B;CAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACjC,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,+CAA+C;IAC/C,0BAA0B;CAC3B,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { ethers } from 'ethers';
|
|
|
4
4
|
import { CoreConditions, CoreContext } from '../../types';
|
|
5
5
|
import { toJSON } from '../../utils';
|
|
6
6
|
import { ConditionExpression } from '../condition-expr';
|
|
7
|
-
import { CONTEXT_PARAM_FULL_MATCH_REGEXP, CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, USER_ADDRESS_PARAMS, } from '../const';
|
|
7
|
+
import { CONTEXT_PARAM_FULL_MATCH_REGEXP, CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, NULL_ADDRESS_CONTEXT_VAR, USER_ADDRESS_PARAMS, } from '../const';
|
|
8
8
|
import { SIGNING_CONDITION_OBJECT_CONTEXT_VAR } from '../schemas/signing';
|
|
9
9
|
import { SequentialConditionType, } from '../sequential';
|
|
10
10
|
const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
|
|
@@ -25,10 +25,12 @@ const EXPECTED_AUTH_PROVIDER_TYPES = {
|
|
|
25
25
|
export const AUTOMATICALLY_INJECTED_CONTEXT_PARAMS = [
|
|
26
26
|
// These context parameters are automatically injected on the node side.
|
|
27
27
|
SIGNING_CONDITION_OBJECT_CONTEXT_VAR,
|
|
28
|
+
NULL_ADDRESS_CONTEXT_VAR,
|
|
28
29
|
];
|
|
29
30
|
export const RESERVED_CONTEXT_PARAMS = [
|
|
30
31
|
USER_ADDRESS_PARAM_DEFAULT,
|
|
31
32
|
SIGNING_CONDITION_OBJECT_CONTEXT_VAR,
|
|
33
|
+
NULL_ADDRESS_CONTEXT_VAR,
|
|
32
34
|
];
|
|
33
35
|
export class ConditionContext {
|
|
34
36
|
requestedContextParameters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAGL,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAEL,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAUvB,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CACzC,sCAAsC,GAAG,sBAAsB,CAAC;AAClE,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAE,EAAE,CAC/C,oBAAoB,GAAG,oBAAoB,oBAAoB,EAAE,CAAC;AACpE,MAAM,0BAA0B,GAAG,CAAC,GAAW,EAAE,EAAE,CACjD,kDAAkD,GAAG,gCAAgC,CAAC;AACxF,MAAM,0BAA0B,GAAG,CAAC,MAAgB,EAAE,EAAE,CACtD,wCAAwC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9D,MAAM,gCAAgC,GAAG,CAAC,KAAa,EAAE,EAAE,CACzD,qCAAqC,KAAK,EAAE,CAAC;AAC/C,MAAM,8BAA8B,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE,CACzE,iCAAiC,KAAK,cAAc,QAAQ,EAAE,CAAC;AACjE,MAAM,8CAA8C,GAAG,CAAC,KAAa,EAAE,EAAE,CACvE,qDAAqD,KAAK,EAAE,CAAC;AAC/D,MAAM,+BAA+B,GAAG,CAAC,KAAa,EAAE,EAAE,CACxD,qBAAqB,KAAK,uDAAuD,CAAC;AAOpF,MAAM,4BAA4B,GAAuC;IACvE,CAAC,0BAA0B,CAAC,EAAE;QAC5B,mBAAmB;QACnB,mBAAmB;QACnB,+BAA+B;KAChC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,wEAAwE;IACxE,oCAAoC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,12 +29,12 @@ export const abiParameterValidationSchema = z
|
|
|
29
29
|
.int()
|
|
30
30
|
.nonnegative()
|
|
31
31
|
.describe('Index of parameter to check within abi calldata.'),
|
|
32
|
-
|
|
33
|
-
.number()
|
|
34
|
-
.int()
|
|
35
|
-
.nonnegative()
|
|
32
|
+
subIndices: z
|
|
33
|
+
.array(z.number().int().nonnegative())
|
|
36
34
|
.optional()
|
|
37
|
-
.describe('
|
|
35
|
+
.describe('Sequential indices for navigating nested structures (arrays and tuples). ' +
|
|
36
|
+
'The ABI type determines interpretation at each step: array types consume an index ' +
|
|
37
|
+
'and access that element, tuple types consume an index and access that field.'),
|
|
38
38
|
returnValueTest: blockchainReturnValueTestSchema
|
|
39
39
|
.optional()
|
|
40
40
|
.describe('Comparison check for value within calldata'),
|
|
@@ -116,6 +116,49 @@ const humanAbiCallSignatureSchema = z
|
|
|
116
116
|
message: 'Invalid human readable ABI signature provided',
|
|
117
117
|
})
|
|
118
118
|
.describe('A human readable ABI signature, e.g. "transfer(address,uint256)"');
|
|
119
|
+
/**
|
|
120
|
+
* Resolves the final ParamType after applying subIndices navigation.
|
|
121
|
+
* Returns the resolved type or undefined if navigation fails (with errors added to ctx).
|
|
122
|
+
*
|
|
123
|
+
* @param ctx - The Zod refinement context.
|
|
124
|
+
* @param paramType - The starting ParamType to navigate from.
|
|
125
|
+
* @param subIndices - The array of indices to navigate through.
|
|
126
|
+
* @param signature - The ABI signature (for error messages).
|
|
127
|
+
* @param validationIndex - The index of the validation (for error paths).
|
|
128
|
+
* @returns The resolved ParamType or undefined if validation failed.
|
|
129
|
+
*/
|
|
130
|
+
function resolveTypeWithSubIndices(ctx, paramType, subIndices, signature, validationIndex) {
|
|
131
|
+
let currentType = paramType;
|
|
132
|
+
for (let i = 0; i < subIndices.length; i++) {
|
|
133
|
+
const idx = subIndices[i];
|
|
134
|
+
if (currentType.baseType === 'array') {
|
|
135
|
+
// Array type - navigate to element type (cannot validate bounds at schema time)
|
|
136
|
+
currentType = currentType.arrayChildren;
|
|
137
|
+
}
|
|
138
|
+
else if (currentType.baseType === 'tuple') {
|
|
139
|
+
// Tuple type - navigate to component at index
|
|
140
|
+
if (idx >= currentType.components.length) {
|
|
141
|
+
ctx.addIssue({
|
|
142
|
+
code: z.ZodIssueCode.custom,
|
|
143
|
+
message: `Index ${idx} at subIndices position ${i} is out of range for tuple with ${currentType.components.length} fields`,
|
|
144
|
+
path: ['allowedAbiCalls', signature, validationIndex, 'subIndices'],
|
|
145
|
+
});
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
currentType = currentType.components[idx];
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
// Not an indexable type
|
|
152
|
+
ctx.addIssue({
|
|
153
|
+
code: z.ZodIssueCode.custom,
|
|
154
|
+
message: `Cannot apply index at subIndices position ${i}: type "${currentType.baseType}" is not indexable (not an array or tuple)`,
|
|
155
|
+
path: ['allowedAbiCalls', signature, validationIndex, 'subIndices'],
|
|
156
|
+
});
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return currentType;
|
|
161
|
+
}
|
|
119
162
|
/**
|
|
120
163
|
* Validates the allowed ABI calls against the provided signature and validations.
|
|
121
164
|
* This function is used in the superRefine method of the abiCallValidationSchema.
|
|
@@ -135,37 +178,23 @@ function validateAllowedAbiCall(ctx, signature, validations) {
|
|
|
135
178
|
message: `Parameter index, "${validation.parameterIndex}", is out of range`,
|
|
136
179
|
path: ['allowedAbiCalls', signature, index, 'parameterIndex'],
|
|
137
180
|
});
|
|
181
|
+
continue;
|
|
138
182
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
message: `Type at parameter index, "${validation.parameterIndex}", is not a tuple`,
|
|
146
|
-
path: ['allowedAbiCalls', signature, index, 'parameterIndex'],
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
else if (validation.indexWithinTuple >= paramType.components.length) {
|
|
150
|
-
// invalid index within tuple
|
|
151
|
-
ctx.addIssue({
|
|
152
|
-
code: z.ZodIssueCode.custom,
|
|
153
|
-
message: `Index within tuple, "${validation.indexWithinTuple}", is out of range`,
|
|
154
|
-
path: ['allowedAbiCalls', signature, index, 'indexWithinTuple'],
|
|
155
|
-
});
|
|
183
|
+
let finalType = fragment.inputs[validation.parameterIndex];
|
|
184
|
+
// Validate and resolve subIndices if present
|
|
185
|
+
if (validation.subIndices && validation.subIndices.length > 0) {
|
|
186
|
+
const resolvedType = resolveTypeWithSubIndices(ctx, finalType, validation.subIndices, signature, index);
|
|
187
|
+
if (resolvedType === undefined) {
|
|
188
|
+
continue; // Validation failed, errors already added
|
|
156
189
|
}
|
|
190
|
+
finalType = resolvedType;
|
|
157
191
|
}
|
|
158
192
|
if (validation.nestedAbiValidation) {
|
|
159
|
-
// if there is nested ABI validation, the type must be bytes
|
|
160
|
-
|
|
161
|
-
if (validation.indexWithinTuple !== undefined) {
|
|
162
|
-
// if there is an index within tuple, get the type of the component at that index
|
|
163
|
-
paramType = paramType.components[validation.indexWithinTuple];
|
|
164
|
-
}
|
|
165
|
-
if (paramType.baseType !== 'bytes') {
|
|
193
|
+
// if there is nested ABI validation, the final type must be bytes
|
|
194
|
+
if (finalType.baseType !== 'bytes') {
|
|
166
195
|
ctx.addIssue({
|
|
167
196
|
code: z.ZodIssueCode.custom,
|
|
168
|
-
message: `Invalid type for nested ABI validation, "${
|
|
197
|
+
message: `Invalid type for nested ABI validation, "${finalType.baseType}"; expected bytes`,
|
|
169
198
|
path: ['allowedAbiCalls', signature, index],
|
|
170
199
|
});
|
|
171
200
|
}
|
|
@@ -173,7 +202,7 @@ function validateAllowedAbiCall(ctx, signature, validations) {
|
|
|
173
202
|
}
|
|
174
203
|
}
|
|
175
204
|
catch {
|
|
176
|
-
// even though abi signatures are already validated by nested schema - zod uses
|
|
205
|
+
// even though abi signatures are already validated by nested schema - zod uses "greedy" (continuable) validation so all validations are run
|
|
177
206
|
// ignore invalid ABI signature
|
|
178
207
|
}
|
|
179
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/signing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAa,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,CAAC,MAAM,oCAAoC,GAAG,yBAAyB,CAAC;AAE9E,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IACxD,uBAAuB,EAAE,CAAC;SACvB,OAAO,CAAC,oCAAoC,CAAC;SAC7C,OAAO,CAAC,oCAAoC,CAAC;SAC7C,QAAQ,CACP,+EAA+E,CAChF;CACJ,CAAC,CAAC;AAEH,MAAM,yCAAyC,GAAG,sBAAsB,CAAC,MAAM,CAC7E;IACE,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,oCAAoC,CAAC;CAClD,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG,mBAAmB,CAAC;AAEvE,MAAM,CAAC,MAAM,qCAAqC,GAChD,yCAAyC,CAAC,MAAM,CAAC;IAC/C,aAAa,EAAE,CAAC;SACb,OAAO,CAAC,mCAAmC,CAAC;SAC5C,OAAO,CAAC,mCAAmC,CAAC;IAC/C,eAAe,EAAE,+BAA+B;CACjD,CAAC,CAAC;AAML,MAAM,CAAC,MAAM,4BAA4B,GAAgB,CAAC;KACvD,MAAM,CAAC;IACN,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,
|
|
1
|
+
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/signing.ts"],"names":[],"mappings":"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"}
|