@towns-labs/sdk 2.0.10 → 2.0.12
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 +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +45 -1
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/streamStateView_User.d.ts.map +1 -1
- package/dist/streamStateView_User.js +1 -0
- package/dist/streamStateView_User.js.map +1 -1
- package/dist/streamStateView_UserInbox.d.ts.map +1 -1
- package/dist/streamStateView_UserInbox.js +1 -0
- package/dist/streamStateView_UserInbox.js.map +1 -1
- package/dist/streamStateView_UserMetadata.d.ts.map +1 -1
- package/dist/streamStateView_UserMetadata.js +1 -0
- package/dist/streamStateView_UserMetadata.js.map +1 -1
- package/dist/streamStateView_UserSettings.d.ts.map +1 -1
- package/dist/streamStateView_UserSettings.js +9 -1
- package/dist/streamStateView_UserSettings.js.map +1 -1
- package/dist/sync-agent/dms/dms.d.ts +5 -5
- package/dist/sync-agent/dms/dms.d.ts.map +1 -1
- package/dist/sync-agent/dms/dms.js +12 -27
- package/dist/sync-agent/dms/dms.js.map +1 -1
- package/dist/sync-agent/dms/models/dm.d.ts +4 -5
- package/dist/sync-agent/dms/models/dm.d.ts.map +1 -1
- package/dist/sync-agent/dms/models/dm.js +28 -34
- package/dist/sync-agent/dms/models/dm.js.map +1 -1
- package/dist/sync-agent/gdms/gdms.d.ts +5 -6
- package/dist/sync-agent/gdms/gdms.d.ts.map +1 -1
- package/dist/sync-agent/gdms/gdms.js +12 -27
- package/dist/sync-agent/gdms/gdms.js.map +1 -1
- package/dist/sync-agent/gdms/models/gdm.d.ts +7 -5
- package/dist/sync-agent/gdms/models/gdm.d.ts.map +1 -1
- package/dist/sync-agent/gdms/models/gdm.js +29 -34
- package/dist/sync-agent/gdms/models/gdm.js.map +1 -1
- package/dist/sync-agent/members/members.d.ts +6 -18
- package/dist/sync-agent/members/members.d.ts.map +1 -1
- package/dist/sync-agent/members/members.js +25 -124
- package/dist/sync-agent/members/members.js.map +1 -1
- package/dist/sync-agent/members/models/member.d.ts +3 -45
- package/dist/sync-agent/members/models/member.d.ts.map +1 -1
- package/dist/sync-agent/members/models/member.js +15 -114
- package/dist/sync-agent/members/models/member.js.map +1 -1
- package/dist/sync-agent/members/models/myself.d.ts +1 -11
- package/dist/sync-agent/members/models/myself.d.ts.map +1 -1
- package/dist/sync-agent/members/models/myself.js +1 -84
- package/dist/sync-agent/members/models/myself.js.map +1 -1
- package/dist/sync-agent/river-connection/riverConnection.d.ts +5 -11
- package/dist/sync-agent/river-connection/riverConnection.d.ts.map +1 -1
- package/dist/sync-agent/river-connection/riverConnection.js +27 -29
- package/dist/sync-agent/river-connection/riverConnection.js.map +1 -1
- package/dist/sync-agent/spaces/models/channel.d.ts +7 -26
- package/dist/sync-agent/spaces/models/channel.d.ts.map +1 -1
- package/dist/sync-agent/spaces/models/channel.js +24 -37
- package/dist/sync-agent/spaces/models/channel.js.map +1 -1
- package/dist/sync-agent/spaces/models/space.d.ts +4 -5
- package/dist/sync-agent/spaces/models/space.d.ts.map +1 -1
- package/dist/sync-agent/spaces/models/space.js +27 -37
- package/dist/sync-agent/spaces/models/space.js.map +1 -1
- package/dist/sync-agent/spaces/spaces.d.ts +8 -11
- package/dist/sync-agent/spaces/spaces.d.ts.map +1 -1
- package/dist/sync-agent/spaces/spaces.js +13 -28
- package/dist/sync-agent/spaces/spaces.js.map +1 -1
- package/dist/sync-agent/syncAgent.d.ts +13 -18
- package/dist/sync-agent/syncAgent.d.ts.map +1 -1
- package/dist/sync-agent/syncAgent.js +5 -14
- package/dist/sync-agent/syncAgent.js.map +1 -1
- package/dist/sync-agent/user/models/userInbox.d.ts +4 -17
- package/dist/sync-agent/user/models/userInbox.d.ts.map +1 -1
- package/dist/sync-agent/user/models/userInbox.js +14 -61
- package/dist/sync-agent/user/models/userInbox.js.map +1 -1
- package/dist/sync-agent/user/models/userMemberships.d.ts +6 -22
- package/dist/sync-agent/user/models/userMemberships.d.ts.map +1 -1
- package/dist/sync-agent/user/models/userMemberships.js +16 -68
- package/dist/sync-agent/user/models/userMemberships.js.map +1 -1
- package/dist/sync-agent/user/models/userMetadata.d.ts +4 -17
- package/dist/sync-agent/user/models/userMetadata.d.ts.map +1 -1
- package/dist/sync-agent/user/models/userMetadata.js +14 -61
- package/dist/sync-agent/user/models/userMetadata.js.map +1 -1
- package/dist/sync-agent/user/models/userSettings.d.ts +5 -8
- package/dist/sync-agent/user/models/userSettings.d.ts.map +1 -1
- package/dist/sync-agent/user/models/userSettings.js +15 -42
- package/dist/sync-agent/user/models/userSettings.js.map +1 -1
- package/dist/sync-agent/user/user.d.ts +2 -6
- package/dist/sync-agent/user/user.d.ts.map +1 -1
- package/dist/sync-agent/user/user.js +9 -20
- package/dist/sync-agent/user/user.js.map +1 -1
- package/dist/tests/multi_ne/sync-agent/member.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/member.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/member.test.js +20 -0
- package/dist/tests/multi_ne/sync-agent/member.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/members.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/members.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/members.test.js +35 -0
- package/dist/tests/multi_ne/sync-agent/members.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/riverConnection.test.d.ts +5 -0
- package/dist/tests/multi_ne/sync-agent/riverConnection.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/riverConnection.test.js +39 -0
- package/dist/tests/multi_ne/sync-agent/riverConnection.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/spaces.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/spaces.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/spaces.test.js +33 -0
- package/dist/tests/multi_ne/sync-agent/spaces.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/streams.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/streams.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/streams.test.js +27 -0
- package/dist/tests/multi_ne/sync-agent/streams.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.js +58 -0
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.js +153 -0
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/timeline.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/timeline.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/timeline.test.js +206 -0
- package/dist/tests/multi_ne/sync-agent/timeline.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/user.test.d.ts +5 -0
- package/dist/tests/multi_ne/sync-agent/user.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/user.test.js +48 -0
- package/dist/tests/multi_ne/sync-agent/user.test.js.map +1 -0
- package/dist/views/models/timelineEvent.d.ts.map +1 -1
- package/dist/views/models/timelineEvent.js +153 -1
- package/dist/views/models/timelineEvent.js.map +1 -1
- package/dist/views/models/timelineTypes.d.ts +48 -1
- package/dist/views/models/timelineTypes.d.ts.map +1 -1
- package/dist/views/models/timelineTypes.js +3 -0
- package/dist/views/models/timelineTypes.js.map +1 -1
- package/dist/views/streams/userInboxStreams.d.ts +3 -0
- package/dist/views/streams/userInboxStreams.d.ts.map +1 -1
- package/dist/views/streams/userInboxStreams.js +15 -4
- package/dist/views/streams/userInboxStreams.js.map +1 -1
- package/dist/views/streams/userMetadataStreams.d.ts +3 -0
- package/dist/views/streams/userMetadataStreams.d.ts.map +1 -1
- package/dist/views/streams/userMetadataStreams.js +15 -4
- package/dist/views/streams/userMetadataStreams.js.map +1 -1
- package/dist/views/streams/userSettingsStreams.d.ts +3 -0
- package/dist/views/streams/userSettingsStreams.d.ts.map +1 -1
- package/dist/views/streams/userSettingsStreams.js +17 -6
- package/dist/views/streams/userSettingsStreams.js.map +1 -1
- package/dist/views/streams/userStreamsView.d.ts +3 -0
- package/dist/views/streams/userStreamsView.d.ts.map +1 -1
- package/dist/views/streams/userStreamsView.js +21 -10
- package/dist/views/streams/userStreamsView.js.map +1 -1
- package/package.json +10 -9
- package/dist/sync-agent/db.d.ts +0 -18
- package/dist/sync-agent/db.d.ts.map +0 -1
- package/dist/sync-agent/db.js +0 -34
- package/dist/sync-agent/db.js.map +0 -1
- package/dist/sync-agent/river-connection/models/transactionalClient.d.ts +0 -11
- package/dist/sync-agent/river-connection/models/transactionalClient.d.ts.map +0 -1
- package/dist/sync-agent/river-connection/models/transactionalClient.js +0 -14
- package/dist/sync-agent/river-connection/models/transactionalClient.js.map +0 -1
|
@@ -1,134 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { bin_toHexString, bin_toString, check } from '@towns-labs/utils';
|
|
1
|
+
import { check } from '@towns-labs/utils';
|
|
8
2
|
import { isDefined } from '../../../check';
|
|
9
|
-
import {
|
|
10
|
-
|
|
3
|
+
import { Observable } from '../../../observable/observable';
|
|
4
|
+
/// note this is an observable for future compatibility, but is not wired up to updates
|
|
5
|
+
export class Member extends Observable {
|
|
11
6
|
userId;
|
|
12
7
|
riverConnection;
|
|
13
|
-
constructor(userId, streamId, riverConnection
|
|
8
|
+
constructor(userId, streamId, riverConnection) {
|
|
14
9
|
super({
|
|
15
|
-
id: `${userId}_${streamId}`,
|
|
16
10
|
userId,
|
|
17
11
|
streamId,
|
|
18
12
|
initialized: false,
|
|
19
|
-
username: '',
|
|
20
|
-
isUsernameConfirmed: false,
|
|
21
|
-
isUsernameEncrypted: false,
|
|
22
|
-
displayName: '',
|
|
23
|
-
isDisplayNameEncrypted: false,
|
|
24
|
-
ensAddress: undefined,
|
|
25
|
-
nft: undefined,
|
|
26
13
|
membership: undefined,
|
|
27
14
|
appAddress: undefined,
|
|
28
|
-
}
|
|
15
|
+
});
|
|
29
16
|
this.userId = userId;
|
|
30
17
|
this.riverConnection = riverConnection;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
18
|
+
this.riverConnection.registerViewOnce((client) => {
|
|
19
|
+
const streamView = client.stream(streamId)?.view;
|
|
20
|
+
// the expectation is that in order to get the member, you needed the member list from the members view.
|
|
21
|
+
// if this is not the case, fine to revisit
|
|
35
22
|
check(isDefined(streamView), 'streamView is not defined');
|
|
36
|
-
const metadata = streamView.getMemberMetadata();
|
|
37
|
-
const usernameInfo = metadata?.usernames.info(this.userId);
|
|
38
|
-
const displayNameInfo = metadata?.displayNames.info(this.userId);
|
|
39
|
-
const ensAddress = metadata?.ensAddresses.info(this.userId);
|
|
40
|
-
const nft = metadata?.nfts.info(this.userId);
|
|
41
23
|
const membership = streamView.getMembers().info(this.userId);
|
|
42
24
|
const appAddress = streamView.getMembers().joined.get(this.userId)?.appAddress;
|
|
43
|
-
this.
|
|
25
|
+
this.setValue({
|
|
26
|
+
userId,
|
|
27
|
+
streamId,
|
|
44
28
|
initialized: true,
|
|
45
|
-
username: usernameInfo?.username,
|
|
46
|
-
isUsernameConfirmed: usernameInfo?.usernameConfirmed,
|
|
47
|
-
isUsernameEncrypted: usernameInfo?.usernameEncrypted,
|
|
48
|
-
displayName: displayNameInfo?.displayName,
|
|
49
|
-
isDisplayNameEncrypted: displayNameInfo?.displayNameEncrypted,
|
|
50
|
-
ensAddress,
|
|
51
|
-
nft,
|
|
52
29
|
membership,
|
|
53
30
|
appAddress,
|
|
54
31
|
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
onStreamUsernameUpdated(streamId, userId) {
|
|
58
|
-
if (this.data.userId === userId && this.data.streamId === streamId) {
|
|
59
|
-
const streamView = this.riverConnection.client?.stream(this.data.streamId)?.view;
|
|
60
|
-
check(isDefined(streamView), 'streamView is not defined');
|
|
61
|
-
const usernameInfo = streamView.getMemberMetadata()?.usernames.info(this.userId);
|
|
62
|
-
this.setData({
|
|
63
|
-
username: usernameInfo?.username,
|
|
64
|
-
isUsernameConfirmed: usernameInfo?.usernameConfirmed,
|
|
65
|
-
isUsernameEncrypted: usernameInfo?.usernameEncrypted,
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
onStreamNftUpdated = (streamId, userId) => {
|
|
70
|
-
if (streamId === this.data.streamId && userId === this.userId) {
|
|
71
|
-
const streamView = this.riverConnection.client?.stream(streamId)?.view;
|
|
72
|
-
const metadata = streamView?.getMemberMetadata();
|
|
73
|
-
if (metadata) {
|
|
74
|
-
const nftPayload = metadata.nfts.confirmedNfts.get(userId);
|
|
75
|
-
const nft = nftPayload
|
|
76
|
-
? {
|
|
77
|
-
contractAddress: bin_toHexString(nftPayload.contractAddress),
|
|
78
|
-
tokenId: bin_toString(nftPayload.tokenId),
|
|
79
|
-
chainId: nftPayload.chainId,
|
|
80
|
-
}
|
|
81
|
-
: undefined;
|
|
82
|
-
this.setData({ nft });
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
onStreamEnsAddressUpdated = (streamId, userId) => {
|
|
87
|
-
if (streamId === this.data.streamId && userId === this.userId) {
|
|
88
|
-
const stream = this.riverConnection.client?.streams.get(streamId);
|
|
89
|
-
const metadata = stream?.view.getMemberMetadata();
|
|
90
|
-
const ensAddress = metadata?.ensAddresses.info(userId);
|
|
91
|
-
if (ensAddress) {
|
|
92
|
-
this.setData({ ensAddress: ensAddress });
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
onStreamDisplayNameUpdated = (streamId, userId) => {
|
|
97
|
-
if (streamId === this.data.streamId && userId === this.userId) {
|
|
98
|
-
const stream = this.riverConnection.client?.streams.get(streamId);
|
|
99
|
-
const metadata = stream?.view.getMemberMetadata();
|
|
100
|
-
const info = metadata?.displayNames.info(userId);
|
|
101
|
-
if (info) {
|
|
102
|
-
this.setData({
|
|
103
|
-
displayName: info.displayName,
|
|
104
|
-
isDisplayNameEncrypted: info.displayNameEncrypted,
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
onStreamMembershipUpdated = (streamId, userId, membership) => {
|
|
110
|
-
if (streamId === this.data.streamId && userId === this.userId) {
|
|
111
|
-
this.setData({ membership });
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
get username() {
|
|
115
|
-
return this.data.username;
|
|
116
|
-
}
|
|
117
|
-
get displayName() {
|
|
118
|
-
return this.data.displayName;
|
|
119
|
-
}
|
|
120
|
-
get ensAddress() {
|
|
121
|
-
return this.data.ensAddress;
|
|
122
|
-
}
|
|
123
|
-
get nft() {
|
|
124
|
-
return this.data.nft;
|
|
125
|
-
}
|
|
126
|
-
get membership() {
|
|
127
|
-
return this.data.membership;
|
|
32
|
+
});
|
|
128
33
|
}
|
|
129
|
-
}
|
|
130
|
-
Member = __decorate([
|
|
131
|
-
persistedObservable({ tableName: 'member' })
|
|
132
|
-
], Member);
|
|
133
|
-
export { Member };
|
|
34
|
+
}
|
|
134
35
|
//# sourceMappingURL=member.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../src/sync-agent/members/models/member.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../src/sync-agent/members/models/member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAoB3D,uFAAuF;AACvF,MAAM,OAAO,MAAO,SAAQ,UAAuB;IAEnC;IAEE;IAHd,YACY,MAAc,EACtB,QAAgB,EACN,eAAgC;QAE1C,KAAK,CAAC;YACF,MAAM;YACN,QAAQ;YACR,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;SACxB,CAAC,CAAA;QAVM,WAAM,GAAN,MAAM,CAAQ;QAEZ,oBAAe,GAAf,eAAe,CAAiB;QAS1C,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;YAChD,wGAAwG;YACxG,2CAA2C;YAC3C,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,2BAA2B,CAAC,CAAA;YACzD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC5D,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;YAC9E,IAAI,CAAC,QAAQ,CAAC;gBACV,MAAM;gBACN,QAAQ;gBACR,WAAW,EAAE,IAAI;gBACjB,UAAU;gBACV,UAAU;aACb,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}
|
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
import type { Address } from '@towns-labs/web3';
|
|
2
1
|
import type { RiverConnection } from '../../river-connection/riverConnection';
|
|
3
|
-
import { Member
|
|
2
|
+
import { Member } from './member';
|
|
4
3
|
export declare class Myself {
|
|
5
4
|
member: Member;
|
|
6
5
|
protected streamId: string;
|
|
7
6
|
protected riverConnection: RiverConnection;
|
|
8
7
|
constructor(member: Member, streamId: string, riverConnection: RiverConnection);
|
|
9
8
|
get userId(): string;
|
|
10
|
-
get username(): string;
|
|
11
|
-
get displayName(): string;
|
|
12
|
-
get ensAddress(): string | undefined;
|
|
13
|
-
get nft(): NftModel | undefined;
|
|
14
|
-
get membership(): import("@towns-labs/proto").MembershipOp | undefined;
|
|
15
|
-
setUsername(username: string): Promise<void>;
|
|
16
|
-
setDisplayName(displayName: string): Promise<void>;
|
|
17
|
-
setEnsAddress(ensAddress: Address): Promise<void>;
|
|
18
|
-
setNft(nft: NftModel): Promise<void>;
|
|
19
9
|
}
|
|
20
10
|
//# sourceMappingURL=myself.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"myself.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/members/models/myself.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"myself.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/members/models/myself.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,qBAAa,MAAM;IAEJ,MAAM,EAAE,MAAM;IACrB,SAAS,CAAC,QAAQ,EAAE,MAAM;IAC1B,SAAS,CAAC,eAAe,EAAE,eAAe;gBAFnC,MAAM,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,eAAe;IAG9C,IAAI,MAAM,WAET;CACJ"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { addressFromUserId } from '../../../id';
|
|
2
1
|
export class Myself {
|
|
3
2
|
member;
|
|
4
3
|
streamId;
|
|
@@ -9,89 +8,7 @@ export class Myself {
|
|
|
9
8
|
this.riverConnection = riverConnection;
|
|
10
9
|
}
|
|
11
10
|
get userId() {
|
|
12
|
-
return this.member.
|
|
13
|
-
}
|
|
14
|
-
get username() {
|
|
15
|
-
return this.member.username;
|
|
16
|
-
}
|
|
17
|
-
get displayName() {
|
|
18
|
-
return this.member.displayName;
|
|
19
|
-
}
|
|
20
|
-
get ensAddress() {
|
|
21
|
-
return this.member.ensAddress;
|
|
22
|
-
}
|
|
23
|
-
get nft() {
|
|
24
|
-
return this.member.nft;
|
|
25
|
-
}
|
|
26
|
-
get membership() {
|
|
27
|
-
return this.member.membership;
|
|
28
|
-
}
|
|
29
|
-
async setUsername(username) {
|
|
30
|
-
const streamId = this.streamId;
|
|
31
|
-
const oldData = {
|
|
32
|
-
username: this.member.data.username,
|
|
33
|
-
isUsernameConfirmed: this.member.data.isUsernameConfirmed,
|
|
34
|
-
isUsernameEncrypted: this.member.data.isUsernameEncrypted,
|
|
35
|
-
};
|
|
36
|
-
this.member.setData({ username, isUsernameConfirmed: true, isUsernameEncrypted: false });
|
|
37
|
-
return this.riverConnection
|
|
38
|
-
.withStream(streamId)
|
|
39
|
-
.call((client) => client.setUsername(streamId, username))
|
|
40
|
-
.catch((e) => {
|
|
41
|
-
this.member.setData(oldData);
|
|
42
|
-
throw e;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
async setDisplayName(displayName) {
|
|
46
|
-
const streamId = this.streamId;
|
|
47
|
-
const oldData = {
|
|
48
|
-
displayName: this.member.data.displayName,
|
|
49
|
-
isDisplayNameEncrypted: this.member.data.isDisplayNameEncrypted,
|
|
50
|
-
};
|
|
51
|
-
this.member.setData({ displayName, isDisplayNameEncrypted: false });
|
|
52
|
-
return this.riverConnection
|
|
53
|
-
.withStream(streamId)
|
|
54
|
-
.call((client) => client.setDisplayName(streamId, displayName))
|
|
55
|
-
.catch((e) => {
|
|
56
|
-
this.member.setData(oldData);
|
|
57
|
-
throw e;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
async setEnsAddress(ensAddress) {
|
|
61
|
-
const streamId = this.streamId;
|
|
62
|
-
const oldData = {
|
|
63
|
-
ensAddress: this.member.data.ensAddress,
|
|
64
|
-
};
|
|
65
|
-
this.member.setData({ ensAddress });
|
|
66
|
-
const bytes = addressFromUserId(ensAddress);
|
|
67
|
-
return this.riverConnection
|
|
68
|
-
.withStream(streamId)
|
|
69
|
-
.call((client) => client.setEnsAddress(streamId, bytes))
|
|
70
|
-
.catch((e) => {
|
|
71
|
-
this.member.setData(oldData);
|
|
72
|
-
throw e;
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
async setNft(nft) {
|
|
76
|
-
const streamId = this.streamId;
|
|
77
|
-
const oldData = {
|
|
78
|
-
nft: this.member.data.nft,
|
|
79
|
-
};
|
|
80
|
-
const { contractAddress, tokenId, chainId } = nft;
|
|
81
|
-
this.member.setData({
|
|
82
|
-
nft: {
|
|
83
|
-
contractAddress,
|
|
84
|
-
tokenId,
|
|
85
|
-
chainId,
|
|
86
|
-
},
|
|
87
|
-
});
|
|
88
|
-
return this.riverConnection
|
|
89
|
-
.withStream(streamId)
|
|
90
|
-
.call((client) => client.setNft(streamId, nft.tokenId, nft.chainId, nft.contractAddress))
|
|
91
|
-
.catch((e) => {
|
|
92
|
-
this.member.setData(oldData);
|
|
93
|
-
throw e;
|
|
94
|
-
});
|
|
11
|
+
return this.member.value.userId;
|
|
95
12
|
}
|
|
96
13
|
}
|
|
97
14
|
//# sourceMappingURL=myself.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"myself.js","sourceRoot":"","sources":["../../../../src/sync-agent/members/models/myself.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"myself.js","sourceRoot":"","sources":["../../../../src/sync-agent/members/models/myself.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,MAAM;IAEJ;IACG;IACA;IAHd,YACW,MAAc,EACX,QAAgB,EAChB,eAAgC;QAFnC,WAAM,GAAN,MAAM,CAAQ;QACX,aAAQ,GAAR,QAAQ,CAAQ;QAChB,oBAAe,GAAf,eAAe,CAAiB;IAC3C,CAAC;IAEJ,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;IACnC,CAAC;CACJ"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { StreamRpcClient } from '../../makeStreamRpcClient';
|
|
2
|
-
import { Identifiable, Store } from '../../store/store';
|
|
3
2
|
import { CryptoStore, type EncryptionDeviceInitOpts } from '@towns-labs/encryption';
|
|
4
3
|
import { Client, ClientOptions } from '../../client';
|
|
5
4
|
import { SignerContext } from '../../signerContext';
|
|
6
|
-
import { PersistedObservable } from '../../observable/persistedObservable';
|
|
7
|
-
import { TransactionalClient } from './models/transactionalClient';
|
|
8
5
|
import { Observable } from '../../observable/observable';
|
|
9
6
|
import { AuthStatus } from './models/authStatus';
|
|
10
7
|
import { RetryParams } from '../../rpcInterceptors';
|
|
@@ -22,14 +19,10 @@ export interface ClientParams {
|
|
|
22
19
|
}
|
|
23
20
|
export type OnStoppedFn = () => void;
|
|
24
21
|
export type onClientStartedFn = (client: Client) => OnStoppedFn;
|
|
25
|
-
export
|
|
26
|
-
id: '0';
|
|
27
|
-
userExists: boolean;
|
|
28
|
-
}
|
|
29
|
-
export declare class RiverConnection extends PersistedObservable<RiverConnectionModel> {
|
|
22
|
+
export declare class RiverConnection {
|
|
30
23
|
townsConfig: TownsConfig;
|
|
31
24
|
clientParams: ClientParams;
|
|
32
|
-
client?:
|
|
25
|
+
client?: Client;
|
|
33
26
|
authStatus: Observable<AuthStatus>;
|
|
34
27
|
rpcClientOpts: RpcOptions;
|
|
35
28
|
rpcClient: StreamRpcClient;
|
|
@@ -37,14 +30,14 @@ export declare class RiverConnection extends PersistedObservable<RiverConnection
|
|
|
37
30
|
private logger;
|
|
38
31
|
private clientQueue;
|
|
39
32
|
private views;
|
|
33
|
+
private tempViews;
|
|
40
34
|
private onStoppedFns;
|
|
41
35
|
newUserMetadata?: {
|
|
42
36
|
spaceId: Uint8Array | string;
|
|
43
37
|
};
|
|
44
38
|
private loginPromise?;
|
|
45
39
|
get signerContext(): SignerContext;
|
|
46
|
-
constructor(
|
|
47
|
-
protected onLoaded(): void;
|
|
40
|
+
constructor(townsConfig: TownsConfig, clientParams: ClientParams);
|
|
48
41
|
get userId(): string;
|
|
49
42
|
start(): Promise<void>;
|
|
50
43
|
stop(): Promise<void>;
|
|
@@ -54,6 +47,7 @@ export declare class RiverConnection extends PersistedObservable<RiverConnection
|
|
|
54
47
|
};
|
|
55
48
|
callWithStream<T>(streamId: string, fn: (client: Client, stream: Stream) => Promise<T>): Promise<T>;
|
|
56
49
|
registerView(viewFn: onClientStartedFn): void;
|
|
50
|
+
registerViewOnce(viewFn: (client: Client) => void): () => void;
|
|
57
51
|
private createStreamsClient;
|
|
58
52
|
login(newUserMetadata?: {
|
|
59
53
|
spaceId: Uint8Array | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"riverConnection.d.ts","sourceRoot":"","sources":["../../../src/sync-agent/river-connection/riverConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,eAAe,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"riverConnection.d.ts","sourceRoot":"","sources":["../../../src/sync-agent/river-connection/riverConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
1
|
import { makeStreamRpcClient } from '../../makeStreamRpcClient';
|
|
8
|
-
import { LoadPriority } from '../../store/store';
|
|
9
2
|
import { check, dlogger, shortenHexString } from '@towns-labs/utils';
|
|
10
3
|
import { PromiseQueue } from '../utils/promiseQueue';
|
|
11
|
-
import {
|
|
4
|
+
import { Client } from '../../client';
|
|
12
5
|
import { streamIdAsBytes, userIdFromAddress } from '../../id';
|
|
13
|
-
import { TransactionalClient } from './models/transactionalClient';
|
|
14
6
|
import { Observable } from '../../observable/observable';
|
|
15
7
|
import { AuthStatus } from './models/authStatus';
|
|
16
8
|
import { expiryInterceptor } from '../../rpcInterceptors';
|
|
@@ -21,7 +13,7 @@ class LoginContext {
|
|
|
21
13
|
this.cancelled = cancelled;
|
|
22
14
|
}
|
|
23
15
|
}
|
|
24
|
-
|
|
16
|
+
export class RiverConnection {
|
|
25
17
|
townsConfig;
|
|
26
18
|
clientParams;
|
|
27
19
|
client;
|
|
@@ -32,14 +24,14 @@ let RiverConnection = class RiverConnection extends PersistedObservable {
|
|
|
32
24
|
logger;
|
|
33
25
|
clientQueue = new PromiseQueue();
|
|
34
26
|
views = [];
|
|
27
|
+
tempViews = [];
|
|
35
28
|
onStoppedFns = [];
|
|
36
29
|
newUserMetadata;
|
|
37
30
|
loginPromise;
|
|
38
31
|
get signerContext() {
|
|
39
32
|
return this.clientParams.signerContext;
|
|
40
33
|
}
|
|
41
|
-
constructor(
|
|
42
|
-
super({ id: '0', userExists: false }, store, LoadPriority.high);
|
|
34
|
+
constructor(townsConfig, clientParams) {
|
|
43
35
|
this.townsConfig = townsConfig;
|
|
44
36
|
this.clientParams = clientParams;
|
|
45
37
|
const logId = this.clientParams.opts?.logId ?? shortenHexString(this.userId);
|
|
@@ -54,14 +46,10 @@ let RiverConnection = class RiverConnection extends PersistedObservable {
|
|
|
54
46
|
};
|
|
55
47
|
this.rpcClient = makeStreamRpcClient(this.townsConfig.services.node.url, undefined, this.rpcClientOpts);
|
|
56
48
|
}
|
|
57
|
-
onLoaded() {
|
|
58
|
-
//
|
|
59
|
-
}
|
|
60
49
|
get userId() {
|
|
61
50
|
return userIdFromAddress(this.clientParams.signerContext.creatorAddress);
|
|
62
51
|
}
|
|
63
52
|
async start() {
|
|
64
|
-
check(this.value.status === 'loaded', 'riverConnection not loaded');
|
|
65
53
|
await this.createStreamsClient();
|
|
66
54
|
await this.login();
|
|
67
55
|
}
|
|
@@ -106,6 +94,18 @@ let RiverConnection = class RiverConnection extends PersistedObservable {
|
|
|
106
94
|
}
|
|
107
95
|
this.views.push(viewFn);
|
|
108
96
|
}
|
|
97
|
+
registerViewOnce(viewFn) {
|
|
98
|
+
if (this.client) {
|
|
99
|
+
viewFn(this.client);
|
|
100
|
+
return () => { };
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.tempViews.push(viewFn);
|
|
104
|
+
return () => {
|
|
105
|
+
this.tempViews = this.tempViews.filter((v) => v !== viewFn);
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
109
|
async createStreamsClient() {
|
|
110
110
|
if (this.client !== undefined) {
|
|
111
111
|
// this is wired up to be reactive to changes in the urls
|
|
@@ -114,16 +114,20 @@ let RiverConnection = class RiverConnection extends PersistedObservable {
|
|
|
114
114
|
}
|
|
115
115
|
// create a new rpc client each time we start the client
|
|
116
116
|
this.rpcClient = makeStreamRpcClient(this.townsConfig.services.node.url, undefined, this.rpcClientOpts);
|
|
117
|
-
const client = new
|
|
117
|
+
const client = new Client(this.clientParams.signerContext, this.clientParams.appAddress, this.rpcClient, this.clientParams.cryptoStore, this.clientParams.opts);
|
|
118
118
|
client.setMaxListeners(100);
|
|
119
119
|
this.client = client;
|
|
120
120
|
// initialize views
|
|
121
|
-
this.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
this.logger.log('registering views', this.views.length);
|
|
122
|
+
this.views.forEach((viewFn) => {
|
|
123
|
+
this.logger.log('registering view', viewFn.name);
|
|
124
|
+
const onStopFn = viewFn(client);
|
|
125
|
+
this.onStoppedFns.push(onStopFn);
|
|
126
126
|
});
|
|
127
|
+
this.tempViews.forEach((viewFn) => {
|
|
128
|
+
viewFn(client);
|
|
129
|
+
});
|
|
130
|
+
this.tempViews = [];
|
|
127
131
|
}
|
|
128
132
|
async login(newUserMetadata) {
|
|
129
133
|
this.newUserMetadata = newUserMetadata ?? this.newUserMetadata;
|
|
@@ -152,7 +156,6 @@ let RiverConnection = class RiverConnection extends PersistedObservable {
|
|
|
152
156
|
check(isDefined(this.client), 'riverConnection::loginWithRetries client is not defined');
|
|
153
157
|
try {
|
|
154
158
|
this.logger.info('logging in', {
|
|
155
|
-
userExists: this.data.userExists,
|
|
156
159
|
newUserMetadata: this.newUserMetadata,
|
|
157
160
|
});
|
|
158
161
|
this.authStatus.setValue(AuthStatus.ConnectingToRiver);
|
|
@@ -163,7 +166,6 @@ let RiverConnection = class RiverConnection extends PersistedObservable {
|
|
|
163
166
|
});
|
|
164
167
|
this.logger.info('user initialized');
|
|
165
168
|
client.startSync();
|
|
166
|
-
this.setData({ userExists: true });
|
|
167
169
|
this.authStatus.setValue(AuthStatus.ConnectedToRiver);
|
|
168
170
|
// New rpcClient is available, resolve all queued requests
|
|
169
171
|
this.clientQueue.flush(client);
|
|
@@ -212,11 +214,7 @@ let RiverConnection = class RiverConnection extends PersistedObservable {
|
|
|
212
214
|
});
|
|
213
215
|
return response?.stream !== undefined;
|
|
214
216
|
}
|
|
215
|
-
}
|
|
216
|
-
RiverConnection = __decorate([
|
|
217
|
-
persistedObservable({ tableName: 'riverConnection' })
|
|
218
|
-
], RiverConnection);
|
|
219
|
-
export { RiverConnection };
|
|
217
|
+
}
|
|
220
218
|
// exponentially back off, but never wait more than 20 seconds
|
|
221
219
|
function getRetryDelay(retryCount) {
|
|
222
220
|
return Math.min(1000 * 2 ** retryCount, 20000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"riverConnection.js","sourceRoot":"","sources":["../../../src/sync-agent/river-connection/riverConnection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"riverConnection.js","sourceRoot":"","sources":["../../../src/sync-agent/river-connection/riverConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Identifiable, Store } from '../../../store/store';
|
|
1
|
+
import { Identifiable } from '../../../store/store';
|
|
3
2
|
import { RiverConnection } from '../../river-connection/riverConnection';
|
|
4
3
|
import { ChannelMessage_Post_Attachment, ChannelMessage_Post_Mention, PlainMessage } from '@towns-labs/proto';
|
|
5
4
|
import { MessageTimeline } from '../../timeline/timeline';
|
|
6
|
-
import { ChannelDetails, type Address } from '@towns-labs/web3';
|
|
7
5
|
import { Members } from '../../members/members';
|
|
8
6
|
import type { ethers } from 'ethers';
|
|
9
|
-
|
|
10
|
-
type: 'member';
|
|
11
|
-
receiver: Address;
|
|
12
|
-
tokenId: string;
|
|
13
|
-
currency: Address;
|
|
14
|
-
amount: bigint;
|
|
15
|
-
chainId: number;
|
|
16
|
-
} | {
|
|
17
|
-
type: 'bot';
|
|
18
|
-
botId: string;
|
|
19
|
-
appId: string;
|
|
20
|
-
appAddress: Address;
|
|
21
|
-
currency: Address;
|
|
22
|
-
amount: bigint;
|
|
23
|
-
chainId: number;
|
|
24
|
-
};
|
|
7
|
+
import { Observable } from '../../../observable/observable';
|
|
25
8
|
export interface ChannelModel extends Identifiable {
|
|
26
9
|
/** The River `channelId` of the channel. */
|
|
27
10
|
id: string;
|
|
@@ -29,15 +12,14 @@ export interface ChannelModel extends Identifiable {
|
|
|
29
12
|
spaceId: string;
|
|
30
13
|
/** Whether the SyncAgent has joined this channel. */
|
|
31
14
|
isJoined: boolean;
|
|
32
|
-
/**
|
|
33
|
-
|
|
15
|
+
/** Whether the SyncAgent has loaded this channel data. */
|
|
16
|
+
initialized: boolean;
|
|
34
17
|
}
|
|
35
|
-
export declare class Channel extends
|
|
18
|
+
export declare class Channel extends Observable<ChannelModel> {
|
|
36
19
|
private riverConnection;
|
|
37
20
|
timeline: MessageTimeline;
|
|
38
21
|
members: Members;
|
|
39
|
-
constructor(id: string, spaceId: string, riverConnection: RiverConnection
|
|
40
|
-
protected onLoaded(): void;
|
|
22
|
+
constructor(id: string, spaceId: string, riverConnection: RiverConnection);
|
|
41
23
|
/** Joins the channel. */
|
|
42
24
|
join(): Promise<void>;
|
|
43
25
|
/** Sends a message to the channel.
|
|
@@ -112,10 +94,9 @@ export declare class Channel extends PersistedObservable<ChannelModel> {
|
|
|
112
94
|
adminRedact(eventId: string): Promise<{
|
|
113
95
|
eventId: string;
|
|
114
96
|
}>;
|
|
115
|
-
sendTip(_messageId: string, _tip:
|
|
97
|
+
sendTip(_messageId: string, _tip: unknown, _signer: ethers.Signer): Promise<void>;
|
|
116
98
|
private onStreamInitialized;
|
|
117
99
|
private onStreamUserJoined;
|
|
118
100
|
private onStreamUserLeft;
|
|
119
101
|
}
|
|
120
|
-
export {};
|
|
121
102
|
//# sourceMappingURL=channel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/spaces/models/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/spaces/models/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EACH,8BAA8B,EAC9B,2BAA2B,EAC3B,YAAY,EACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAGzD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAE3D,MAAM,WAAW,YAAa,SAAQ,YAAY;IAC9C,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAA;IACf,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAA;IACjB,0DAA0D;IAC1D,WAAW,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,OAAQ,SAAQ,UAAU,CAAC,YAAY,CAAC;IAM7C,OAAO,CAAC,eAAe;IAL3B,QAAQ,EAAE,eAAe,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;gBAEZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACP,eAAe,EAAE,eAAe;IAwB5C,yBAAyB;IACnB,IAAI;IAOV;;;;OAIG;IACG,WAAW,CACb,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACN,kFAAkF;QAClF,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,+EAA+E;QAC/E,OAAO,CAAC,EAAE,MAAM,CAAA;QAGhB,kDAAkD;QAClD,QAAQ,CAAC,EAAE,YAAY,CAAC,2BAA2B,CAAC,EAAE,CAAA;QACtD,2GAA2G;QAC3G,WAAW,CAAC,EAAE,YAAY,CAAC,8BAA8B,CAAC,EAAE,CAAA;QAC5D,oEAAoE;QACpE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC5B,GACF,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAwB/B;;;;OAIG;IACG,WAAW,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACN,kFAAkF;QAClF,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,+EAA+E;QAC/E,OAAO,CAAC,EAAE,MAAM,CAAA;QAGhB,kDAAkD;QAClD,QAAQ,CAAC,EAAE,YAAY,CAAC,2BAA2B,CAAC,EAAE,CAAA;QACtD,2GAA2G;QAC3G,WAAW,CAAC,EAAE,YAAY,CAAC,8BAA8B,CAAC,EAAE,CAAA;KAC/D;;;IAmBL;;;OAGG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM;;;;IAQzB;;;OAGG;IACG,KAAK,CAAC,OAAO,EAAE,MAAM;;;;IAQ3B;;;OAGG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;IAWvD;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;IAoB7C;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM;;;IAQ3B,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM;IAIvE,OAAO,CAAC,mBAAmB,CAQ1B;IAED,OAAO,CAAC,kBAAkB,CAIzB;IAED,OAAO,CAAC,gBAAgB,CAIvB;CACJ"}
|