@manahippo/aptos-wallet-adapter 0.3.0 → 0.3.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/README.md +5 -3
- package/dist/WalletAdapters/AptosWallet.d.ts +12 -4
- package/dist/WalletAdapters/AptosWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/AptosWallet.js +30 -11
- package/dist/WalletAdapters/AptosWallet.js.map +1 -1
- package/dist/WalletAdapters/BaseAdapter.d.ts +4 -2
- package/dist/WalletAdapters/BaseAdapter.d.ts.map +1 -1
- package/dist/WalletAdapters/BaseAdapter.js.map +1 -1
- package/dist/WalletAdapters/FewchaWallet.d.ts +3 -2
- package/dist/WalletAdapters/FewchaWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/FewchaWallet.js +46 -45
- package/dist/WalletAdapters/FewchaWallet.js.map +1 -1
- package/dist/WalletAdapters/HippoExtensionWallet.d.ts +4 -2
- package/dist/WalletAdapters/HippoExtensionWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/HippoExtensionWallet.js +24 -2
- package/dist/WalletAdapters/HippoExtensionWallet.js.map +1 -1
- package/dist/WalletAdapters/HippoWallet.d.ts +3 -2
- package/dist/WalletAdapters/HippoWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/HippoWallet.js +26 -1
- package/dist/WalletAdapters/HippoWallet.js.map +1 -1
- package/dist/WalletAdapters/MartianWallet.d.ts +4 -2
- package/dist/WalletAdapters/MartianWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/MartianWallet.js +30 -8
- package/dist/WalletAdapters/MartianWallet.js.map +1 -1
- package/dist/WalletAdapters/PontemWallet.d.ts +6 -4
- package/dist/WalletAdapters/PontemWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/PontemWallet.js +28 -6
- package/dist/WalletAdapters/PontemWallet.js.map +1 -1
- package/dist/WalletAdapters/SpikaWallet.d.ts +46 -0
- package/dist/WalletAdapters/SpikaWallet.d.ts.map +1 -0
- package/dist/WalletAdapters/{MultiMaskWallet.js → SpikaWallet.js} +71 -82
- package/dist/WalletAdapters/SpikaWallet.js.map +1 -0
- package/dist/WalletAdapters/index.d.ts +1 -1
- package/dist/WalletAdapters/index.d.ts.map +1 -1
- package/dist/WalletAdapters/index.js +1 -1
- package/dist/WalletAdapters/index.js.map +1 -1
- package/dist/WalletProviders/WalletProvider.d.ts.map +1 -1
- package/dist/WalletProviders/WalletProvider.js +9 -1
- package/dist/WalletProviders/WalletProvider.js.map +1 -1
- package/dist/WalletProviders/useWallet.d.ts +1 -0
- package/dist/WalletProviders/useWallet.d.ts.map +1 -1
- package/dist/WalletProviders/useWallet.js.map +1 -1
- package/package.json +3 -3
- package/src/WalletAdapters/AptosWallet.ts +41 -13
- package/src/WalletAdapters/BaseAdapter.ts +11 -2
- package/src/WalletAdapters/FewchaWallet.ts +45 -25
- package/src/WalletAdapters/HippoExtensionWallet.ts +23 -2
- package/src/WalletAdapters/HippoWallet.ts +27 -1
- package/src/WalletAdapters/MartianWallet.ts +29 -8
- package/src/WalletAdapters/PontemWallet.ts +32 -7
- package/src/WalletAdapters/SpikaWallet.ts +229 -0
- package/src/WalletAdapters/index.ts +1 -1
- package/src/WalletProviders/WalletProvider.tsx +11 -1
- package/src/WalletProviders/useWallet.ts +1 -0
- package/dist/WalletAdapters/MultiMaskWallet.d.ts +0 -41
- package/dist/WalletAdapters/MultiMaskWallet.d.ts.map +0 -1
- package/dist/WalletAdapters/MultiMaskWallet.js.map +0 -1
- package/src/WalletAdapters/MultiMaskWallet.ts +0 -248
|
@@ -237,6 +237,15 @@ export const WalletProvider: FC<WalletProviderProps> = ({
|
|
|
237
237
|
[adapter, handleError, connected]
|
|
238
238
|
);
|
|
239
239
|
|
|
240
|
+
const signMessage = useCallback(
|
|
241
|
+
async (message: string) => {
|
|
242
|
+
if (!adapter) throw handleError(new WalletNotSelectedError());
|
|
243
|
+
if (!connected) throw handleError(new WalletNotConnectedError());
|
|
244
|
+
return adapter.signMessage(message);
|
|
245
|
+
},
|
|
246
|
+
[adapter, handleError, connected]
|
|
247
|
+
);
|
|
248
|
+
|
|
240
249
|
return (
|
|
241
250
|
<WalletContext.Provider
|
|
242
251
|
value={{
|
|
@@ -250,7 +259,8 @@ export const WalletProvider: FC<WalletProviderProps> = ({
|
|
|
250
259
|
connect,
|
|
251
260
|
disconnect,
|
|
252
261
|
signAndSubmitTransaction,
|
|
253
|
-
signTransaction
|
|
262
|
+
signTransaction,
|
|
263
|
+
signMessage
|
|
254
264
|
}}>
|
|
255
265
|
{children}
|
|
256
266
|
</WalletContext.Provider>
|
|
@@ -29,6 +29,7 @@ export interface WalletContextState {
|
|
|
29
29
|
disconnect(): Promise<void>;
|
|
30
30
|
signAndSubmitTransaction(transaction: TransactionPayload): Promise<{ hash: HexEncodedBytes }>;
|
|
31
31
|
signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
|
|
32
|
+
signMessage(message: string): Promise<string>;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
const DEFAULT_CONTEXT = {
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { TransactionPayload, SubmitTransactionRequest, HexEncodedBytes } from 'aptos/dist/generated';
|
|
2
|
-
import { AccountKeys, BaseWalletAdapter, PublicKey, WalletName, WalletReadyState } from './BaseAdapter';
|
|
3
|
-
interface IMultiMaskWallet {
|
|
4
|
-
currentProvider: {
|
|
5
|
-
enable: () => Promise<PublicKey[]>;
|
|
6
|
-
sendAsync(payload: any, callback: (error: Error | null, result?: any) => void): void;
|
|
7
|
-
};
|
|
8
|
-
request: (params?: any) => Promise<any>;
|
|
9
|
-
publicKey?: string;
|
|
10
|
-
isConnected?: boolean;
|
|
11
|
-
signGenericTransaction(transaction: any): Promise<void>;
|
|
12
|
-
disconnect(): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
export declare const MultiMaskWalletName: WalletName<"MultiMaskWallet">;
|
|
15
|
-
export interface MultiMaskWalletAdapterConfig {
|
|
16
|
-
provider?: IMultiMaskWallet;
|
|
17
|
-
timeout?: number;
|
|
18
|
-
}
|
|
19
|
-
export declare class MultiMaskWalletAdapter extends BaseWalletAdapter {
|
|
20
|
-
name: WalletName<"MultiMaskWallet">;
|
|
21
|
-
url: string;
|
|
22
|
-
icon: string;
|
|
23
|
-
protected _provider: IMultiMaskWallet | undefined;
|
|
24
|
-
protected _timeout: number;
|
|
25
|
-
protected _readyState: WalletReadyState;
|
|
26
|
-
protected _connecting: boolean;
|
|
27
|
-
protected _wallet: any | null;
|
|
28
|
-
constructor({ timeout }?: MultiMaskWalletAdapterConfig);
|
|
29
|
-
get publicAccount(): AccountKeys;
|
|
30
|
-
get connecting(): boolean;
|
|
31
|
-
get connected(): boolean;
|
|
32
|
-
get readyState(): WalletReadyState;
|
|
33
|
-
connect(): Promise<void>;
|
|
34
|
-
disconnect(): Promise<void>;
|
|
35
|
-
signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
|
|
36
|
-
signAndSubmitTransaction(tempTransaction: TransactionPayload): Promise<{
|
|
37
|
-
hash: HexEncodedBytes;
|
|
38
|
-
}>;
|
|
39
|
-
}
|
|
40
|
-
export {};
|
|
41
|
-
//# sourceMappingURL=MultiMaskWallet.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MultiMaskWallet.d.ts","sourceRoot":"","sources":["../../src/WalletAdapters/MultiMaskWallet.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,SAAS,EAET,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,UAAU,gBAAgB;IACxB,eAAe,EAAE;QACf,MAAM,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACnC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;KACtF,CAAC;IACF,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAQD,eAAO,MAAM,mBAAmB,+BAAqD,CAAC;AAEtF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,IAAI,gCAAuB;IAE3B,GAAG,SAAuE;IAE1E,IAAI,SAA6D;IAEjE,SAAS,CAAC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAGlD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE3B,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAGJ;IAEnC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAE/B,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;gBAElB,EAGV,OAAe,EAChB,GAAE,4BAAiC;IAqBpC,IAAI,aAAa,IAAI,WAAW,CAM/B;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B3B,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA2BnF,wBAAwB,CAC5B,eAAe,EAAE,kBAAkB,GAClC,OAAO,CAAC;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,CAAC;CAwCtC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MultiMaskWallet.js","sourceRoot":"","sources":["../../src/WalletAdapters/MultiMaskWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-unused-vars */
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
3
|
-
import {
|
|
4
|
-
TransactionPayload,
|
|
5
|
-
SubmitTransactionRequest,
|
|
6
|
-
HexEncodedBytes
|
|
7
|
-
} from 'aptos/dist/generated';
|
|
8
|
-
import {
|
|
9
|
-
WalletDisconnectionError,
|
|
10
|
-
WalletNotConnectedError,
|
|
11
|
-
WalletNotReadyError,
|
|
12
|
-
WalletSignTransactionError
|
|
13
|
-
} from '../WalletProviders/errors';
|
|
14
|
-
import {
|
|
15
|
-
AccountKeys,
|
|
16
|
-
BaseWalletAdapter,
|
|
17
|
-
PublicKey,
|
|
18
|
-
scopePollingDetectionStrategy,
|
|
19
|
-
WalletName,
|
|
20
|
-
WalletReadyState
|
|
21
|
-
} from './BaseAdapter';
|
|
22
|
-
|
|
23
|
-
interface IMultiMaskWallet {
|
|
24
|
-
currentProvider: {
|
|
25
|
-
enable: () => Promise<PublicKey[]>;
|
|
26
|
-
sendAsync(payload: any, callback: (error: Error | null, result?: any) => void): void;
|
|
27
|
-
};
|
|
28
|
-
request: (params?: any) => Promise<any>;
|
|
29
|
-
publicKey?: string;
|
|
30
|
-
isConnected?: boolean;
|
|
31
|
-
signGenericTransaction(transaction: any): Promise<void>;
|
|
32
|
-
// signTransaction(transaction: any): Promise<void>;
|
|
33
|
-
disconnect(): Promise<void>;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
interface MultiMaskWindow extends Window {
|
|
37
|
-
aptosWeb3?: IMultiMaskWallet;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
declare const window: MultiMaskWindow;
|
|
41
|
-
|
|
42
|
-
export const MultiMaskWalletName = 'MultiMaskWallet' as WalletName<'MultiMaskWallet'>;
|
|
43
|
-
|
|
44
|
-
export interface MultiMaskWalletAdapterConfig {
|
|
45
|
-
provider?: IMultiMaskWallet;
|
|
46
|
-
// network?: WalletAdapterNetwork;
|
|
47
|
-
timeout?: number;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export class MultiMaskWalletAdapter extends BaseWalletAdapter {
|
|
51
|
-
name = MultiMaskWalletName;
|
|
52
|
-
|
|
53
|
-
url = 'https://github.com/pontem-network/aptos-chrome-extension/releases';
|
|
54
|
-
|
|
55
|
-
icon = 'https://liquidswap.pontem.network/img/logo.87454209.svg';
|
|
56
|
-
|
|
57
|
-
protected _provider: IMultiMaskWallet | undefined;
|
|
58
|
-
|
|
59
|
-
// protected _network: WalletAdapterNetwork;
|
|
60
|
-
protected _timeout: number;
|
|
61
|
-
|
|
62
|
-
protected _readyState: WalletReadyState =
|
|
63
|
-
typeof window === 'undefined' || typeof document === 'undefined'
|
|
64
|
-
? WalletReadyState.Unsupported
|
|
65
|
-
: WalletReadyState.NotDetected;
|
|
66
|
-
|
|
67
|
-
protected _connecting: boolean;
|
|
68
|
-
|
|
69
|
-
protected _wallet: any | null;
|
|
70
|
-
|
|
71
|
-
constructor({
|
|
72
|
-
// provider,
|
|
73
|
-
// network = WalletAdapterNetwork.Mainnet,
|
|
74
|
-
timeout = 10000
|
|
75
|
-
}: MultiMaskWalletAdapterConfig = {}) {
|
|
76
|
-
super();
|
|
77
|
-
|
|
78
|
-
this._provider = typeof window !== 'undefined' ? window.aptosWeb3 : undefined;
|
|
79
|
-
// this._network = network;
|
|
80
|
-
this._timeout = timeout;
|
|
81
|
-
this._connecting = false;
|
|
82
|
-
this._wallet = null;
|
|
83
|
-
|
|
84
|
-
if (typeof window !== 'undefined' && this._readyState !== WalletReadyState.Unsupported) {
|
|
85
|
-
scopePollingDetectionStrategy(() => {
|
|
86
|
-
if (this._provider) {
|
|
87
|
-
this._readyState = WalletReadyState.Installed;
|
|
88
|
-
this.emit('readyStateChange', this._readyState);
|
|
89
|
-
return true;
|
|
90
|
-
}
|
|
91
|
-
return false;
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
get publicAccount(): AccountKeys {
|
|
97
|
-
return {
|
|
98
|
-
publicKey: this._wallet?.publicKey || null,
|
|
99
|
-
address: this._wallet?.address || null,
|
|
100
|
-
authKey: this._wallet?.authKey || null
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
get connecting(): boolean {
|
|
105
|
-
return this._connecting;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
get connected(): boolean {
|
|
109
|
-
return !!this._wallet?.isConnected;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
get readyState(): WalletReadyState {
|
|
113
|
-
return this._readyState;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
async connect(): Promise<void> {
|
|
117
|
-
try {
|
|
118
|
-
// console.log(1);
|
|
119
|
-
if (this.connected || this.connecting) return;
|
|
120
|
-
// console.log(2);
|
|
121
|
-
if (
|
|
122
|
-
!(
|
|
123
|
-
this._readyState === WalletReadyState.Loadable ||
|
|
124
|
-
this._readyState === WalletReadyState.Installed
|
|
125
|
-
)
|
|
126
|
-
)
|
|
127
|
-
throw new WalletNotReadyError();
|
|
128
|
-
// console.log(3);
|
|
129
|
-
this._connecting = true;
|
|
130
|
-
|
|
131
|
-
const provider = this._provider;
|
|
132
|
-
// console.log(4);
|
|
133
|
-
|
|
134
|
-
const wallets = await provider?.currentProvider.enable();
|
|
135
|
-
if (wallets && wallets.length) {
|
|
136
|
-
this._wallet = {
|
|
137
|
-
publicKey: wallets[0],
|
|
138
|
-
isConnected: true
|
|
139
|
-
};
|
|
140
|
-
// console.log(9, this._wallet);
|
|
141
|
-
this.emit('connect', this._wallet);
|
|
142
|
-
}
|
|
143
|
-
} catch (error: any) {
|
|
144
|
-
// console.log(10, error);
|
|
145
|
-
this.emit('error', error);
|
|
146
|
-
throw error;
|
|
147
|
-
} finally {
|
|
148
|
-
// console.log(11);
|
|
149
|
-
this._connecting = false;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
async disconnect(): Promise<void> {
|
|
154
|
-
const wallet = this._wallet;
|
|
155
|
-
if (wallet) {
|
|
156
|
-
this._wallet = null;
|
|
157
|
-
|
|
158
|
-
try {
|
|
159
|
-
await new Promise<void>((resolve, reject) => {
|
|
160
|
-
const timeout = setTimeout(() => resolve(), 250);
|
|
161
|
-
|
|
162
|
-
try {
|
|
163
|
-
wallet.disconnect(() => {
|
|
164
|
-
clearTimeout(timeout);
|
|
165
|
-
resolve();
|
|
166
|
-
});
|
|
167
|
-
} catch (err) {
|
|
168
|
-
reject(err);
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
} catch (error: any) {
|
|
172
|
-
this.emit('error', new WalletDisconnectionError(error?.message, error));
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
this.emit('disconnect');
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
async signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest> {
|
|
180
|
-
try {
|
|
181
|
-
const wallet = this._wallet;
|
|
182
|
-
if (!wallet) throw new WalletNotConnectedError();
|
|
183
|
-
|
|
184
|
-
try {
|
|
185
|
-
const response = await new Promise<SubmitTransactionRequest>((resolve, reject) => {
|
|
186
|
-
wallet.signGenericTransaction(transaction, (resp: any) => {
|
|
187
|
-
// console.log('signTransaction', resp);
|
|
188
|
-
if (resp.status === 200) {
|
|
189
|
-
// console.log('Transaction is Signed successfully.');
|
|
190
|
-
resolve(resp);
|
|
191
|
-
} else {
|
|
192
|
-
reject(resp.message);
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
return response;
|
|
197
|
-
} catch (error: any) {
|
|
198
|
-
throw new WalletSignTransactionError(error?.message, error);
|
|
199
|
-
}
|
|
200
|
-
} catch (error: any) {
|
|
201
|
-
this.emit('error', error);
|
|
202
|
-
throw error;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
async signAndSubmitTransaction(
|
|
207
|
-
tempTransaction: TransactionPayload
|
|
208
|
-
): Promise<{ hash: HexEncodedBytes }> {
|
|
209
|
-
try {
|
|
210
|
-
const wallet = this._provider;
|
|
211
|
-
if (!wallet) throw new WalletNotConnectedError();
|
|
212
|
-
// const transaction = tempTransaction as ScriptFunctionPayload;
|
|
213
|
-
|
|
214
|
-
try {
|
|
215
|
-
// console.log('trans', 1);
|
|
216
|
-
const response = await new Promise<{ hash: HexEncodedBytes }>((resolve, reject) => {
|
|
217
|
-
// const args = [...transaction.type_arguments, transaction.arguments[0] / 1000];
|
|
218
|
-
// console.log('trans 2', transaction, transaction.function.split(':')[0]);
|
|
219
|
-
wallet.currentProvider.sendAsync(
|
|
220
|
-
{
|
|
221
|
-
method: 'eth_sendTransaction',
|
|
222
|
-
params: [] //[{ from: transaction.function.name.split(':')[0] }]
|
|
223
|
-
},
|
|
224
|
-
(error, resp: any) => {
|
|
225
|
-
console.log('signTransaction', error, resp);
|
|
226
|
-
if (error) {
|
|
227
|
-
reject(error.message);
|
|
228
|
-
} else {
|
|
229
|
-
resolve(resp);
|
|
230
|
-
}
|
|
231
|
-
// if (resp.status === 200) {
|
|
232
|
-
// // console.log('Transaction is Signed successfully.');
|
|
233
|
-
// } else {
|
|
234
|
-
// reject(resp.message);
|
|
235
|
-
// }
|
|
236
|
-
}
|
|
237
|
-
);
|
|
238
|
-
});
|
|
239
|
-
return response;
|
|
240
|
-
} catch (error: any) {
|
|
241
|
-
throw new WalletSignTransactionError(error);
|
|
242
|
-
}
|
|
243
|
-
} catch (error: any) {
|
|
244
|
-
this.emit('error', error);
|
|
245
|
-
throw error;
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|