document-model 5.1.0-dev.3 → 5.1.0-dev.30
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/core/errors.d.ts.map +1 -1
- package/dist/src/core/errors.js +1 -2
- package/dist/src/core/errors.js.map +1 -1
- package/dist/src/core/header.d.ts +7 -11
- package/dist/src/core/header.d.ts.map +1 -1
- package/dist/src/core/header.js +45 -54
- package/dist/src/core/header.js.map +1 -1
- package/dist/src/core/ph-types.d.ts +21 -1
- package/dist/src/core/ph-types.d.ts.map +1 -1
- package/dist/src/core/schemas.d.ts +51 -107
- package/dist/src/core/schemas.d.ts.map +1 -1
- package/dist/src/core/schemas.js.map +1 -1
- package/dist/src/core/state.js +1 -1
- package/dist/src/core/state.js.map +1 -1
- package/dist/src/core/types.d.ts +22 -7
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/document-model/document-schema.d.ts +32 -226
- package/dist/src/document-model/document-schema.d.ts.map +1 -1
- package/dist/src/document-model/reducers.d.ts.map +1 -1
- package/dist/src/document-model/reducers.js +5 -0
- package/dist/src/document-model/reducers.js.map +1 -1
- package/dist/src/document-model/schemas.d.ts +132 -392
- package/dist/src/document-model/schemas.d.ts.map +1 -1
- package/dist/src/document-model/schemas.js +1 -1
- package/dist/src/document-model/schemas.js.map +1 -1
- package/dist/src/document-model/types.d.ts +2 -0
- package/dist/src/document-model/types.d.ts.map +1 -1
- package/dist/src/document-model/validation.d.ts +25 -0
- package/dist/src/document-model/validation.d.ts.map +1 -1
- package/dist/src/document-model/validation.js +57 -0
- package/dist/src/document-model/validation.js.map +1 -1
- package/dist/test/document/crypto.test.js +28 -27
- package/dist/test/document/crypto.test.js.map +1 -1
- package/dist/test/document-model/validation.test.js +164 -1
- package/dist/test/document-model/validation.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,eAAe,OAA0C,CAAC;AAEvE,qBAAa,uBAAwB,SAAQ,KAAK;IACzC,IAAI,EAAE,OAAO,CAAC;gBACT,IAAI,EAAE,OAAO;CAO1B;AAED,qBAAa,0BAA2B,SAAQ,uBAAuB;IAC9D,MAAM,EAAE,QAAQ,EAAE,CAAC;gBAEd,MAAM,EAAE,QAAQ,EAAE;CAK/B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAChC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;gBAEpB,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,eAAe,OAA0C,CAAC;AAEvE,qBAAa,uBAAwB,SAAQ,KAAK;IACzC,IAAI,EAAE,OAAO,CAAC;gBACT,IAAI,EAAE,OAAO;CAO1B;AAED,qBAAa,0BAA2B,SAAQ,uBAAuB;IAC9D,MAAM,EAAE,QAAQ,EAAE,CAAC;gBAEd,MAAM,EAAE,QAAQ,EAAE;CAK/B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAChC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;gBAEpB,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;IAkBrE,IAAI,QAAQ,eAEX;IAED,IAAI,KAAK,WAER;IAED,IAAI,SAAS,cAEZ;CACF"}
|
package/dist/src/core/errors.js
CHANGED
|
@@ -30,9 +30,8 @@ export class HashMismatchError extends Error {
|
|
|
30
30
|
this.message = JSON.stringify({
|
|
31
31
|
error: `Hash mismatch on document ${document.header.id}, scope ${scope}, index ${operation.index}`,
|
|
32
32
|
document,
|
|
33
|
-
scope,
|
|
34
33
|
operation,
|
|
35
|
-
});
|
|
34
|
+
}, null, 1);
|
|
36
35
|
}
|
|
37
36
|
get document() {
|
|
38
37
|
return this._document;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAEvE,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACzC,IAAI,CAAU;IACrB,YAAY,IAAa;QACvB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO;YACV,IAAI,CAAC,OAAO,IAAI,yBAAyB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC7E,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,uBAAuB;IAC9D,MAAM,CAAa;IAE1B,YAAY,MAAkB;QAC5B,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAChC,MAAM,CAAS;IACf,SAAS,CAAa;IACtB,UAAU,CAAY;IAEhC,YAAY,KAAa,EAAE,QAAoB,EAAE,SAAoB;QACnE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAEvE,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACzC,IAAI,CAAU;IACrB,YAAY,IAAa;QACvB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO;YACV,IAAI,CAAC,OAAO,IAAI,yBAAyB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC7E,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,uBAAuB;IAC9D,MAAM,CAAa;IAE1B,YAAY,MAAkB;QAC5B,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAChC,MAAM,CAAS;IACf,SAAS,CAAa;IACtB,UAAU,CAAY;IAEhC,YAAY,KAAa,EAAE,QAAoB,EAAE,SAAoB;QACnE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAC3B;YACE,KAAK,EAAE,6BAA6B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,WAAW,SAAS,CAAC,KAAK,EAAE;YAClG,QAAQ;YACR,SAAS;SACV,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import type { PHDocumentHeader } from "./ph-types.js";
|
|
2
2
|
import type { ISigner, SigningParameters } from "./types.js";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Creates a verification-only signer from a public key.
|
|
5
|
+
* This signer can only verify signatures, not sign data.
|
|
6
|
+
*
|
|
7
|
+
* @param pubKey - The public key to use for verification.
|
|
8
|
+
* @returns An ISigner that can only verify signatures.
|
|
5
9
|
*/
|
|
6
|
-
export declare
|
|
7
|
-
#private;
|
|
8
|
-
protected readonly subtleCrypto: Promise<SubtleCrypto>;
|
|
9
|
-
protected publicCryptoKey: CryptoKey | undefined;
|
|
10
|
-
constructor(publicKey: JsonWebKey);
|
|
11
|
-
publicKey(): Promise<JsonWebKey>;
|
|
12
|
-
sign(data: Uint8Array): Promise<Uint8Array>;
|
|
13
|
-
verify(data: Uint8Array, signature: Uint8Array): Promise<void>;
|
|
14
|
-
}
|
|
10
|
+
export declare function createVerificationSigner(pubKey: JsonWebKey): ISigner;
|
|
15
11
|
/**
|
|
16
12
|
* Signs a header. Generally, this is not called directly, but rather through
|
|
17
13
|
* {@link createSignedHeader}.
|
|
@@ -55,7 +51,7 @@ export declare const createPresignedHeader: (id?: string, documentType?: string)
|
|
|
55
51
|
export declare const createSignedHeader: (unsignedHeader: PHDocumentHeader, documentType: string, signer: ISigner) => Promise<PHDocumentHeader>;
|
|
56
52
|
/**
|
|
57
53
|
* Creates a signed header for a document. The document header requires a signer
|
|
58
|
-
* as the document id is a
|
|
54
|
+
* as the document id is a cryptographic signature.
|
|
59
55
|
*
|
|
60
56
|
* @param documentType - The type of the document.
|
|
61
57
|
* @param signer - The signer of the document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/core/header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/core/header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,gBAAgB,EAAa,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAS7D;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CA+CpE;AAYD;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,GACf,YAAY,iBAAiB,EAC7B,QAAQ,OAAO,KACd,OAAO,CAAC,MAAM,CAehB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,GACjB,YAAY,iBAAiB,EAC7B,WAAW,MAAM,EACjB,QAAQ,OAAO,KACd,OAAO,CAAC,IAAI,CAcd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,gBAAgB,KACvB,OAAO,CAAC,IAAI,CAYd,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,KAAI,MAAqB,EACzB,qBAAiB,KAChB,gBAkBF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,gBAAgB,gBAAgB,EAChC,cAAc,MAAM,EACpB,QAAQ,OAAO,KACd,OAAO,CAAC,gBAAgB,CA4B1B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GACtC,cAAc,MAAM,EACpB,QAAQ,OAAO,KACd,OAAO,CAAC,gBAAgB,CAS1B,CAAC"}
|
package/dist/src/core/header.js
CHANGED
|
@@ -4,56 +4,49 @@ import { generateId } from "./utils.js";
|
|
|
4
4
|
*/
|
|
5
5
|
const generateStablePayload = (parameters) => `${parameters.documentType}:${parameters.createdAtUtcIso}:${parameters.nonce}`;
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Creates a verification-only signer from a public key.
|
|
8
|
+
* This signer can only verify signatures, not sign data.
|
|
9
|
+
*
|
|
10
|
+
* @param pubKey - The public key to use for verification.
|
|
11
|
+
* @returns An ISigner that can only verify signatures.
|
|
8
12
|
*/
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
try {
|
|
38
|
-
isValid = await subtleCrypto.verify("Ed25519", this.publicCryptoKey, new Uint8Array(signature), new Uint8Array(data));
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
throw new Error("invalid signature");
|
|
42
|
-
}
|
|
43
|
-
if (!isValid) {
|
|
44
|
-
throw new Error("invalid signature");
|
|
45
|
-
}
|
|
46
|
-
}
|
|
13
|
+
export function createVerificationSigner(pubKey) {
|
|
14
|
+
let cachedCryptoKey;
|
|
15
|
+
return {
|
|
16
|
+
async publicKey() {
|
|
17
|
+
return pubKey;
|
|
18
|
+
},
|
|
19
|
+
async sign(_data) {
|
|
20
|
+
throw new Error("verification-only signer cannot sign data");
|
|
21
|
+
},
|
|
22
|
+
async signAction(_action, _abortSignal) {
|
|
23
|
+
throw new Error("verification-only signer cannot sign actions");
|
|
24
|
+
},
|
|
25
|
+
async verify(data, signature) {
|
|
26
|
+
if (!cachedCryptoKey) {
|
|
27
|
+
cachedCryptoKey = await crypto.subtle.importKey("jwk", pubKey, { name: "ECDSA", namedCurve: "P-256" }, true, ["verify"]);
|
|
28
|
+
}
|
|
29
|
+
let isValid;
|
|
30
|
+
try {
|
|
31
|
+
isValid = await crypto.subtle.verify({ name: "ECDSA", hash: "SHA-256" }, cachedCryptoKey, new Uint8Array(signature), new Uint8Array(data));
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
throw new Error("invalid signature");
|
|
35
|
+
}
|
|
36
|
+
if (!isValid) {
|
|
37
|
+
throw new Error("invalid signature");
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
};
|
|
47
41
|
}
|
|
48
42
|
/**
|
|
49
|
-
* Creates a signer from a header.
|
|
43
|
+
* Creates a verification-only signer from a header.
|
|
50
44
|
*
|
|
51
45
|
* @param header - The header to create a signer from.
|
|
52
|
-
*
|
|
53
|
-
* @returns A signer for the header.
|
|
46
|
+
* @returns A signer that can verify the header's signature.
|
|
54
47
|
*/
|
|
55
|
-
const createSignerFromHeader =
|
|
56
|
-
return
|
|
48
|
+
const createSignerFromHeader = (header) => {
|
|
49
|
+
return createVerificationSigner(header.sig.publicKey);
|
|
57
50
|
};
|
|
58
51
|
/**
|
|
59
52
|
* Signs a header. Generally, this is not called directly, but rather through
|
|
@@ -99,8 +92,8 @@ export const verify = async (parameters, signature, signer) => {
|
|
|
99
92
|
* Validates a header signature.
|
|
100
93
|
*/
|
|
101
94
|
export const validateHeader = async (header) => {
|
|
102
|
-
const signer =
|
|
103
|
-
return
|
|
95
|
+
const signer = createSignerFromHeader(header);
|
|
96
|
+
return verify({
|
|
104
97
|
documentType: header.documentType,
|
|
105
98
|
createdAtUtcIso: header.createdAtUtcIso,
|
|
106
99
|
nonce: header.sig.nonce,
|
|
@@ -159,19 +152,17 @@ export const createSignedHeader = async (unsignedHeader, documentType, signer) =
|
|
|
159
152
|
documentType,
|
|
160
153
|
createdAtUtcIso: unsignedHeader.createdAtUtcIso,
|
|
161
154
|
// mutable fields
|
|
162
|
-
slug:
|
|
163
|
-
name:
|
|
164
|
-
branch:
|
|
165
|
-
revision:
|
|
166
|
-
document: 0,
|
|
167
|
-
},
|
|
155
|
+
slug: unsignedHeader.slug,
|
|
156
|
+
name: unsignedHeader.name,
|
|
157
|
+
branch: unsignedHeader.branch,
|
|
158
|
+
revision: unsignedHeader.revision,
|
|
168
159
|
lastModifiedAtUtcIso: unsignedHeader.lastModifiedAtUtcIso,
|
|
169
|
-
meta:
|
|
160
|
+
meta: unsignedHeader.meta,
|
|
170
161
|
};
|
|
171
162
|
};
|
|
172
163
|
/**
|
|
173
164
|
* Creates a signed header for a document. The document header requires a signer
|
|
174
|
-
* as the document id is a
|
|
165
|
+
* as the document id is a cryptographic signature.
|
|
175
166
|
*
|
|
176
167
|
* @param documentType - The type of the document.
|
|
177
168
|
* @param signer - The signer of the document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/core/header.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,UAA6B,EAAU,EAAE,CACtE,GAAG,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;AAEjF
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/core/header.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,7 +92,7 @@ export type HashConfig = {
|
|
|
92
92
|
*/
|
|
93
93
|
export type PHDocumentState = {
|
|
94
94
|
/** The current version of the document. */
|
|
95
|
-
version:
|
|
95
|
+
version: number;
|
|
96
96
|
/** Hash configuration for operation state verification */
|
|
97
97
|
hash: HashConfig;
|
|
98
98
|
/** True if and only if the document has been deleted */
|
|
@@ -256,4 +256,24 @@ export type PHDocument<TState extends PHBaseState = PHBaseState> = {
|
|
|
256
256
|
*/
|
|
257
257
|
clipboard: Operation[];
|
|
258
258
|
};
|
|
259
|
+
/** Upgrade reducer transforms a document from one version to another */
|
|
260
|
+
export type UpgradeReducer<TFrom extends PHBaseState, TTo extends PHBaseState> = (document: PHDocument<TFrom>, action: Action) => PHDocument<TTo>;
|
|
261
|
+
type ModelVersion = number;
|
|
262
|
+
/** Metadata about a version transition */
|
|
263
|
+
export type UpgradeTransition = {
|
|
264
|
+
toVersion: ModelVersion;
|
|
265
|
+
upgradeReducer: UpgradeReducer<any, any>;
|
|
266
|
+
description?: string;
|
|
267
|
+
};
|
|
268
|
+
type TupleMember<T extends readonly unknown[]> = T[number];
|
|
269
|
+
/** Manifest declaring all supported versions and upgrade paths */
|
|
270
|
+
export type UpgradeManifest<TVersions extends readonly number[]> = {
|
|
271
|
+
documentType: string;
|
|
272
|
+
latestVersion: TupleMember<TVersions>;
|
|
273
|
+
supportedVersions: TVersions;
|
|
274
|
+
upgrades: {
|
|
275
|
+
[V in Exclude<TupleMember<TVersions>, 1> as `v${V}`]: UpgradeTransition;
|
|
276
|
+
};
|
|
277
|
+
};
|
|
278
|
+
export {};
|
|
259
279
|
//# sourceMappingURL=ph-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ph-types.d.ts","sourceRoot":"","sources":["../../../src/core/ph-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ph-types.d.ts","sourceRoot":"","sources":["../../../src/core/ph-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,125 +1,69 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DocumentFile, LoadStateActionInput, LoadStateActionStateInput, PruneActionInput, SchemaLoadStateAction, SchemaPruneAction, SchemaRedoAction, SchemaSetNameAction, SchemaUndoAction } from "./types.js";
|
|
3
3
|
type Properties<T> = Required<{
|
|
4
|
-
[K in keyof T]: z.ZodType<T[K],
|
|
4
|
+
[K in keyof T]: z.ZodType<T[K], T[K]>;
|
|
5
5
|
}>;
|
|
6
6
|
type definedNonNullAny = {};
|
|
7
7
|
export declare const isDefinedNonNullAny: (v: any) => v is definedNonNullAny;
|
|
8
|
-
export declare const definedNonNullAnySchema: z.
|
|
9
|
-
export declare const Load_StateSchema: z.ZodEnum<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export declare const
|
|
13
|
-
|
|
8
|
+
export declare const definedNonNullAnySchema: z.ZodAny;
|
|
9
|
+
export declare const Load_StateSchema: z.ZodEnum<{
|
|
10
|
+
LOAD_STATE: "LOAD_STATE";
|
|
11
|
+
}>;
|
|
12
|
+
export declare const PruneSchema: z.ZodEnum<{
|
|
13
|
+
PRUNE: "PRUNE";
|
|
14
|
+
}>;
|
|
15
|
+
export declare const RedoSchema: z.ZodEnum<{
|
|
16
|
+
REDO: "REDO";
|
|
17
|
+
}>;
|
|
18
|
+
export declare const Set_NameSchema: z.ZodEnum<{
|
|
19
|
+
SET_NAME: "SET_NAME";
|
|
20
|
+
}>;
|
|
21
|
+
export declare const UndoSchema: z.ZodEnum<{
|
|
22
|
+
UNDO: "UNDO";
|
|
23
|
+
}>;
|
|
14
24
|
export declare function OperationScopeSchema(): z.ZodString;
|
|
15
|
-
export declare function DocumentActionSchema(): z.ZodUnion<[z.ZodObject<Required<{
|
|
16
|
-
id: z.ZodType<string,
|
|
17
|
-
timestampUtcMs: z.ZodType<string,
|
|
18
|
-
input: z.ZodType<LoadStateActionInput,
|
|
19
|
-
type: z.ZodType<"LOAD_STATE",
|
|
20
|
-
scope: z.ZodType<string,
|
|
21
|
-
}>, z.
|
|
22
|
-
id:
|
|
23
|
-
timestampUtcMs:
|
|
24
|
-
input:
|
|
25
|
-
type:
|
|
26
|
-
scope: string
|
|
27
|
-
}
|
|
28
|
-
id:
|
|
29
|
-
timestampUtcMs:
|
|
30
|
-
input:
|
|
31
|
-
type:
|
|
32
|
-
scope: string
|
|
33
|
-
}>, z.ZodObject<Required<{
|
|
34
|
-
id: z.ZodType<string,
|
|
35
|
-
timestampUtcMs: z.ZodType<string,
|
|
36
|
-
input: z.ZodType<
|
|
37
|
-
type: z.ZodType<"
|
|
38
|
-
scope: z.ZodType<
|
|
39
|
-
}>, z.
|
|
40
|
-
id:
|
|
41
|
-
timestampUtcMs:
|
|
42
|
-
input:
|
|
43
|
-
type:
|
|
44
|
-
scope: string
|
|
45
|
-
}
|
|
46
|
-
id: import("./types.js").Scalars["String"]["output"];
|
|
47
|
-
timestampUtcMs: import("./types.js").Scalars["DateTime"]["output"];
|
|
48
|
-
input: PruneActionInput;
|
|
49
|
-
type: import("./types.js").Prune;
|
|
50
|
-
scope: string;
|
|
51
|
-
}>, z.ZodObject<Required<{
|
|
52
|
-
id: z.ZodType<string, any, string>;
|
|
53
|
-
timestampUtcMs: z.ZodType<string, any, string>;
|
|
54
|
-
input: z.ZodType<number, any, number>;
|
|
55
|
-
type: z.ZodType<"REDO", any, "REDO">;
|
|
56
|
-
scope: z.ZodType<string, any, string>;
|
|
57
|
-
}>, z.UnknownKeysParam, z.ZodTypeAny, {
|
|
58
|
-
id: import("./types.js").Scalars["String"]["output"];
|
|
59
|
-
timestampUtcMs: import("./types.js").Scalars["DateTime"]["output"];
|
|
60
|
-
input: import("./types.js").Scalars["Int"]["input"];
|
|
61
|
-
type: import("./types.js").Redo;
|
|
62
|
-
scope: string;
|
|
63
|
-
}, {
|
|
64
|
-
id: import("./types.js").Scalars["String"]["output"];
|
|
65
|
-
timestampUtcMs: import("./types.js").Scalars["DateTime"]["output"];
|
|
66
|
-
input: import("./types.js").Scalars["Int"]["input"];
|
|
67
|
-
type: import("./types.js").Redo;
|
|
68
|
-
scope: string;
|
|
69
|
-
}>, z.ZodObject<Required<{
|
|
70
|
-
id: z.ZodType<string, any, string>;
|
|
71
|
-
timestampUtcMs: z.ZodType<string, any, string>;
|
|
72
|
-
input: z.ZodType<string, any, string>;
|
|
73
|
-
type: z.ZodType<"SET_NAME", any, "SET_NAME">;
|
|
74
|
-
scope: z.ZodType<"global", any, "global">;
|
|
75
|
-
}>, z.UnknownKeysParam, z.ZodTypeAny, {
|
|
76
|
-
id: import("./types.js").Scalars["String"]["output"];
|
|
77
|
-
timestampUtcMs: import("./types.js").Scalars["DateTime"]["output"];
|
|
78
|
-
input: import("./types.js").Scalars["String"]["input"];
|
|
79
|
-
type: import("./types.js").Set_Name;
|
|
80
|
-
scope: "global";
|
|
81
|
-
}, {
|
|
82
|
-
id: import("./types.js").Scalars["String"]["output"];
|
|
83
|
-
timestampUtcMs: import("./types.js").Scalars["DateTime"]["output"];
|
|
84
|
-
input: import("./types.js").Scalars["String"]["input"];
|
|
85
|
-
type: import("./types.js").Set_Name;
|
|
86
|
-
scope: "global";
|
|
87
|
-
}>, z.ZodObject<Required<{
|
|
88
|
-
id: z.ZodType<string, any, string>;
|
|
89
|
-
timestampUtcMs: z.ZodType<string, any, string>;
|
|
90
|
-
input: z.ZodType<number, any, number>;
|
|
91
|
-
type: z.ZodType<"UNDO", any, "UNDO">;
|
|
92
|
-
scope: z.ZodType<string, any, string>;
|
|
93
|
-
}>, z.UnknownKeysParam, z.ZodTypeAny, {
|
|
94
|
-
id: import("./types.js").Scalars["String"]["output"];
|
|
95
|
-
timestampUtcMs: import("./types.js").Scalars["DateTime"]["output"];
|
|
96
|
-
input: import("./types.js").Scalars["Int"]["input"];
|
|
97
|
-
type: import("./types.js").Undo;
|
|
98
|
-
scope: string;
|
|
99
|
-
}, {
|
|
100
|
-
id: import("./types.js").Scalars["String"]["output"];
|
|
101
|
-
timestampUtcMs: import("./types.js").Scalars["DateTime"]["output"];
|
|
102
|
-
input: import("./types.js").Scalars["Int"]["input"];
|
|
103
|
-
type: import("./types.js").Undo;
|
|
104
|
-
scope: string;
|
|
105
|
-
}>]>;
|
|
25
|
+
export declare function DocumentActionSchema(): z.ZodUnion<readonly [z.ZodObject<Required<{
|
|
26
|
+
id: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
27
|
+
timestampUtcMs: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
28
|
+
input: z.ZodType<LoadStateActionInput, LoadStateActionInput, z.core.$ZodTypeInternals<LoadStateActionInput, LoadStateActionInput>>;
|
|
29
|
+
type: z.ZodType<"LOAD_STATE", "LOAD_STATE", z.core.$ZodTypeInternals<"LOAD_STATE", "LOAD_STATE">>;
|
|
30
|
+
scope: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
31
|
+
}>, z.core.$strip>, z.ZodObject<Required<{
|
|
32
|
+
id: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
33
|
+
timestampUtcMs: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
34
|
+
input: z.ZodType<PruneActionInput, PruneActionInput, z.core.$ZodTypeInternals<PruneActionInput, PruneActionInput>>;
|
|
35
|
+
type: z.ZodType<"PRUNE", "PRUNE", z.core.$ZodTypeInternals<"PRUNE", "PRUNE">>;
|
|
36
|
+
scope: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
37
|
+
}>, z.core.$strip>, z.ZodObject<Required<{
|
|
38
|
+
id: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
39
|
+
timestampUtcMs: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
40
|
+
input: z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>;
|
|
41
|
+
type: z.ZodType<"REDO", "REDO", z.core.$ZodTypeInternals<"REDO", "REDO">>;
|
|
42
|
+
scope: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
43
|
+
}>, z.core.$strip>, z.ZodObject<Required<{
|
|
44
|
+
id: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
45
|
+
timestampUtcMs: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
46
|
+
input: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
47
|
+
type: z.ZodType<"SET_NAME", "SET_NAME", z.core.$ZodTypeInternals<"SET_NAME", "SET_NAME">>;
|
|
48
|
+
scope: z.ZodType<"global", "global", z.core.$ZodTypeInternals<"global", "global">>;
|
|
49
|
+
}>, z.core.$strip>, z.ZodObject<Required<{
|
|
50
|
+
id: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
51
|
+
timestampUtcMs: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
52
|
+
input: z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>;
|
|
53
|
+
type: z.ZodType<"UNDO", "UNDO", z.core.$ZodTypeInternals<"UNDO", "UNDO">>;
|
|
54
|
+
scope: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
55
|
+
}>, z.core.$strip>]>;
|
|
106
56
|
export declare function DocumentFileSchema(): z.ZodObject<Properties<DocumentFile>>;
|
|
107
57
|
export declare function LoadStateActionSchema(): z.ZodObject<Properties<SchemaLoadStateAction>>;
|
|
108
58
|
export declare function LoadStateActionInputSchema(): z.ZodObject<Properties<LoadStateActionInput>>;
|
|
109
59
|
export declare function LoadStateActionStateInputSchema(): z.ZodObject<Properties<LoadStateActionStateInput>>;
|
|
110
60
|
export declare function PruneActionSchema(): z.ZodObject<Properties<SchemaPruneAction>>;
|
|
111
61
|
export declare function PruneActionInputSchema(): z.ZodObject<Properties<PruneActionInput>>;
|
|
112
|
-
export declare const RedoActionInputSchema:
|
|
113
|
-
coerce?: boolean;
|
|
114
|
-
}) => z.ZodNumber;
|
|
62
|
+
export declare const RedoActionInputSchema: typeof z.number;
|
|
115
63
|
export declare function RedoActionSchema(): z.ZodObject<Properties<SchemaRedoAction>>;
|
|
116
|
-
export declare const SetNameActionInputSchema:
|
|
117
|
-
coerce?: true;
|
|
118
|
-
}) => z.ZodString;
|
|
64
|
+
export declare const SetNameActionInputSchema: typeof z.string;
|
|
119
65
|
export declare function SetNameActionSchema(): z.ZodObject<Properties<SchemaSetNameAction>>;
|
|
120
|
-
export declare const UndoActionInputSchema:
|
|
121
|
-
coerce?: boolean;
|
|
122
|
-
}) => z.ZodNumber;
|
|
66
|
+
export declare const UndoActionInputSchema: typeof z.number;
|
|
123
67
|
export declare function UndoActionSchema(): z.ZodObject<Properties<SchemaUndoAction>>;
|
|
124
68
|
export {};
|
|
125
69
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/core/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/core/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,KAAK,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CACtC,CAAC,CAAC;AAEH,KAAK,iBAAiB,GAAG,EAAE,CAAC;AAE5B,eAAO,MAAM,mBAAmB,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,iBACnB,CAAC;AAEhC,eAAO,MAAM,uBAAuB,UAEI,CAAC;AAEzC,eAAO,MAAM,gBAAgB;;EAAyB,CAAC;AAEvD,eAAO,MAAM,WAAW;;EAAoB,CAAC;AAE7C,eAAO,MAAM,UAAU;;EAAmB,CAAC;AAE3C,eAAO,MAAM,cAAc;;EAAuB,CAAC;AAEnD,eAAO,MAAM,UAAU;;EAAmB,CAAC;AAE3C,wBAAgB,oBAAoB,IAAI,CAAC,CAAC,SAAS,CAElD;AAED,wBAAgB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAQnC;AAED,wBAAgB,kBAAkB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAQ1E;AAED,wBAAgB,qBAAqB,IAAI,CAAC,CAAC,SAAS,CAClD,UAAU,CAAC,qBAAqB,CAAC,CAClC,CAQA;AAED,wBAAgB,0BAA0B,IAAI,CAAC,CAAC,SAAS,CACvD,UAAU,CAAC,oBAAoB,CAAC,CACjC,CAKA;AAED,wBAAgB,+BAA+B,IAAI,CAAC,CAAC,SAAS,CAC5D,UAAU,CAAC,yBAAyB,CAAC,CACtC,CAKA;AAED,wBAAgB,iBAAiB,IAAI,CAAC,CAAC,SAAS,CAC9C,UAAU,CAAC,iBAAiB,CAAC,CAC9B,CAQA;AAED,wBAAgB,sBAAsB,IAAI,CAAC,CAAC,SAAS,CACnD,UAAU,CAAC,gBAAgB,CAAC,CAC7B,CAKA;AAED,eAAO,MAAM,qBAAqB,iBAAW,CAAC;AAE9C,wBAAgB,gBAAgB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAQ5E;AAED,eAAO,MAAM,wBAAwB,iBAAW,CAAC;AAEjD,wBAAgB,mBAAmB,IAAI,CAAC,CAAC,SAAS,CAChD,UAAU,CAAC,mBAAmB,CAAC,CAChC,CAQA;AAeD,eAAO,MAAM,qBAAqB,iBAAW,CAAC;AAE9C,wBAAgB,gBAAgB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAQ5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/core/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/core/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/state.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/core/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/core/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,IAAI,EAAE;YACJ,SAAS,EAAE,mBAAmB;YAC9B,QAAQ,EAAE,oBAAoB;SAC/B;KACF,CAAC;AACJ,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,IAAI,EAAE,gBAAgB,EAAE;QACxB,QAAQ,EAAE,oBAAoB,EAAE;KACjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAA2B;IACzD,OAAO;QACL,GAAG,gBAAgB,EAAE;QACrB,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAmC;IAEnC,OAAO;QACL,GAAG,oBAAoB,EAAE;QACzB,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA2B,EAC3B,QAAmC;IAEnC,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;QAC3B,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC;KACxC,CAAC;AACJ,CAAC"}
|
package/dist/src/core/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Draft } from "mutative";
|
|
2
2
|
import type { FC, ReactNode } from "react";
|
|
3
|
-
import type { Action, ActionSigner, AttachmentRef, Operation, PHBaseState, PHDocument } from "./ph-types.js";
|
|
3
|
+
import type { Action, ActionSigner, AttachmentRef, Operation, PHBaseState, PHDocument, Signature } from "./ph-types.js";
|
|
4
4
|
export type Maybe<T> = T | null;
|
|
5
5
|
export type InputMaybe<T> = T | null | undefined;
|
|
6
6
|
export type Exact<T extends Record<string, unknown>> = {
|
|
@@ -196,7 +196,7 @@ export type NOOPAction = Action & {
|
|
|
196
196
|
};
|
|
197
197
|
export type CreateDocumentActionInput = {
|
|
198
198
|
model: string;
|
|
199
|
-
version:
|
|
199
|
+
version: 0;
|
|
200
200
|
documentId: string;
|
|
201
201
|
signing?: {
|
|
202
202
|
signature: string;
|
|
@@ -212,8 +212,8 @@ export type CreateDocumentActionInput = {
|
|
|
212
212
|
};
|
|
213
213
|
export type UpgradeDocumentActionInput = {
|
|
214
214
|
model: string;
|
|
215
|
-
fromVersion:
|
|
216
|
-
toVersion:
|
|
215
|
+
fromVersion: number;
|
|
216
|
+
toVersion: number;
|
|
217
217
|
documentId: string;
|
|
218
218
|
initialState?: object;
|
|
219
219
|
};
|
|
@@ -370,6 +370,14 @@ export type ActionSignatureContext = {
|
|
|
370
370
|
};
|
|
371
371
|
export type ActionSigningHandler = (message: Uint8Array) => Promise<Uint8Array>;
|
|
372
372
|
export type ActionVerificationHandler = (publicKey: string, signature: Uint8Array, data: Uint8Array) => Promise<boolean>;
|
|
373
|
+
/**
|
|
374
|
+
* Handler for verifying operation signatures.
|
|
375
|
+
*
|
|
376
|
+
* @param operation - The operation to verify
|
|
377
|
+
* @param publicKey - The public key to verify against (from signer.app.key)
|
|
378
|
+
* @returns Promise that resolves to true if signature is valid, false otherwise
|
|
379
|
+
*/
|
|
380
|
+
export type SignatureVerificationHandler = (operation: Operation, publicKey: string) => Promise<boolean>;
|
|
373
381
|
export type ENSInfo = {
|
|
374
382
|
name?: string;
|
|
375
383
|
avatarUrl?: string;
|
|
@@ -480,16 +488,15 @@ export type SigningParameters = {
|
|
|
480
488
|
nonce: string;
|
|
481
489
|
};
|
|
482
490
|
/**
|
|
483
|
-
* Describes a signer
|
|
491
|
+
* Describes a signer that can sign both document headers and actions.
|
|
484
492
|
*/
|
|
485
493
|
export interface ISigner {
|
|
486
494
|
/** The corresponding public key */
|
|
487
495
|
publicKey(): Promise<JsonWebKey>;
|
|
488
496
|
/**
|
|
489
|
-
* Signs data.
|
|
497
|
+
* Signs raw data (used for document header signing).
|
|
490
498
|
*
|
|
491
499
|
* @param data - The data to sign.
|
|
492
|
-
*
|
|
493
500
|
* @returns The signature of the data.
|
|
494
501
|
*/
|
|
495
502
|
sign: (data: Uint8Array) => Promise<Uint8Array>;
|
|
@@ -500,5 +507,13 @@ export interface ISigner {
|
|
|
500
507
|
* @param signature - The signature to verify.
|
|
501
508
|
*/
|
|
502
509
|
verify: (data: Uint8Array, signature: Uint8Array) => Promise<void>;
|
|
510
|
+
/**
|
|
511
|
+
* Signs an action (used for operation signing).
|
|
512
|
+
*
|
|
513
|
+
* @param action - The action to sign.
|
|
514
|
+
* @param abortSignal - Optional abort signal to cancel the signing.
|
|
515
|
+
* @returns The signature tuple.
|
|
516
|
+
*/
|
|
517
|
+
signAction: (action: Action, abortSignal?: AbortSignal) => Promise<Signature>;
|
|
503
518
|
}
|
|
504
519
|
//# sourceMappingURL=types.d.ts.map
|