iso-ucan 0.5.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/delegation.d.ts.map +1 -1
- package/dist/src/envelope.d.ts +40 -9
- package/dist/src/envelope.d.ts.map +1 -1
- package/dist/src/invocation.d.ts +1 -2
- package/dist/src/invocation.d.ts.map +1 -1
- package/dist/src/policy.d.ts +114 -0
- package/dist/src/policy.d.ts.map +1 -1
- package/dist/src/types/envelope.d.ts +4 -4
- package/dist/src/types/envelope.d.ts.map +1 -1
- package/dist/src/types/policy.d.ts +6 -2
- package/dist/src/types/policy.d.ts.map +1 -1
- package/dist/src/types.d.ts +9 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils.d.ts +30 -2
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/varsig.d.ts +0 -1
- package/dist/src/varsig.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/delegation.js +7 -1
- package/src/envelope.js +113 -36
- package/src/invocation.js +53 -18
- package/src/policy.js +597 -195
- package/src/types/envelope.ts +4 -4
- package/src/types/policy.ts +5 -2
- package/src/types.ts +9 -1
- package/src/utils.js +64 -10
- package/src/varsig.js +30 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../src/delegation.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../src/delegation.js"],"names":[],"mappings":"AAmBA;;;GAGG;AAEH;;GAEG;AACH;IA0CE;;;;;;OAMG;IACH,qBAFW,OAAO,YAAY,EAAE,qBAAqB,uBAwBpD;IAED;;;;;OAKG;IACH,yBAHW,MAAM,YACL;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAC,uBAkBzB;IAED;;;;OAIG;IACH,cAHgC,MAAM,SAAzB,gBAAkB,WACpB,kBAAkB,MAAM,CAAC,uBA6CnC;IA7HD;;;;;OAKG;IACH,sBAJW,OAAO,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,SAC3C,UAAU,OACV,GAAG,EAgBb;IAvCD,qBAAqB;IACrB,KADW,MAAM,CACd;IACH,kBAAkB;IAClB,KADW,GAAG,CACX;IACH,yBAAyB;IACzB,KADW,GAAG,GAAG,IAAI,CAClB;IACH,qBAAqB;IACrB,KADW,MAAM,CACd;IACH,qBAAqB;IACrB,KADW,MAAM,CACd;IACH,iCAAiC;IACjC,KADW,MAAM,GAAG,SAAS,CAC1B;IACH,yBAAyB;IACzB,OADW,UAAU,CAChB;IACL,kDAAkD;IAClD,MADW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAC1C;IACJ,4BAA4B;IAC5B,KADW,MAAM,GAAG,IAAI,CACrB;IASD,sDAAwB;IACxB,mCAAkB;IAClB,8DAAc;IAsHhB;;;;;;OAMG;IACH,kBAFW,yBAAyB,oBAanC;IAED,mBAEC;IAED;;;;;;;;;;;;;;;;;;;;;MAuBC;CACF;4BA1MwH,YAAY;yBAAZ,YAAY;4BAAZ,YAAY;yBAC/G,cAAc;+CADqF,YAAY;sCAAZ,YAAY;uCAAZ,YAAY"}
|
package/dist/src/envelope.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse and validate a payload tag (`ucan/<spec>@<version>`)
|
|
3
|
+
*
|
|
4
|
+
* @param {string} tag
|
|
5
|
+
*/
|
|
6
|
+
export function parsePayloadTag(tag: string): {
|
|
7
|
+
tag: PayloadTag;
|
|
8
|
+
spec: PayloadSpec;
|
|
9
|
+
version: string;
|
|
10
|
+
};
|
|
1
11
|
/**
|
|
2
12
|
* Get the signature payload for a given payload
|
|
3
13
|
*
|
|
@@ -14,14 +24,16 @@ export function getSignaturePayload(options: {
|
|
|
14
24
|
signatureType: import("iso-signatures/types").SignatureType;
|
|
15
25
|
}): SignaturePayload;
|
|
16
26
|
/**
|
|
17
|
-
* Decode a signature payload
|
|
27
|
+
* Decode and validate a signature payload
|
|
18
28
|
*
|
|
19
29
|
* @param {Uint8Array} bytes
|
|
20
30
|
*/
|
|
21
31
|
export function decodeSignaturePayload(bytes: Uint8Array): {
|
|
22
32
|
alg: import("iso-signatures/types").SignatureType;
|
|
23
|
-
enc:
|
|
24
|
-
|
|
33
|
+
enc: "DAG-CBOR";
|
|
34
|
+
spec: PayloadSpec;
|
|
35
|
+
version: string;
|
|
36
|
+
payload: Payload;
|
|
25
37
|
};
|
|
26
38
|
/**
|
|
27
39
|
* Check if a payload is an invocation payload
|
|
@@ -52,7 +64,7 @@ export function sign(options: EnvelopeSignOptions): Promise<{
|
|
|
52
64
|
* @param {EnvelopeEncodeOptions} options
|
|
53
65
|
*
|
|
54
66
|
*/
|
|
55
|
-
export function encode(options: EnvelopeEncodeOptions): ByteView<(Uint8Array<ArrayBufferLike> | SignaturePayload<unknown>)[], ArrayBufferLike>;
|
|
67
|
+
export function encode(options: EnvelopeEncodeOptions): import("multiformats").ByteView<(Uint8Array<ArrayBufferLike> | SignaturePayload<unknown>)[], ArrayBufferLike>;
|
|
56
68
|
/**
|
|
57
69
|
* Decode a UCAN envelope
|
|
58
70
|
*
|
|
@@ -63,11 +75,31 @@ export function encode(options: EnvelopeEncodeOptions): ByteView<(Uint8Array<Arr
|
|
|
63
75
|
*/
|
|
64
76
|
export function decode<Spec extends PayloadSpec>(options: EnvelopeDecodeOptions): DecodedEnvelope<Spec>;
|
|
65
77
|
/**
|
|
66
|
-
* @import {
|
|
67
|
-
|
|
78
|
+
* @import { PayloadTag, EnvelopeDecodeOptions, EnvelopeEncodeOptions, EnvelopeSignOptions, SignaturePayload, PayloadSpec, DecodedEnvelope, DelegationPayload, InvocationPayload, Payload} from './types.js'
|
|
79
|
+
*/
|
|
80
|
+
/**
|
|
81
|
+
* Payload tag version used for new tokens (`ucan/dlg@1.0.0`, `ucan/inv@1.0.0`)
|
|
82
|
+
*
|
|
83
|
+
* @see https://github.com/ucan-wg/delegation#type-tag
|
|
84
|
+
* @see https://github.com/ucan-wg/invocation#type-tag
|
|
85
|
+
*/
|
|
86
|
+
export const VERSION: "1.0.0";
|
|
87
|
+
/**
|
|
88
|
+
* Payload tag versions accepted on decode.
|
|
89
|
+
*
|
|
90
|
+
* `1.0.0-rc.1` is still accepted so tokens issued by iso-ucan <= 1.0.0 keep
|
|
91
|
+
* verifying. New tokens are always encoded with {@link VERSION}.
|
|
92
|
+
*
|
|
93
|
+
* @type {readonly string[]}
|
|
94
|
+
*/
|
|
95
|
+
export const SUPPORTED_VERSIONS: readonly string[];
|
|
96
|
+
/**
|
|
97
|
+
* Payload specs
|
|
98
|
+
*
|
|
99
|
+
* @type {readonly PayloadSpec[]}
|
|
68
100
|
*/
|
|
69
|
-
|
|
70
|
-
|
|
101
|
+
export const SPECS: readonly PayloadSpec[];
|
|
102
|
+
import type { PayloadTag } from './types.js';
|
|
71
103
|
import type { PayloadSpec } from './types.js';
|
|
72
104
|
import type { Payload } from './types.js';
|
|
73
105
|
import type { SignaturePayload } from './types.js';
|
|
@@ -75,7 +107,6 @@ import type { InvocationPayload } from './types.js';
|
|
|
75
107
|
import type { DelegationPayload } from './types.js';
|
|
76
108
|
import type { EnvelopeSignOptions } from './types.js';
|
|
77
109
|
import type { EnvelopeEncodeOptions } from './types.js';
|
|
78
|
-
import type { ByteView } from 'multiformats';
|
|
79
110
|
import type { EnvelopeDecodeOptions } from './types.js';
|
|
80
111
|
import type { DecodedEnvelope } from './types.js';
|
|
81
112
|
//# sourceMappingURL=envelope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/envelope.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/envelope.js"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH,qCAFW,MAAM;SAsBU,UAAU;;;EACpC;AAED;;;;;;;;GAQG;AACH,6CALG;IAA6B,IAAI,EAAzB,WAAW;IACM,OAAO,EAAxB,OAAO;IACU,OAAO;IAC8B,aAAa,EAAnE,OAAO,sBAAsB,EAAE,aAAa;CACtD,oBAgBA;AA0DD;;;;GAIG;AACH,8CAFW,UAAU;;;;;aAPG,OAAO;EAW9B;AAED;;;;;GAKG;AACH,6CAHW,OAAO,GACL,OAAO,IAAI,iBAAiB,CAIxC;AAED;;;;;GAKG;AACH,6CAHW,OAAO,GACL,OAAO,IAAI,iBAAiB,CAIxC;AAED;;;GAGG;AACH,8BAFW,mBAAmB;;;GAgB7B;AAED;;;;;;GAMG;AACH,gCAHW,qBAAqB,iHAS/B;AAED;;;;;;;GAOG;AACH,uBAL2B,IAAI,SAAlB,WAAa,WAEf,qBAAqB,GACnB,gBAAgB,IAAI,CAAC,CAgCjC;AAnPD;;GAEG;AAEH;;;;;GAKG;AACH,sBAAuB,OAAO,CAAA;AAE9B;;;;;;;GAOG;AACH,iCAFU,SAAS,MAAM,EAAE,CAE6C;AAExE;;;;GAIG;AACH,oBAFU,SAAS,WAAW,EAAE,CAEyC;gCA1BuH,YAAY;iCAAZ,YAAY;6BAAZ,YAAY;sCAAZ,YAAY;uCAAZ,YAAY;uCAAZ,YAAY;yCAAZ,YAAY;2CAAZ,YAAY;2CAAZ,YAAY;qCAAZ,YAAY"}
|
package/dist/src/invocation.d.ts
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
export function assertProofs(payload: import("./types.js").InvocationPayload, proofs: Delegation[]): boolean;
|
|
7
7
|
/**
|
|
8
8
|
* @import {Delegation} from './delegation.js'
|
|
9
|
-
* @import {CID} from 'multiformats'
|
|
10
9
|
*/
|
|
11
10
|
/**
|
|
12
11
|
* UCAN Invocation
|
|
@@ -53,5 +52,5 @@ export class Invocation {
|
|
|
53
52
|
bytes: Uint8Array<ArrayBufferLike>;
|
|
54
53
|
}
|
|
55
54
|
import type { Delegation } from './delegation.js';
|
|
56
|
-
import
|
|
55
|
+
import { CID } from 'multiformats/cid';
|
|
57
56
|
//# sourceMappingURL=invocation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invocation.d.ts","sourceRoot":"","sources":["../../src/invocation.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invocation.d.ts","sourceRoot":"","sources":["../../src/invocation.js"],"names":[],"mappings":"AAgRA;;;;GAIG;AACH,sCAHW,OAAO,YAAY,EAAE,iBAAiB,UACtC,UAAU,EAAE,WA6DtB;AA3TD;;GAEG;AAEH;;GAEG;AACH;IAuCE;;;OAGG;IACH,qBAFW,OAAO,YAAY,EAAE,qBAAqB,uBAoEpD;IAED;;OAEG;IACH,uBAFW,OAAO,YAAY,EAAE,iBAAiB,uBAiEhD;IA3JD;;;;;;;OAOG;IACH,sBANW,OAAO,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,SAC3C,UAAU,OACV,GAAG,eACH,UAAU,EAAE,aACZ,MAAM,EAShB;IApCD;;OAEG;IACH,aAFU,UAAU,EAAE,CAEX;IAEX;;OAEG;IACH,KAFU,GAAG,CAEV;IAEH;;;;;;;;OAQG;IACH,WAFU,MAAM,CAEP;IAWP,sDAAwB;IACxB,gDAA+B;IAC/B,mCAAkB;CAiJrB;gCAxL4B,iBAAiB;oBApB1B,kBAAkB"}
|
package/dist/src/policy.d.ts
CHANGED
|
@@ -1,10 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a UCAN policy selector into segments.
|
|
3
|
+
*
|
|
4
|
+
* Consumes the whole string and throws a `TypeError` on anything that is not
|
|
5
|
+
* valid selector syntax. Supported forms:
|
|
6
|
+
*
|
|
7
|
+
* - `.` identity
|
|
8
|
+
* - `.name` dotted field name, where name matches `[A-Za-z_][A-Za-z0-9_]*`
|
|
9
|
+
* - `["any string"]` unambiguous field name, with JSON string escapes
|
|
10
|
+
* - `[]` collection values
|
|
11
|
+
* - `[n]`, `[-n]` list index
|
|
12
|
+
* - `[a:b]`, `[a:]`, `[:b]` list slice
|
|
13
|
+
* - a trailing `?` on any segment (repeated `?` collapse into one)
|
|
14
|
+
*
|
|
15
|
+
* A selector MUST start with `.` and MUST NOT contain `..`.
|
|
16
|
+
*
|
|
17
|
+
* @see https://github.com/ucan-wg/delegation#selectors
|
|
18
|
+
*
|
|
19
|
+
* @param {string} selector
|
|
20
|
+
* @returns {SelectorSegment[]}
|
|
21
|
+
*/
|
|
22
|
+
export function parseSelector(selector: string): SelectorSegment[];
|
|
23
|
+
/**
|
|
24
|
+
* Resolve a selector against data.
|
|
25
|
+
*
|
|
26
|
+
* @param {unknown} data - The data to select from.
|
|
27
|
+
* @param {string} selector - The selector, e.g. `.foo[0].bar`.
|
|
28
|
+
* @returns {{ ok: true, value: unknown } | { ok: false }} `ok: false` when the selector can't be resolved.
|
|
29
|
+
* @throws {TypeError} If the selector is not valid syntax.
|
|
30
|
+
*/
|
|
31
|
+
export function select(data: unknown, selector: string): {
|
|
32
|
+
ok: true;
|
|
33
|
+
value: unknown;
|
|
34
|
+
} | {
|
|
35
|
+
ok: false;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Converts a UCAN glob pattern to a regular expression.
|
|
39
|
+
*
|
|
40
|
+
* `*` matches zero or more characters, including newlines. `\*` matches a
|
|
41
|
+
* literal `*`. The spec defines no other escapes, so a `\` that is not
|
|
42
|
+
* followed by `*` is a literal backslash. For example, the pattern `\\*` is a
|
|
43
|
+
* literal `\` followed by `\*`, and only matches the string `\*`.
|
|
44
|
+
*
|
|
45
|
+
* @see https://github.com/ucan-wg/delegation#glob-matching
|
|
46
|
+
*
|
|
47
|
+
* @param {string} pattern
|
|
48
|
+
* @returns {RegExp}
|
|
49
|
+
*/
|
|
50
|
+
export function likeRegex(pattern: string): RegExp;
|
|
51
|
+
/**
|
|
52
|
+
* Check the structure of a policy and parse its selectors.
|
|
53
|
+
*
|
|
54
|
+
* This does not check that `==` / `!=` values are IPLD values. Delegations
|
|
55
|
+
* are fully validated with `assertPolicy` (in `utils.js`) when created or
|
|
56
|
+
* decoded.
|
|
57
|
+
*
|
|
58
|
+
* @param {unknown} policy
|
|
59
|
+
* @returns {CompiledStatement[]}
|
|
60
|
+
* @throws {TypeError} If the policy is malformed.
|
|
61
|
+
*/
|
|
62
|
+
export function compilePolicy(policy: unknown): CompiledStatement[];
|
|
1
63
|
/**
|
|
2
64
|
* Validates invocation arguments against a UCAN policy.
|
|
3
65
|
*
|
|
66
|
+
* A malformed policy (unknown operator, wrong arity, invalid selector, ...)
|
|
67
|
+
* never validates: the result is `false` for any `args`.
|
|
68
|
+
*
|
|
4
69
|
* @template {unknown} Args
|
|
5
70
|
* @param {Args} args The arguments of the eventual invocation.
|
|
6
71
|
* @param {import("./types.js").Policy<Args>} policy An array of policy statements.
|
|
7
72
|
* @returns {boolean} True if the args are valid according to the policy, false otherwise.
|
|
8
73
|
*/
|
|
9
74
|
export function validate<Args extends unknown>(args: Args, policy: import("./types.js").Policy<Args>): boolean;
|
|
75
|
+
export type CompiledStatement = {
|
|
76
|
+
op: "==";
|
|
77
|
+
selector: SelectorSegment[];
|
|
78
|
+
value: unknown;
|
|
79
|
+
} | {
|
|
80
|
+
op: "<" | "<=" | ">" | ">=";
|
|
81
|
+
selector: SelectorSegment[];
|
|
82
|
+
value: number | bigint;
|
|
83
|
+
} | {
|
|
84
|
+
op: "like";
|
|
85
|
+
selector: SelectorSegment[];
|
|
86
|
+
regex: RegExp;
|
|
87
|
+
} | {
|
|
88
|
+
op: "not";
|
|
89
|
+
statement: CompiledStatement;
|
|
90
|
+
} | {
|
|
91
|
+
op: "and" | "or";
|
|
92
|
+
statements: CompiledStatement[];
|
|
93
|
+
} | {
|
|
94
|
+
op: "all" | "any";
|
|
95
|
+
selector: SelectorSegment[];
|
|
96
|
+
statement: CompiledStatement;
|
|
97
|
+
};
|
|
98
|
+
export type SegmentBase = {
|
|
99
|
+
/**
|
|
100
|
+
* - Whether the segment ends with `?`: when it fails to resolve, the whole selector returns `null`.
|
|
101
|
+
*/
|
|
102
|
+
optional: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* - The exact text of the selector this segment was parsed from, including a leading `.` and trailing `?`s.
|
|
105
|
+
*/
|
|
106
|
+
source: string;
|
|
107
|
+
};
|
|
108
|
+
export type SegmentData = {
|
|
109
|
+
kind: "identity";
|
|
110
|
+
} | {
|
|
111
|
+
kind: "field";
|
|
112
|
+
key: string;
|
|
113
|
+
} | {
|
|
114
|
+
kind: "index";
|
|
115
|
+
index: number;
|
|
116
|
+
} | {
|
|
117
|
+
kind: "slice";
|
|
118
|
+
start: number | undefined;
|
|
119
|
+
end: number | undefined;
|
|
120
|
+
} | {
|
|
121
|
+
kind: "iterate";
|
|
122
|
+
};
|
|
123
|
+
export type SelectorSegment = SegmentData & SegmentBase;
|
|
10
124
|
//# sourceMappingURL=policy.d.ts.map
|
package/dist/src/policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/policy.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/policy.js"],"names":[],"mappings":"AAqIA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wCAHW,MAAM,GACJ,eAAe,EAAE,CA2E7B;AAqFD;;;;;;;GAOG;AACH,6BALW,OAAO,YACP,MAAM,GACJ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAMxD;AAsGD;;;;;;;;;;;;GAYG;AACH,mCAHW,MAAM,GACJ,MAAM,CAoBlB;AAmHD;;;;;;;;;;GAUG;AACH,sCAJW,OAAO,GACL,iBAAiB,EAAE,CAQ/B;AAiED;;;;;;;;;;GAUG;AACH,yBALuB,IAAI,SAAd,OAAS,QACX,IAAI,UACJ,OAAO,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAC/B,OAAO,CAYnB;gCAtNY;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC/D;IAAE,EAAE,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACpF;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAA;CAAE,GAC3C;IAAE,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,iBAAiB,EAAE,CAAA;CAAE,GACrD;IAAE,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAA;CAAE;;;;;cAxczE,OAAO;;;;YACP,MAAM;;0BAEP;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE;8BAGb,WAAW,GAAG,WAAW"}
|
|
@@ -39,10 +39,6 @@ export interface PayloadBase {
|
|
|
39
39
|
* Expiration UTC Unix Timestamp in seconds (valid until)
|
|
40
40
|
*/
|
|
41
41
|
exp: number | null;
|
|
42
|
-
/**
|
|
43
|
-
* "Not before" UTC Unix Timestamp in seconds (valid from)
|
|
44
|
-
*/
|
|
45
|
-
nbf?: number;
|
|
46
42
|
}
|
|
47
43
|
/**
|
|
48
44
|
* @see https://github.com/ucan-wg/invocation#invocation-payload
|
|
@@ -78,6 +74,10 @@ export interface DelegationPayload<Args = unknown> extends PayloadBase {
|
|
|
78
74
|
*/
|
|
79
75
|
sub: DID | null;
|
|
80
76
|
pol: Policy<Args>;
|
|
77
|
+
/**
|
|
78
|
+
* "Not before" UTC Unix Timestamp in seconds (valid from)
|
|
79
|
+
*/
|
|
80
|
+
nbf?: number;
|
|
81
81
|
}
|
|
82
82
|
export type Payload<Args = unknown> = InvocationPayload | DelegationPayload<Args>;
|
|
83
83
|
export type SignaturePayload<Args = unknown> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../src/types/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE/D;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAA;AACvC,MAAM,MAAM,UAAU,GAAG,QAAQ,WAAW,IAAI,MAAM,EAAE,CAAA;AACxD,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,CAAA;IACT;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAChB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,KAAK,EAAE,UAAU,CAAA;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../src/types/envelope.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
/**
|
|
9
9
|
* Extracts all possible paths from a data structure as string literals
|
|
10
10
|
*/
|
|
11
|
-
type PathsToStringProps<T> = T extends string | number | boolean | null | undefined ? never : T extends Array<infer U> ? `[]` | `[${number}]` | `[${number}:${number}]` | `[${number}:]` | `[:${number}]` |
|
|
11
|
+
type PathsToStringProps<T> = T extends string | number | boolean | null | undefined ? never : T extends Array<infer U> ? `[]` | `[${number}]` | `[${number}:${number}]` | `[${number}:]` | `[:${number}]` | PathsToStringProps<U> : T extends object ? {
|
|
12
12
|
[K in keyof T & (string | number)]: K extends string ? `.${K}` | `.${K}?` | `.${K}${PathsToStringProps<T[K]>}` : `[${K}]` | `[${K}]?` | `[${K}]${PathsToStringProps<T[K]>}`;
|
|
13
13
|
}[keyof T & (string | number)] : never;
|
|
14
14
|
/**
|
|
@@ -29,7 +29,11 @@ type SelectorValue<T, S extends string> = S extends `.${infer K}` ? K extends ke
|
|
|
29
29
|
export type EqualityOp = '==' | '!=';
|
|
30
30
|
export type Equality<Args = unknown> = [EqualityOp, Selector<Args>, unknown];
|
|
31
31
|
export type InequalityOp = '<' | '<=' | '>' | '>=';
|
|
32
|
-
export type Inequality<Args = unknown> = [
|
|
32
|
+
export type Inequality<Args = unknown> = [
|
|
33
|
+
InequalityOp,
|
|
34
|
+
Selector<Args>,
|
|
35
|
+
number | bigint
|
|
36
|
+
];
|
|
33
37
|
export type NegateOp = 'not';
|
|
34
38
|
export type Negate<Args = unknown> = [NegateOp, Statement<Args>];
|
|
35
39
|
export type ConnectiveOp = 'and' | 'or';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/types/policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH;;GAEG;AACH,KAAK,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAC1B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,KAAK,GACL,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAElB,IAAI,GACJ,IAAI,MAAM,GAAG,GACb,IAAI,MAAM,IAAI,MAAM,GAAG,GACvB,IAAI,MAAM,IAAI,GACd,KAAK,MAAM,GAAG,GACd,
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/types/policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH;;GAEG;AACH,KAAK,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAC1B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,KAAK,GACL,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAElB,IAAI,GACJ,IAAI,MAAM,GAAG,GACb,IAAI,MAAM,IAAI,MAAM,GAAG,GACvB,IAAI,MAAM,IAAI,GACd,KAAK,MAAM,GAAG,GACd,kBAAkB,CAAC,CAAC,CAAC,GACzB,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,GAChD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GACvD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;CAC/D,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAC9B,KAAK,CAAA;AAEb;;GAEG;AACH,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACnC,CAAC,GACD,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAC/B,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAClB,KAAK;CACZ,CAAC,MAAM,CAAC,CAAC,GACV,KAAK,CAAA;AAEX;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,IAAI,GAAG,OAAO,IAAI,IAAI,SAAS,OAAO,GACvD,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,GAC5C,MAAM,CAAA;AAEV;;GAEG;AACH,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GAC7D,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK,GACP,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,GACtB,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,GACD,KAAK,GACP,KAAK,CAAA;AAEX,kBAAkB;AAClB,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAA;AACpC,MAAM,MAAM,QAAQ,CAAC,IAAI,GAAG,OAAO,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;AAC5E,MAAM,MAAM,YAAY,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAA;AAClD,MAAM,MAAM,UAAU,CAAC,IAAI,GAAG,OAAO,IAAI;IACvC,YAAY;IACZ,QAAQ,CAAC,IAAI,CAAC;IACd,MAAM,GAAG,MAAM;CAChB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAA;AAC5B,MAAM,MAAM,MAAM,CAAC,IAAI,GAAG,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAEhE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,CAAA;AACvC,MAAM,MAAM,UAAU,CAAC,IAAI,GAAG,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAE1E,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,CAAA;AACxC,MAAM,MAAM,UAAU,CACpB,IAAI,GAAG,OAAO,EACd,GAAG,SAAS,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IACzC,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;AAC5D,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAC3B,MAAM,MAAM,IAAI,CAAC,IAAI,GAAG,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;AAEnE,MAAM,MAAM,SAAS,CAAC,IAAI,GAAG,OAAO,IAChC,QAAQ,CAAC,IAAI,CAAC,GACd,UAAU,CAAC,IAAI,CAAC,GAChB,MAAM,CAAC,IAAI,CAAC,GACZ,UAAU,CAAC,IAAI,CAAC,GAChB,UAAU,CAAC,IAAI,CAAC,GAChB,IAAI,CAAC,IAAI,CAAC,CAAA;AAEd,MAAM,MAAM,MAAM,CAAC,IAAI,GAAG,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAA"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -108,13 +108,21 @@ export interface InvocationOptions extends DelegationValidateOptions {
|
|
|
108
108
|
* Issued at time in seconds
|
|
109
109
|
*/
|
|
110
110
|
iat?: number;
|
|
111
|
-
nbf?: number;
|
|
112
111
|
nonce?: Uint8Array;
|
|
113
112
|
cause?: CID;
|
|
113
|
+
/**
|
|
114
|
+
* Metadata, omitted from the payload when empty
|
|
115
|
+
*/
|
|
114
116
|
meta?: CborObject;
|
|
115
117
|
}
|
|
116
118
|
export interface InvocationFromOptions extends DelegationValidateOptions {
|
|
117
119
|
bytes: Uint8Array;
|
|
120
|
+
/**
|
|
121
|
+
* The current time in seconds, used for the invocation's own `exp`, the time
|
|
122
|
+
* bounds of its proofs and `maxTtl`. Mostly used for testing.
|
|
123
|
+
* @default Math.floor(Date.now() / 1000)
|
|
124
|
+
*/
|
|
125
|
+
now?: number;
|
|
118
126
|
audience?: VerifiableDID;
|
|
119
127
|
resolveProof: ResolveProof;
|
|
120
128
|
/**
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -17,6 +17,17 @@ export function nowInSeconds(): number;
|
|
|
17
17
|
* @param {import('./types.js').DecodedEnvelope<PayloadSpec>} envelope
|
|
18
18
|
*/
|
|
19
19
|
export function cid(envelope: import("./types.js").DecodedEnvelope<PayloadSpec>): Promise<CID<any, 113, 18, 1>>;
|
|
20
|
+
/**
|
|
21
|
+
* Assert that `bytes` is the canonical DAG-CBOR encoding of `envelope`.
|
|
22
|
+
*
|
|
23
|
+
* {@link cid} hashes the re-encoded envelope, and the DAG-CBOR decoder accepts
|
|
24
|
+
* some non-canonical input (e.g. unsorted map keys or short floats). Without
|
|
25
|
+
* this check, different byte strings would share a CID.
|
|
26
|
+
*
|
|
27
|
+
* @param {import('./types.js').DecodedEnvelope<PayloadSpec>} envelope
|
|
28
|
+
* @param {Uint8Array} bytes
|
|
29
|
+
*/
|
|
30
|
+
export function assertCanonical(envelope: import("./types.js").DecodedEnvelope<PayloadSpec>, bytes: Uint8Array): void;
|
|
20
31
|
/**
|
|
21
32
|
* Replay key of a UCAN: the CID of its signature payload, the exact bytes the
|
|
22
33
|
* signature covers.
|
|
@@ -42,6 +53,14 @@ export function isSigAndDidCompatible(did: import("iso-did/types").VerifiableDID
|
|
|
42
53
|
* @param {number} [now]
|
|
43
54
|
*/
|
|
44
55
|
export function assertExpiration(exp: number | null, now?: number): void;
|
|
56
|
+
/**
|
|
57
|
+
* Validate an optional UCAN timestamp (e.g. `nbf` or `iat`): when present it
|
|
58
|
+
* must be an integer number of seconds within ±(2^53 − 1).
|
|
59
|
+
*
|
|
60
|
+
* @param {unknown} value
|
|
61
|
+
* @param {string} name - Field name used in the error message
|
|
62
|
+
*/
|
|
63
|
+
export function assertTimestamp(value: unknown, name: string): void;
|
|
45
64
|
/**
|
|
46
65
|
* Validate the not before time of a UCAN
|
|
47
66
|
*
|
|
@@ -183,12 +202,21 @@ export function assertPolicy(policy: unknown): void;
|
|
|
183
202
|
export function isObject(value: unknown): value is Record<PropertyKey, unknown>;
|
|
184
203
|
export const cborValue: z.ZodLazy<z.ZodType<import("./types.js").CborValue, any, z.core.$ZodTypeInternals<import("./types.js").CborValue, any>>>;
|
|
185
204
|
export const cborObject: z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<import("./types.js").CborValue, any, z.core.$ZodTypeInternals<import("./types.js").CborValue, any>>>>;
|
|
186
|
-
|
|
205
|
+
/**
|
|
206
|
+
* Policy selector, validated with {@link parseSelector}.
|
|
207
|
+
*
|
|
208
|
+
* @see https://github.com/ucan-wg/delegation#selectors
|
|
209
|
+
*/
|
|
210
|
+
export const selector: z.ZodString;
|
|
187
211
|
/**
|
|
188
212
|
* @typedef {z.infer<typeof selector>} Selector
|
|
189
213
|
*/
|
|
190
214
|
/**
|
|
191
|
-
* Statement
|
|
215
|
+
* Statement, as defined by the spec's IPLD schema. Every statement is a tuple
|
|
216
|
+
* of exact arity. Inequality values are integers or floats; large integers
|
|
217
|
+
* decode from dag-cbor as `bigint`.
|
|
218
|
+
*
|
|
219
|
+
* @see https://github.com/ucan-wg/delegation#policy
|
|
192
220
|
*/
|
|
193
221
|
export const statement: z.ZodLazy<z.ZodType<import("./types.js").Statement<unknown>, any, z.core.$ZodTypeInternals<import("./types.js").Statement<unknown>, any>>>;
|
|
194
222
|
export const policySchema: z.ZodArray<z.ZodLazy<z.ZodType<import("./types.js").Statement<unknown>, any, z.core.$ZodTypeInternals<import("./types.js").Statement<unknown>, any>>>>;
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.js"],"names":[],"mappings":"AAWA;;GAEG;AAEH;;;;;GAKG;AACH,2CAHW,OAAO,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC;;;EAe3D;AAED,uCAEC;AAED;;;GAGG;AACH,8BAFW,OAAO,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,iCAW3D;AAED;;;;;;;;;GASG;AACH,0CAHW,OAAO,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,SACjD,UAAU,QAapB;AAED;;;;;;;;;GASG;AACH,oCAFW,OAAO,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,mBAM3D;AAED;;;;;GAKG;AACH,2CAHW,OAAO,eAAe,EAAE,aAAa,WACrC,OAAO,sBAAsB,EAAE,aAAa,WA+BtD;AAED;;;;;GAKG;AACH,sCAHW,MAAM,GAAG,IAAI,QACb,MAAM,QAchB;AAED;;;;;;GAMG;AACH,uCAHW,OAAO,QACP,MAAM,QAQhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,QACN,MAAM,QAMhB;AAED;;;;;GAKG;AACH,qDAHW,OAAO,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,gBACjD,OAAO,SAAS,EAAE,QAAQ,gBAYpC;AAED;;;;;;GAMG;AACH,0CAJW,OAAO,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,6BACjD,OAAO,sCAAsC,EAAE,QAAQ,gBACvD,OAAO,SAAS,EAAE,QAAQ,oBAwBpC;AAED;;;;;;;;;;;;;GAaG;AACH,sCAJW,MAAM,SACN,MAAM,GACJ,OAAO,CAKnB;AAED;;;;;;;;;;;;;GAaG;AACH,8CAJW,MAAM,GAEJ,IAAI,CAuChB;AAED;;;;;;;;;;;;;GAaG;AACH,mCAXW,OAAO,GAEL,IAAI,CAehB;AACD;;;;GAIG;AACH,iCAFW,OAAO,QASjB;AAED;;;;;;GAMG;AACH,iCAJW,OAAO,GAEL,IAAI,CAWhB;AAqDD;;;;;;;;;;;;;;GAcG;AACH,0CAJW,OAAO,sBAAsB,EAAE,aAAa,aAC5C,UAAU,GACR,UAAU,EAAE,CAyCxB;AAED;;;;;;GAMG;AACH,yCAFW,OAAO,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,mCAQ3D;AAED;;;;;;;;;GASG;AACH,2CAHW,OAAO,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,gBACjD,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,iBAWxC;AAED;;;;;;GAMG;AACH,uCAHG;IAAgC,GAAG;IACV,GAAG;CAAC,iBAU/B;AA+ED;;GAEG;AACH,qCAFW,OAAO,QASjB;AAED;;;;;;GAMG;AACH,gCAJW,OAAO,GACL,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAKjD;AAlGD,iJAeI;AACJ,4KAAyD;AAEzD;;;;GAIG;AACH,mCASE;AAEF;;GAEG;AAEH;;;;;;GAMG;AACH,mKA4BI;AAEJ,kLAA8C;uBAxCjC,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC;iCAthBP,YAAY;oBATtB,kBAAkB;oBADlB,SAAS;kBAGX,QAAQ"}
|
package/dist/src/varsig.d.ts
CHANGED
package/dist/src/varsig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"varsig.d.ts","sourceRoot":"","sources":["../../src/varsig.js"],"names":[],"mappings":"AAuDA;;GAEG;AACH,gCAFW,OAAO,YAAY,EAAE,aAAa,2BAc5C;AA2BD
|
|
1
|
+
{"version":3,"file":"varsig.d.ts","sourceRoot":"","sources":["../../src/varsig.js"],"names":[],"mappings":"AAuDA;;GAEG;AACH,gCAFW,OAAO,YAAY,EAAE,aAAa,2BAc5C;AA2BD;;;;;GAKG;AACH,4BAHW,UAAU,GACR,OAAO,YAAY,EAAE,YAAY,CAkE7C;AAlKD,qBAAsB,EAAI,CAAA;AAC1B,sBAAuB,CAAI,CAAA;AAC3B,8BAA+B,KAAM,CAAA;AAErC;;GAEG;AACH,4BAFU,MAAM,CAAC,MAAM,EAAE,OAAO,YAAY,EAAE,cAAc,CAAC,CAK5D;AAED;;GAEG;AACH,yBAFU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM9B"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iso-ucan",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "2.0.0",
|
|
5
5
|
"description": "Isomorphic UCAN",
|
|
6
6
|
"author": "Hugo Dias <hugomrdias@gmail.com> (hugodias.me)",
|
|
7
7
|
"license": "MIT",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"iso-base": "^4.4.0",
|
|
110
110
|
"iso-did": "^3.0.0",
|
|
111
111
|
"iso-kv": "^3.2.0",
|
|
112
|
-
"iso-signatures": "^0.
|
|
112
|
+
"iso-signatures": "^0.6.0",
|
|
113
113
|
"iso-web": "^4.0.0",
|
|
114
114
|
"it-merge": "^3.0.15",
|
|
115
115
|
"multiformats": "^14.0.5",
|
package/src/delegation.js
CHANGED
|
@@ -3,12 +3,15 @@ import { parse as didParse } from 'iso-did'
|
|
|
3
3
|
import { randomBytes } from 'iso-web/crypto'
|
|
4
4
|
import * as Envelope from './envelope.js'
|
|
5
5
|
import {
|
|
6
|
+
assertCanonical,
|
|
6
7
|
assertExpiration,
|
|
7
8
|
assertIsValidCommand,
|
|
8
9
|
assertMeta,
|
|
9
10
|
assertNonce,
|
|
10
11
|
assertNotBefore,
|
|
11
12
|
assertNotRevoked,
|
|
13
|
+
assertPolicy,
|
|
14
|
+
assertTimestamp,
|
|
12
15
|
cid,
|
|
13
16
|
expOrTtl,
|
|
14
17
|
verifySignature,
|
|
@@ -84,6 +87,7 @@ export class Delegation {
|
|
|
84
87
|
)
|
|
85
88
|
}
|
|
86
89
|
|
|
90
|
+
assertCanonical(envelope, bytes)
|
|
87
91
|
assertStructure(envelope.payload, options.now)
|
|
88
92
|
|
|
89
93
|
await verifySignature(envelope, verifierResolver, didResolveOptions)
|
|
@@ -112,6 +116,7 @@ export class Delegation {
|
|
|
112
116
|
)
|
|
113
117
|
}
|
|
114
118
|
|
|
119
|
+
assertCanonical(envelope, bytes)
|
|
115
120
|
assertStructure(envelope.payload, options.now)
|
|
116
121
|
const _cid = await cid(envelope)
|
|
117
122
|
return new Delegation(envelope, bytes, _cid)
|
|
@@ -232,9 +237,10 @@ function assertStructure(payload, now) {
|
|
|
232
237
|
|
|
233
238
|
assertIsValidCommand(payload.cmd)
|
|
234
239
|
assertExpiration(payload.exp, now)
|
|
240
|
+
assertTimestamp(payload.nbf, 'nbf')
|
|
235
241
|
assertNonce(payload.nonce)
|
|
236
242
|
|
|
237
|
-
|
|
243
|
+
assertPolicy(payload.pol)
|
|
238
244
|
|
|
239
245
|
assertMeta(payload.meta)
|
|
240
246
|
}
|