cojson 0.7.33 → 0.7.34-neverthrow.1
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/.eslintrc.cjs +4 -3
- package/.turbo/turbo-build.log +2 -2
- package/.turbo/turbo-test.log +246 -255
- package/CHANGELOG.md +12 -0
- package/dist/coValueCore.js +122 -84
- package/dist/coValueCore.js.map +1 -1
- package/dist/coValues/account.js +14 -10
- package/dist/coValues/account.js.map +1 -1
- package/dist/coValues/group.js +4 -2
- package/dist/coValues/group.js.map +1 -1
- package/dist/localNode.js +45 -20
- package/dist/localNode.js.map +1 -1
- package/dist/permissions.js +7 -1
- package/dist/permissions.js.map +1 -1
- package/dist/sync.js +16 -9
- package/dist/sync.js.map +1 -1
- package/dist/tests/coValueCore.test.js +14 -4
- package/dist/tests/coValueCore.test.js.map +1 -1
- package/dist/tests/permissions.test.js +28 -28
- package/dist/tests/permissions.test.js.map +1 -1
- package/package.json +3 -1
- package/src/coValueCore.ts +210 -152
- package/src/coValues/account.ts +37 -22
- package/src/coValues/group.ts +4 -2
- package/src/localNode.ts +78 -36
- package/src/permissions.ts +15 -1
- package/src/sync.ts +38 -24
- package/src/tests/coValueCore.test.ts +26 -20
- package/src/tests/permissions.test.ts +28 -28
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# cojson
|
|
2
2
|
|
|
3
|
+
## 0.7.34-neverthrow.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Only one async transaction per CoValue at a time again
|
|
8
|
+
|
|
9
|
+
## 0.7.34-neverthrow.0
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Start introducing neverthrow, make tryAddNewTransactionsAsync and handleNewContent less throwy
|
|
14
|
+
|
|
3
15
|
## 0.7.33
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/coValueCore.js
CHANGED
|
@@ -6,6 +6,7 @@ import { coreToCoValue } from "./coreToCoValue.js";
|
|
|
6
6
|
import { expectGroup } from "./typeUtils/expectGroup.js";
|
|
7
7
|
import { isAccountID } from "./typeUtils/isAccountID.js";
|
|
8
8
|
import { accountOrAgentIDfromSessionID } from "./typeUtils/accountOrAgentIDfromSessionID.js";
|
|
9
|
+
import { err, ok, ResultAsync } from "neverthrow";
|
|
9
10
|
/**
|
|
10
11
|
In order to not block other concurrently syncing CoValues we introduce a maximum size of transactions,
|
|
11
12
|
since they are the smallest unit of progress that can be synced within a CoValue.
|
|
@@ -80,7 +81,9 @@ export class CoValueCore {
|
|
|
80
81
|
nextTransactionID() {
|
|
81
82
|
// This is an ugly hack to get a unique but stable session ID for editing the current account
|
|
82
83
|
const sessionID = this.header.meta?.type === "account"
|
|
83
|
-
? this.node.currentSessionID.replace(this.node.account.id, this.node.account
|
|
84
|
+
? this.node.currentSessionID.replace(this.node.account.id, this.node.account
|
|
85
|
+
.currentAgentID()
|
|
86
|
+
._unsafeUnwrap({ withStackTrace: true }))
|
|
84
87
|
: this.node.currentSessionID;
|
|
85
88
|
return {
|
|
86
89
|
sessionID,
|
|
@@ -88,90 +91,119 @@ export class CoValueCore {
|
|
|
88
91
|
};
|
|
89
92
|
}
|
|
90
93
|
tryAddTransactions(sessionID, newTransactions, givenExpectedNewHash, newSignature) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
this.currentlyAsyncApplyingTxDone = new Promise((resolve) => {
|
|
129
|
-
resolveDone = resolve;
|
|
94
|
+
return this.node
|
|
95
|
+
.resolveAccountAgent(accountOrAgentIDfromSessionID(sessionID), "Expected to know signer of transaction")
|
|
96
|
+
.andThen((agent) => {
|
|
97
|
+
const signerID = this.crypto.getAgentSignerID(agent);
|
|
98
|
+
// const beforeHash = performance.now();
|
|
99
|
+
const { expectedNewHash, newStreamingHash } = this.expectedNewHashAfter(sessionID, newTransactions);
|
|
100
|
+
// const afterHash = performance.now();
|
|
101
|
+
// console.log(
|
|
102
|
+
// "Hashing took",
|
|
103
|
+
// afterHash - beforeHash
|
|
104
|
+
// );
|
|
105
|
+
if (givenExpectedNewHash &&
|
|
106
|
+
givenExpectedNewHash !== expectedNewHash) {
|
|
107
|
+
return err({
|
|
108
|
+
type: "InvalidHash",
|
|
109
|
+
id: this.id,
|
|
110
|
+
expectedNewHash,
|
|
111
|
+
givenExpectedNewHash,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
// const beforeVerify = performance.now();
|
|
115
|
+
if (!this.crypto.verify(newSignature, expectedNewHash, signerID)) {
|
|
116
|
+
return err({
|
|
117
|
+
type: "InvalidSignature",
|
|
118
|
+
id: this.id,
|
|
119
|
+
newSignature,
|
|
120
|
+
sessionID,
|
|
121
|
+
signerID,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// const afterVerify = performance.now();
|
|
125
|
+
// console.log(
|
|
126
|
+
// "Verify took",
|
|
127
|
+
// afterVerify - beforeVerify
|
|
128
|
+
// );
|
|
129
|
+
this.doAddTransactions(sessionID, newTransactions, newSignature, expectedNewHash, newStreamingHash, "immediate");
|
|
130
|
+
return ok(true);
|
|
130
131
|
});
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
132
|
+
}
|
|
133
|
+
tryAddTransactionsAsync(sessionID, newTransactions, givenExpectedNewHash, newSignature) {
|
|
134
|
+
const currentAsyncAddTransaction = this._currentAsyncAddTransaction;
|
|
135
|
+
let maybeAwaitPrevious;
|
|
136
|
+
let thisDone = () => { };
|
|
137
|
+
if (currentAsyncAddTransaction) {
|
|
138
|
+
// eslint-disable-next-line neverthrow/must-use-result
|
|
139
|
+
maybeAwaitPrevious = ResultAsync.fromSafePromise(currentAsyncAddTransaction);
|
|
136
140
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
// "Hashing took",
|
|
143
|
-
// afterHash - beforeHash
|
|
144
|
-
// );
|
|
145
|
-
const nTxAfter = this.sessionLogs.get(sessionID)?.transactions.length ?? 0;
|
|
146
|
-
if (nTxAfter !== nTxBefore) {
|
|
147
|
-
const newTransactionLengthBefore = newTransactions.length;
|
|
148
|
-
newTransactions = newTransactions.slice(nTxAfter - nTxBefore);
|
|
149
|
-
console.warn("Transactions changed while async hashing", {
|
|
150
|
-
nTxBefore,
|
|
151
|
-
nTxAfter,
|
|
152
|
-
newTransactionLengthBefore,
|
|
153
|
-
remainingNewTransactions: newTransactions.length,
|
|
141
|
+
else {
|
|
142
|
+
// eslint-disable-next-line neverthrow/must-use-result
|
|
143
|
+
maybeAwaitPrevious = ResultAsync.fromSafePromise(Promise.resolve());
|
|
144
|
+
this._currentAsyncAddTransaction = new Promise((resolve) => {
|
|
145
|
+
thisDone = resolve;
|
|
154
146
|
});
|
|
155
147
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
148
|
+
return maybeAwaitPrevious
|
|
149
|
+
.andThen((_previousDone) => this.node
|
|
150
|
+
.resolveAccountAgentAsync(accountOrAgentIDfromSessionID(sessionID), "Expected to know signer of transaction")
|
|
151
|
+
.andThen((agent) => {
|
|
152
|
+
const signerID = this.crypto.getAgentSignerID(agent);
|
|
153
|
+
const nTxBefore = this.sessionLogs.get(sessionID)?.transactions
|
|
154
|
+
.length ?? 0;
|
|
155
|
+
// const beforeHash = performance.now();
|
|
156
|
+
return ResultAsync.fromSafePromise(this.expectedNewHashAfterAsync(sessionID, newTransactions)).andThen(({ expectedNewHash, newStreamingHash }) => {
|
|
157
|
+
// const afterHash = performance.now();
|
|
158
|
+
// console.log(
|
|
159
|
+
// "Hashing took",
|
|
160
|
+
// afterHash - beforeHash
|
|
161
|
+
// );
|
|
162
|
+
const nTxAfter = this.sessionLogs.get(sessionID)?.transactions
|
|
163
|
+
.length ?? 0;
|
|
164
|
+
if (nTxAfter !== nTxBefore) {
|
|
165
|
+
const newTransactionLengthBefore = newTransactions.length;
|
|
166
|
+
newTransactions = newTransactions.slice(nTxAfter - nTxBefore);
|
|
167
|
+
console.warn("Transactions changed while async hashing", {
|
|
168
|
+
nTxBefore,
|
|
169
|
+
nTxAfter,
|
|
170
|
+
newTransactionLengthBefore,
|
|
171
|
+
remainingNewTransactions: newTransactions.length,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
if (givenExpectedNewHash &&
|
|
175
|
+
givenExpectedNewHash !== expectedNewHash) {
|
|
176
|
+
return err({
|
|
177
|
+
type: "InvalidHash",
|
|
178
|
+
id: this.id,
|
|
179
|
+
expectedNewHash,
|
|
180
|
+
givenExpectedNewHash,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
performance.mark("verifyStart" + this.id);
|
|
184
|
+
if (!this.crypto.verify(newSignature, expectedNewHash, signerID)) {
|
|
185
|
+
return err({
|
|
186
|
+
type: "InvalidSignature",
|
|
187
|
+
id: this.id,
|
|
188
|
+
newSignature,
|
|
189
|
+
sessionID,
|
|
190
|
+
signerID,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
performance.mark("verifyEnd" + this.id);
|
|
194
|
+
performance.measure("verify" + this.id, "verifyStart" + this.id, "verifyEnd" + this.id);
|
|
195
|
+
this.doAddTransactions(sessionID, newTransactions, newSignature, expectedNewHash, newStreamingHash, "deferred");
|
|
196
|
+
return ok(true);
|
|
160
197
|
});
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
return
|
|
169
|
-
}
|
|
170
|
-
performance.mark("verifyEnd" + this.id);
|
|
171
|
-
performance.measure("verify" + this.id, "verifyStart" + this.id, "verifyEnd" + this.id);
|
|
172
|
-
this.doAddTransactions(sessionID, newTransactions, newSignature, expectedNewHash, newStreamingHash, "deferred");
|
|
173
|
-
resolveDone();
|
|
174
|
-
return true;
|
|
198
|
+
}))
|
|
199
|
+
.map((trueResult) => {
|
|
200
|
+
thisDone();
|
|
201
|
+
return trueResult;
|
|
202
|
+
})
|
|
203
|
+
.mapErr((err) => {
|
|
204
|
+
thisDone();
|
|
205
|
+
return err;
|
|
206
|
+
});
|
|
175
207
|
}
|
|
176
208
|
doAddTransactions(sessionID, newTransactions, newSignature, expectedNewHash, newStreamingHash, notifyMode) {
|
|
177
209
|
if (this.node.crashed) {
|
|
@@ -299,13 +331,15 @@ export class CoValueCore {
|
|
|
299
331
|
}
|
|
300
332
|
// This is an ugly hack to get a unique but stable session ID for editing the current account
|
|
301
333
|
const sessionID = this.header.meta?.type === "account"
|
|
302
|
-
? this.node.currentSessionID.replace(this.node.account.id, this.node.account
|
|
334
|
+
? this.node.currentSessionID.replace(this.node.account.id, this.node.account
|
|
335
|
+
.currentAgentID()
|
|
336
|
+
._unsafeUnwrap({ withStackTrace: true }))
|
|
303
337
|
: this.node.currentSessionID;
|
|
304
338
|
const { expectedNewHash } = this.expectedNewHashAfter(sessionID, [
|
|
305
339
|
transaction,
|
|
306
340
|
]);
|
|
307
341
|
const signature = this.crypto.sign(this.node.account.currentSignerSecret(), expectedNewHash);
|
|
308
|
-
const success = this.tryAddTransactions(sessionID, [transaction], expectedNewHash, signature);
|
|
342
|
+
const success = this.tryAddTransactions(sessionID, [transaction], expectedNewHash, signature)._unsafeUnwrap({ withStackTrace: true });
|
|
309
343
|
if (success) {
|
|
310
344
|
void this.node.syncManager.syncCoValue(this);
|
|
311
345
|
}
|
|
@@ -415,12 +449,16 @@ export class CoValueCore {
|
|
|
415
449
|
return keyForEveryone;
|
|
416
450
|
// Try to find key revelation for us
|
|
417
451
|
const lookupAccountOrAgentID = this.header.meta?.type === "account"
|
|
418
|
-
? this.node.account
|
|
452
|
+
? this.node.account
|
|
453
|
+
.currentAgentID()
|
|
454
|
+
._unsafeUnwrap({ withStackTrace: true })
|
|
419
455
|
: this.node.account.id;
|
|
420
456
|
const lastReadyKeyEdit = content.lastEditAt(`${keyID}_for_${lookupAccountOrAgentID}`);
|
|
421
457
|
if (lastReadyKeyEdit?.value) {
|
|
422
458
|
const revealer = lastReadyKeyEdit.by;
|
|
423
|
-
const revealerAgent = this.node
|
|
459
|
+
const revealerAgent = this.node
|
|
460
|
+
.resolveAccountAgent(revealer, "Expected to know revealer")
|
|
461
|
+
._unsafeUnwrap({ withStackTrace: true });
|
|
424
462
|
const secret = this.crypto.unseal(lastReadyKeyEdit.value, this.node.account.currentSealerSecret(), this.crypto.getAgentSealerID(revealerAgent), {
|
|
425
463
|
in: this.id,
|
|
426
464
|
tx: lastReadyKeyEdit.tx,
|
package/dist/coValueCore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coValueCore.js","sourceRoot":"","sources":["../src/coValueCore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coValueCore.js","sourceRoot":"","sources":["../src/coValueCore.ts"],"names":[],"mappings":"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"}
|
package/dist/coValues/account.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RawCoMap } from "./coMap.js";
|
|
2
2
|
import { RawGroup } from "./group.js";
|
|
3
|
+
import { err, ok } from "neverthrow";
|
|
3
4
|
export function accountHeaderForInitialAgentSecret(agentSecret, crypto) {
|
|
4
5
|
const agent = crypto.getAgentID(agentSecret);
|
|
5
6
|
return {
|
|
@@ -15,14 +16,17 @@ export function accountHeaderForInitialAgentSecret(agentSecret, crypto) {
|
|
|
15
16
|
export class RawAccount extends RawGroup {
|
|
16
17
|
currentAgentID() {
|
|
17
18
|
if (this._cachedCurrentAgentID) {
|
|
18
|
-
return this._cachedCurrentAgentID;
|
|
19
|
+
return ok(this._cachedCurrentAgentID);
|
|
19
20
|
}
|
|
20
21
|
const agents = this.keys().filter((k) => k.startsWith("sealer_"));
|
|
21
22
|
if (agents.length !== 1) {
|
|
22
|
-
|
|
23
|
+
return err({
|
|
24
|
+
type: "InvalidAccountAgentID",
|
|
25
|
+
reason: "Account has " + agents.length + " agents",
|
|
26
|
+
});
|
|
23
27
|
}
|
|
24
28
|
this._cachedCurrentAgentID = agents[0];
|
|
25
|
-
return agents[0];
|
|
29
|
+
return ok(agents[0]);
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
/** @hidden */
|
|
@@ -44,20 +48,20 @@ export class RawControlledAccount extends RawAccount {
|
|
|
44
48
|
}
|
|
45
49
|
currentAgentID() {
|
|
46
50
|
if (this._cachedCurrentAgentID) {
|
|
47
|
-
return this._cachedCurrentAgentID;
|
|
51
|
+
return ok(this._cachedCurrentAgentID);
|
|
48
52
|
}
|
|
49
53
|
const agentID = this.crypto.getAgentID(this.agentSecret);
|
|
50
54
|
this._cachedCurrentAgentID = agentID;
|
|
51
|
-
return agentID;
|
|
55
|
+
return ok(agentID);
|
|
52
56
|
}
|
|
53
57
|
currentSignerID() {
|
|
54
|
-
return this.
|
|
58
|
+
return this.currentAgentID().map((id) => this.crypto.getAgentSignerID(id));
|
|
55
59
|
}
|
|
56
60
|
currentSignerSecret() {
|
|
57
61
|
return this.crypto.getAgentSignerSecret(this.agentSecret);
|
|
58
62
|
}
|
|
59
63
|
currentSealerID() {
|
|
60
|
-
return this.
|
|
64
|
+
return this.currentAgentID().map((id) => this.crypto.getAgentSealerID(id));
|
|
61
65
|
}
|
|
62
66
|
currentSealerSecret() {
|
|
63
67
|
return this.crypto.getAgentSealerSecret(this.agentSecret);
|
|
@@ -73,16 +77,16 @@ export class ControlledAgent {
|
|
|
73
77
|
return this.crypto.getAgentID(this.agentSecret);
|
|
74
78
|
}
|
|
75
79
|
currentAgentID() {
|
|
76
|
-
return this.crypto.getAgentID(this.agentSecret);
|
|
80
|
+
return ok(this.crypto.getAgentID(this.agentSecret));
|
|
77
81
|
}
|
|
78
82
|
currentSignerID() {
|
|
79
|
-
return this.
|
|
83
|
+
return this.currentAgentID().map((id) => this.crypto.getAgentSignerID(id));
|
|
80
84
|
}
|
|
81
85
|
currentSignerSecret() {
|
|
82
86
|
return this.crypto.getAgentSignerSecret(this.agentSecret);
|
|
83
87
|
}
|
|
84
88
|
currentSealerID() {
|
|
85
|
-
return this.
|
|
89
|
+
return this.currentAgentID().map((id) => this.crypto.getAgentSealerID(id));
|
|
86
90
|
}
|
|
87
91
|
currentSealerSecret() {
|
|
88
92
|
return this.crypto.getAgentSealerSecret(this.agentSecret);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/coValues/account.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/coValues/account.ts"],"names":[],"mappings":"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"}
|
package/dist/coValues/group.js
CHANGED
|
@@ -73,7 +73,9 @@ export class RawGroup extends RawCoMap {
|
|
|
73
73
|
const memberKey = typeof account === "string" ? account : account.id;
|
|
74
74
|
const agent = typeof account === "string"
|
|
75
75
|
? account
|
|
76
|
-
: account
|
|
76
|
+
: account
|
|
77
|
+
.currentAgentID()
|
|
78
|
+
._unsafeUnwrap({ withStackTrace: true });
|
|
77
79
|
this.set(memberKey, role, "trusting");
|
|
78
80
|
if (this.get(memberKey) !== role) {
|
|
79
81
|
throw new Error("Failed to set role");
|
|
@@ -110,7 +112,7 @@ export class RawGroup extends RawCoMap {
|
|
|
110
112
|
};
|
|
111
113
|
const newReadKey = this.core.crypto.newRandomKeySecret();
|
|
112
114
|
for (const readerID of currentlyPermittedReaders) {
|
|
113
|
-
const reader = this.core.node.resolveAccountAgent(readerID, "Expected to know currently permitted reader");
|
|
115
|
+
const reader = this.core.node.resolveAccountAgent(readerID, "Expected to know currently permitted reader")._unsafeUnwrap({ withStackTrace: true });
|
|
114
116
|
this.set(`${newReadKey.id}_for_${readerID}`, this.core.crypto.seal({
|
|
115
117
|
message: newReadKey.secret,
|
|
116
118
|
from: this.core.node.account.currentSealerSecret(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/coValues/group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,EAAW,SAAS,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAmB,CAAC;AAiB5C;;;;;;;;;;;;;;;;;;;;KAoBK;AACL,MAAM,OAAO,QAEX,SAAQ,QAA0B;IAChC;;;;OAIG;IACH,MAAM,CAAC,SAAoB;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB;IAChB,cAAc,CAAC,SAA8B;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACL,OAAyD,EACzD,IAAU;QAEV,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB;IAChB,iBAAiB,CACb,OAAmE,EACnE,IAAU;QAEV,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAErD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC/D;QAED,IAAI,OAAO,KAAK,QAAQ,EAAE;YACtB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE;gBAC3C,MAAM,IAAI,KAAK,CACX,2DAA2D,CAC9D,CAAC;aACL;YACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAEpC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;aACzC;YAED,IAAI,CAAC,GAAG,CACJ,GAAG,cAAc,CAAC,EAAE,QAAQ,QAAQ,EAAE,EACtC,cAAc,CAAC,MAAM,EACrB,UAAU,CACb,CAAC;SACL;aAAM;YACH,MAAM,SAAS,GACX,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GACP,OAAO,OAAO,KAAK,QAAQ;gBACvB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/coValues/group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,EAAW,SAAS,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAmB,CAAC;AAiB5C;;;;;;;;;;;;;;;;;;;;KAoBK;AACL,MAAM,OAAO,QAEX,SAAQ,QAA0B;IAChC;;;;OAIG;IACH,MAAM,CAAC,SAAoB;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB;IAChB,cAAc,CAAC,SAA8B;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACL,OAAyD,EACzD,IAAU;QAEV,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB;IAChB,iBAAiB,CACb,OAAmE,EACnE,IAAU;QAEV,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAErD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC/D;QAED,IAAI,OAAO,KAAK,QAAQ,EAAE;YACtB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE;gBAC3C,MAAM,IAAI,KAAK,CACX,2DAA2D,CAC9D,CAAC;aACL;YACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAEpC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;aACzC;YAED,IAAI,CAAC,GAAG,CACJ,GAAG,cAAc,CAAC,EAAE,QAAQ,QAAQ,EAAE,EACtC,cAAc,CAAC,MAAM,EACrB,UAAU,CACb,CAAC;SACL;aAAM;YACH,MAAM,SAAS,GACX,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GACP,OAAO,OAAO,KAAK,QAAQ;gBACvB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO;qBACF,cAAc,EAAE;qBAChB,aAAa,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAEtC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;aACzC;YAED,IAAI,CAAC,GAAG,CACJ,GAAG,cAAc,CAAC,EAAE,QAAQ,SAAS,EAAE,EACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAClB,OAAO,EAAE,cAAc,CAAC,MAAM;gBAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;gBAClD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAC5C,aAAa,EAAE;oBACX,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;iBACpC;aACJ,CAAC,EACF,UAAU,CACb,CAAC;SACL;IACL,CAAC;IAED,gBAAgB;IAChB,aAAa;QACT,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACzD,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,CACH,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAC7D,CAAC;aACL;iBAAM;gBACH,OAAO,KAAK,CAAC;aAChB;QACL,CAAC,CAA4B,CAAC;QAE9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE1D,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;YAC7B,MAAM,IAAI,KAAK,CACX,sDAAsD,CACzD,CAAC;SACL;QAED,MAAM,cAAc,GAAG;YACnB,EAAE,EAAE,mBAAmB,CAAC,EAAE;YAC1B,MAAM,EAAE,mBAAmB,CAAC,MAAM;SACrC,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAEzD,KAAK,MAAM,QAAQ,IAAI,yBAAyB,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAC7C,QAAQ,EACR,6CAA6C,CAChD,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YAE1C,IAAI,CAAC,GAAG,CACJ,GAAG,UAAU,CAAC,EAAE,QAAQ,QAAQ,EAAE,EAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAClB,OAAO,EAAE,UAAU,CAAC,MAAM;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;gBAClD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBAC7C,aAAa,EAAE;oBACX,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;iBACpC;aACJ,CAAC,EACF,UAAU,CACb,CAAC;SACL;QAED,IAAI,CAAC,GAAG,CACJ,GAAG,cAAc,CAAC,EAAE,QAAQ,UAAU,CAAC,EAAE,EAAE,EAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC9B,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,cAAc;SAC5B,CAAC,CAAC,SAAS,EACZ,UAAU,CACb,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,OAAyD;QAClE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,gBAAgB;IAChB,oBAAoB,CAChB,OAAmE;QAEnE,MAAM,SAAS,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,IAAmC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAE1D,MAAM,YAAY,GACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAE3D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,IAAI,QAAgB,CAAC,CAAC;QAE1D,OAAO,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACL,IAAkB,EAClB,IAAsB,EACtB,cAAsC,SAAS;QAE/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;aACrB,aAAa,CAAC;YACX,IAAI,EAAE,OAAO;YACb,OAAO,EAAE;gBACL,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,IAAI,CAAC,EAAE;aACjB;YACD,IAAI,EAAE,IAAI,IAAI,IAAI;YAClB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;SACzC,CAAC;aACD,iBAAiB,EAAO,CAAC;QAE9B,IAAI,IAAI,EAAE;YACN,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;aACpC;SACJ;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,UAAU,CACN,IAAmB,EACnB,IAAsB,EACtB,cAAsC,SAAS;QAE/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;aACtB,aAAa,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACL,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,IAAI,CAAC,EAAE;aACjB;YACD,IAAI,EAAE,IAAI,IAAI,IAAI;YAClB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;SACzC,CAAC;aACD,iBAAiB,EAAO,CAAC;QAE9B,IAAI,IAAI,EAAE;YACN,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;aAC7C;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kCAAkC;IAClC,YAAY,CAAwB,IAAsB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;aAChB,aAAa,CAAC;YACX,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACL,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,IAAI,CAAC,EAAE;aACjB;YACD,IAAI,EAAE,IAAI,IAAI,IAAI;YAClB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;SACzC,CAAC;aACD,iBAAiB,EAAO,CAAC;IAClC,CAAC;IAED,kCAAkC;IAClC,kBAAkB,CACd,OAAwB,EAAE,IAAI,EAAE,QAAQ,EAAE;QAE1C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;aAChB,aAAa,CAAC;YACX,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACL,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,IAAI,CAAC,EAAE;aACjB;YACD,IAAI,EAAE,IAAI;YACV,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;SACzC,CAAC;aACD,iBAAiB,EAAO,CAAC;IAClC,CAAC;CACJ;AAID,SAAS,0BAA0B,CAAC,UAAsB;IACtD,OAAO,iBAAiB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,YAA0B;IACjE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC5C;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC"}
|
package/dist/localNode.js
CHANGED
|
@@ -4,6 +4,7 @@ import { SyncManager } from "./sync.js";
|
|
|
4
4
|
import { isAgentID } from "./ids.js";
|
|
5
5
|
import { accountHeaderForInitialAgentSecret, RawControlledAccount, ControlledAgent, } from "./coValues/account.js";
|
|
6
6
|
import { expectGroup } from "./typeUtils/expectGroup.js";
|
|
7
|
+
import { err, ok, okAsync, ResultAsync } from "neverthrow";
|
|
7
8
|
/** A `LocalNode` represents a local view of a set of loaded `CoValue`s, from the perspective of a particular account (or primitive cryptographic agent).
|
|
8
9
|
|
|
9
10
|
A `LocalNode` can have peers that it syncs to, for example some form of local persistence, or a sync server, such as `sync.jazz.tools` (Jazz Global Mesh).
|
|
@@ -116,7 +117,9 @@ export class LocalNode {
|
|
|
116
117
|
/** @internal */
|
|
117
118
|
createCoValue(header) {
|
|
118
119
|
if (this.crashed) {
|
|
119
|
-
throw new Error("Trying to create CoValue after node has crashed", {
|
|
120
|
+
throw new Error("Trying to create CoValue after node has crashed", {
|
|
121
|
+
cause: this.crashed,
|
|
122
|
+
});
|
|
120
123
|
}
|
|
121
124
|
const coValue = new CoValueCore(header, this);
|
|
122
125
|
this.coValues[coValue.id] = { state: "loaded", coValue: coValue };
|
|
@@ -126,7 +129,9 @@ export class LocalNode {
|
|
|
126
129
|
/** @internal */
|
|
127
130
|
async loadCoValueCore(id, options = {}) {
|
|
128
131
|
if (this.crashed) {
|
|
129
|
-
throw new Error("Trying to load CoValue after node has crashed", {
|
|
132
|
+
throw new Error("Trying to load CoValue after node has crashed", {
|
|
133
|
+
cause: this.crashed,
|
|
134
|
+
});
|
|
130
135
|
}
|
|
131
136
|
let entry = this.coValues[id];
|
|
132
137
|
if (!entry) {
|
|
@@ -293,7 +298,7 @@ export class LocalNode {
|
|
|
293
298
|
/** @internal */
|
|
294
299
|
resolveAccountAgent(id, expectation) {
|
|
295
300
|
if (isAgentID(id)) {
|
|
296
|
-
return id;
|
|
301
|
+
return ok(id);
|
|
297
302
|
}
|
|
298
303
|
const coValue = this.expectCoValueLoaded(id, expectation);
|
|
299
304
|
if (coValue.header.type !== "comap" ||
|
|
@@ -301,26 +306,44 @@ export class LocalNode {
|
|
|
301
306
|
!coValue.header.meta ||
|
|
302
307
|
!("type" in coValue.header.meta) ||
|
|
303
308
|
coValue.header.meta.type !== "account") {
|
|
304
|
-
|
|
309
|
+
return err({
|
|
310
|
+
type: "UnexpectedlyNotAccount",
|
|
311
|
+
expectation,
|
|
312
|
+
id,
|
|
313
|
+
});
|
|
305
314
|
}
|
|
306
315
|
return coValue.getCurrentContent().currentAgentID();
|
|
307
316
|
}
|
|
308
|
-
|
|
317
|
+
resolveAccountAgentAsync(id, expectation) {
|
|
309
318
|
if (isAgentID(id)) {
|
|
310
|
-
return id;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
319
|
+
return okAsync(id);
|
|
320
|
+
}
|
|
321
|
+
return ResultAsync.fromPromise(this.loadCoValueCore(id), (e) => ({
|
|
322
|
+
type: "ErrorLoadingCoValueCore",
|
|
323
|
+
expectation,
|
|
324
|
+
id,
|
|
325
|
+
error: e,
|
|
326
|
+
})).andThen((coValue) => {
|
|
327
|
+
if (coValue === "unavailable") {
|
|
328
|
+
return err({
|
|
329
|
+
type: "AccountUnavailableFromAllPeers",
|
|
330
|
+
expectation,
|
|
331
|
+
id,
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
if (coValue.header.type !== "comap" ||
|
|
335
|
+
coValue.header.ruleset.type !== "group" ||
|
|
336
|
+
!coValue.header.meta ||
|
|
337
|
+
!("type" in coValue.header.meta) ||
|
|
338
|
+
coValue.header.meta.type !== "account") {
|
|
339
|
+
return err({
|
|
340
|
+
type: "UnexpectedlyNotAccount",
|
|
341
|
+
expectation,
|
|
342
|
+
id,
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
return coValue.getCurrentContent().currentAgentID();
|
|
346
|
+
});
|
|
324
347
|
}
|
|
325
348
|
/**
|
|
326
349
|
* @deprecated use Account.createGroup() instead
|
|
@@ -338,7 +361,9 @@ export class LocalNode {
|
|
|
338
361
|
group.set(`${readKey.id}_for_${this.account.id}`, this.crypto.seal({
|
|
339
362
|
message: readKey.secret,
|
|
340
363
|
from: this.account.currentSealerSecret(),
|
|
341
|
-
to: this.account
|
|
364
|
+
to: this.account
|
|
365
|
+
.currentSealerID()
|
|
366
|
+
._unsafeUnwrap({ withStackTrace: true }),
|
|
342
367
|
nOnceMaterial: {
|
|
343
368
|
in: groupCoValue.id,
|
|
344
369
|
tx: groupCoValue.nextTransactionID(),
|