@towns-protocol/sdk 0.0.196 → 0.0.198
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/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +16 -4
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/makeStreamRpcClient.d.ts +3 -2
- package/dist/makeStreamRpcClient.d.ts.map +1 -1
- package/dist/makeStreamRpcClient.js +18 -4
- package/dist/makeStreamRpcClient.js.map +1 -1
- package/dist/memberMetadata_DisplayNames.d.ts +0 -1
- package/dist/memberMetadata_DisplayNames.d.ts.map +1 -1
- package/dist/memberMetadata_DisplayNames.js +1 -2
- package/dist/memberMetadata_DisplayNames.js.map +1 -1
- package/dist/memberMetadata_Usernames.d.ts +1 -1
- package/dist/memberMetadata_Usernames.d.ts.map +1 -1
- package/dist/memberMetadata_Usernames.js +8 -4
- package/dist/memberMetadata_Usernames.js.map +1 -1
- package/dist/observable/observable.d.ts +3 -3
- package/dist/observable/observable.d.ts.map +1 -1
- package/dist/observable/observable.js +15 -8
- package/dist/observable/observable.js.map +1 -1
- package/dist/persistenceStore.d.ts +11 -0
- package/dist/persistenceStore.d.ts.map +1 -1
- package/dist/persistenceStore.js +30 -2
- package/dist/persistenceStore.js.map +1 -1
- package/dist/sign.d.ts +10 -2
- package/dist/sign.d.ts.map +1 -1
- package/dist/sign.js +50 -4
- package/dist/sign.js.map +1 -1
- package/dist/streamStateView.d.ts +0 -8
- package/dist/streamStateView.d.ts.map +1 -1
- package/dist/streamStateView.js +0 -12
- package/dist/streamStateView.js.map +1 -1
- package/dist/streamStateView_AbstractContent.d.ts +0 -2
- package/dist/streamStateView_AbstractContent.d.ts.map +1 -1
- package/dist/streamStateView_AbstractContent.js +0 -3
- package/dist/streamStateView_AbstractContent.js.map +1 -1
- package/dist/streamStateView_Channel.d.ts +5 -1
- package/dist/streamStateView_Channel.d.ts.map +1 -1
- package/dist/streamStateView_Channel.js +10 -2
- package/dist/streamStateView_Channel.js.map +1 -1
- package/dist/streamStateView_Common_ChannelMessages.d.ts +15 -0
- package/dist/streamStateView_Common_ChannelMessages.d.ts.map +1 -0
- package/dist/streamStateView_Common_ChannelMessages.js +19 -0
- package/dist/streamStateView_Common_ChannelMessages.js.map +1 -0
- package/dist/streamStateView_DMChannel.d.ts +3 -1
- package/dist/streamStateView_DMChannel.d.ts.map +1 -1
- package/dist/streamStateView_DMChannel.js +7 -4
- package/dist/streamStateView_DMChannel.js.map +1 -1
- package/dist/streamStateView_GDMChannel.d.ts +2 -1
- package/dist/streamStateView_GDMChannel.d.ts.map +1 -1
- package/dist/streamStateView_GDMChannel.js +8 -5
- package/dist/streamStateView_GDMChannel.js.map +1 -1
- package/dist/streamStateView_Media.d.ts +2 -0
- package/dist/streamStateView_Media.d.ts.map +1 -1
- package/dist/streamStateView_Media.js +6 -0
- package/dist/streamStateView_Media.js.map +1 -1
- package/dist/streamStateView_Members.d.ts +17 -14
- package/dist/streamStateView_Members.d.ts.map +1 -1
- package/dist/streamStateView_Members.js +1 -0
- package/dist/streamStateView_Members.js.map +1 -1
- package/dist/streamStateView_User.d.ts +2 -1
- package/dist/streamStateView_User.d.ts.map +1 -1
- package/dist/streamStateView_User.js +12 -0
- package/dist/streamStateView_User.js.map +1 -1
- package/dist/streamStateView_UserMetadata.d.ts +3 -3
- package/dist/streamStateView_UserMetadata.d.ts.map +1 -1
- package/dist/streamStateView_UserMetadata.js.map +1 -1
- package/dist/sync-agent/dms/models/dm.d.ts.map +1 -1
- package/dist/sync-agent/dms/models/dm.js +1 -2
- package/dist/sync-agent/dms/models/dm.js.map +1 -1
- package/dist/sync-agent/timeline/models/timeline-types.d.ts +9 -1
- package/dist/sync-agent/timeline/models/timeline-types.d.ts.map +1 -1
- package/dist/sync-agent/timeline/models/timeline-types.js +4 -0
- package/dist/sync-agent/timeline/models/timeline-types.js.map +1 -1
- package/dist/sync-agent/timeline/models/timelineEvent.d.ts +1 -1
- package/dist/sync-agent/timeline/models/timelineEvent.d.ts.map +1 -1
- package/dist/sync-agent/timeline/models/timelineEvent.js +2 -2
- package/dist/sync-agent/timeline/models/timelineEvent.js.map +1 -1
- package/dist/sync-agent/timeline/timeline.js +8 -8
- package/dist/sync-agent/timeline/timeline.js.map +1 -1
- package/dist/syncedStream.d.ts.map +1 -1
- package/dist/syncedStream.js +2 -1
- package/dist/syncedStream.js.map +1 -1
- package/dist/syncedStreamsExtension.d.ts +1 -0
- package/dist/syncedStreamsExtension.d.ts.map +1 -1
- package/dist/syncedStreamsExtension.js +5 -2
- package/dist/syncedStreamsExtension.js.map +1 -1
- package/dist/syncedStreamsLoop.d.ts.map +1 -1
- package/dist/syncedStreamsLoop.js +2 -2
- package/dist/syncedStreamsLoop.js.map +1 -1
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js +6 -0
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js.map +1 -1
- package/dist/tests/multi/entitlements/spaceWithEntitlements.test.js +8 -0
- package/dist/tests/multi/entitlements/spaceWithEntitlements.test.js.map +1 -1
- package/dist/tests/multi/transactions_SpaceReview.test.js +1 -1
- package/dist/tests/multi/transactions_SpaceReview.test.js.map +1 -1
- package/dist/tests/multi_ne/client.test.js +22 -14
- package/dist/tests/multi_ne/client.test.js.map +1 -1
- package/dist/tests/multi_ne/gdms.test.js +1 -1
- package/dist/tests/multi_ne/gdms.test.js.map +1 -1
- package/dist/tests/multi_ne/restart.test.js +1 -1
- package/dist/tests/multi_ne/restart.test.js.map +1 -1
- package/dist/tests/multi_ne/space.test.js +51 -14
- package/dist/tests/multi_ne/space.test.js.map +1 -1
- package/dist/tests/multi_ne/syncedStreams.test.js +12 -6
- package/dist/tests/multi_ne/syncedStreams.test.js.map +1 -1
- package/dist/tests/multi_ne/trading.test.js +5 -5
- package/dist/tests/multi_ne/trading.test.js.map +1 -1
- package/dist/tests/testUtils.d.ts +2 -1
- package/dist/tests/testUtils.d.ts.map +1 -1
- package/dist/tests/testUtils.js +1 -11
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/unauthenticatedClient.d.ts +4 -6
- package/dist/unauthenticatedClient.d.ts.map +1 -1
- package/dist/unauthenticatedClient.js +14 -37
- package/dist/unauthenticatedClient.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeStreamRpcClient.js","sourceRoot":"","sources":["../src/makeStreamRpcClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,
|
|
1
|
+
{"version":3,"file":"makeStreamRpcClient.js","sourceRoot":"","sources":["../src/makeStreamRpcClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ export declare class MemberMetadata_DisplayNames {
|
|
|
8
8
|
readonly userIdToEventId: Map<string, string>;
|
|
9
9
|
readonly plaintextDisplayNames: Map<string, string>;
|
|
10
10
|
readonly displayNameEvents: Map<string, {
|
|
11
|
-
encryptedData: EncryptedData;
|
|
12
11
|
userId: string;
|
|
13
12
|
pending: boolean;
|
|
14
13
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memberMetadata_DisplayNames.d.ts","sourceRoot":"","sources":["../src/memberMetadata_DisplayNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,YAAY,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAQ1E,qBAAa,2BAA2B;IACpC,GAAG,yCAAmC;IACtC,OAAO,CAAC,uBAAuB,CAAI;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,eAAe,sBAA4B;IACpD,QAAQ,CAAC,qBAAqB,sBAA4B;IAC1D,QAAQ,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"memberMetadata_DisplayNames.d.ts","sourceRoot":"","sources":["../src/memberMetadata_DisplayNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,YAAY,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAQ1E,qBAAa,2BAA2B;IACpC,GAAG,yCAAmC;IACtC,OAAO,CAAC,uBAAuB,CAAI;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,eAAe,sBAA4B;IACpD,QAAQ,CAAC,qBAAqB,sBAA4B;IAC1D,QAAQ,CAAC,iBAAiB;gBAA6B,MAAM;iBAAW,OAAO;OAAK;gBAExE,QAAQ,EAAE,MAAM;IAI5B,gBAAgB,CACZ,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,YAAO,EACvB,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC1C,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,EACnE,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAsB7D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC;IAczE,kBAAkB,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC;IAY7C,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAczB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,oBAAoB,EAAE,OAAO,CAAA;KAChC;CAOJ"}
|
|
@@ -35,7 +35,7 @@ export class MemberMetadata_DisplayNames {
|
|
|
35
35
|
if (!event) {
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
|
-
this.displayNameEvents.set(eventId, {
|
|
38
|
+
this.displayNameEvents.set(eventId, { userId: event.userId, pending: false });
|
|
39
39
|
// if we don't have the plaintext display name, no need to emit an event
|
|
40
40
|
if (this.plaintextDisplayNames.has(event.userId)) {
|
|
41
41
|
this.log(`'streamDisplayNameUpdated' for userId ${event.userId}`);
|
|
@@ -83,7 +83,6 @@ export class MemberMetadata_DisplayNames {
|
|
|
83
83
|
this.userIdToEventId.set(userId, eventId);
|
|
84
84
|
this.displayNameEvents.set(eventId, {
|
|
85
85
|
userId,
|
|
86
|
-
encryptedData: encryptedData,
|
|
87
86
|
pending: pending,
|
|
88
87
|
});
|
|
89
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memberMetadata_DisplayNames.js","sourceRoot":"","sources":["../src/memberMetadata_DisplayNames.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAG3C,sGAAsG;AACtG,uFAAuF;AACvF,MAAM,8BAA8B,GAAG,EAAE,CAAA;AAEzC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AAErC,MAAM,OAAO,2BAA2B;IACpC,GAAG,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAA;IAC9B,uBAAuB,GAAG,CAAC,CAAA;IAC1B,QAAQ,CAAQ;IAChB,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC3C,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAA;IACjD,iBAAiB,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"memberMetadata_DisplayNames.js","sourceRoot":"","sources":["../src/memberMetadata_DisplayNames.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export declare class MemberMetadata_Usernames {
|
|
|
8
8
|
readonly userIdToEventId: Map<string, string>;
|
|
9
9
|
readonly confirmedUserIds: Set<string>;
|
|
10
10
|
readonly usernameEvents: Map<string, {
|
|
11
|
-
|
|
11
|
+
checksum: string;
|
|
12
12
|
userId: string;
|
|
13
13
|
pending: boolean;
|
|
14
14
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memberMetadata_Usernames.d.ts","sourceRoot":"","sources":["../src/memberMetadata_Usernames.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGrD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAI1E,qBAAa,wBAAwB;IACjC,GAAG,yCAAgC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,kBAAkB,sBAA4B;IACvD,QAAQ,CAAC,eAAe,sBAA4B;IACpD,QAAQ,CAAC,gBAAgB,cAAoB;IAC7C,QAAQ,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"memberMetadata_Usernames.d.ts","sourceRoot":"","sources":["../src/memberMetadata_Usernames.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGrD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAI1E,qBAAa,wBAAwB;IACjC,GAAG,yCAAgC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,kBAAkB,sBAA4B;IACvD,QAAQ,CAAC,eAAe,sBAA4B;IACpD,QAAQ,CAAC,gBAAgB,cAAoB;IAC7C,QAAQ,CAAC,cAAc;kBAEP,MAAM;gBAAU,MAAM;iBAAW,OAAO;OACrD;IACH,QAAQ,CAAC,SAAS,cAAoB;gBAE1B,QAAQ,EAAE,MAAM;IAI5B,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC;IAK5F,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC;IAK5E,gBAAgB,CACZ,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,YAAO,EACvB,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC1C,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,EACnE,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAmC7D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC;IAmBzE,kBAAkB,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC;IAwB7C,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKrD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI5C,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,yBAAyB;IAyBjC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,iBAAiB,EAAE,OAAO,CAAA;QAC1B,iBAAiB,EAAE,OAAO,CAAA;KAC7B;CAiBJ"}
|
|
@@ -52,7 +52,11 @@ export class MemberMetadata_Usernames {
|
|
|
52
52
|
if (!event) {
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
this.usernameEvents.set(eventId, {
|
|
55
|
+
this.usernameEvents.set(eventId, {
|
|
56
|
+
checksum: event.checksum,
|
|
57
|
+
userId: event.userId,
|
|
58
|
+
pending: false,
|
|
59
|
+
});
|
|
56
60
|
this.confirmedUserIds.add(event.userId);
|
|
57
61
|
// if we don't have the plaintext username, no need to emit an event
|
|
58
62
|
if (this.plaintextUsernames.has(event.userId)) {
|
|
@@ -65,7 +69,7 @@ export class MemberMetadata_Usernames {
|
|
|
65
69
|
if (!event) {
|
|
66
70
|
return;
|
|
67
71
|
}
|
|
68
|
-
const checksum = event.
|
|
72
|
+
const checksum = event.checksum;
|
|
69
73
|
if (!checksum) {
|
|
70
74
|
return;
|
|
71
75
|
}
|
|
@@ -111,7 +115,7 @@ export class MemberMetadata_Usernames {
|
|
|
111
115
|
this.log(`no existing username event for user ${userId} — this is a programmer error`);
|
|
112
116
|
return;
|
|
113
117
|
}
|
|
114
|
-
this.checksums.delete(event.
|
|
118
|
+
this.checksums.delete(event.checksum ?? '');
|
|
115
119
|
this.usernameEvents.delete(eventId);
|
|
116
120
|
this.log(`deleted old username event for user ${userId}`);
|
|
117
121
|
}
|
|
@@ -127,7 +131,7 @@ export class MemberMetadata_Usernames {
|
|
|
127
131
|
this.checksums.add(encryptedData.checksum);
|
|
128
132
|
this.usernameEvents.set(eventId, {
|
|
129
133
|
userId,
|
|
130
|
-
|
|
134
|
+
checksum: encryptedData.checksum,
|
|
131
135
|
pending: pending,
|
|
132
136
|
});
|
|
133
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memberMetadata_Usernames.js","sourceRoot":"","sources":["../src/memberMetadata_Usernames.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"memberMetadata_Usernames.js","sourceRoot":"","sources":["../src/memberMetadata_Usernames.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface Subscription<T> {
|
|
2
2
|
id: number;
|
|
3
|
-
fn: (value: T) => void;
|
|
3
|
+
fn: (value: T, prevValue: T) => void;
|
|
4
4
|
condition: (value: T) => boolean;
|
|
5
5
|
once: boolean;
|
|
6
6
|
}
|
|
@@ -11,7 +11,7 @@ export declare class Observable<T> {
|
|
|
11
11
|
constructor(value: T);
|
|
12
12
|
get value(): T;
|
|
13
13
|
setValue(newValue: T): void;
|
|
14
|
-
subscribe(subscriber: (newValue: T) => void, opts?: {
|
|
14
|
+
subscribe(subscriber: (newValue: T, prevValue: T) => void, opts?: {
|
|
15
15
|
fireImediately?: boolean;
|
|
16
16
|
once?: boolean;
|
|
17
17
|
condition?: (value: T) => boolean;
|
|
@@ -20,7 +20,7 @@ export declare class Observable<T> {
|
|
|
20
20
|
timeoutMs: number;
|
|
21
21
|
description?: string;
|
|
22
22
|
}): Promise<T>;
|
|
23
|
-
unsubscribe(subscriber: (value: T) => void): void;
|
|
23
|
+
unsubscribe(subscriber: (value: T, prevValue: T) => void): void;
|
|
24
24
|
private notify;
|
|
25
25
|
private _notify;
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.d.ts","sourceRoot":"","sources":["../../src/observable/observable.ts"],"names":[],"mappings":"AAAA,UAAU,YAAY,CAAC,CAAC;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"observable.d.ts","sourceRoot":"","sources":["../../src/observable/observable.ts"],"names":[],"mappings":"AAAA,UAAU,YAAY,CAAC,CAAC;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI,CAAA;IACpC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAA;IAChC,IAAI,EAAE,OAAO,CAAA;CAChB;AAED,qBAAa,UAAU,CAAC,CAAC;IACrB,OAAO,CAAC,OAAO,CAAI;IACnB,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAK;IAC7C,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;gBAEP,KAAK,EAAE,CAAC;IAIpB,IAAI,KAAK,IAAI,CAAC,CAEb;IAED,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAMpB,SAAS,CACL,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI,EAC/C,IAAI,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAA;KAAO,GAC3F,MAAM,IAAI;IAeb,IAAI,CACA,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,EAChC,IAAI,GAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAwB,GACxE,OAAO,CAAC,CAAC,CAAC;IAiBb,WAAW,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI;IASxD,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,OAAO;CAQlB"}
|
|
@@ -9,19 +9,21 @@ export class Observable {
|
|
|
9
9
|
return this._value;
|
|
10
10
|
}
|
|
11
11
|
setValue(newValue) {
|
|
12
|
+
const prevValue = this._value;
|
|
12
13
|
this._value = newValue;
|
|
13
|
-
this.notify();
|
|
14
|
+
this.notify(prevValue);
|
|
14
15
|
}
|
|
15
16
|
subscribe(subscriber, opts = {}) {
|
|
17
|
+
const nextId = this._nextId++;
|
|
16
18
|
const sub = {
|
|
17
|
-
id:
|
|
19
|
+
id: nextId,
|
|
18
20
|
fn: subscriber,
|
|
19
21
|
once: opts?.once ?? false,
|
|
20
22
|
condition: opts?.condition ?? (() => true),
|
|
21
23
|
};
|
|
22
24
|
this.subscribers.push(sub);
|
|
23
25
|
if (opts.fireImediately) {
|
|
24
|
-
this._notify(sub, this.value);
|
|
26
|
+
this._notify(sub, this.value, this.value);
|
|
25
27
|
}
|
|
26
28
|
return () => this.unsubscribe(subscriber);
|
|
27
29
|
}
|
|
@@ -39,15 +41,20 @@ export class Observable {
|
|
|
39
41
|
});
|
|
40
42
|
}
|
|
41
43
|
unsubscribe(subscriber) {
|
|
42
|
-
this.subscribers = this.subscribers.filter((sub) =>
|
|
44
|
+
this.subscribers = this.subscribers.filter((sub) => {
|
|
45
|
+
if (sub.fn === subscriber) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
return true;
|
|
49
|
+
});
|
|
43
50
|
}
|
|
44
|
-
notify() {
|
|
51
|
+
notify(prevValue) {
|
|
45
52
|
const subscriptions = this.subscribers;
|
|
46
|
-
subscriptions.forEach((sub) => this._notify(sub, this.value));
|
|
53
|
+
subscriptions.forEach((sub) => this._notify(sub, this.value, prevValue));
|
|
47
54
|
}
|
|
48
|
-
_notify(sub, value) {
|
|
55
|
+
_notify(sub, value, prevValue) {
|
|
49
56
|
if (sub.condition(value)) {
|
|
50
|
-
sub.fn(value);
|
|
57
|
+
sub.fn(value, prevValue);
|
|
51
58
|
if (sub.once) {
|
|
52
59
|
this.subscribers = this.subscribers.filter((s) => s !== sub);
|
|
53
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../../src/observable/observable.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,UAAU;IACX,OAAO,GAAG,CAAC,CAAA;IACT,WAAW,GAAsB,EAAE,CAAA;IACnC,MAAM,CAAG;IAEnB,YAAY,KAAQ;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACvB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;IAED,QAAQ,CAAC,QAAW;QAChB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QACtB,IAAI,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../../src/observable/observable.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ export interface IPersistenceStore {
|
|
|
22
22
|
saveMiniblocks(streamId: string, miniblocks: ParsedMiniblock[], direction: 'forward' | 'backward'): Promise<void>;
|
|
23
23
|
getMiniblock(streamId: string, miniblockNum: bigint): Promise<ParsedMiniblock | undefined>;
|
|
24
24
|
getMiniblocks(streamId: string, rangeStart: bigint, randeEnd: bigint): Promise<ParsedMiniblock[]>;
|
|
25
|
+
saveSnapshot(streamId: string, miniblockNum: bigint, snapshot: Snapshot): Promise<void>;
|
|
25
26
|
}
|
|
26
27
|
export declare class PersistenceStore extends Dexie implements IPersistenceStore {
|
|
27
28
|
cleartexts: Table<{
|
|
@@ -37,6 +38,13 @@ export declare class PersistenceStore extends Dexie implements IPersistenceStore
|
|
|
37
38
|
miniblockNum: string;
|
|
38
39
|
data: Uint8Array;
|
|
39
40
|
}>;
|
|
41
|
+
snapshots: Table<{
|
|
42
|
+
streamId: string;
|
|
43
|
+
data: {
|
|
44
|
+
miniblockNum: bigint;
|
|
45
|
+
snapshot: Uint8Array;
|
|
46
|
+
};
|
|
47
|
+
}>;
|
|
40
48
|
constructor(databaseName: string);
|
|
41
49
|
saveCleartext(eventId: string, cleartext: Uint8Array | string): Promise<void>;
|
|
42
50
|
getCleartext(eventId: string): Promise<string | Uint8Array<ArrayBufferLike> | undefined>;
|
|
@@ -50,6 +58,8 @@ export declare class PersistenceStore extends Dexie implements IPersistenceStore
|
|
|
50
58
|
saveMiniblocks(streamId: string, miniblocks: ParsedMiniblock[], direction: 'forward' | 'backward'): Promise<void>;
|
|
51
59
|
getMiniblock(streamId: string, miniblockNum: bigint): Promise<ParsedMiniblock | undefined>;
|
|
52
60
|
getMiniblocks(streamId: string, rangeStart: bigint, rangeEnd: bigint): Promise<ParsedMiniblock[]>;
|
|
61
|
+
saveSnapshot(streamId: string, miniblockNum: bigint, snapshot: Snapshot): Promise<void>;
|
|
62
|
+
getSnapshot(streamId: string): Promise<Snapshot | undefined>;
|
|
53
63
|
private requestPersistentStorage;
|
|
54
64
|
private logPersistenceStats;
|
|
55
65
|
private cachedScrollback;
|
|
@@ -67,5 +77,6 @@ export declare class StubPersistenceStore implements IPersistenceStore {
|
|
|
67
77
|
saveMiniblocks(streamId: string, miniblocks: ParsedMiniblock[], direction: 'forward' | 'backward'): Promise<void>;
|
|
68
78
|
getMiniblock(streamId: string, miniblockNum: bigint): Promise<ParsedMiniblock | undefined>;
|
|
69
79
|
getMiniblocks(streamId: string, rangeStart: bigint, rangeEnd: bigint): Promise<ParsedMiniblock[]>;
|
|
80
|
+
saveSnapshot(streamId: string, miniblockNum: bigint, snapshot: Snapshot): Promise<void>;
|
|
70
81
|
}
|
|
71
82
|
//# sourceMappingURL=persistenceStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistenceStore.d.ts","sourceRoot":"","sources":["../src/persistenceStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,qBAAqB,
|
|
1
|
+
{"version":3,"file":"persistenceStore.d.ts","sourceRoot":"","sources":["../src/persistenceStore.ts"],"names":[],"mappings":"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"}
|
package/dist/persistenceStore.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PersistedMiniblockSchema, PersistedSyncedStreamSchema, } from '@towns-protocol/proto';
|
|
1
|
+
import { PersistedMiniblockSchema, PersistedSyncedStreamSchema, SnapshotSchema, } from '@towns-protocol/proto';
|
|
2
2
|
import Dexie from 'dexie';
|
|
3
3
|
import { persistedSyncedStreamToParsedSyncedStream, persistedMiniblockToParsedMiniblock, parsedMiniblockToPersistedMiniblock, } from './streamUtils';
|
|
4
4
|
import { bin_toHexString, dlog, dlogError } from '@towns-protocol/dlog';
|
|
@@ -56,12 +56,14 @@ export class PersistenceStore extends Dexie {
|
|
|
56
56
|
cleartexts;
|
|
57
57
|
syncedStreams;
|
|
58
58
|
miniblocks;
|
|
59
|
+
snapshots;
|
|
59
60
|
constructor(databaseName) {
|
|
60
61
|
super(databaseName);
|
|
61
62
|
this.version(1).stores({
|
|
62
63
|
cleartexts: 'eventId',
|
|
63
64
|
syncedStreams: 'streamId',
|
|
64
65
|
miniblocks: '[streamId+miniblockNum]',
|
|
66
|
+
snapshots: 'streamId',
|
|
65
67
|
});
|
|
66
68
|
// Version 2: added a signature to the saved event, drop all saved miniblocks
|
|
67
69
|
this.version(2).upgrade((tx) => {
|
|
@@ -120,7 +122,9 @@ export class PersistenceStore extends Dexie {
|
|
|
120
122
|
if (miniblocks.length === 0) {
|
|
121
123
|
return undefined;
|
|
122
124
|
}
|
|
123
|
-
const snapshot = miniblocks[0].header.snapshot
|
|
125
|
+
const snapshot = miniblocks[0].header.snapshot
|
|
126
|
+
? miniblocks[0].header.snapshot
|
|
127
|
+
: await this.getSnapshot(streamId);
|
|
124
128
|
if (!snapshot) {
|
|
125
129
|
return undefined;
|
|
126
130
|
}
|
|
@@ -224,6 +228,27 @@ export class PersistenceStore extends Dexie {
|
|
|
224
228
|
.filter(isDefined);
|
|
225
229
|
return miniblocks.length === ids.length ? miniblocks : [];
|
|
226
230
|
}
|
|
231
|
+
async saveSnapshot(streamId, miniblockNum, snapshot) {
|
|
232
|
+
const record = await this.snapshots.get(streamId);
|
|
233
|
+
if (record && record.data.miniblockNum >= miniblockNum) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
log('saving snapshot', streamId);
|
|
237
|
+
await this.snapshots.put({
|
|
238
|
+
streamId: streamId,
|
|
239
|
+
data: {
|
|
240
|
+
snapshot: toBinary(SnapshotSchema, snapshot),
|
|
241
|
+
miniblockNum: miniblockNum,
|
|
242
|
+
},
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
async getSnapshot(streamId) {
|
|
246
|
+
const record = await this.snapshots.get(streamId);
|
|
247
|
+
if (!record) {
|
|
248
|
+
return undefined;
|
|
249
|
+
}
|
|
250
|
+
return fromBinary(SnapshotSchema, record.data.snapshot);
|
|
251
|
+
}
|
|
227
252
|
requestPersistentStorage() {
|
|
228
253
|
if (typeof navigator !== 'undefined' && navigator.storage && navigator.storage.persist) {
|
|
229
254
|
navigator.storage
|
|
@@ -362,5 +387,8 @@ export class StubPersistenceStore {
|
|
|
362
387
|
async getMiniblocks(streamId, rangeStart, rangeEnd) {
|
|
363
388
|
return Promise.resolve([]);
|
|
364
389
|
}
|
|
390
|
+
async saveSnapshot(streamId, miniblockNum, snapshot) {
|
|
391
|
+
return Promise.resolve();
|
|
392
|
+
}
|
|
365
393
|
}
|
|
366
394
|
//# sourceMappingURL=persistenceStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistenceStore.js","sourceRoot":"","sources":["../src/persistenceStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persistenceStore.js","sourceRoot":"","sources":["../src/persistenceStore.ts"],"names":[],"mappings":"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"}
|
package/dist/sign.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Envelope, EventRef, StreamEvent, Miniblock, StreamAndCookie, Tags, PlainMessage } from '@towns-protocol/proto';
|
|
2
|
-
import { ParsedEvent, ParsedMiniblock, ParsedStreamAndCookie, ParsedStreamResponse } from './types';
|
|
1
|
+
import { Envelope, EventRef, StreamEvent, Miniblock, StreamAndCookie, Tags, PlainMessage, Snapshot } from '@towns-protocol/proto';
|
|
2
|
+
import { ParsedEvent, ParsedMiniblock, ParsedSnapshot, ParsedStreamAndCookie, ParsedStreamResponse } from './types';
|
|
3
3
|
import { SignerContext } from './signerContext';
|
|
4
4
|
export interface UnpackEnvelopeOpts {
|
|
5
5
|
disableHashValidation?: boolean;
|
|
@@ -13,6 +13,7 @@ export declare const unpackStreamEx: (miniblocks: Miniblock[], opts: UnpackEnvel
|
|
|
13
13
|
export declare const unpackStreamAndCookie: (streamAndCookie: StreamAndCookie, opts: UnpackEnvelopeOpts | undefined) => Promise<ParsedStreamAndCookie>;
|
|
14
14
|
export declare const unpackMiniblock: (miniblock: Miniblock, opts: UnpackEnvelopeOpts | undefined) => Promise<ParsedMiniblock>;
|
|
15
15
|
export declare const unpackEnvelope: (envelope: Envelope, opts: UnpackEnvelopeOpts | undefined) => Promise<ParsedEvent>;
|
|
16
|
+
export declare const unpackSnapshot: (miniblock: ParsedMiniblock, snapshot: Envelope, opts: UnpackEnvelopeOpts | undefined) => Promise<ParsedSnapshot>;
|
|
16
17
|
export declare function checkEventSignature(event: {
|
|
17
18
|
creatorAddress: Uint8Array;
|
|
18
19
|
delegateSig: Uint8Array;
|
|
@@ -25,10 +26,17 @@ export declare function makeParsedEvent(event: StreamEvent, hash: Uint8Array | u
|
|
|
25
26
|
signature: Uint8Array<ArrayBufferLike> | undefined;
|
|
26
27
|
creatorUserId: string;
|
|
27
28
|
};
|
|
29
|
+
export declare function makeParsedSnapshot(snapshot: Snapshot, hash: Uint8Array | undefined, signature: Uint8Array | undefined): {
|
|
30
|
+
snapshot: Snapshot;
|
|
31
|
+
hash: Uint8Array<ArrayBufferLike>;
|
|
32
|
+
hashStr: string;
|
|
33
|
+
signature: Uint8Array<ArrayBufferLike> | undefined;
|
|
34
|
+
};
|
|
28
35
|
export declare const unpackEnvelopes: (event: Envelope[], opts: UnpackEnvelopeOpts | undefined) => Promise<ParsedEvent[]>;
|
|
29
36
|
export declare const unpackStreamEnvelopes: (stream: StreamAndCookie, opts: UnpackEnvelopeOpts | undefined) => Promise<ParsedEvent[]>;
|
|
30
37
|
export declare const makeEventRef: (streamId: string | Uint8Array, event: Envelope) => EventRef;
|
|
31
38
|
export declare function riverHash(data: Uint8Array): Uint8Array;
|
|
39
|
+
export declare function riverSnapshotHash(data: Uint8Array): Uint8Array;
|
|
32
40
|
export declare function riverDelegateHashSrc(devicePublicKey: Uint8Array, expiryEpochMs: bigint): Uint8Array;
|
|
33
41
|
export declare function notificationServiceHash(userId: Uint8Array, expiration: bigint, // unix seconds
|
|
34
42
|
challenge: Uint8Array): Buffer<ArrayBufferLike>;
|
package/dist/sign.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../src/sign.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,QAAQ,EACR,QAAQ,EACR,WAAW,EAEX,SAAS,EACT,eAAe,EACf,IAAI,EACJ,YAAY,
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../src/sign.ts"],"names":[],"mappings":"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"}
|
package/dist/sign.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { bigIntToBytes, bin_equal, bin_fromHexString, bin_toHexString, check, } from '@towns-protocol/dlog';
|
|
2
2
|
import { isDefined, assert, hasElements } from './check';
|
|
3
|
-
import { Err, StreamEventSchema, EnvelopeSchema, StreamAndCookieSchema, SyncCookieSchema, EventRefSchema, } from '@towns-protocol/proto';
|
|
3
|
+
import { Err, StreamEventSchema, EnvelopeSchema, StreamAndCookieSchema, SyncCookieSchema, EventRefSchema, SnapshotSchema, } from '@towns-protocol/proto';
|
|
4
4
|
import { assertBytes } from 'ethereum-cryptography/utils';
|
|
5
5
|
import { recoverPublicKey, signSync, verify } from 'ethereum-cryptography/secp256k1';
|
|
6
6
|
import { genIdBlob, streamIdAsBytes, streamIdAsString, userIdFromAddress } from './id';
|
|
@@ -52,9 +52,12 @@ export const unpackStream = async (stream, opts) => {
|
|
|
52
52
|
assert(stream !== undefined, 'bad stream');
|
|
53
53
|
const streamAndCookie = await unpackStreamAndCookie(stream, opts);
|
|
54
54
|
assert(stream.miniblocks.length > 0, `bad stream: no blocks ${streamIdAsString(streamAndCookie.nextSyncCookie.streamId)}`);
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
let snapshot = streamAndCookie.miniblocks[0].header.snapshot;
|
|
56
|
+
if (snapshot === undefined) {
|
|
57
|
+
snapshot = streamAndCookie.snapshot?.snapshot;
|
|
58
|
+
}
|
|
57
59
|
assert(snapshot !== undefined, `bad block: snapshot is undefined ${streamIdAsString(streamAndCookie.nextSyncCookie.streamId)}`);
|
|
60
|
+
const prevSnapshotMiniblockNum = streamAndCookie.miniblocks[0].header.prevSnapshotMiniblockNum;
|
|
58
61
|
const eventIds = [
|
|
59
62
|
...streamAndCookie.miniblocks.flatMap((mb) => mb.events.map((e) => e.hashStr), streamAndCookie.events.map((e) => e.hashStr)),
|
|
60
63
|
...eventIdsFromSnapshot(snapshot),
|
|
@@ -84,9 +87,12 @@ export const unpackStreamAndCookie = async (streamAndCookie, opts) => {
|
|
|
84
87
|
events: await unpackEnvelopes(streamAndCookie.events, opts),
|
|
85
88
|
nextSyncCookie: streamAndCookie.nextSyncCookie,
|
|
86
89
|
miniblocks: miniblocks,
|
|
90
|
+
snapshot: streamAndCookie.snapshot
|
|
91
|
+
? await unpackSnapshot(miniblocks[0], streamAndCookie.snapshot, opts)
|
|
92
|
+
: undefined,
|
|
87
93
|
};
|
|
88
94
|
};
|
|
89
|
-
// returns all events
|
|
95
|
+
// returns all events, the header event, snapshot, and pointer to header content
|
|
90
96
|
export const unpackMiniblock = async (miniblock, opts) => {
|
|
91
97
|
check(isDefined(miniblock.header), 'Miniblock header is not set');
|
|
92
98
|
const header = await unpackEnvelope(miniblock.header, opts);
|
|
@@ -115,6 +121,25 @@ export const unpackEnvelope = async (envelope, opts) => {
|
|
|
115
121
|
}
|
|
116
122
|
return makeParsedEvent(event, envelope.hash, envelope.signature);
|
|
117
123
|
};
|
|
124
|
+
export const unpackSnapshot = async (miniblock, snapshot, opts) => {
|
|
125
|
+
check(hasElements(snapshot.event), 'Snapshot base is not set', Err.BAD_EVENT);
|
|
126
|
+
check(hasElements(snapshot.hash), 'Snapshot hash is not set', Err.BAD_EVENT);
|
|
127
|
+
check(hasElements(snapshot.signature), 'Snapshot signature is not set', Err.BAD_EVENT);
|
|
128
|
+
// make sure the given snapshot corresponds to the miniblock
|
|
129
|
+
check(bin_equal(miniblock.header.snapshotHash, snapshot.hash), 'Snapshot hash does not match miniblock snapshot hash', Err.BAD_EVENT_ID);
|
|
130
|
+
// check snapshot hash
|
|
131
|
+
if (opts?.disableHashValidation !== true) {
|
|
132
|
+
const hash = riverSnapshotHash(snapshot.event);
|
|
133
|
+
check(bin_equal(hash, snapshot.hash), 'Snapshot hash is not valid', Err.BAD_EVENT_ID);
|
|
134
|
+
}
|
|
135
|
+
if (opts?.disableSignatureValidation !== true) {
|
|
136
|
+
// header event contains the creatorAddress of the snapshot.
|
|
137
|
+
const headerEvent = miniblock.events.at(-1);
|
|
138
|
+
check(headerEvent !== undefined, 'Miniblock header event not found', Err.BAD_EVENT);
|
|
139
|
+
checkEventSignature(headerEvent.event, snapshot.hash, snapshot.signature);
|
|
140
|
+
}
|
|
141
|
+
return makeParsedSnapshot(fromBinary(SnapshotSchema, snapshot.event), snapshot.hash, snapshot.signature);
|
|
142
|
+
};
|
|
118
143
|
export function checkEventSignature(event, hash, signature) {
|
|
119
144
|
const recoveredPubKey = riverRecoverPubKey(hash, signature);
|
|
120
145
|
if (!hasElements(event.delegateSig)) {
|
|
@@ -140,6 +165,15 @@ export function makeParsedEvent(event, hash, signature) {
|
|
|
140
165
|
creatorUserId: userIdFromAddress(event.creatorAddress),
|
|
141
166
|
};
|
|
142
167
|
}
|
|
168
|
+
export function makeParsedSnapshot(snapshot, hash, signature) {
|
|
169
|
+
hash = hash ?? riverSnapshotHash(toBinary(SnapshotSchema, snapshot));
|
|
170
|
+
return {
|
|
171
|
+
snapshot,
|
|
172
|
+
hash,
|
|
173
|
+
hashStr: bin_toHexString(hash),
|
|
174
|
+
signature,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
143
177
|
export const unpackEnvelopes = async (event, opts) => {
|
|
144
178
|
const ret = [];
|
|
145
179
|
//let prevEventHash: Uint8Array | undefined = undefined
|
|
@@ -176,6 +210,8 @@ const HASH_SEPARATOR = new Uint8Array([65, 66, 67, 68, 69, 70, 71, 62]);
|
|
|
176
210
|
const HASH_FOOTER = new Uint8Array([60, 71, 70, 69, 68, 67, 66, 65]);
|
|
177
211
|
// Header for delegate signature 'RIVERSIG'
|
|
178
212
|
const RIVER_SIG_HEADER = new Uint8Array([82, 73, 86, 69, 82, 83, 73, 71]);
|
|
213
|
+
// Create hash header as Uint8Array from string 'SNAPSHOT'
|
|
214
|
+
const SNAPSHOT_HEADER = new Uint8Array([83, 78, 65, 80, 83, 72, 79, 84]);
|
|
179
215
|
function numberToUint8Array64LE(num) {
|
|
180
216
|
const result = new Uint8Array(8);
|
|
181
217
|
for (let i = 0; num != 0; i++, num = num >>> 8) {
|
|
@@ -211,6 +247,16 @@ export function riverHash(data) {
|
|
|
211
247
|
hasher.update(HASH_FOOTER);
|
|
212
248
|
return hasher.digest();
|
|
213
249
|
}
|
|
250
|
+
export function riverSnapshotHash(data) {
|
|
251
|
+
assertBytes(data);
|
|
252
|
+
const hasher = keccak256.create();
|
|
253
|
+
hasher.update(SNAPSHOT_HEADER);
|
|
254
|
+
hasher.update(numberToUint8Array64LE(data.length));
|
|
255
|
+
hasher.update(HASH_SEPARATOR);
|
|
256
|
+
hasher.update(data);
|
|
257
|
+
hasher.update(HASH_FOOTER);
|
|
258
|
+
return hasher.digest();
|
|
259
|
+
}
|
|
214
260
|
export function riverDelegateHashSrc(devicePublicKey, expiryEpochMs) {
|
|
215
261
|
assertBytes(devicePublicKey);
|
|
216
262
|
check(expiryEpochMs >= 0, 'Expiry should be positive');
|