@atcute/did-plc 0.3.2 → 1.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/README.md +2 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -6
- package/dist/client.js.map +1 -1
- package/dist/data.d.ts +9 -9
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js.map +1 -1
- package/dist/errors.d.ts +5 -5
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -5
- package/dist/errors.js.map +1 -1
- package/dist/typedefs.d.ts +19 -19
- package/dist/typedefs.d.ts.map +1 -1
- package/dist/typedefs.js +54 -48
- package/dist/typedefs.js.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/lib/client.ts +11 -10
- package/lib/errors.ts +28 -17
- package/lib/typedefs.ts +73 -59
- package/package.json +19 -12
package/README.md
CHANGED
|
@@ -54,13 +54,14 @@ const did = await deriveDidFromGenesisOp(signedGenesisOp);
|
|
|
54
54
|
|
|
55
55
|
```ts
|
|
56
56
|
import { defs, processIndexedEntryLog } from '@atcute/did-plc';
|
|
57
|
+
import * as v from 'valibot';
|
|
57
58
|
|
|
58
59
|
const did = 'did:plc:ragtjsm2j2vknwkz3zp4oxrd';
|
|
59
60
|
|
|
60
61
|
const response = await fetch(`https://plc.directory/${did}/log/audit`);
|
|
61
62
|
const json = await response.json();
|
|
62
63
|
|
|
63
|
-
const logs = defs.indexedEntryLog
|
|
64
|
+
const logs = v.parse(defs.indexedEntryLog, json);
|
|
64
65
|
const { canonical, nullified } = await processIndexedEntryLog(did, logs);
|
|
65
66
|
```
|
|
66
67
|
|
package/dist/client.d.ts
CHANGED
|
@@ -7,9 +7,9 @@ export interface PlcErrorBody {
|
|
|
7
7
|
* error thrown when the plc server returns a non-ok response
|
|
8
8
|
*/
|
|
9
9
|
export declare class PlcClientError extends Error {
|
|
10
|
+
readonly name = "PlcClientError";
|
|
10
11
|
status: number;
|
|
11
12
|
body: PlcErrorBody | null;
|
|
12
|
-
readonly name = "PlcClientError";
|
|
13
13
|
constructor(status: number, body: PlcErrorBody | null, message: string);
|
|
14
14
|
/**
|
|
15
15
|
* creates a PlcClientError from a failed fetch response
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAIhC,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAIhC,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACxC,SAAkB,IAAI,oBAAoB;IAE1C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAE1B,YAAY,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAIrE;IAED;;;;OAIG;IACH,OAAa,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAkBrE;CACD;AAuCD,MAAM,WAAW,gBAAgB;IAChC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,SAAS;;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAG5B,YAAY,EAAE,UAAoC,EAAE,KAAK,EAAE,OAAe,EAAE,GAAE,gBAAqB,EAGlG;IAED;;;;;OAKG;IACG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAUxF;IAED;;;;;OAKG;IACG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAUpF;IAED;;;;;OAKG;IACG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAU/F;IAED;;;;;OAKG;IACG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAU9F;IAED;;;;;OAKG;IACG,gBAAgB,CACrB,GAAG,EAAE,CAAC,CAAC,YAAY,EACnB,OAAO,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAU3C;IAED;;;;;OAKG;IACG,eAAe,CACpB,GAAG,EAAE,CAAC,CAAC,YAAY,EACnB,SAAS,EAAE,CAAC,CAAC,oBAAoB,EACjC,OAAO,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAaf;IAED;;;;OAIG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAYxD;CACD"}
|
package/dist/client.js
CHANGED
|
@@ -7,9 +7,9 @@ const MAX_RESPONSE_SIZE = 64 * 1024;
|
|
|
7
7
|
* error thrown when the plc server returns a non-ok response
|
|
8
8
|
*/
|
|
9
9
|
export class PlcClientError extends Error {
|
|
10
|
+
name = 'PlcClientError';
|
|
10
11
|
status;
|
|
11
12
|
body;
|
|
12
|
-
name = 'PlcClientError';
|
|
13
13
|
constructor(status, body, message) {
|
|
14
14
|
super(message);
|
|
15
15
|
this.status = status;
|
|
@@ -44,11 +44,11 @@ const assertResponseOk = async (response) => {
|
|
|
44
44
|
}
|
|
45
45
|
throw await PlcClientError.fromResponse(response);
|
|
46
46
|
};
|
|
47
|
-
const handleDocument = pipe(assertResponseOk, parseResponseAsJson(/^application\/(did\+ld\+)?json$/, MAX_RESPONSE_SIZE), validateJsonWith(identityDefs.didDocument
|
|
48
|
-
const handlePlcState = pipe(assertResponseOk, parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE), validateJsonWith(defs.plcState
|
|
49
|
-
const handleOperationLog = pipe(assertResponseOk, parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE), validateJsonWith(defs.operationLog
|
|
50
|
-
const handleIndexedEntryLog = pipe(assertResponseOk, parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE), validateJsonWith(defs.indexedEntryLog
|
|
51
|
-
const handleLastOperation = pipe(assertResponseOk, parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE), validateJsonWith(defs.compatibleOperationOrTombstone
|
|
47
|
+
const handleDocument = pipe(assertResponseOk, parseResponseAsJson(/^application\/(did\+ld\+)?json$/, MAX_RESPONSE_SIZE), validateJsonWith(identityDefs.didDocument));
|
|
48
|
+
const handlePlcState = pipe(assertResponseOk, parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE), validateJsonWith(defs.plcState));
|
|
49
|
+
const handleOperationLog = pipe(assertResponseOk, parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE), validateJsonWith(defs.operationLog));
|
|
50
|
+
const handleIndexedEntryLog = pipe(assertResponseOk, parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE), validateJsonWith(defs.indexedEntryLog));
|
|
51
|
+
const handleLastOperation = pipe(assertResponseOk, parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE), validateJsonWith(defs.compatibleOperationOrTombstone));
|
|
52
52
|
/**
|
|
53
53
|
* client for interacting with plc.directory
|
|
54
54
|
*/
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../lib/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC;AAMpC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../lib/client.ts"],"names":[],"mappings":"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"}
|
package/dist/data.d.ts
CHANGED
|
@@ -8,26 +8,26 @@ export declare const validateIncomingOp: (op: t.CompatibleOperationOrTombstone)
|
|
|
8
8
|
/**
|
|
9
9
|
* Process an indexed entry by validating it and integrating it into the canonical log.
|
|
10
10
|
*/
|
|
11
|
-
export declare const processIndexedEntry: (did:
|
|
11
|
+
export declare const processIndexedEntry: (did: t.DidPlcString, canonical: t.IndexedEntryWithSigner[], proposed: t.IndexedEntry) => Promise<{
|
|
12
12
|
prev: string | null;
|
|
13
|
-
ops: t.IndexedEntryWithSigner
|
|
14
|
-
nullified: t.IndexedEntryWithSigner
|
|
13
|
+
ops: t.IndexedEntryWithSigner[];
|
|
14
|
+
nullified: t.IndexedEntryWithSigner[];
|
|
15
15
|
}>;
|
|
16
16
|
/**
|
|
17
17
|
* Process an indexed entry log by sequentially processing each operation.
|
|
18
18
|
*/
|
|
19
|
-
export declare const processIndexedEntryLog: (did:
|
|
20
|
-
canonical: t.IndexedEntryWithSigner
|
|
21
|
-
nullified: t.IndexedEntryWithSigner
|
|
19
|
+
export declare const processIndexedEntryLog: (did: t.DidPlcString, ops: t.IndexedEntryLog) => Promise<{
|
|
20
|
+
canonical: t.IndexedEntryWithSigner[];
|
|
21
|
+
nullified: t.IndexedEntryWithSigner[];
|
|
22
22
|
}>;
|
|
23
23
|
/**
|
|
24
24
|
* Check whether an operation can still be disputed
|
|
25
25
|
*/
|
|
26
|
-
export declare const isDisputePeriodActive: (disputed: t.IndexedEntry
|
|
26
|
+
export declare const isDisputePeriodActive: (disputed: t.IndexedEntry, now?: number) => boolean;
|
|
27
27
|
/**
|
|
28
28
|
* Check if a key is authorized to dispute an operation
|
|
29
29
|
*/
|
|
30
|
-
export declare const isAuthorizedForDispute: (base: t.IndexedEntryWithSigner<t.CompatibleOperation>, disputed: t.IndexedEntryWithSigner
|
|
30
|
+
export declare const isAuthorizedForDispute: (base: t.IndexedEntryWithSigner<t.CompatibleOperation>, disputed: t.IndexedEntryWithSigner, key: t.DidKeyString) => boolean;
|
|
31
31
|
export interface DisputeCandidate {
|
|
32
32
|
base: t.IndexedEntryWithSigner<t.CompatibleOperation>;
|
|
33
33
|
disputed: t.IndexedEntryWithSigner;
|
|
@@ -35,5 +35,5 @@ export interface DisputeCandidate {
|
|
|
35
35
|
/**
|
|
36
36
|
* Finds operations that can be disputed by a given key
|
|
37
37
|
*/
|
|
38
|
-
export declare const getDisputeCandidates: (canonical: t.IndexedEntryWithSigner
|
|
38
|
+
export declare const getDisputeCandidates: (canonical: t.IndexedEntryWithSigner[], key: t.DidKeyString) => DisputeCandidate[];
|
|
39
39
|
//# sourceMappingURL=data.d.ts.map
|
package/dist/data.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../lib/data.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAehC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../lib/data.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAehC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,OAAQ,CAAC,CAAC,8BAA8B,KAAG,IAiGzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAC1B,CAAC,CAAC,YAAY,aACR,CAAC,CAAC,sBAAsB,EAAE,YAC3B,CAAC,CAAC,YAAY,KACtB,OAAO,CAAC;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,CAAC,CAAC,sBAAsB,EAAE,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,sBAAsB,EAAE,CAAC;CACtC,CA8IA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,QAC7B,CAAC,CAAC,YAAY,OACd,CAAC,CAAC,eAAe,KACpB,OAAO,CAAC;IAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,EAAE,CAAC;IAAC,SAAS,EAAE,CAAC,CAAC,sBAAsB,EAAE,CAAA;CAAE,CAc1F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAc,CAAC,CAAC,YAAY,mBAAqB,OAGlF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,SAC5B,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,CAAC,YAC3C,CAAC,CAAC,sBAAsB,OAC7B,CAAC,CAAC,YAAY,KACjB,OAWF,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC,sBAAsB,CAAC;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,cAAe,CAAC,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC,YAAY,uBAoB9F,CAAC"}
|
package/dist/data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../lib/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzF,iDAAiD;AACjD,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,gDAAgD;AAC5E,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,kBAAkB,GAAG,GAAG,CAAC,CAAC,6BAA6B;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAoC,EAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../lib/data.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -3,32 +3,32 @@ export declare class PlcError extends Error {
|
|
|
3
3
|
name: string;
|
|
4
4
|
}
|
|
5
5
|
export declare class ImproperOperationError extends PlcError {
|
|
6
|
+
name: string;
|
|
6
7
|
operation: t.IndexedEntry;
|
|
7
8
|
reason: string;
|
|
8
|
-
name: string;
|
|
9
9
|
constructor(operation: t.IndexedEntry, reason: string);
|
|
10
10
|
}
|
|
11
11
|
export declare class InvalidSignatureError extends PlcError {
|
|
12
|
-
operation: t.IndexedEntry;
|
|
13
12
|
name: string;
|
|
13
|
+
operation: t.IndexedEntry;
|
|
14
14
|
constructor(operation: t.IndexedEntry);
|
|
15
15
|
}
|
|
16
16
|
export declare class InvalidHashError extends PlcError {
|
|
17
|
+
name: string;
|
|
17
18
|
operation: t.IndexedEntry;
|
|
18
19
|
expected: string;
|
|
19
|
-
name: string;
|
|
20
20
|
constructor(operation: t.IndexedEntry, expected: string);
|
|
21
21
|
}
|
|
22
22
|
export declare class GenesisHashError extends PlcError {
|
|
23
|
+
name: string;
|
|
23
24
|
operation: t.IndexedEntry;
|
|
24
25
|
did: t.DidPlcString;
|
|
25
|
-
name: string;
|
|
26
26
|
constructor(operation: t.IndexedEntry, did: t.DidPlcString);
|
|
27
27
|
}
|
|
28
28
|
export declare class LateDisputeError extends PlcError {
|
|
29
|
+
name: string;
|
|
29
30
|
operation: t.IndexedEntry;
|
|
30
31
|
lapsed: number;
|
|
31
|
-
name: string;
|
|
32
32
|
constructor(operation: t.IndexedEntry, lapsed: number);
|
|
33
33
|
}
|
|
34
34
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,qBAAa,QAAS,SAAQ,KAAK;IACzB,IAAI,SAAc;CAC3B;AAED,qBAAa,sBAAuB,SAAQ,QAAQ;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,qBAAa,QAAS,SAAQ,KAAK;IACzB,IAAI,SAAc;CAC3B;AAED,qBAAa,sBAAuB,SAAQ,QAAQ;IAC1C,IAAI,SAA4B;IAEzC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,YAAY,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAIpD;CACD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;IACzC,IAAI,SAA2B;IAExC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC;IAE1B,YAAY,SAAS,EAAE,CAAC,CAAC,YAAY,EAGpC;CACD;AAED,qBAAa,gBAAiB,SAAQ,QAAQ;IACpC,IAAI,SAAsB;IAEnC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAItD;CACD;AAED,qBAAa,gBAAiB,SAAQ,QAAQ;IACpC,IAAI,SAAsB;IAEnC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC;IAEpB,YAAY,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,EAIzD;CACD;AAED,qBAAa,gBAAiB,SAAQ,QAAQ;IACpC,IAAI,SAAsB;IAEnC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,YAAY,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAIpD;CACD"}
|
package/dist/errors.js
CHANGED
|
@@ -3,9 +3,9 @@ export class PlcError extends Error {
|
|
|
3
3
|
name = 'PlcError';
|
|
4
4
|
}
|
|
5
5
|
export class ImproperOperationError extends PlcError {
|
|
6
|
+
name = 'ImproperOperationError';
|
|
6
7
|
operation;
|
|
7
8
|
reason;
|
|
8
|
-
name = 'ImproperOperationError';
|
|
9
9
|
constructor(operation, reason) {
|
|
10
10
|
super(`improper operation; cid=${operation.cid}; reason=${reason}`);
|
|
11
11
|
this.operation = operation;
|
|
@@ -13,17 +13,17 @@ export class ImproperOperationError extends PlcError {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
export class InvalidSignatureError extends PlcError {
|
|
16
|
-
operation;
|
|
17
16
|
name = 'InvalidSignatureError';
|
|
17
|
+
operation;
|
|
18
18
|
constructor(operation) {
|
|
19
19
|
super(`invalid signature; cid=${operation.cid}`);
|
|
20
20
|
this.operation = operation;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
export class InvalidHashError extends PlcError {
|
|
24
|
+
name = 'InvalidHashError';
|
|
24
25
|
operation;
|
|
25
26
|
expected;
|
|
26
|
-
name = 'InvalidHashError';
|
|
27
27
|
constructor(operation, expected) {
|
|
28
28
|
super(`invalid hash; expected=${expected}; got=${operation.cid}`);
|
|
29
29
|
this.operation = operation;
|
|
@@ -31,9 +31,9 @@ export class InvalidHashError extends PlcError {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
export class GenesisHashError extends PlcError {
|
|
34
|
+
name = 'GenesisHashError';
|
|
34
35
|
operation;
|
|
35
36
|
did;
|
|
36
|
-
name = 'GenesisHashError';
|
|
37
37
|
constructor(operation, did) {
|
|
38
38
|
super(`mismatching genesis hash; did=${did}; cid=${operation.cid}`);
|
|
39
39
|
this.operation = operation;
|
|
@@ -41,9 +41,9 @@ export class GenesisHashError extends PlcError {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
export class LateDisputeError extends PlcError {
|
|
44
|
+
name = 'LateDisputeError';
|
|
44
45
|
operation;
|
|
45
46
|
lapsed;
|
|
46
|
-
name = 'LateDisputeError';
|
|
47
47
|
constructor(operation, lapsed) {
|
|
48
48
|
super(`dispute occured outside of permitted window; cid=${operation.cid}; lapsed=${lapsed}`);
|
|
49
49
|
this.operation = operation;
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,MAAM,OAAO,QAAS,SAAQ,KAAK;IACzB,IAAI,GAAG,UAAU,CAAC;CAC3B;AAED,MAAM,OAAO,sBAAuB,SAAQ,QAAQ;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,MAAM,OAAO,QAAS,SAAQ,KAAK;IACzB,IAAI,GAAG,UAAU,CAAC;CAC3B;AAED,MAAM,OAAO,sBAAuB,SAAQ,QAAQ;IAC1C,IAAI,GAAG,wBAAwB,CAAC;IAEzC,SAAS,CAAiB;IAC1B,MAAM,CAAS;IAEf,YAAY,SAAyB,EAAE,MAAc;QACpD,KAAK,CAAC,2BAA2B,SAAS,CAAC,GAAG,YAAY,MAAM,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;CACD;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACzC,IAAI,GAAG,uBAAuB,CAAC;IAExC,SAAS,CAAiB;IAE1B,YAAY,SAAyB;QACpC,KAAK,CAAC,0BAA0B,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;CACD;AAED,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IACpC,IAAI,GAAG,kBAAkB,CAAC;IAEnC,SAAS,CAAiB;IAC1B,QAAQ,CAAS;IAEjB,YAAY,SAAyB,EAAE,QAAgB;QACtD,KAAK,CAAC,0BAA0B,QAAQ,SAAS,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;CACD;AAED,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IACpC,IAAI,GAAG,kBAAkB,CAAC;IAEnC,SAAS,CAAiB;IAC1B,GAAG,CAAiB;IAEpB,YAAY,SAAyB,EAAE,GAAmB;QACzD,KAAK,CAAC,iCAAiC,GAAG,SAAS,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;CACD;AAED,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IACpC,IAAI,GAAG,kBAAkB,CAAC;IAEnC,SAAS,CAAiB;IAC1B,MAAM,CAAS;IAEf,YAAY,SAAyB,EAAE,MAAc;QACpD,KAAK,CAAC,oDAAoD,SAAS,CAAC,GAAG,YAAY,MAAM,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;CACD"}
|
package/dist/typedefs.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import * as v from '
|
|
1
|
+
import * as v from 'valibot';
|
|
2
2
|
import * as t from './types.ts';
|
|
3
|
-
export declare const didPlcString: v.
|
|
4
|
-
export declare const permissiveDidKeyString: v.
|
|
5
|
-
export declare const didKeyString: v.
|
|
6
|
-
export declare const unsignedLegacyCreateOperation: v.
|
|
7
|
-
export declare const legacyCreateOperation: v.
|
|
8
|
-
export declare const service: v.
|
|
9
|
-
export declare const unsignedOperation: v.
|
|
10
|
-
export declare const operation: v.
|
|
11
|
-
export declare const unsignedTombstone: v.
|
|
12
|
-
export declare const tombstone: v.
|
|
13
|
-
export declare const compatibleOperation: v.
|
|
14
|
-
export declare const compatibleOperationOrTombstone: v.
|
|
15
|
-
export declare const operationOrTombstone: v.
|
|
16
|
-
export declare const operationLog: v.
|
|
17
|
-
export declare const indexedEntry: v.
|
|
18
|
-
export declare const indexedEntryLog: v.
|
|
19
|
-
export declare const plcState: v.
|
|
20
|
-
export declare const sequencedEntry: v.
|
|
3
|
+
export declare const didPlcString: v.CustomSchema<`did:plc:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
4
|
+
export declare const permissiveDidKeyString: v.CustomSchema<`did:key:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
5
|
+
export declare const didKeyString: v.CustomSchema<`did:key:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
6
|
+
export declare const unsignedLegacyCreateOperation: v.GenericSchema<unknown, t.UnsignedLegacyCreateOperation>;
|
|
7
|
+
export declare const legacyCreateOperation: v.GenericSchema<unknown, t.LegacyCreateOperation>;
|
|
8
|
+
export declare const service: v.GenericSchema<unknown, t.Service>;
|
|
9
|
+
export declare const unsignedOperation: v.GenericSchema<unknown, t.UnsignedOperation>;
|
|
10
|
+
export declare const operation: v.GenericSchema<unknown, t.Operation>;
|
|
11
|
+
export declare const unsignedTombstone: v.GenericSchema<unknown, t.UnsignedTombstone>;
|
|
12
|
+
export declare const tombstone: v.GenericSchema<unknown, t.Tombstone>;
|
|
13
|
+
export declare const compatibleOperation: v.GenericSchema<unknown, t.CompatibleOperation>;
|
|
14
|
+
export declare const compatibleOperationOrTombstone: v.GenericSchema<unknown, t.CompatibleOperationOrTombstone>;
|
|
15
|
+
export declare const operationOrTombstone: v.GenericSchema<unknown, t.OperationOrTombstone>;
|
|
16
|
+
export declare const operationLog: v.GenericSchema<unknown, t.OperationLog>;
|
|
17
|
+
export declare const indexedEntry: v.GenericSchema<unknown, t.IndexedEntry>;
|
|
18
|
+
export declare const indexedEntryLog: v.GenericSchema<unknown, t.IndexedEntryLog>;
|
|
19
|
+
export declare const plcState: v.GenericSchema<unknown, t.PlcState>;
|
|
20
|
+
export declare const sequencedEntry: v.GenericSchema<unknown, t.SequencedEntry>;
|
|
21
21
|
//# sourceMappingURL=typedefs.d.ts.map
|
package/dist/typedefs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedefs.d.ts","sourceRoot":"","sources":["../lib/typedefs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"typedefs.d.ts","sourceRoot":"","sources":["../lib/typedefs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAGhC,eAAO,MAAM,YAAY,gFAA0D,CAAC;AAEpF,eAAO,MAAM,sBAAsB,gFAA0D,CAAC;AAE9F,eAAO,MAAM,YAAY,gFAUJ,CAAC;AAyBtB,eAAO,MAAM,6BAA6B,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,6BAA6B,CAChD,CAAC;AAErD,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,qBAAqB,CAGlF,CAAC;AAIH,eAAO,MAAM,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAGtD,CAAC;AAWH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,iBAAiB,CACpC,CAAC;AAEzC,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAG1D,CAAC;AASH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,iBAAiB,CACpC,CAAC;AAEzC,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAG1D,CAAC;AAIH,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,mBAAmB,CAG9E,CAAC;AAEH,eAAO,MAAM,8BAA8B,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,8BAA8B,CAC/C,CAAC;AAExD,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,oBAAoB,CAGhF,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAGjE,CAAC;AAeF,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAsC,CAAC;AAEzG,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,eAAe,CAGvE,CAAC;AAIF,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAMxD,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,CAIpE,CAAC"}
|
package/dist/typedefs.js
CHANGED
|
@@ -1,105 +1,111 @@
|
|
|
1
1
|
import * as CID from '@atcute/cid';
|
|
2
2
|
import { parseDidKey } from '@atcute/crypto';
|
|
3
3
|
import { isKeyDid, isPlcDid } from '@atcute/identity';
|
|
4
|
-
import * as v from '
|
|
4
|
+
import * as v from 'valibot';
|
|
5
5
|
import * as t from './types.js';
|
|
6
6
|
// #region Strings
|
|
7
|
-
export const didPlcString = v.
|
|
8
|
-
export const permissiveDidKeyString = v.
|
|
9
|
-
export const didKeyString = v.
|
|
7
|
+
export const didPlcString = v.custom(isPlcDid, `must be a did:plc`);
|
|
8
|
+
export const permissiveDidKeyString = v.custom(isKeyDid, `must be a did:key`);
|
|
9
|
+
export const didKeyString = v.custom((input) => {
|
|
10
|
+
if (!isKeyDid(input)) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
10
13
|
try {
|
|
11
14
|
parseDidKey(input);
|
|
15
|
+
return true;
|
|
12
16
|
}
|
|
13
|
-
catch
|
|
14
|
-
|
|
15
|
-
return v.err(`did:key can't be parsed`);
|
|
16
|
-
}
|
|
17
|
-
return v.err(`invalid did:key`);
|
|
17
|
+
catch {
|
|
18
|
+
return false;
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const cidString = v.string().chain((input) => {
|
|
20
|
+
}, `invalid did:key`);
|
|
21
|
+
const cidString = v.pipe(v.string(), v.check((input) => {
|
|
22
22
|
try {
|
|
23
23
|
CID.fromString(input);
|
|
24
|
+
return true;
|
|
24
25
|
}
|
|
25
26
|
catch {
|
|
26
|
-
return
|
|
27
|
+
return false;
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
-
});
|
|
29
|
+
}, `invalid cid`));
|
|
30
30
|
// #endregion
|
|
31
31
|
// #region create
|
|
32
|
-
const
|
|
32
|
+
const unsignedLegacyCreateOperationEntries = {
|
|
33
33
|
type: v.literal('create'),
|
|
34
34
|
prev: v.null(),
|
|
35
35
|
signingKey: didKeyString,
|
|
36
36
|
recoveryKey: didKeyString,
|
|
37
37
|
handle: v.string(),
|
|
38
38
|
service: v.string(),
|
|
39
|
-
}
|
|
40
|
-
export const unsignedLegacyCreateOperation =
|
|
41
|
-
export const legacyCreateOperation =
|
|
39
|
+
};
|
|
40
|
+
export const unsignedLegacyCreateOperation = v.looseObject(unsignedLegacyCreateOperationEntries);
|
|
41
|
+
export const legacyCreateOperation = v.looseObject({
|
|
42
|
+
...unsignedLegacyCreateOperationEntries,
|
|
42
43
|
sig: v.string(),
|
|
43
44
|
});
|
|
44
45
|
// #endregion
|
|
45
46
|
// #region plc_operation
|
|
46
|
-
export const service = v.
|
|
47
|
+
export const service = v.looseObject({
|
|
47
48
|
type: v.string(),
|
|
48
49
|
endpoint: v.string(),
|
|
49
50
|
});
|
|
50
|
-
const
|
|
51
|
+
const unsignedOperationEntries = {
|
|
51
52
|
type: v.literal('plc_operation'),
|
|
52
|
-
prev: v.
|
|
53
|
+
prev: v.nullable(v.string()),
|
|
53
54
|
rotationKeys: v.array(didKeyString),
|
|
54
|
-
verificationMethods: v.record(permissiveDidKeyString),
|
|
55
|
+
verificationMethods: v.record(v.string(), permissiveDidKeyString),
|
|
55
56
|
alsoKnownAs: v.array(v.string()),
|
|
56
|
-
services: v.record(service),
|
|
57
|
-
}
|
|
58
|
-
export const unsignedOperation =
|
|
59
|
-
export const operation =
|
|
57
|
+
services: v.record(v.string(), service),
|
|
58
|
+
};
|
|
59
|
+
export const unsignedOperation = v.looseObject(unsignedOperationEntries);
|
|
60
|
+
export const operation = v.looseObject({
|
|
61
|
+
...unsignedOperationEntries,
|
|
60
62
|
sig: v.string(),
|
|
61
63
|
});
|
|
62
64
|
// #endregion
|
|
63
65
|
// #region plc_tombstone
|
|
64
|
-
const
|
|
66
|
+
const unsignedTombstoneEntries = {
|
|
65
67
|
type: v.literal('plc_tombstone'),
|
|
66
68
|
prev: v.string(),
|
|
67
|
-
}
|
|
68
|
-
export const unsignedTombstone =
|
|
69
|
-
export const tombstone =
|
|
69
|
+
};
|
|
70
|
+
export const unsignedTombstone = v.looseObject(unsignedTombstoneEntries);
|
|
71
|
+
export const tombstone = v.looseObject({
|
|
72
|
+
...unsignedTombstoneEntries,
|
|
70
73
|
sig: v.string(),
|
|
71
74
|
});
|
|
72
75
|
// #endregion
|
|
73
76
|
// #region Entry
|
|
74
|
-
export const compatibleOperation = v.union(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
export const compatibleOperation = v.union([
|
|
78
|
+
operation,
|
|
79
|
+
legacyCreateOperation,
|
|
80
|
+
]);
|
|
81
|
+
export const compatibleOperationOrTombstone = v.union([operation, legacyCreateOperation, tombstone]);
|
|
82
|
+
export const operationOrTombstone = v.union([
|
|
83
|
+
operation,
|
|
84
|
+
tombstone,
|
|
85
|
+
]);
|
|
86
|
+
export const operationLog = v.tupleWithRest([compatibleOperation], operationOrTombstone);
|
|
80
87
|
// #endregion
|
|
81
88
|
// #region Indexed entry
|
|
82
|
-
const
|
|
89
|
+
const indexedEntryEntries = {
|
|
83
90
|
did: didPlcString,
|
|
84
91
|
operation: compatibleOperationOrTombstone,
|
|
85
92
|
cid: cidString,
|
|
86
93
|
nullified: v.boolean(),
|
|
87
|
-
createdAt: v.string().
|
|
88
|
-
}
|
|
89
|
-
export const indexedEntry =
|
|
90
|
-
export const indexedEntryLog = v
|
|
91
|
-
.tuple([_indexedEntry.extend({ operation: compatibleOperation })])
|
|
92
|
-
.concat(v.array(_indexedEntry.extend({ operation: operationOrTombstone })));
|
|
94
|
+
createdAt: v.pipe(v.string(), v.check((input) => !Number.isNaN(new Date(input).getTime()), `invalid timestamp`)),
|
|
95
|
+
};
|
|
96
|
+
export const indexedEntry = v.looseObject(indexedEntryEntries);
|
|
97
|
+
export const indexedEntryLog = v.tupleWithRest([v.looseObject({ ...indexedEntryEntries, operation: compatibleOperation })], v.looseObject({ ...indexedEntryEntries, operation: operationOrTombstone }));
|
|
93
98
|
// #endregion
|
|
94
99
|
// #region Client response schemas
|
|
95
|
-
export const plcState = v.
|
|
100
|
+
export const plcState = v.looseObject({
|
|
96
101
|
did: didPlcString,
|
|
97
102
|
rotationKeys: v.array(didKeyString),
|
|
98
|
-
verificationMethods: v.record(permissiveDidKeyString),
|
|
103
|
+
verificationMethods: v.record(v.string(), permissiveDidKeyString),
|
|
99
104
|
alsoKnownAs: v.array(v.string()),
|
|
100
|
-
services: v.record(service),
|
|
105
|
+
services: v.record(v.string(), service),
|
|
101
106
|
});
|
|
102
|
-
export const sequencedEntry =
|
|
107
|
+
export const sequencedEntry = v.looseObject({
|
|
108
|
+
...indexedEntryEntries,
|
|
103
109
|
type: v.literal('sequenced_op'),
|
|
104
110
|
seq: v.number(),
|
|
105
111
|
});
|
package/dist/typedefs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedefs.js","sourceRoot":"","sources":["../lib/typedefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"typedefs.js","sourceRoot":"","sources":["../lib/typedefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,kBAAkB;AAClB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAiB,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAiB,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAiB,CAAC,KAAK,EAAE,EAAE;IAC9D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACJ,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAEtB,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CACvB,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACjB,IAAI,CAAC;QACJ,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC,EAAE,aAAa,CAAC,CACjB,CAAC;AACF,aAAa;AAEb,iBAAiB;AACjB,MAAM,oCAAoC,GAAG;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;IACd,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,YAAY;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GACzC,CAAC,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,qBAAqB,GAAsD,CAAC,CAAC,WAAW,CAAC;IACrG,GAAG,oCAAoC;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC;AACH,aAAa;AAEb,wBAAwB;AACxB,MAAM,CAAC,MAAM,OAAO,GAAwC,CAAC,CAAC,WAAW,CAAC;IACzE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG;IAChC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACnC,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC;IACjE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAC7B,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,SAAS,GAA0C,CAAC,CAAC,WAAW,CAAC;IAC7E,GAAG,wBAAwB;IAC3B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC;AACH,aAAa;AAEb,wBAAwB;AACxB,MAAM,wBAAwB,GAAG;IAChC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAC7B,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,SAAS,GAA0C,CAAC,CAAC,WAAW,CAAC;IAC7E,GAAG,wBAAwB;IAC3B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC;AACH,aAAa;AAEb,gBAAgB;AAChB,MAAM,CAAC,MAAM,mBAAmB,GAAoD,CAAC,CAAC,KAAK,CAAC;IAC3F,SAAS;IACT,qBAAqB;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAC1C,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAqD,CAAC,CAAC,KAAK,CAAC;IAC7F,SAAS;IACT,SAAS;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAA6C,CAAC,CAAC,aAAa,CACpF,CAAC,mBAAmB,CAAC,EACrB,oBAAoB,CACpB,CAAC;AACF,aAAa;AAEb,wBAAwB;AACxB,MAAM,mBAAmB,GAAG;IAC3B,GAAG,EAAE,YAAY;IACjB,SAAS,EAAE,8BAA8B;IACzC,GAAG,EAAE,SAAS;IACd,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAChB,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,mBAAmB,CAAC,CACjF;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAA6C,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,eAAe,GAAgD,CAAC,CAAC,aAAa,CAC1F,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,mBAAmB,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC,EAC3E,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,mBAAmB,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAC1E,CAAC;AACF,aAAa;AAEb,kCAAkC;AAClC,MAAM,CAAC,MAAM,QAAQ,GAAyC,CAAC,CAAC,WAAW,CAAC;IAC3E,GAAG,EAAE,YAAY;IACjB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACnC,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC;IACjE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAA+C,CAAC,CAAC,WAAW,CAAC;IACvF,GAAG,mBAAmB;IACtB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC;AACH,aAAa"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -7,9 +7,9 @@ export declare const wrapAtprotoPrefix: (str: string) => string;
|
|
|
7
7
|
* @param op signed genesis operation
|
|
8
8
|
* @returns the did:plc string
|
|
9
9
|
*/
|
|
10
|
-
export declare const deriveDidFromGenesisOp: (op: t.CompatibleOperation) => Promise
|
|
10
|
+
export declare const deriveDidFromGenesisOp: (op: t.CompatibleOperation) => Promise<t.DidPlcString>;
|
|
11
11
|
export declare const normalizeOp: (op: t.CompatibleOperation) => t.Operation;
|
|
12
|
-
export declare const isSignedOperationValid: (allowedKeys:
|
|
12
|
+
export declare const isSignedOperationValid: (allowedKeys: t.DidKeyString[], op: t.CompatibleOperationOrTombstone) => Promise<t.DidKeyString | null>;
|
|
13
13
|
/**
|
|
14
14
|
* signs an unsigned plc operation
|
|
15
15
|
* @param op unsigned operation to sign
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKjD,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKjD,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAM5C,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAS,MAAM,KAAG,MAQ/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,OAAc,CAAC,CAAC,mBAAmB,KAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAI9F,CAAC;AAEF,eAAO,MAAM,WAAW,OAAQ,CAAC,CAAC,mBAAmB,KAAG,CAAC,CAAC,SAqBzD,CAAC;AAEF,eAAO,MAAM,sBAAsB,gBACrB,CAAC,CAAC,YAAY,EAAE,MACzB,CAAC,CAAC,8BAA8B,KAClC,OAAO,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAe/B,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,OAAc,CAAC,CAAC,iBAAiB,OAAO,UAAU,KAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAKjG,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,OAAc,CAAC,CAAC,iBAAiB,OAAO,UAAU,KAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAKjG,CAAC"}
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/client.ts
CHANGED
|
@@ -17,12 +17,13 @@ export interface PlcErrorBody {
|
|
|
17
17
|
export class PlcClientError extends Error {
|
|
18
18
|
override readonly name = 'PlcClientError';
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
) {
|
|
20
|
+
status: number;
|
|
21
|
+
body: PlcErrorBody | null;
|
|
22
|
+
|
|
23
|
+
constructor(status: number, body: PlcErrorBody | null, message: string) {
|
|
25
24
|
super(message);
|
|
25
|
+
this.status = status;
|
|
26
|
+
this.body = body;
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
/**
|
|
@@ -61,31 +62,31 @@ const assertResponseOk = async (response: Response): Promise<Response> => {
|
|
|
61
62
|
const handleDocument = pipe(
|
|
62
63
|
assertResponseOk,
|
|
63
64
|
parseResponseAsJson(/^application\/(did\+ld\+)?json$/, MAX_RESPONSE_SIZE),
|
|
64
|
-
validateJsonWith(identityDefs.didDocument
|
|
65
|
+
validateJsonWith(identityDefs.didDocument),
|
|
65
66
|
);
|
|
66
67
|
|
|
67
68
|
const handlePlcState = pipe(
|
|
68
69
|
assertResponseOk,
|
|
69
70
|
parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE),
|
|
70
|
-
validateJsonWith(defs.plcState
|
|
71
|
+
validateJsonWith(defs.plcState),
|
|
71
72
|
);
|
|
72
73
|
|
|
73
74
|
const handleOperationLog = pipe(
|
|
74
75
|
assertResponseOk,
|
|
75
76
|
parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE),
|
|
76
|
-
validateJsonWith(defs.operationLog
|
|
77
|
+
validateJsonWith(defs.operationLog),
|
|
77
78
|
);
|
|
78
79
|
|
|
79
80
|
const handleIndexedEntryLog = pipe(
|
|
80
81
|
assertResponseOk,
|
|
81
82
|
parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE),
|
|
82
|
-
validateJsonWith(defs.indexedEntryLog
|
|
83
|
+
validateJsonWith(defs.indexedEntryLog),
|
|
83
84
|
);
|
|
84
85
|
|
|
85
86
|
const handleLastOperation = pipe(
|
|
86
87
|
assertResponseOk,
|
|
87
88
|
parseResponseAsJson(/^application\/json$/, MAX_RESPONSE_SIZE),
|
|
88
|
-
validateJsonWith(defs.compatibleOperationOrTombstone
|
|
89
|
+
validateJsonWith(defs.compatibleOperationOrTombstone),
|
|
89
90
|
);
|
|
90
91
|
|
|
91
92
|
export interface PlcClientOptions {
|
package/lib/errors.ts
CHANGED
|
@@ -7,51 +7,62 @@ export class PlcError extends Error {
|
|
|
7
7
|
export class ImproperOperationError extends PlcError {
|
|
8
8
|
override name = 'ImproperOperationError';
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
) {
|
|
10
|
+
operation: t.IndexedEntry;
|
|
11
|
+
reason: string;
|
|
12
|
+
|
|
13
|
+
constructor(operation: t.IndexedEntry, reason: string) {
|
|
14
14
|
super(`improper operation; cid=${operation.cid}; reason=${reason}`);
|
|
15
|
+
this.operation = operation;
|
|
16
|
+
this.reason = reason;
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
export class InvalidSignatureError extends PlcError {
|
|
19
21
|
override name = 'InvalidSignatureError';
|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
operation: t.IndexedEntry;
|
|
24
|
+
|
|
25
|
+
constructor(operation: t.IndexedEntry) {
|
|
22
26
|
super(`invalid signature; cid=${operation.cid}`);
|
|
27
|
+
this.operation = operation;
|
|
23
28
|
}
|
|
24
29
|
}
|
|
25
30
|
|
|
26
31
|
export class InvalidHashError extends PlcError {
|
|
27
32
|
override name = 'InvalidHashError';
|
|
28
33
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
) {
|
|
34
|
+
operation: t.IndexedEntry;
|
|
35
|
+
expected: string;
|
|
36
|
+
|
|
37
|
+
constructor(operation: t.IndexedEntry, expected: string) {
|
|
33
38
|
super(`invalid hash; expected=${expected}; got=${operation.cid}`);
|
|
39
|
+
this.operation = operation;
|
|
40
|
+
this.expected = expected;
|
|
34
41
|
}
|
|
35
42
|
}
|
|
36
43
|
|
|
37
44
|
export class GenesisHashError extends PlcError {
|
|
38
45
|
override name = 'GenesisHashError';
|
|
39
46
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
) {
|
|
47
|
+
operation: t.IndexedEntry;
|
|
48
|
+
did: t.DidPlcString;
|
|
49
|
+
|
|
50
|
+
constructor(operation: t.IndexedEntry, did: t.DidPlcString) {
|
|
44
51
|
super(`mismatching genesis hash; did=${did}; cid=${operation.cid}`);
|
|
52
|
+
this.operation = operation;
|
|
53
|
+
this.did = did;
|
|
45
54
|
}
|
|
46
55
|
}
|
|
47
56
|
|
|
48
57
|
export class LateDisputeError extends PlcError {
|
|
49
58
|
override name = 'LateDisputeError';
|
|
50
59
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
) {
|
|
60
|
+
operation: t.IndexedEntry;
|
|
61
|
+
lapsed: number;
|
|
62
|
+
|
|
63
|
+
constructor(operation: t.IndexedEntry, lapsed: number) {
|
|
55
64
|
super(`dispute occured outside of permitted window; cid=${operation.cid}; lapsed=${lapsed}`);
|
|
65
|
+
this.operation = operation;
|
|
66
|
+
this.lapsed = lapsed;
|
|
56
67
|
}
|
|
57
68
|
}
|
package/lib/typedefs.ts
CHANGED
|
@@ -2,135 +2,149 @@ import * as CID from '@atcute/cid';
|
|
|
2
2
|
import { parseDidKey } from '@atcute/crypto';
|
|
3
3
|
import { isKeyDid, isPlcDid } from '@atcute/identity';
|
|
4
4
|
|
|
5
|
-
import * as v from '
|
|
5
|
+
import * as v from 'valibot';
|
|
6
6
|
|
|
7
7
|
import * as t from './types.ts';
|
|
8
8
|
|
|
9
9
|
// #region Strings
|
|
10
|
-
export const didPlcString = v.
|
|
10
|
+
export const didPlcString = v.custom<t.DidPlcString>(isPlcDid, `must be a did:plc`);
|
|
11
11
|
|
|
12
|
-
export const permissiveDidKeyString = v.
|
|
12
|
+
export const permissiveDidKeyString = v.custom<t.DidKeyString>(isKeyDid, `must be a did:key`);
|
|
13
13
|
|
|
14
|
-
export const didKeyString = v.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} catch (err) {
|
|
18
|
-
if (err instanceof SyntaxError) {
|
|
19
|
-
return v.err(`did:key can't be parsed`);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return v.err(`invalid did:key`);
|
|
14
|
+
export const didKeyString = v.custom<t.DidKeyString>((input) => {
|
|
15
|
+
if (!isKeyDid(input)) {
|
|
16
|
+
return false;
|
|
23
17
|
}
|
|
24
|
-
|
|
25
|
-
return v.ok(input as t.DidKeyString);
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
const cidString = v.string().chain((input) => {
|
|
29
18
|
try {
|
|
30
|
-
|
|
19
|
+
parseDidKey(input);
|
|
20
|
+
return true;
|
|
31
21
|
} catch {
|
|
32
|
-
return
|
|
22
|
+
return false;
|
|
33
23
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
24
|
+
}, `invalid did:key`);
|
|
25
|
+
|
|
26
|
+
const cidString = v.pipe(
|
|
27
|
+
v.string(),
|
|
28
|
+
v.check((input) => {
|
|
29
|
+
try {
|
|
30
|
+
CID.fromString(input);
|
|
31
|
+
return true;
|
|
32
|
+
} catch {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}, `invalid cid`),
|
|
36
|
+
);
|
|
37
37
|
// #endregion
|
|
38
38
|
|
|
39
39
|
// #region create
|
|
40
|
-
const
|
|
40
|
+
const unsignedLegacyCreateOperationEntries = {
|
|
41
41
|
type: v.literal('create'),
|
|
42
42
|
prev: v.null(),
|
|
43
43
|
signingKey: didKeyString,
|
|
44
44
|
recoveryKey: didKeyString,
|
|
45
45
|
handle: v.string(),
|
|
46
46
|
service: v.string(),
|
|
47
|
-
}
|
|
47
|
+
};
|
|
48
48
|
|
|
49
|
-
export const unsignedLegacyCreateOperation: v.
|
|
50
|
-
|
|
49
|
+
export const unsignedLegacyCreateOperation: v.GenericSchema<unknown, t.UnsignedLegacyCreateOperation> =
|
|
50
|
+
v.looseObject(unsignedLegacyCreateOperationEntries);
|
|
51
51
|
|
|
52
|
-
export const legacyCreateOperation: v.
|
|
52
|
+
export const legacyCreateOperation: v.GenericSchema<unknown, t.LegacyCreateOperation> = v.looseObject({
|
|
53
|
+
...unsignedLegacyCreateOperationEntries,
|
|
53
54
|
sig: v.string(),
|
|
54
55
|
});
|
|
55
56
|
// #endregion
|
|
56
57
|
|
|
57
58
|
// #region plc_operation
|
|
58
|
-
export const service: v.
|
|
59
|
+
export const service: v.GenericSchema<unknown, t.Service> = v.looseObject({
|
|
59
60
|
type: v.string(),
|
|
60
61
|
endpoint: v.string(),
|
|
61
62
|
});
|
|
62
63
|
|
|
63
|
-
const
|
|
64
|
+
const unsignedOperationEntries = {
|
|
64
65
|
type: v.literal('plc_operation'),
|
|
65
|
-
prev: v.
|
|
66
|
+
prev: v.nullable(v.string()),
|
|
66
67
|
rotationKeys: v.array(didKeyString),
|
|
67
|
-
verificationMethods: v.record(permissiveDidKeyString),
|
|
68
|
+
verificationMethods: v.record(v.string(), permissiveDidKeyString),
|
|
68
69
|
alsoKnownAs: v.array(v.string()),
|
|
69
|
-
services: v.record(service),
|
|
70
|
-
}
|
|
70
|
+
services: v.record(v.string(), service),
|
|
71
|
+
};
|
|
71
72
|
|
|
72
|
-
export const unsignedOperation: v.
|
|
73
|
+
export const unsignedOperation: v.GenericSchema<unknown, t.UnsignedOperation> =
|
|
74
|
+
v.looseObject(unsignedOperationEntries);
|
|
73
75
|
|
|
74
|
-
export const operation: v.
|
|
76
|
+
export const operation: v.GenericSchema<unknown, t.Operation> = v.looseObject({
|
|
77
|
+
...unsignedOperationEntries,
|
|
75
78
|
sig: v.string(),
|
|
76
79
|
});
|
|
77
80
|
// #endregion
|
|
78
81
|
|
|
79
82
|
// #region plc_tombstone
|
|
80
|
-
const
|
|
83
|
+
const unsignedTombstoneEntries = {
|
|
81
84
|
type: v.literal('plc_tombstone'),
|
|
82
85
|
prev: v.string(),
|
|
83
|
-
}
|
|
86
|
+
};
|
|
84
87
|
|
|
85
|
-
export const unsignedTombstone: v.
|
|
88
|
+
export const unsignedTombstone: v.GenericSchema<unknown, t.UnsignedTombstone> =
|
|
89
|
+
v.looseObject(unsignedTombstoneEntries);
|
|
86
90
|
|
|
87
|
-
export const tombstone: v.
|
|
91
|
+
export const tombstone: v.GenericSchema<unknown, t.Tombstone> = v.looseObject({
|
|
92
|
+
...unsignedTombstoneEntries,
|
|
88
93
|
sig: v.string(),
|
|
89
94
|
});
|
|
90
95
|
// #endregion
|
|
91
96
|
|
|
92
97
|
// #region Entry
|
|
93
|
-
export const compatibleOperation: v.
|
|
94
|
-
|
|
95
|
-
export const compatibleOperationOrTombstone: v.Type<t.CompatibleOperationOrTombstone> = v.union(
|
|
98
|
+
export const compatibleOperation: v.GenericSchema<unknown, t.CompatibleOperation> = v.union([
|
|
96
99
|
operation,
|
|
97
100
|
legacyCreateOperation,
|
|
98
|
-
|
|
99
|
-
);
|
|
101
|
+
]);
|
|
100
102
|
|
|
101
|
-
export const
|
|
103
|
+
export const compatibleOperationOrTombstone: v.GenericSchema<unknown, t.CompatibleOperationOrTombstone> =
|
|
104
|
+
v.union([operation, legacyCreateOperation, tombstone]);
|
|
102
105
|
|
|
103
|
-
export const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
+
export const operationOrTombstone: v.GenericSchema<unknown, t.OperationOrTombstone> = v.union([
|
|
107
|
+
operation,
|
|
108
|
+
tombstone,
|
|
109
|
+
]);
|
|
110
|
+
|
|
111
|
+
export const operationLog: v.GenericSchema<unknown, t.OperationLog> = v.tupleWithRest(
|
|
112
|
+
[compatibleOperation],
|
|
113
|
+
operationOrTombstone,
|
|
114
|
+
);
|
|
106
115
|
// #endregion
|
|
107
116
|
|
|
108
117
|
// #region Indexed entry
|
|
109
|
-
const
|
|
118
|
+
const indexedEntryEntries = {
|
|
110
119
|
did: didPlcString,
|
|
111
120
|
operation: compatibleOperationOrTombstone,
|
|
112
121
|
cid: cidString,
|
|
113
122
|
nullified: v.boolean(),
|
|
114
|
-
createdAt: v.
|
|
115
|
-
|
|
123
|
+
createdAt: v.pipe(
|
|
124
|
+
v.string(),
|
|
125
|
+
v.check((input) => !Number.isNaN(new Date(input).getTime()), `invalid timestamp`),
|
|
126
|
+
),
|
|
127
|
+
};
|
|
116
128
|
|
|
117
|
-
export const indexedEntry: v.
|
|
129
|
+
export const indexedEntry: v.GenericSchema<unknown, t.IndexedEntry> = v.looseObject(indexedEntryEntries);
|
|
118
130
|
|
|
119
|
-
export const indexedEntryLog: v.
|
|
120
|
-
|
|
121
|
-
|
|
131
|
+
export const indexedEntryLog: v.GenericSchema<unknown, t.IndexedEntryLog> = v.tupleWithRest(
|
|
132
|
+
[v.looseObject({ ...indexedEntryEntries, operation: compatibleOperation })],
|
|
133
|
+
v.looseObject({ ...indexedEntryEntries, operation: operationOrTombstone }),
|
|
134
|
+
);
|
|
122
135
|
// #endregion
|
|
123
136
|
|
|
124
137
|
// #region Client response schemas
|
|
125
|
-
export const plcState: v.
|
|
138
|
+
export const plcState: v.GenericSchema<unknown, t.PlcState> = v.looseObject({
|
|
126
139
|
did: didPlcString,
|
|
127
140
|
rotationKeys: v.array(didKeyString),
|
|
128
|
-
verificationMethods: v.record(permissiveDidKeyString),
|
|
141
|
+
verificationMethods: v.record(v.string(), permissiveDidKeyString),
|
|
129
142
|
alsoKnownAs: v.array(v.string()),
|
|
130
|
-
services: v.record(service),
|
|
143
|
+
services: v.record(v.string(), service),
|
|
131
144
|
});
|
|
132
145
|
|
|
133
|
-
export const sequencedEntry: v.
|
|
146
|
+
export const sequencedEntry: v.GenericSchema<unknown, t.SequencedEntry> = v.looseObject({
|
|
147
|
+
...indexedEntryEntries,
|
|
134
148
|
type: v.literal('sequenced_op'),
|
|
135
149
|
seq: v.number(),
|
|
136
150
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atcute/did-plc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "validations, type definitions and schemas for did:plc operations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"atproto",
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"dist/",
|
|
17
17
|
"lib/",
|
|
18
18
|
"!lib/**/*.bench.ts",
|
|
19
|
-
"!lib/**/*.test.ts"
|
|
19
|
+
"!lib/**/*.test.ts",
|
|
20
|
+
"!dist/**/*.{test,bench}.*"
|
|
20
21
|
],
|
|
21
22
|
"type": "module",
|
|
22
23
|
"sideEffects": false,
|
|
@@ -27,23 +28,29 @@
|
|
|
27
28
|
"access": "public"
|
|
28
29
|
},
|
|
29
30
|
"dependencies": {
|
|
30
|
-
"
|
|
31
|
+
"valibot": "^1.4.0",
|
|
32
|
+
"@atcute/cbor": "^2.3.3",
|
|
33
|
+
"@atcute/crypto": "^2.4.1",
|
|
31
34
|
"@atcute/cid": "^2.4.1",
|
|
32
|
-
"@atcute/identity": "^
|
|
33
|
-
"@atcute/cbor": "^2.3.2",
|
|
34
|
-
"@atcute/lexicons": "^1.2.9",
|
|
35
|
-
"@atcute/multibase": "^1.1.8",
|
|
35
|
+
"@atcute/identity": "^2.0.0",
|
|
36
36
|
"@atcute/uint8array": "^1.1.1",
|
|
37
|
-
"@atcute/
|
|
38
|
-
"@atcute/
|
|
37
|
+
"@atcute/lexicons": "^2.0.0",
|
|
38
|
+
"@atcute/multibase": "^1.2.0",
|
|
39
|
+
"@atcute/util-fetch": "^2.0.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
|
-
"@vitest/coverage-v8": "^4.
|
|
42
|
-
"vitest": "^4.
|
|
42
|
+
"@vitest/coverage-v8": "^4.1.5",
|
|
43
|
+
"vitest": "^4.1.5",
|
|
43
44
|
"@atcute/internal-dev-env": "^1.0.2"
|
|
44
45
|
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"@atcute/cbor": "^2.0.0",
|
|
48
|
+
"@atcute/cid": "^2.0.0",
|
|
49
|
+
"@atcute/identity": "^2.0.0",
|
|
50
|
+
"@atcute/lexicons": "^2.0.0"
|
|
51
|
+
},
|
|
45
52
|
"scripts": {
|
|
46
|
-
"build": "tsgo
|
|
53
|
+
"build": "tsgo",
|
|
47
54
|
"test": "vitest",
|
|
48
55
|
"prepublish": "rm -rf dist; pnpm run build"
|
|
49
56
|
}
|