@multiversx/sdk-web-wallet-cross-window-provider 0.0.4 → 0.0.5
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/out/crossWindowProvider.d.ts +8 -5
- package/out/crossWindowProvider.js +62 -111
- package/out/crossWindowProvider.js.map +1 -1
- package/out/errors.d.ts +21 -0
- package/out/errors.js +43 -1
- package/out/errors.js.map +1 -1
- package/out/types.d.ts +19 -0
- package/out/types.js +26 -0
- package/out/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SignableMessage, Transaction } from '@multiversx/sdk-core';
|
|
2
|
+
import { CrossWindowProviderResponseEnums } from './types';
|
|
2
3
|
interface ICrossWindowWalletAccount {
|
|
3
4
|
address: string;
|
|
4
5
|
name?: string;
|
|
@@ -12,7 +13,6 @@ export declare class CrossWindowProvider {
|
|
|
12
13
|
private static _instance;
|
|
13
14
|
walletWindow: Window | null;
|
|
14
15
|
private handshakeEstablished;
|
|
15
|
-
private callbackUrl;
|
|
16
16
|
private accessToken;
|
|
17
17
|
private constructor();
|
|
18
18
|
static getInstance(): CrossWindowProvider;
|
|
@@ -20,12 +20,15 @@ export declare class CrossWindowProvider {
|
|
|
20
20
|
setWalletUrl(url: string): CrossWindowProvider;
|
|
21
21
|
init(): Promise<boolean>;
|
|
22
22
|
handshake(): Promise<boolean>;
|
|
23
|
-
private
|
|
24
|
-
listenOnce(): Promise<any>;
|
|
23
|
+
private addHandshakeChangeListener;
|
|
24
|
+
listenOnce(action: CrossWindowProviderResponseEnums): Promise<any>;
|
|
25
|
+
private connectWallet;
|
|
25
26
|
login(options?: {
|
|
26
|
-
callbackUrl?: string;
|
|
27
27
|
token?: string;
|
|
28
|
-
}): Promise<
|
|
28
|
+
}): Promise<{
|
|
29
|
+
address: string;
|
|
30
|
+
signature: string | undefined;
|
|
31
|
+
}>;
|
|
29
32
|
logout(): Promise<boolean>;
|
|
30
33
|
private disconnect;
|
|
31
34
|
getAddress(): Promise<string>;
|
|
@@ -13,6 +13,7 @@ exports.CrossWindowProvider = exports.DAPP_WINDOW_NAME = void 0;
|
|
|
13
13
|
const sdk_core_1 = require("@multiversx/sdk-core");
|
|
14
14
|
const errors_1 = require("./errors");
|
|
15
15
|
const helpers_1 = require("./helpers");
|
|
16
|
+
const types_1 = require("./types");
|
|
16
17
|
exports.DAPP_WINDOW_NAME = window.location.origin;
|
|
17
18
|
class CrossWindowProvider {
|
|
18
19
|
constructor() {
|
|
@@ -21,18 +22,13 @@ class CrossWindowProvider {
|
|
|
21
22
|
this.initialized = false;
|
|
22
23
|
this.walletWindow = null;
|
|
23
24
|
this.handshakeEstablished = false;
|
|
24
|
-
this.callbackUrl = undefined;
|
|
25
25
|
this.accessToken = undefined;
|
|
26
26
|
if (CrossWindowProvider._instance) {
|
|
27
|
-
throw new
|
|
27
|
+
throw new errors_1.ErrInstantiationFailed();
|
|
28
28
|
}
|
|
29
29
|
window.addEventListener('beforeunload', () => {
|
|
30
|
-
var _a
|
|
31
|
-
|
|
32
|
-
return (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: 'mxDappHandshake', payload: false }, // TODO: use const here
|
|
33
|
-
this.walletUrl);
|
|
34
|
-
}
|
|
35
|
-
(_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
|
|
30
|
+
var _a;
|
|
31
|
+
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
36
32
|
});
|
|
37
33
|
window.name = window.name = exports.DAPP_WINDOW_NAME;
|
|
38
34
|
CrossWindowProvider._instance = this;
|
|
@@ -56,71 +52,19 @@ class CrossWindowProvider {
|
|
|
56
52
|
});
|
|
57
53
|
}
|
|
58
54
|
handshake() {
|
|
59
|
-
var _a, _b;
|
|
60
55
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
else {
|
|
66
|
-
console.log('In HANDSHAKE: ', 'opening Existing window');
|
|
67
|
-
window.open('', this.walletUrl); // TODO: since walletWindow is always closed, is this needed?
|
|
68
|
-
}
|
|
69
|
-
// TODO: is this needed?
|
|
70
|
-
if (this.handshakeEstablished) {
|
|
71
|
-
console.log('In HANDSHAKE: ', 'handshakeEstablished', this.handshakeEstablished);
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
console.log('In HANDSHAKE: ', 'start listening for handshake event from wallet');
|
|
75
|
-
const { type, payload } = yield this.listenOnce();
|
|
76
|
-
if (type !== 'handshake' || !payload) {
|
|
77
|
-
throw new Error('Handshake could not be established');
|
|
78
|
-
}
|
|
79
|
-
console.log('In HANDSHAKE: ', 'Listen once event received: ', {
|
|
80
|
-
type,
|
|
81
|
-
payload
|
|
82
|
-
});
|
|
83
|
-
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: 'mxDappHandshake', payload: true }, this.walletUrl);
|
|
84
|
-
this.onHandshakeChangeListener();
|
|
85
|
-
const payloadQueryString = helpers_1.buildWalletQueryString({
|
|
86
|
-
params: {
|
|
87
|
-
token: this.accessToken
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
const isRelogin = yield this.isConnected();
|
|
91
|
-
console.log('In HANDSHAKE: ', 'Posting mxDappHandshake `true` to wallet', {
|
|
92
|
-
isRelogin
|
|
93
|
-
});
|
|
94
|
-
// TODO: handshake should not handle login logic
|
|
95
|
-
(_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.postMessage({
|
|
96
|
-
type: 'mxDappConnect',
|
|
97
|
-
payload: { queryString: payloadQueryString, isRelogin }
|
|
98
|
-
}, this.walletUrl);
|
|
99
|
-
console.log('In HANDSHAKE: ', 'Posting mxDappConnect connect intent to wallet', {
|
|
100
|
-
type: 'mxDappConnect',
|
|
101
|
-
payload: { queryString: payloadQueryString, isRelogin }
|
|
102
|
-
});
|
|
103
|
-
if (!isRelogin) {
|
|
104
|
-
console.log('In HANDSHAKE: ', 'Waiting for connect event from wallet ');
|
|
105
|
-
const { type: connectType, payload: { address, signature } } = yield this.listenOnce();
|
|
106
|
-
if (connectType !== 'connect') {
|
|
107
|
-
throw new Error(`Could not connect. received ${connectType} event instead of connect`);
|
|
108
|
-
}
|
|
109
|
-
this.account.address = address;
|
|
110
|
-
this.account.signature = signature;
|
|
111
|
-
console.log('In HANDSHAKE: ', 'Is first login', {
|
|
112
|
-
address,
|
|
113
|
-
signature
|
|
114
|
-
});
|
|
56
|
+
this.walletWindow = window.open(this.walletUrl, this.walletUrl);
|
|
57
|
+
const { payload } = yield this.listenOnce(types_1.CrossWindowProviderResponseEnums.handshakeResponse);
|
|
58
|
+
if (!payload) {
|
|
59
|
+
throw new errors_1.ErrCannotEstablishHandshake();
|
|
115
60
|
}
|
|
116
|
-
|
|
61
|
+
this.addHandshakeChangeListener();
|
|
117
62
|
this.handshakeEstablished = true;
|
|
118
63
|
return true;
|
|
119
64
|
});
|
|
120
65
|
}
|
|
121
|
-
|
|
66
|
+
addHandshakeChangeListener() {
|
|
122
67
|
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
-
console.log('add handshake change listener');
|
|
124
68
|
const walletUrl = this.walletUrl;
|
|
125
69
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
126
70
|
const self = this;
|
|
@@ -129,13 +73,11 @@ class CrossWindowProvider {
|
|
|
129
73
|
try {
|
|
130
74
|
const { type, payload } = event.data;
|
|
131
75
|
const isWalletEvent = event.origin === new URL(walletUrl).origin;
|
|
132
|
-
if (isWalletEvent && type ===
|
|
133
|
-
console.log('handshake changed! ', payload);
|
|
76
|
+
if (isWalletEvent && type === types_1.CrossWindowProviderResponseEnums.handshakeResponse) {
|
|
134
77
|
if (payload === false) {
|
|
135
78
|
(_a = self.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
136
79
|
self.handshakeEstablished = false;
|
|
137
80
|
self.walletWindow = null;
|
|
138
|
-
console.log('remove handshake!!@#s');
|
|
139
81
|
window.removeEventListener('message', eventHandler);
|
|
140
82
|
}
|
|
141
83
|
}
|
|
@@ -144,65 +86,75 @@ class CrossWindowProvider {
|
|
|
144
86
|
});
|
|
145
87
|
});
|
|
146
88
|
}
|
|
147
|
-
|
|
148
|
-
//param for specific action to listen to
|
|
149
|
-
listenOnce() {
|
|
89
|
+
listenOnce(action) {
|
|
150
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
151
91
|
if (!this.walletWindow) {
|
|
152
|
-
throw new
|
|
92
|
+
throw new errors_1.ErrWalletWindowNotInstantiated();
|
|
153
93
|
}
|
|
154
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
155
94
|
const self = this;
|
|
156
95
|
return yield new Promise((resolve) => {
|
|
157
96
|
const walletUrl = this.walletUrl;
|
|
158
97
|
window.addEventListener('message', function eventHandler(event) {
|
|
159
98
|
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
99
|
+
const { type, payload } = event.data;
|
|
100
|
+
const isWalletEvent = event.origin === new URL(walletUrl).origin;
|
|
101
|
+
const isCurrentAction = action === type || type === types_1.CrossWindowProviderResponseEnums.cancelResponse;
|
|
102
|
+
const isRelogin = yield self.isConnected();
|
|
103
|
+
if ((isRelogin && type === 'connect') || !isCurrentAction) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (isWalletEvent) {
|
|
107
|
+
window.removeEventListener('message', eventHandler);
|
|
108
|
+
resolve({ type, payload });
|
|
171
109
|
}
|
|
172
|
-
catch (_a) { }
|
|
173
110
|
});
|
|
174
111
|
});
|
|
175
112
|
});
|
|
176
113
|
});
|
|
177
114
|
}
|
|
115
|
+
connectWallet() {
|
|
116
|
+
var _a;
|
|
117
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
const payloadQueryString = helpers_1.buildWalletQueryString({
|
|
119
|
+
params: {
|
|
120
|
+
token: this.accessToken
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
const isRelogin = yield this.isConnected();
|
|
124
|
+
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
125
|
+
type: types_1.CrossWindowProviderRequestEnums.loginRequest,
|
|
126
|
+
payload: { queryString: payloadQueryString }
|
|
127
|
+
}, this.walletUrl);
|
|
128
|
+
if (!isRelogin) {
|
|
129
|
+
const { payload: { address, signature } } = yield this.listenOnce(types_1.CrossWindowProviderResponseEnums.loginResponse);
|
|
130
|
+
this.account.address = address;
|
|
131
|
+
this.account.signature = signature;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
178
135
|
login(options = {}) {
|
|
179
136
|
var _a;
|
|
180
137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
181
138
|
if (!this.initialized) {
|
|
182
|
-
throw new
|
|
139
|
+
throw new errors_1.ErrProviderNotInitialized();
|
|
183
140
|
}
|
|
184
|
-
this.callbackUrl = options.callbackUrl;
|
|
185
141
|
this.accessToken = options.token;
|
|
186
142
|
yield this.handshake();
|
|
143
|
+
yield this.connectWallet();
|
|
187
144
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
188
|
-
return this.account.address
|
|
145
|
+
return { address: this.account.address, signature: this.account.signature };
|
|
189
146
|
});
|
|
190
147
|
}
|
|
191
148
|
logout() {
|
|
192
149
|
var _a;
|
|
193
150
|
return __awaiter(this, void 0, void 0, function* () {
|
|
194
151
|
if (!this.initialized) {
|
|
195
|
-
throw new
|
|
152
|
+
throw new errors_1.ErrProviderNotInitialized();
|
|
196
153
|
}
|
|
197
154
|
this.ensureConnected();
|
|
198
155
|
yield this.handshake();
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
202
|
-
}
|
|
203
|
-
catch (error) {
|
|
204
|
-
console.warn('CrossWindow origin url is already cleared!', error);
|
|
205
|
-
}
|
|
156
|
+
this.disconnect();
|
|
157
|
+
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
206
158
|
return true;
|
|
207
159
|
});
|
|
208
160
|
}
|
|
@@ -212,7 +164,7 @@ class CrossWindowProvider {
|
|
|
212
164
|
getAddress() {
|
|
213
165
|
return __awaiter(this, void 0, void 0, function* () {
|
|
214
166
|
if (!this.initialized) {
|
|
215
|
-
throw new
|
|
167
|
+
throw new errors_1.ErrProviderNotInitialized();
|
|
216
168
|
}
|
|
217
169
|
return this.account ? this.account.address : '';
|
|
218
170
|
});
|
|
@@ -245,15 +197,16 @@ class CrossWindowProvider {
|
|
|
245
197
|
return __awaiter(this, void 0, void 0, function* () {
|
|
246
198
|
this.ensureConnected();
|
|
247
199
|
yield this.handshake();
|
|
200
|
+
yield this.connectWallet();
|
|
248
201
|
const payloadQueryString = helpers_1.buildTransactionsQueryString(transactions);
|
|
249
|
-
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type:
|
|
250
|
-
const { type, payload: signedPlainTransactions } = yield this.listenOnce();
|
|
202
|
+
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: types_1.CrossWindowProviderRequestEnums.signTransactionsRequest, payload: payloadQueryString }, this.walletUrl);
|
|
203
|
+
const { type, payload: signedPlainTransactions } = yield this.listenOnce(types_1.CrossWindowProviderResponseEnums.signTransactionsResponse);
|
|
251
204
|
(_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
|
|
252
|
-
if (type ===
|
|
253
|
-
throw new
|
|
205
|
+
if (type === types_1.CrossWindowProviderResponseEnums.cancelResponse) {
|
|
206
|
+
throw new errors_1.ErrTransactionCAncelled();
|
|
254
207
|
}
|
|
255
208
|
if (!signedPlainTransactions || !signedPlainTransactions.length) {
|
|
256
|
-
throw new
|
|
209
|
+
throw new errors_1.ErrCouldNotSignTransaction();
|
|
257
210
|
}
|
|
258
211
|
const signedTransactions = signedPlainTransactions.map((tx) => {
|
|
259
212
|
const transaction = sdk_core_1.Transaction.fromPlainObject(tx);
|
|
@@ -267,19 +220,17 @@ class CrossWindowProvider {
|
|
|
267
220
|
return __awaiter(this, void 0, void 0, function* () {
|
|
268
221
|
this.ensureConnected();
|
|
269
222
|
yield this.handshake();
|
|
223
|
+
yield this.connectWallet();
|
|
270
224
|
const payloadQueryString = helpers_1.buildWalletQueryString({
|
|
271
225
|
params: {
|
|
272
226
|
message: message.message.toString()
|
|
273
227
|
}
|
|
274
228
|
});
|
|
275
|
-
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type:
|
|
276
|
-
const {
|
|
229
|
+
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: types_1.CrossWindowProviderRequestEnums.signMessageRequest, payload: payloadQueryString }, this.walletUrl);
|
|
230
|
+
const { payload: { status, signature } } = yield this.listenOnce(types_1.CrossWindowProviderResponseEnums.signMessageResponse);
|
|
277
231
|
(_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
|
|
278
|
-
if (
|
|
279
|
-
throw new
|
|
280
|
-
}
|
|
281
|
-
if (status !== 'signed') {
|
|
282
|
-
throw new Error('Could not sign message');
|
|
232
|
+
if (status !== types_1.SignMessageStatusEnum.signed) {
|
|
233
|
+
throw new errors_1.ErrCouldNotSignMessage();
|
|
283
234
|
}
|
|
284
235
|
message.applySignature(Buffer.from(signature, 'hex'));
|
|
285
236
|
return message;
|
|
@@ -287,7 +238,7 @@ class CrossWindowProvider {
|
|
|
287
238
|
}
|
|
288
239
|
cancelAction() {
|
|
289
240
|
var _a;
|
|
290
|
-
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type:
|
|
241
|
+
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: types_1.CrossWindowProviderRequestEnums.cancelAction }, this.walletUrl);
|
|
291
242
|
}
|
|
292
243
|
}
|
|
293
244
|
exports.CrossWindowProvider = CrossWindowProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crossWindowProvider.js","sourceRoot":"","sources":["../src/crossWindowProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"crossWindowProvider.js","sourceRoot":"","sources":["../src/crossWindowProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAoE;AACpE,qCAUkB;AAClB,uCAGmB;AACnB,mCAAmH;AAWtG,QAAA,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AAEvD,MAAa,mBAAmB;IAS9B;QARQ,cAAS,GAAG,EAAE,CAAC;QAChB,YAAO,GAA8B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACpD,gBAAW,GAAG,KAAK,CAAC;QAE5B,iBAAY,GAAkB,IAAI,CAAC;QAC3B,yBAAoB,GAAG,KAAK,CAAC;QAC7B,gBAAW,GAAuB,SAAS,CAAC;QAGlD,IAAI,mBAAmB,CAAC,SAAS,EAAE;YACjC,MAAM,IAAI,+BAAsB,EAAE,CAAC;SACpC;QACD,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE;;YAC3C,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,GAAG;QAC7B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,wBAAgB,CAAC;QAC7C,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,OAAO,mBAAmB,CAAC,SAAS,CAAC;IACvC,CAAC;IAEM,UAAU,CAAC,OAAe;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/B,OAAO,mBAAmB,CAAC,SAAS,CAAC;IACvC,CAAC;IAEM,YAAY,CAAC,GAAW;QAC7B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,OAAO,mBAAmB,CAAC,SAAS,CAAC;IACvC,CAAC;IAEK,IAAI;;YACR,MAAM,CAAC,IAAI,GAAG,wBAAgB,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;KAAA;IAEK,SAAS;;YACb,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,wCAAgC,CAAC,iBAAiB,CAAE,CAAC;YAE/F,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,oCAA2B,EAAE,CAAC;aACzC;YACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAElC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEa,0BAA0B;;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,4DAA4D;YAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,YAAY,CAAC,KAAK;;gBAC5D,IAAI;oBACF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;oBACrC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;oBAEjE,IAAI,aAAa,IAAI,IAAI,KAAK,wCAAgC,CAAC,iBAAiB,EAAE;wBAChF,IAAI,OAAO,KAAK,KAAK,EAAE;4BACrB,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,GAAG;4BAC3B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;4BAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;4BACzB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;yBACrD;qBACF;iBACF;gBAAC,WAAM,GAAE;YACZ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,UAAU,CAAC,MAAwC;;YACvD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,MAAM,IAAI,uCAA8B,EAAE,CAAC;aAC5C;YACD,MAAM,IAAI,GAAG,IAAI,CAAC;YAElB,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAe,YAAY,CAAC,KAAK;;wBAChE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;wBACrC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;wBACjE,MAAM,eAAe,GAAG,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,wCAAgC,CAAC,cAAc,CAAC;wBACpG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;wBAG3C,IAAI,CAAC,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE;4BACzD,OAAO;yBACR;wBAED,IAAI,aAAa,EAAE;4BACjB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;4BACpD,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;yBAC5B;oBACL,CAAC;iBAAA,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,aAAa;;;YACzB,MAAM,kBAAkB,GAAG,gCAAsB,CAAC;gBAChD,MAAM,EAAE;oBACN,KAAK,EAAE,IAAI,CAAC,WAAW;iBACxB;aACF,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAA,IAAI,CAAC,YAAY,0CAAE,WAAW,CAC5B;gBACE,IAAI,EAAE,uCAA+B,CAAC,YAAY;gBAClD,OAAO,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC7C,EACD,IAAI,CAAC,SAAS,EACd;YAEF,IAAI,CAAC,SAAS,EAAE;gBAEd,MAAM,EACJ,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAChC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,wCAAgC,CAAC,aAAa,CAAC,CAAC;gBAE1E,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;aACpC;;KACF;IAEK,KAAK,CACT,UAEI,EAAE;;;YAEN,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,kCAAyB,EAAE,CAAC;aACvC;YAED,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;YAEjC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3B,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,GAAG;YAE3B,OAAO,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAC,CAAC;;KAC3E;IAEK,MAAM;;;YACV,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,kCAAyB,EAAE,CAAC;aACvC;YACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,GAAG;YAG3B,OAAO,IAAI,CAAC;;KACb;IAEO,UAAU;QAChB,IAAI,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACjC,CAAC;IAEK,UAAU;;YACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,kCAAyB,EAAE,CAAC;aACvC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,CAAC;KAAA;IAED,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEK,WAAW;;YACf,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,eAAe,CAAC,WAAwB;;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAEtE,IAAI,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAE;gBAClC,MAAM,IAAI,uCAA8B,EAAE,CAAC;aAC5C;YAED,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;KAAA;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACzB,MAAM,IAAI,+BAAsB,EAAE,CAAC;SACpC;IACH,CAAC;IAEK,gBAAgB,CAAC,YAA2B;;;YAChD,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3B,MAAM,kBAAkB,GAAG,sCAA4B,CAAC,YAAY,CAAC,CAAC;YACtE,MAAA,IAAI,CAAC,YAAY,0CAAE,WAAW,CAC5B,EAAE,IAAI,EAAE,uCAA+B,CAAC,uBAAuB,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAC9F,IAAI,CAAC,SAAS,EACd;YAEF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,GAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,wCAAgC,CAAC,wBAAwB,CAAC,CAAC;YAEnF,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,GAAG;YAE3B,IAAI,IAAI,KAAK,wCAAgC,CAAC,cAAc,EAAE;gBAC5D,MAAM,IAAI,gCAAuB,EAAE,CAAC;aACrC;YAED,IAAI,CAAC,uBAAuB,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE;gBAC/D,MAAM,IAAI,mCAA0B,EAAE,CAAC;aACxC;YACD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE;gBACjE,MAAM,WAAW,GAAG,sBAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBACpD,OAAO,WAAW,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,OAAO,kBAAkB,CAAC;;KAC3B;IAEK,WAAW,CAAC,OAAwB;;;YACxC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,kBAAkB,GAAG,gCAAsB,CAAC;gBAChD,MAAM,EAAE;oBACN,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;iBACpC;aACF,CAAC,CAAC;YACH,MAAA,IAAI,CAAC,YAAY,0CAAE,WAAW,CAC5B,EAAE,IAAI,EAAE,uCAA+B,CAAC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,EAAE,EACzF,IAAI,CAAC,SAAS,EACd;YACF,MAAM,EACJ,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAC/B,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,wCAAgC,CAAC,mBAAmB,CAAC,CAAC;YAEhF,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,GAAG;YAE3B,IAAI,MAAM,KAAK,6BAAqB,CAAC,MAAM,EAAE;gBAC3C,MAAM,IAAI,+BAAsB,EAAE,CAAC;aACpC;YAED,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAEtD,OAAO,OAAO,CAAC;;KAChB;IAED,YAAY;;QACV,MAAA,IAAI,CAAC,YAAY,0CAAE,WAAW,CAC5B,EAAE,IAAI,EAAE,uCAA+B,CAAC,YAAY,EAAE,EACtD,IAAI,CAAC,SAAS,EACd;IACJ,CAAC;;AArQH,kDAsQC;AAlQgB,6BAAS,GAAwB,IAAI,mBAAmB,EAAE,CAAC"}
|
package/out/errors.d.ts
CHANGED
|
@@ -11,3 +11,24 @@ export declare class ErrCannotSignSingleTransaction extends Err {
|
|
|
11
11
|
export declare class ErrAccountNotConnected extends Err {
|
|
12
12
|
constructor();
|
|
13
13
|
}
|
|
14
|
+
export declare class ErrCannotEstablishHandshake extends Err {
|
|
15
|
+
constructor();
|
|
16
|
+
}
|
|
17
|
+
export declare class ErrInstantiationFailed extends Err {
|
|
18
|
+
constructor();
|
|
19
|
+
}
|
|
20
|
+
export declare class ErrWalletWindowNotInstantiated extends Err {
|
|
21
|
+
constructor();
|
|
22
|
+
}
|
|
23
|
+
export declare class ErrProviderNotInitialized extends Err {
|
|
24
|
+
constructor();
|
|
25
|
+
}
|
|
26
|
+
export declare class ErrTransactionCAncelled extends Err {
|
|
27
|
+
constructor();
|
|
28
|
+
}
|
|
29
|
+
export declare class ErrCouldNotSignTransaction extends Err {
|
|
30
|
+
constructor();
|
|
31
|
+
}
|
|
32
|
+
export declare class ErrCouldNotSignMessage extends Err {
|
|
33
|
+
constructor();
|
|
34
|
+
}
|
package/out/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ErrAccountNotConnected = exports.ErrCannotSignSingleTransaction = exports.Err = void 0;
|
|
3
|
+
exports.ErrCouldNotSignMessage = exports.ErrCouldNotSignTransaction = exports.ErrTransactionCAncelled = exports.ErrProviderNotInitialized = exports.ErrWalletWindowNotInstantiated = exports.ErrInstantiationFailed = exports.ErrCannotEstablishHandshake = exports.ErrAccountNotConnected = exports.ErrCannotSignSingleTransaction = exports.Err = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* The base class for exceptions (errors).
|
|
6
6
|
*/
|
|
@@ -24,4 +24,46 @@ class ErrAccountNotConnected extends Err {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
exports.ErrAccountNotConnected = ErrAccountNotConnected;
|
|
27
|
+
class ErrCannotEstablishHandshake extends Err {
|
|
28
|
+
constructor() {
|
|
29
|
+
super('Handshake could not be established');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.ErrCannotEstablishHandshake = ErrCannotEstablishHandshake;
|
|
33
|
+
class ErrInstantiationFailed extends Err {
|
|
34
|
+
constructor() {
|
|
35
|
+
super('Error: Instantiation failed: Use CrossWindowProvider.getInstance() instead of new.');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.ErrInstantiationFailed = ErrInstantiationFailed;
|
|
39
|
+
class ErrWalletWindowNotInstantiated extends Err {
|
|
40
|
+
constructor() {
|
|
41
|
+
super('Wallet window is not instantiated');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.ErrWalletWindowNotInstantiated = ErrWalletWindowNotInstantiated;
|
|
45
|
+
class ErrProviderNotInitialized extends Err {
|
|
46
|
+
constructor() {
|
|
47
|
+
super('Wallet cross window provider is not initialised, call init() first');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.ErrProviderNotInitialized = ErrProviderNotInitialized;
|
|
51
|
+
class ErrTransactionCAncelled extends Err {
|
|
52
|
+
constructor() {
|
|
53
|
+
super('Transaction canceled.');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.ErrTransactionCAncelled = ErrTransactionCAncelled;
|
|
57
|
+
class ErrCouldNotSignTransaction extends Err {
|
|
58
|
+
constructor() {
|
|
59
|
+
super('Could not sign transactions');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.ErrCouldNotSignTransaction = ErrCouldNotSignTransaction;
|
|
63
|
+
class ErrCouldNotSignMessage extends Err {
|
|
64
|
+
constructor() {
|
|
65
|
+
super('Could not sign message');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.ErrCouldNotSignMessage = ErrCouldNotSignMessage;
|
|
27
69
|
//# sourceMappingURL=errors.js.map
|
package/out/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,GAAI,SAAQ,KAAK;IAG5B,YAAmB,OAAe,EAAE,KAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,UAAK,GAAsB,SAAS,CAAC;QAInC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAPD,kBAOC;AAED,MAAa,8BAA+B,SAAQ,GAAG;IACrD;QACE,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3C,CAAC;CACF;AAJD,wEAIC;AAED,MAAa,sBAAuB,SAAQ,GAAG;IAC7C;QACE,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACrC,CAAC;CACF;AAJD,wDAIC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,GAAI,SAAQ,KAAK;IAG5B,YAAmB,OAAe,EAAE,KAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,UAAK,GAAsB,SAAS,CAAC;QAInC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAPD,kBAOC;AAED,MAAa,8BAA+B,SAAQ,GAAG;IACrD;QACE,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3C,CAAC;CACF;AAJD,wEAIC;AAED,MAAa,sBAAuB,SAAQ,GAAG;IAC7C;QACE,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACrC,CAAC;CACF;AAJD,wDAIC;AAGD,MAAa,2BAA4B,SAAQ,GAAG;IAClD;QACE,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9C,CAAC;CACF;AAJD,kEAIC;AAED,MAAa,sBAAuB,SAAQ,GAAG;IAC7C;QACE,KAAK,CAAC,oFAAoF,CAAC,CAAC;IAC9F,CAAC;CACF;AAJD,wDAIC;AAED,MAAa,8BAA+B,SAAQ,GAAG;IACrD;QACE,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC7C,CAAC;CACF;AAJD,wEAIC;AAGD,MAAa,yBAA0B,SAAQ,GAAG;IAChD;QACE,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC9E,CAAC;CACF;AAJD,8DAIC;AAGD,MAAa,uBAAwB,SAAQ,GAAG;IAC9C;QACE,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACjC,CAAC;CACF;AAJD,0DAIC;AAED,MAAa,0BAA2B,SAAQ,GAAG;IACjD;QACE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvC,CAAC;CACF;AAJD,gEAIC;AAED,MAAa,sBAAuB,SAAQ,GAAG;IAC7C;QACE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClC,CAAC;CACF;AAJD,wDAIC"}
|
package/out/types.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare enum CrossWindowProviderRequestEnums {
|
|
2
|
+
signTransactionsRequest = "SIGN_TRANSACTIONS_REQUEST",
|
|
3
|
+
signMessageRequest = "SIGN_MESSAGE_REQUEST",
|
|
4
|
+
loginRequest = "LOGIN_REQUEST",
|
|
5
|
+
logoutRequest = "LOGOUT_REQUEST",
|
|
6
|
+
cancelAction = "CANCEL_ACTION_REQUEST"
|
|
7
|
+
}
|
|
8
|
+
export declare enum CrossWindowProviderResponseEnums {
|
|
9
|
+
signTransactionsResponse = "SIGN_TRANSACTIONS_RESPONSE",
|
|
10
|
+
signMessageResponse = "SIGN_MESSAGE_RESPONSE",
|
|
11
|
+
loginResponse = "LOGIN_RESPONSE",
|
|
12
|
+
handshakeResponse = "HANDSHAKE_RESPONSE",
|
|
13
|
+
cancelResponse = "CANCEL_RESPONSE",
|
|
14
|
+
disconnectResponse = "DISCONNECT_RESPONSE",
|
|
15
|
+
noneResponse = "NONE_RESPONSE"
|
|
16
|
+
}
|
|
17
|
+
export declare enum SignMessageStatusEnum {
|
|
18
|
+
signed = "signed"
|
|
19
|
+
}
|
package/out/types.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SignMessageStatusEnum = exports.CrossWindowProviderResponseEnums = exports.CrossWindowProviderRequestEnums = void 0;
|
|
4
|
+
var CrossWindowProviderRequestEnums;
|
|
5
|
+
(function (CrossWindowProviderRequestEnums) {
|
|
6
|
+
CrossWindowProviderRequestEnums["signTransactionsRequest"] = "SIGN_TRANSACTIONS_REQUEST";
|
|
7
|
+
CrossWindowProviderRequestEnums["signMessageRequest"] = "SIGN_MESSAGE_REQUEST";
|
|
8
|
+
CrossWindowProviderRequestEnums["loginRequest"] = "LOGIN_REQUEST";
|
|
9
|
+
CrossWindowProviderRequestEnums["logoutRequest"] = "LOGOUT_REQUEST";
|
|
10
|
+
CrossWindowProviderRequestEnums["cancelAction"] = "CANCEL_ACTION_REQUEST";
|
|
11
|
+
})(CrossWindowProviderRequestEnums = exports.CrossWindowProviderRequestEnums || (exports.CrossWindowProviderRequestEnums = {}));
|
|
12
|
+
var CrossWindowProviderResponseEnums;
|
|
13
|
+
(function (CrossWindowProviderResponseEnums) {
|
|
14
|
+
CrossWindowProviderResponseEnums["signTransactionsResponse"] = "SIGN_TRANSACTIONS_RESPONSE";
|
|
15
|
+
CrossWindowProviderResponseEnums["signMessageResponse"] = "SIGN_MESSAGE_RESPONSE";
|
|
16
|
+
CrossWindowProviderResponseEnums["loginResponse"] = "LOGIN_RESPONSE";
|
|
17
|
+
CrossWindowProviderResponseEnums["handshakeResponse"] = "HANDSHAKE_RESPONSE";
|
|
18
|
+
CrossWindowProviderResponseEnums["cancelResponse"] = "CANCEL_RESPONSE";
|
|
19
|
+
CrossWindowProviderResponseEnums["disconnectResponse"] = "DISCONNECT_RESPONSE";
|
|
20
|
+
CrossWindowProviderResponseEnums["noneResponse"] = "NONE_RESPONSE";
|
|
21
|
+
})(CrossWindowProviderResponseEnums = exports.CrossWindowProviderResponseEnums || (exports.CrossWindowProviderResponseEnums = {}));
|
|
22
|
+
var SignMessageStatusEnum;
|
|
23
|
+
(function (SignMessageStatusEnum) {
|
|
24
|
+
SignMessageStatusEnum["signed"] = "signed";
|
|
25
|
+
})(SignMessageStatusEnum = exports.SignMessageStatusEnum || (exports.SignMessageStatusEnum = {}));
|
|
26
|
+
//# sourceMappingURL=types.js.map
|
package/out/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,+BAMT;AANH,WAAY,+BAA+B;IACvC,wFAAqD,CAAA;IACrD,8EAA2C,CAAA;IAC3C,iEAA8B,CAAA;IAC9B,mEAAgC,CAAA;IAChC,yEAAsC,CAAA;AACxC,CAAC,EANS,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAMxC;AAED,IAAY,gCAQX;AARD,WAAY,gCAAgC;IAC1C,2FAAuD,CAAA;IACvD,iFAA6C,CAAA;IAC7C,oEAAgC,CAAA;IAChC,4EAAwC,CAAA;IACxC,sEAAkC,CAAA;IAClC,8EAA0C,CAAA;IAC1C,kEAA8B,CAAA;AAChC,CAAC,EARW,gCAAgC,GAAhC,wCAAgC,KAAhC,wCAAgC,QAQ3C;AAED,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,0CAAgB,CAAA;AAClB,CAAC,EAFW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAEhC"}
|