@dxos/echo-db 2.32.1-dev.ebff6d2e → 2.33.1-dev.0a5ae2e2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/echo.test.js +70 -0
- package/dist/src/echo.test.js.map +1 -1
- package/dist/src/invitations/greeting-initiator.d.ts +1 -4
- package/dist/src/invitations/greeting-initiator.d.ts.map +1 -1
- package/dist/src/invitations/greeting-initiator.js +1 -7
- package/dist/src/invitations/greeting-initiator.js.map +1 -1
- package/dist/src/invitations/halo-recovery-initiator.d.ts.map +1 -1
- package/dist/src/invitations/halo-recovery-initiator.js +2 -2
- package/dist/src/invitations/halo-recovery-initiator.js.map +1 -1
- package/dist/src/invitations/offline-invitation-claimer.d.ts.map +1 -1
- package/dist/src/invitations/offline-invitation-claimer.js +2 -2
- package/dist/src/invitations/offline-invitation-claimer.js.map +1 -1
- package/dist/src/parties/authenticator.d.ts +5 -0
- package/dist/src/parties/authenticator.d.ts.map +1 -0
- package/dist/src/parties/authenticator.js +27 -0
- package/dist/src/parties/authenticator.js.map +1 -0
- package/dist/src/parties/party-core.d.ts.map +1 -1
- package/dist/src/parties/party-core.js +1 -0
- package/dist/src/parties/party-core.js.map +1 -1
- package/dist/src/parties/party-factory.d.ts.map +1 -1
- package/dist/src/parties/party-factory.js +1 -5
- package/dist/src/parties/party-factory.js.map +1 -1
- package/dist/src/parties/party-internal.d.ts.map +1 -1
- package/dist/src/parties/party-internal.js +6 -4
- package/dist/src/parties/party-internal.js.map +1 -1
- package/dist/src/pipeline/party-feed-provider.d.ts +5 -1
- package/dist/src/pipeline/party-feed-provider.d.ts.map +1 -1
- package/dist/src/pipeline/party-feed-provider.js +36 -13
- package/dist/src/pipeline/party-feed-provider.js.map +1 -1
- package/dist/src/pipeline/party-processor.d.ts +2 -3
- package/dist/src/pipeline/party-processor.d.ts.map +1 -1
- package/dist/src/pipeline/party-processor.js +5 -11
- package/dist/src/pipeline/party-processor.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -20
- package/src/echo.test.ts +100 -1
- package/src/invitations/greeting-initiator.ts +1 -26
- package/src/invitations/halo-recovery-initiator.ts +4 -4
- package/src/invitations/offline-invitation-claimer.ts +4 -4
- package/src/parties/authenticator.ts +31 -0
- package/src/parties/party-core.ts +1 -0
- package/src/parties/party-factory.ts +1 -6
- package/src/parties/party-internal.ts +15 -6
- package/src/pipeline/party-feed-provider.ts +40 -14
- package/src/pipeline/party-processor.ts +5 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-internal.d.ts","sourceRoot":"","sources":["../../../src/parties/party-internal.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,KAAK,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"party-internal.d.ts","sourceRoot":"","sources":["../../../src/parties/party-internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ const errors_1 = require("../errors");
|
|
|
22
22
|
const halo_1 = require("../halo");
|
|
23
23
|
const invitations_1 = require("../invitations");
|
|
24
24
|
const pipeline_1 = require("../pipeline");
|
|
25
|
+
const authenticator_1 = require("./authenticator");
|
|
25
26
|
const party_core_1 = require("./party-core");
|
|
26
27
|
const party_manager_1 = require("./party-manager");
|
|
27
28
|
exports.PARTY_ITEM_TYPE = 'dxos:item/party';
|
|
@@ -51,7 +52,7 @@ class PartyInternal {
|
|
|
51
52
|
key: this.key.toHex(),
|
|
52
53
|
isOpen: this.isOpen,
|
|
53
54
|
isActive: this.isActive,
|
|
54
|
-
feedKeys: this._feedProvider.
|
|
55
|
+
feedKeys: this._feedProvider.getFeeds().length,
|
|
55
56
|
timeframe: this.isOpen ? this._partyCore.timeframe : undefined,
|
|
56
57
|
properties: this.isOpen ? this.getPropertiesSet().expectOne().model.toObject() : undefined
|
|
57
58
|
};
|
|
@@ -120,7 +121,7 @@ class PartyInternal {
|
|
|
120
121
|
// Network/swarm.
|
|
121
122
|
//
|
|
122
123
|
const writeFeed = await this._partyCore.getWriteFeed();
|
|
123
|
-
this._protocol = new pipeline_1.PartyProtocolFactory(this._partyCore.key, this._networkManager, this._feedProvider, this._identityProvider, this._createCredentialsProvider(this._partyCore.key, writeFeed.key), this._invitationManager, this._partyCore.processor.
|
|
124
|
+
this._protocol = new pipeline_1.PartyProtocolFactory(this._partyCore.key, this._networkManager, this._feedProvider, this._identityProvider, this._createCredentialsProvider(this._partyCore.key, writeFeed.key), this._invitationManager, (0, authenticator_1.createAuthenticator)(this._partyCore.processor, this._identityProvider), this._partyCore.processor.getActiveFeedSet());
|
|
124
125
|
// Replication.
|
|
125
126
|
await this._protocol.start();
|
|
126
127
|
// Issue an 'update' whenever the properties change.
|
|
@@ -196,9 +197,10 @@ class PartyInternal {
|
|
|
196
197
|
_createCredentialsProvider(partyKey, feedKey) {
|
|
197
198
|
return {
|
|
198
199
|
get: () => {
|
|
199
|
-
var _a, _b, _c;
|
|
200
|
+
var _a, _b, _c, _d;
|
|
200
201
|
const identity = this._identityProvider();
|
|
201
|
-
|
|
202
|
+
const signingKey = (_b = (_a = identity.deviceKeyChain) !== null && _a !== void 0 ? _a : identity.deviceKey) !== null && _b !== void 0 ? _b : (0, debug_1.raise)(new errors_1.IdentityNotInitializedError());
|
|
203
|
+
return Buffer.from(credentials_1.codec.encode((0, credentials_1.createAuthMessage)(identity.signer, partyKey, (_c = identity.identityKey) !== null && _c !== void 0 ? _c : (0, debug_1.raise)(new errors_1.IdentityNotInitializedError()), signingKey, identity.keyring.getKey(feedKey), undefined, (0, credentials_1.createFeedAdmitMessage)(identity.signer, partyKey, feedKey, [(_d = identity.keyring.getKey(feedKey)) !== null && _d !== void 0 ? _d : (0, debug_1.failUndefined)(), signingKey]))));
|
|
202
204
|
}
|
|
203
205
|
};
|
|
204
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-internal.js","sourceRoot":"","sources":["../../../src/parties/party-internal.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,oDAA4B;AAE5B,uCAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"party-internal.js","sourceRoot":"","sources":["../../../src/parties/party-internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Event } from '@dxos/async';
|
|
1
2
|
import { Keyring } from '@dxos/credentials';
|
|
2
3
|
import { PublicKey } from '@dxos/crypto';
|
|
3
4
|
import { FeedStoreIterator, MessageSelector, Timeframe } from '@dxos/echo-protocol';
|
|
@@ -8,9 +9,12 @@ export declare class PartyFeedProvider {
|
|
|
8
9
|
private readonly _keyring;
|
|
9
10
|
private readonly _feedStore;
|
|
10
11
|
private readonly _partyKey;
|
|
12
|
+
private readonly _feeds;
|
|
13
|
+
readonly feedOpened: Event<FeedDescriptor>;
|
|
11
14
|
constructor(_metadataStore: MetadataStore, _keyring: Keyring, _feedStore: FeedStore, _partyKey: PublicKey);
|
|
15
|
+
getFeeds(): FeedDescriptor[];
|
|
12
16
|
createOrOpenWritableFeed(): Promise<FeedDescriptor>;
|
|
13
|
-
|
|
17
|
+
openKnownFeeds(): Promise<void>;
|
|
14
18
|
createOrOpenReadOnlyFeed(feedKey: PublicKey): Promise<FeedDescriptor>;
|
|
15
19
|
private _createReadWriteFeed;
|
|
16
20
|
createIterator(messageSelector: MessageSelector, initialTimeframe?: Timeframe): Promise<FeedStoreIterator>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-feed-provider.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAW,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"party-feed-provider.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAW,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4D;IACnF,QAAQ,CAAC,UAAU,wBAA+B;gBAG/B,cAAc,EAAE,aAAa,EAC7B,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,SAAS;IAGvC,QAAQ,IAAK,cAAc,EAAE;IAIvB,wBAAwB;IAqBxB,cAAc;IAad,wBAAwB,CAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;YAe9D,oBAAoB;IAW5B,cAAc,CAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,SAAS;CAkBrF"}
|
|
@@ -9,8 +9,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.PartyFeedProvider = void 0;
|
|
10
10
|
const assert_1 = __importDefault(require("assert"));
|
|
11
11
|
const debug_1 = __importDefault(require("debug"));
|
|
12
|
+
const async_1 = require("@dxos/async");
|
|
12
13
|
const credentials_1 = require("@dxos/credentials");
|
|
13
14
|
const echo_protocol_1 = require("@dxos/echo-protocol");
|
|
15
|
+
const util_1 = require("@dxos/util");
|
|
14
16
|
const STALL_TIMEOUT = 1000;
|
|
15
17
|
const warn = (0, debug_1.default)('dxos:echo-db:party-feed-provider:warn');
|
|
16
18
|
class PartyFeedProvider {
|
|
@@ -19,35 +21,54 @@ class PartyFeedProvider {
|
|
|
19
21
|
this._keyring = _keyring;
|
|
20
22
|
this._feedStore = _feedStore;
|
|
21
23
|
this._partyKey = _partyKey;
|
|
24
|
+
this._feeds = new util_1.ComplexMap(x => x.toHex());
|
|
25
|
+
this.feedOpened = new async_1.Event();
|
|
26
|
+
}
|
|
27
|
+
getFeeds() {
|
|
28
|
+
return Array.from(this._feeds.values());
|
|
22
29
|
}
|
|
23
|
-
// TODO(dmaretskyi): Consider refactoring this to have write feed stored separeately in metadata.
|
|
24
30
|
async createOrOpenWritableFeed() {
|
|
25
31
|
const partyMetadata = this._metadataStore.getParty(this._partyKey);
|
|
26
|
-
if (!partyMetadata) {
|
|
27
|
-
return this._createReadWriteFeed();
|
|
28
|
-
}
|
|
29
|
-
if (!partyMetadata.dataFeedKey) {
|
|
32
|
+
if (!(partyMetadata === null || partyMetadata === void 0 ? void 0 : partyMetadata.dataFeedKey)) {
|
|
30
33
|
return this._createReadWriteFeed();
|
|
31
34
|
}
|
|
32
35
|
const fullKey = this._keyring.getFullKey(partyMetadata.dataFeedKey);
|
|
33
36
|
if (!(fullKey === null || fullKey === void 0 ? void 0 : fullKey.secretKey)) {
|
|
34
37
|
return this._createReadWriteFeed();
|
|
35
38
|
}
|
|
39
|
+
if (this._feeds.has(fullKey.publicKey)) {
|
|
40
|
+
return this._feeds.get(fullKey.publicKey);
|
|
41
|
+
}
|
|
36
42
|
const feed = await this._feedStore.openReadWriteFeed(fullKey.publicKey, fullKey.secretKey);
|
|
37
|
-
|
|
38
|
-
|
|
43
|
+
this._feeds.set(fullKey.publicKey, feed);
|
|
44
|
+
this.feedOpened.emit(feed);
|
|
39
45
|
return feed;
|
|
40
46
|
}
|
|
41
|
-
|
|
47
|
+
async openKnownFeeds() {
|
|
42
48
|
var _a, _b;
|
|
43
|
-
|
|
49
|
+
for (const feedKey of (_b = (_a = this._metadataStore.getParty(this._partyKey)) === null || _a === void 0 ? void 0 : _a.feedKeys) !== null && _b !== void 0 ? _b : []) {
|
|
50
|
+
if (!this._feeds.has(feedKey)) {
|
|
51
|
+
const fullKey = this._keyring.getFullKey(feedKey);
|
|
52
|
+
const feed = (fullKey === null || fullKey === void 0 ? void 0 : fullKey.secretKey)
|
|
53
|
+
? await this._feedStore.openReadWriteFeed(fullKey.publicKey, fullKey.secretKey)
|
|
54
|
+
: await this._feedStore.openReadOnlyFeed(feedKey);
|
|
55
|
+
this._feeds.set(feedKey, feed);
|
|
56
|
+
this.feedOpened.emit(feed);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
44
59
|
}
|
|
45
60
|
async createOrOpenReadOnlyFeed(feedKey) {
|
|
61
|
+
if (this._feeds.has(feedKey)) {
|
|
62
|
+
return this._feeds.get(feedKey);
|
|
63
|
+
}
|
|
46
64
|
await this._metadataStore.addPartyFeed(this._partyKey, feedKey);
|
|
47
65
|
if (!this._keyring.hasKey(feedKey)) {
|
|
48
66
|
await this._keyring.addPublicKey({ type: credentials_1.KeyType.FEED, publicKey: feedKey });
|
|
49
67
|
}
|
|
50
|
-
|
|
68
|
+
const feed = await this._feedStore.openReadOnlyFeed(feedKey);
|
|
69
|
+
this._feeds.set(feedKey, feed);
|
|
70
|
+
this.feedOpened.emit(feed);
|
|
71
|
+
return feed;
|
|
51
72
|
}
|
|
52
73
|
async _createReadWriteFeed() {
|
|
53
74
|
const feedKey = await this._keyring.createKeyRecord({ type: credentials_1.KeyType.FEED });
|
|
@@ -55,14 +76,16 @@ class PartyFeedProvider {
|
|
|
55
76
|
(0, assert_1.default)(fullKey && fullKey.secretKey);
|
|
56
77
|
await this._metadataStore.setDataFeed(this._partyKey, fullKey.publicKey);
|
|
57
78
|
const feed = await this._feedStore.openReadWriteFeed(fullKey.publicKey, fullKey.secretKey);
|
|
79
|
+
this._feeds.set(fullKey.publicKey, feed);
|
|
80
|
+
this.feedOpened.emit(feed);
|
|
58
81
|
return feed;
|
|
59
82
|
}
|
|
60
83
|
async createIterator(messageSelector, initialTimeframe) {
|
|
61
84
|
const iterator = new echo_protocol_1.FeedStoreIterator(() => true, messageSelector, initialTimeframe !== null && initialTimeframe !== void 0 ? initialTimeframe : new echo_protocol_1.Timeframe());
|
|
62
|
-
for (const
|
|
63
|
-
iterator.addFeedDescriptor(
|
|
85
|
+
for (const feed of this._feeds.values()) {
|
|
86
|
+
iterator.addFeedDescriptor(feed);
|
|
64
87
|
}
|
|
65
|
-
this.
|
|
88
|
+
this.feedOpened.on((descriptor) => {
|
|
66
89
|
var _a, _b;
|
|
67
90
|
if ((_b = (_a = this._metadataStore.getParty(this._partyKey)) === null || _a === void 0 ? void 0 : _a.feedKeys) === null || _b === void 0 ? void 0 : _b.find(feedKey => feedKey.equals(descriptor.key))) {
|
|
68
91
|
iterator.addFeedDescriptor(descriptor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-feed-provider.js","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAE1B,mDAAqD;AAErD,uDAAoF;
|
|
1
|
+
{"version":3,"file":"party-feed-provider.js","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Event } from '@dxos/async';
|
|
3
|
-
import {
|
|
3
|
+
import { KeyHint, PartyState, Message as HaloMessage } from '@dxos/credentials';
|
|
4
4
|
import { PublicKey } from '@dxos/crypto';
|
|
5
5
|
import { FeedKey, FeedWriter, IHaloStream, PartyKey, HaloStateSnapshot, WriteReceipt } from '@dxos/echo-protocol';
|
|
6
6
|
export interface FeedSetProvider {
|
|
@@ -13,7 +13,6 @@ export interface FeedSetProvider {
|
|
|
13
13
|
export declare class PartyProcessor {
|
|
14
14
|
private readonly _partyKey;
|
|
15
15
|
private readonly _state;
|
|
16
|
-
private readonly _authenticator;
|
|
17
16
|
private _outboundHaloStream;
|
|
18
17
|
protected readonly _feedAdded: Event<PublicKey>;
|
|
19
18
|
readonly keyOrInfoAdded: Event<PublicKey>;
|
|
@@ -28,7 +27,7 @@ export declare class PartyProcessor {
|
|
|
28
27
|
get credentialMessages(): Map<string, import("@dxos/credentials").SignedMessage>;
|
|
29
28
|
get infoMessages(): Map<string, import("@dxos/credentials").SignedMessage>;
|
|
30
29
|
get genesisRequired(): boolean;
|
|
31
|
-
get
|
|
30
|
+
get state(): PartyState;
|
|
32
31
|
isFeedAdmitted(feedKey: FeedKey): boolean;
|
|
33
32
|
isMemberKey(publicKey: PublicKey): boolean;
|
|
34
33
|
getMemberInfo(publicKey: PublicKey): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-processor.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-processor.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"party-processor.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-processor.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,OAAO,EAEP,UAAU,EACV,OAAO,IAAI,WAAW,EAGvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKlH,MAAM,WAAW,eAAe;IAC9B,GAAG,IAAI,OAAO,EAAE,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;CACtB;AAED;;GAEG;AACH,qBAAa,cAAc;IAevB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAd5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,OAAO,CAAC,mBAAmB,CAAsC;IAEjE,SAAS,CAAC,QAAQ,CAAC,UAAU,mBAAuB;IAEpD,SAAgB,cAAc,mBAA0B;IAExD;;OAEG;IACH,OAAO,CAAC,aAAa,CAAqB;gBAGvB,SAAS,EAAE,QAAQ;IAatC,IAAI,QAAQ,cAEX;IAED,IAAI,QAAQ,IAAK,SAAS,EAAE,CAE3B;IAED,IAAI,UAAU,IAAK,SAAS,EAAE,CAE7B;IAED,IAAI,kBAAkB,2DAErB;IAED,IAAI,YAAY,2DAEf;IAED,IAAI,eAAe,YAElB;IAED,IAAI,KAAK,eAER;IAED,cAAc,CAAE,OAAO,EAAE,OAAO;IAKhC,WAAW,CAAE,SAAS,EAAE,SAAS;IAKjC,aAAa,CAAE,SAAS,EAAE,SAAS;IAKnC;;OAEG;IACH,mBAAmB,CAAE,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;IAO7D,gBAAgB,IAAK,eAAe;IAOpC,oBAAoB,CAAE,YAAY,EAAE,MAAM;IAIpC,SAAS,CAAE,KAAK,EAAE,OAAO,EAAE;IAU3B,cAAc,CAAE,OAAO,EAAE,WAAW;IAO1C,iBAAiB,CAAE,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;IAI5C,gBAAgB,CAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAMpE,YAAY,IAAK,iBAAiB;IAM5B,mBAAmB,CAAE,QAAQ,EAAE,iBAAiB;CAMvD"}
|
|
@@ -26,19 +26,13 @@ class PartyProcessor {
|
|
|
26
26
|
*/
|
|
27
27
|
this._haloMessages = [];
|
|
28
28
|
this._state = new credentials_1.PartyState(this._partyKey);
|
|
29
|
-
this._authenticator = new credentials_1.PartyAuthenticator(this._state);
|
|
30
|
-
/* TODO(telackey): `@dxos/credentials` was only half converted to TS. In its current state, the KeyRecord type
|
|
31
|
-
* is not exported, and the PartyStateMachine being used is not properly understood as an EventEmitter by TS.
|
|
32
|
-
* Casting to 'any' is a workaround for the compiler, but the fix is fully to convert @dxos/credentials to TS.
|
|
33
|
-
*/
|
|
34
|
-
const state = this._state;
|
|
35
29
|
// TODO(marik-d): Use `Event.wrap` here.
|
|
36
|
-
|
|
30
|
+
this._state.on(credentials_1.PartyEventType.ADMIT_FEED, (keyRecord) => {
|
|
37
31
|
log(`Feed key admitted ${keyRecord.publicKey.toHex()}`);
|
|
38
32
|
this._feedAdded.emit(keyRecord.publicKey);
|
|
39
33
|
});
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
this._state.on(credentials_1.PartyEventType.ADMIT_KEY, (keyRecord) => this.keyOrInfoAdded.emit(keyRecord.publicKey));
|
|
35
|
+
this._state.on(credentials_1.IdentityEventType.UPDATE_IDENTITY, (publicKey) => this.keyOrInfoAdded.emit(publicKey));
|
|
42
36
|
}
|
|
43
37
|
get partyKey() {
|
|
44
38
|
return this._partyKey;
|
|
@@ -58,8 +52,8 @@ class PartyProcessor {
|
|
|
58
52
|
get genesisRequired() {
|
|
59
53
|
return this._state.credentialMessages.size === 0;
|
|
60
54
|
}
|
|
61
|
-
get
|
|
62
|
-
return this.
|
|
55
|
+
get state() {
|
|
56
|
+
return this._state;
|
|
63
57
|
}
|
|
64
58
|
isFeedAdmitted(feedKey) {
|
|
65
59
|
// TODO(telackey): Make sure it is a feed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-processor.js","sourceRoot":"","sources":["../../../src/pipeline/party-processor.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAE1B,uCAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"party-processor.js","sourceRoot":"","sources":["../../../src/pipeline/party-processor.ts"],"names":[],"mappings":"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"}
|