@manahippo/aptos-wallet-adapter 0.4.5 → 0.4.7
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 +4 -2
- package/dist/WalletAdapters/AptosSnap.d.ts +15 -9
- package/dist/WalletAdapters/AptosSnap.d.ts.map +1 -1
- package/dist/WalletAdapters/AptosSnap.js +41 -2
- package/dist/WalletAdapters/AptosSnap.js.map +1 -1
- package/dist/WalletAdapters/BaseAdapter.d.ts +25 -8
- package/dist/WalletAdapters/BaseAdapter.d.ts.map +1 -1
- package/dist/WalletAdapters/BaseAdapter.js +7 -1
- package/dist/WalletAdapters/BaseAdapter.js.map +1 -1
- package/dist/WalletAdapters/FewchaWallet.d.ts +11 -5
- package/dist/WalletAdapters/FewchaWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/FewchaWallet.js +54 -3
- package/dist/WalletAdapters/FewchaWallet.js.map +1 -1
- package/dist/WalletAdapters/FletchWallet.d.ts +11 -5
- package/dist/WalletAdapters/FletchWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/FletchWallet.js +41 -2
- package/dist/WalletAdapters/FletchWallet.js.map +1 -1
- package/dist/WalletAdapters/HippoExtensionWallet.d.ts +11 -6
- package/dist/WalletAdapters/HippoExtensionWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/HippoExtensionWallet.js +41 -2
- package/dist/WalletAdapters/HippoExtensionWallet.js.map +1 -1
- package/dist/WalletAdapters/HippoWallet.d.ts +11 -6
- package/dist/WalletAdapters/HippoWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/HippoWallet.js +33 -2
- package/dist/WalletAdapters/HippoWallet.js.map +1 -1
- package/dist/WalletAdapters/HyperPayWallet.d.ts +13 -8
- package/dist/WalletAdapters/HyperPayWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/HyperPayWallet.js +39 -0
- package/dist/WalletAdapters/HyperPayWallet.js.map +1 -1
- package/dist/WalletAdapters/MartianWallet.d.ts +19 -8
- package/dist/WalletAdapters/MartianWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/MartianWallet.js +63 -2
- package/dist/WalletAdapters/MartianWallet.js.map +1 -1
- package/dist/WalletAdapters/NightlyWallet.d.ts +8 -2
- package/dist/WalletAdapters/NightlyWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/NightlyWallet.js +44 -7
- package/dist/WalletAdapters/NightlyWallet.js.map +1 -1
- package/dist/WalletAdapters/PetraWallet.d.ts +25 -11
- package/dist/WalletAdapters/PetraWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/PetraWallet.js +66 -2
- package/dist/WalletAdapters/PetraWallet.js.map +1 -1
- package/dist/WalletAdapters/PontemWallet.d.ts +17 -9
- package/dist/WalletAdapters/PontemWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/PontemWallet.js +65 -2
- package/dist/WalletAdapters/PontemWallet.js.map +1 -1
- package/dist/WalletAdapters/RiseWallet.d.ts +12 -7
- package/dist/WalletAdapters/RiseWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/RiseWallet.js +41 -2
- package/dist/WalletAdapters/RiseWallet.js.map +1 -1
- package/dist/WalletAdapters/SpikaWallet.d.ts +12 -6
- package/dist/WalletAdapters/SpikaWallet.d.ts.map +1 -1
- package/dist/WalletAdapters/SpikaWallet.js +41 -2
- package/dist/WalletAdapters/SpikaWallet.js.map +1 -1
- package/dist/WalletProviders/WalletProvider.d.ts.map +1 -1
- package/dist/WalletProviders/WalletProvider.js +45 -6
- package/dist/WalletProviders/WalletProvider.js.map +1 -1
- package/dist/WalletProviders/errors.d.ts +9 -0
- package/dist/WalletProviders/errors.d.ts.map +1 -1
- package/dist/WalletProviders/errors.js +22 -1
- package/dist/WalletProviders/errors.js.map +1 -1
- package/dist/WalletProviders/useWallet.d.ts +6 -5
- package/dist/WalletProviders/useWallet.d.ts.map +1 -1
- package/dist/WalletProviders/useWallet.js.map +1 -1
- package/dist/utilities/util.d.ts +2 -2
- package/dist/utilities/util.d.ts.map +1 -1
- package/dist/utilities/util.js.map +1 -1
- package/package.json +2 -2
- package/src/WalletAdapters/AptosSnap.ts +58 -20
- package/src/WalletAdapters/BaseAdapter.ts +29 -8
- package/src/WalletAdapters/FewchaWallet.ts +72 -10
- package/src/WalletAdapters/FletchWallet.ts +226 -182
- package/src/WalletAdapters/HippoExtensionWallet.ts +50 -8
- package/src/WalletAdapters/HippoWallet.ts +51 -10
- package/src/WalletAdapters/HyperPayWallet.ts +53 -8
- package/src/WalletAdapters/MartianWallet.ts +86 -10
- package/src/WalletAdapters/NightlyWallet.ts +54 -10
- package/src/WalletAdapters/PetraWallet.ts +91 -11
- package/src/WalletAdapters/PontemWallet.ts +87 -11
- package/src/WalletAdapters/RiseWallet.ts +51 -9
- package/src/WalletAdapters/SpikaWallet.ts +54 -8
- package/src/WalletProviders/WalletProvider.tsx +57 -8
- package/src/WalletProviders/errors.ts +11 -0
- package/src/WalletProviders/useWallet.ts +6 -4
- package/src/utilities/util.ts +3 -3
@@ -1,34 +1,40 @@
|
|
1
|
-
import {
|
1
|
+
import { Types } from 'aptos';
|
2
2
|
import {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
WalletAccountChangeError,
|
4
|
+
WalletDisconnectionError,
|
5
|
+
WalletNetworkChangeError,
|
6
|
+
WalletNotConnectedError,
|
7
|
+
WalletNotReadyError,
|
8
|
+
WalletSignAndSubmitMessageError,
|
9
|
+
WalletSignMessageError,
|
10
|
+
WalletSignTransactionError
|
9
11
|
} from '../WalletProviders/errors';
|
10
12
|
import {
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
AccountKeys,
|
14
|
+
BaseWalletAdapter,
|
15
|
+
NetworkInfo,
|
16
|
+
scopePollingDetectionStrategy,
|
17
|
+
SignMessagePayload,
|
18
|
+
SignMessageResponse,
|
19
|
+
WalletAdapterNetwork,
|
20
|
+
WalletName,
|
21
|
+
WalletReadyState
|
18
22
|
} from './BaseAdapter';
|
19
23
|
|
20
24
|
interface IFletchWallet {
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
connect: () => Promise<{ Address: string; PublicKey: string; code: number; error?: any }>;
|
26
|
+
account: () => Promise<string>;
|
27
|
+
isConnected: () => Promise<boolean>;
|
28
|
+
signAndSubmitTransaction(transaction: any): Promise<{ code: number; error?: any; hash: string }>;
|
29
|
+
signTransaction(payload: any): Promise<{ code: number; error?: any; tx: Uint8Array }>;
|
30
|
+
signMessage(
|
31
|
+
message: SignMessagePayload
|
32
|
+
): Promise<{ code: number; error?: any; signedMessage: SignMessageResponse }>;
|
33
|
+
disconnect(): Promise<void>;
|
28
34
|
}
|
29
35
|
|
30
36
|
interface AptosWindow extends Window {
|
31
|
-
|
37
|
+
fletch?: IFletchWallet;
|
32
38
|
}
|
33
39
|
|
34
40
|
declare const window: AptosWindow;
|
@@ -36,188 +42,226 @@ declare const window: AptosWindow;
|
|
36
42
|
export const FletchWalletName = 'Fletch' as WalletName<'Fletch'>;
|
37
43
|
|
38
44
|
export interface FletchWalletAdapterConfig {
|
39
|
-
|
40
|
-
|
41
|
-
|
45
|
+
provider?: IFletchWallet;
|
46
|
+
// network?: WalletAdapterNetwork;
|
47
|
+
timeout?: number;
|
42
48
|
}
|
43
49
|
|
44
50
|
export class FletchWalletAdapter extends BaseWalletAdapter {
|
45
|
-
|
51
|
+
name = FletchWalletName;
|
46
52
|
|
47
|
-
|
53
|
+
url = 'http://fletchwallet.io';
|
48
54
|
|
49
|
-
|
55
|
+
icon = 'http://fletchwallet.io/img/fletch-white.svg';
|
50
56
|
|
51
|
-
|
57
|
+
protected _provider: IFletchWallet;
|
52
58
|
|
53
|
-
|
54
|
-
protected _timeout: number;
|
59
|
+
protected _network: WalletAdapterNetwork;
|
55
60
|
|
56
|
-
|
57
|
-
typeof window === 'undefined' || typeof document === 'undefined'
|
58
|
-
? WalletReadyState.Unsupported
|
59
|
-
: WalletReadyState.NotDetected;
|
61
|
+
protected _chainId: string;
|
60
62
|
|
61
|
-
|
63
|
+
protected _api: string;
|
62
64
|
|
63
|
-
|
65
|
+
protected _timeout: number;
|
64
66
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
}: FletchWalletAdapterConfig = {}) {
|
70
|
-
super();
|
67
|
+
protected _readyState: WalletReadyState =
|
68
|
+
typeof window === 'undefined' || typeof document === 'undefined'
|
69
|
+
? WalletReadyState.Unsupported
|
70
|
+
: WalletReadyState.NotDetected;
|
71
71
|
|
72
|
-
|
73
|
-
// this._network = network;
|
74
|
-
this._timeout = timeout;
|
75
|
-
this._connecting = false;
|
76
|
-
this._wallet = null;
|
72
|
+
protected _connecting: boolean;
|
77
73
|
|
78
|
-
|
79
|
-
scopePollingDetectionStrategy(() => {
|
80
|
-
if (window.fletch) {
|
81
|
-
this._readyState = WalletReadyState.Installed;
|
82
|
-
this.emit('readyStateChange', this._readyState);
|
83
|
-
return true;
|
84
|
-
}
|
85
|
-
return false;
|
86
|
-
});
|
87
|
-
}
|
88
|
-
}
|
74
|
+
protected _wallet: any | null;
|
89
75
|
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
}
|
76
|
+
constructor({
|
77
|
+
// provider,
|
78
|
+
// network = WalletAdapterNetwork.Testnet,
|
79
|
+
timeout = 10000
|
80
|
+
}: FletchWalletAdapterConfig = {}) {
|
81
|
+
super();
|
97
82
|
|
98
|
-
|
99
|
-
|
100
|
-
|
83
|
+
this._provider = typeof window !== 'undefined' ? window.fletch : undefined;
|
84
|
+
this._network = undefined;
|
85
|
+
this._timeout = timeout;
|
86
|
+
this._connecting = false;
|
87
|
+
this._wallet = null;
|
101
88
|
|
102
|
-
|
103
|
-
|
89
|
+
if (typeof window !== 'undefined' && this._readyState !== WalletReadyState.Unsupported) {
|
90
|
+
scopePollingDetectionStrategy(() => {
|
91
|
+
if (window.fletch) {
|
92
|
+
this._readyState = WalletReadyState.Installed;
|
93
|
+
this.emit('readyStateChange', this._readyState);
|
94
|
+
return true;
|
95
|
+
}
|
96
|
+
return false;
|
97
|
+
});
|
104
98
|
}
|
105
|
-
|
106
|
-
|
107
|
-
|
99
|
+
}
|
100
|
+
|
101
|
+
get publicAccount(): AccountKeys {
|
102
|
+
return {
|
103
|
+
publicKey: this._wallet?.publicKey || null,
|
104
|
+
address: this._wallet?.address || null,
|
105
|
+
authKey: this._wallet?.authKey || null
|
106
|
+
};
|
107
|
+
}
|
108
|
+
|
109
|
+
get network(): NetworkInfo {
|
110
|
+
return {
|
111
|
+
name: this._network,
|
112
|
+
api: this._api,
|
113
|
+
chainId: this._chainId
|
114
|
+
};
|
115
|
+
}
|
116
|
+
|
117
|
+
get connecting(): boolean {
|
118
|
+
return this._connecting;
|
119
|
+
}
|
120
|
+
|
121
|
+
get connected(): boolean {
|
122
|
+
return !!this._wallet?.isConnected;
|
123
|
+
}
|
124
|
+
|
125
|
+
get readyState(): WalletReadyState {
|
126
|
+
return this._readyState;
|
127
|
+
}
|
128
|
+
|
129
|
+
async connect(): Promise<void> {
|
130
|
+
try {
|
131
|
+
if (this.connected || this.connecting) return;
|
132
|
+
if (
|
133
|
+
!(
|
134
|
+
this._readyState === WalletReadyState.Loadable ||
|
135
|
+
this._readyState === WalletReadyState.Installed
|
136
|
+
)
|
137
|
+
)
|
138
|
+
throw new WalletNotReadyError();
|
139
|
+
this._connecting = true;
|
140
|
+
|
141
|
+
const provider = this._provider || window.fletch;
|
142
|
+
const isConnected = await this._provider?.isConnected();
|
143
|
+
if (isConnected === true) {
|
144
|
+
await provider?.disconnect();
|
145
|
+
}
|
146
|
+
|
147
|
+
const response = await provider?.connect();
|
148
|
+
if (response.code != 200) {
|
149
|
+
throw response.error;
|
150
|
+
}
|
151
|
+
this._wallet = {
|
152
|
+
address: response?.Address,
|
153
|
+
publicKey: response?.PublicKey,
|
154
|
+
isConnected: true
|
155
|
+
};
|
156
|
+
|
157
|
+
this.emit('connect', this._wallet.publicKey);
|
158
|
+
} catch (error: any) {
|
159
|
+
this.emit('error', error);
|
160
|
+
throw error;
|
161
|
+
} finally {
|
162
|
+
this._connecting = false;
|
108
163
|
}
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
const provider = this._provider || window.fletch;
|
123
|
-
const isConnected = await this._provider?.isConnected();
|
124
|
-
if (isConnected === true) {
|
125
|
-
await provider?.disconnect();
|
126
|
-
}
|
127
|
-
|
128
|
-
const response = await provider?.connect();
|
129
|
-
if (response.code != 200) {
|
130
|
-
throw response.error
|
131
|
-
}
|
132
|
-
this._wallet = {
|
133
|
-
address: response?.Address,
|
134
|
-
publicKey: response?.PublicKey,
|
135
|
-
isConnected: true
|
136
|
-
};
|
137
|
-
|
138
|
-
this.emit('connect', this._wallet.publicKey);
|
139
|
-
} catch (error: any) {
|
140
|
-
this.emit('error', error);
|
141
|
-
throw error;
|
142
|
-
} finally {
|
143
|
-
this._connecting = false;
|
144
|
-
}
|
164
|
+
}
|
165
|
+
|
166
|
+
async disconnect(): Promise<void> {
|
167
|
+
const wallet = this._wallet;
|
168
|
+
const provider = this._provider || window.fletch;
|
169
|
+
if (wallet) {
|
170
|
+
this._wallet = null;
|
171
|
+
|
172
|
+
try {
|
173
|
+
await provider?.disconnect();
|
174
|
+
} catch (error: any) {
|
175
|
+
this.emit('error', new WalletDisconnectionError(error?.message, error));
|
176
|
+
}
|
145
177
|
}
|
146
178
|
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
179
|
+
this.emit('disconnect');
|
180
|
+
}
|
181
|
+
|
182
|
+
async signTransaction(transaction: Types.TransactionPayload): Promise<Uint8Array> {
|
183
|
+
try {
|
184
|
+
const wallet = this._wallet;
|
185
|
+
const provider = this._provider || window.fletch;
|
186
|
+
if (!wallet || !provider) throw new WalletNotConnectedError();
|
187
|
+
|
188
|
+
const response = await provider.signTransaction(transaction);
|
189
|
+
if (response.code != 200) {
|
190
|
+
throw response.error;
|
191
|
+
}
|
192
|
+
return response.tx;
|
193
|
+
} catch (error: any) {
|
194
|
+
const errMsg = error.message;
|
195
|
+
this.emit('error', new WalletSignTransactionError(errMsg));
|
196
|
+
throw error;
|
161
197
|
}
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
198
|
+
}
|
199
|
+
|
200
|
+
async signAndSubmitTransaction(
|
201
|
+
transaction: Types.TransactionPayload
|
202
|
+
): Promise<{ hash: Types.HexEncodedBytes }> {
|
203
|
+
try {
|
204
|
+
const wallet = this._wallet;
|
205
|
+
const provider = this._provider || window.fletch;
|
206
|
+
if (!wallet || !provider) throw new WalletNotConnectedError();
|
207
|
+
const response = await provider.signAndSubmitTransaction(transaction);
|
208
|
+
if (response.code == 200) {
|
209
|
+
return { hash: response.hash };
|
210
|
+
}
|
211
|
+
|
212
|
+
throw response.error;
|
213
|
+
} catch (error: any) {
|
214
|
+
const errMsg = error.message;
|
215
|
+
this.emit('error', new WalletSignAndSubmitMessageError(errMsg));
|
216
|
+
throw error;
|
179
217
|
}
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
218
|
+
}
|
219
|
+
|
220
|
+
async signMessage(msgPayload: SignMessagePayload): Promise<SignMessageResponse> {
|
221
|
+
try {
|
222
|
+
const wallet = this._wallet;
|
223
|
+
const provider = this._provider || window.fletch;
|
224
|
+
if (!wallet || !provider) throw new WalletNotConnectedError();
|
225
|
+
if (typeof msgPayload !== 'object' || !msgPayload.nonce) {
|
226
|
+
throw new WalletSignMessageError('Invalid signMessage Payload');
|
227
|
+
}
|
228
|
+
|
229
|
+
const response = await provider?.signMessage(msgPayload);
|
230
|
+
if (response.code == 200) {
|
231
|
+
return response.signedMessage;
|
232
|
+
}
|
233
|
+
|
234
|
+
throw response.error;
|
235
|
+
} catch (error: any) {
|
236
|
+
const errMsg = error.message;
|
237
|
+
this.emit('error', new WalletSignMessageError(errMsg));
|
238
|
+
throw error;
|
200
239
|
}
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
240
|
+
}
|
241
|
+
|
242
|
+
async onAccountChange(): Promise<void> {
|
243
|
+
try {
|
244
|
+
const wallet = this._wallet;
|
245
|
+
const provider = this._provider || window.fletch;
|
246
|
+
if (!wallet || !provider) throw new WalletNotConnectedError();
|
247
|
+
//To be implemented
|
248
|
+
} catch (error: any) {
|
249
|
+
const errMsg = error.message;
|
250
|
+
this.emit('error', new WalletAccountChangeError(errMsg));
|
251
|
+
throw error;
|
252
|
+
}
|
253
|
+
}
|
254
|
+
|
255
|
+
async onNetworkChange(): Promise<void> {
|
256
|
+
try {
|
257
|
+
const wallet = this._wallet;
|
258
|
+
const provider = this._provider || window.fletch;
|
259
|
+
if (!wallet || !provider) throw new WalletNotConnectedError();
|
260
|
+
//To be implemented
|
261
|
+
} catch (error: any) {
|
262
|
+
const errMsg = error.message;
|
263
|
+
this.emit('error', new WalletNetworkChangeError(errMsg));
|
264
|
+
throw error;
|
222
265
|
}
|
266
|
+
}
|
223
267
|
}
|
@@ -1,7 +1,8 @@
|
|
1
|
-
import { MaybeHexString } from 'aptos';
|
2
|
-
import { TransactionPayload, HexEncodedBytes } from 'aptos/src/generated';
|
1
|
+
import { MaybeHexString, Types } from 'aptos';
|
3
2
|
import {
|
3
|
+
WalletAccountChangeError,
|
4
4
|
WalletDisconnectionError,
|
5
|
+
WalletNetworkChangeError,
|
5
6
|
WalletNotConnectedError,
|
6
7
|
WalletNotReadyError,
|
7
8
|
WalletSignAndSubmitMessageError,
|
@@ -11,7 +12,9 @@ import {
|
|
11
12
|
import {
|
12
13
|
AccountKeys,
|
13
14
|
BaseWalletAdapter,
|
15
|
+
NetworkInfo,
|
14
16
|
scopePollingDetectionStrategy,
|
17
|
+
WalletAdapterNetwork,
|
15
18
|
WalletName,
|
16
19
|
WalletReadyState
|
17
20
|
} from './BaseAdapter';
|
@@ -53,7 +56,12 @@ export class HippoExtensionWalletAdapter extends BaseWalletAdapter {
|
|
53
56
|
|
54
57
|
protected _provider: IHippoWallet | undefined;
|
55
58
|
|
56
|
-
|
59
|
+
protected _network: WalletAdapterNetwork;
|
60
|
+
|
61
|
+
protected _chainId: string;
|
62
|
+
|
63
|
+
protected _api: string;
|
64
|
+
|
57
65
|
protected _timeout: number;
|
58
66
|
|
59
67
|
protected _readyState: WalletReadyState =
|
@@ -67,13 +75,13 @@ export class HippoExtensionWalletAdapter extends BaseWalletAdapter {
|
|
67
75
|
|
68
76
|
constructor({
|
69
77
|
// provider,
|
70
|
-
// network = WalletAdapterNetwork.
|
78
|
+
// network = WalletAdapterNetwork.Testnet,
|
71
79
|
timeout = 10000
|
72
80
|
}: HippoExtensionWalletAdapterConfig = {}) {
|
73
81
|
super();
|
74
82
|
|
75
83
|
this._provider = typeof window !== 'undefined' ? window.hippoWallet : undefined;
|
76
|
-
|
84
|
+
this._network = undefined;
|
77
85
|
this._timeout = timeout;
|
78
86
|
this._connecting = false;
|
79
87
|
this._wallet = null;
|
@@ -98,6 +106,14 @@ export class HippoExtensionWalletAdapter extends BaseWalletAdapter {
|
|
98
106
|
};
|
99
107
|
}
|
100
108
|
|
109
|
+
get network(): NetworkInfo {
|
110
|
+
return {
|
111
|
+
name: this._network,
|
112
|
+
api: this._api,
|
113
|
+
chainId: this._chainId
|
114
|
+
};
|
115
|
+
}
|
116
|
+
|
101
117
|
get connecting(): boolean {
|
102
118
|
return this._connecting;
|
103
119
|
}
|
@@ -155,7 +171,7 @@ export class HippoExtensionWalletAdapter extends BaseWalletAdapter {
|
|
155
171
|
this.emit('disconnect');
|
156
172
|
}
|
157
173
|
|
158
|
-
async signTransaction(transaction: TransactionPayload): Promise<Uint8Array> {
|
174
|
+
async signTransaction(transaction: Types.TransactionPayload): Promise<Uint8Array> {
|
159
175
|
try {
|
160
176
|
const wallet = this._wallet;
|
161
177
|
if (!wallet) throw new WalletNotConnectedError();
|
@@ -178,8 +194,8 @@ export class HippoExtensionWalletAdapter extends BaseWalletAdapter {
|
|
178
194
|
}
|
179
195
|
|
180
196
|
async signAndSubmitTransaction(
|
181
|
-
transaction: TransactionPayload
|
182
|
-
): Promise<{ hash: HexEncodedBytes }> {
|
197
|
+
transaction: Types.TransactionPayload
|
198
|
+
): Promise<{ hash: Types.HexEncodedBytes }> {
|
183
199
|
try {
|
184
200
|
const wallet = this._wallet;
|
185
201
|
if (!wallet) throw new WalletNotConnectedError();
|
@@ -219,4 +235,30 @@ export class HippoExtensionWalletAdapter extends BaseWalletAdapter {
|
|
219
235
|
throw error;
|
220
236
|
}
|
221
237
|
}
|
238
|
+
|
239
|
+
async onAccountChange(): Promise<void> {
|
240
|
+
try {
|
241
|
+
const wallet = this._wallet;
|
242
|
+
const provider = this._provider || window.hippoWallet;
|
243
|
+
if (!wallet || !provider) throw new WalletNotConnectedError();
|
244
|
+
//To be implemented
|
245
|
+
} catch (error: any) {
|
246
|
+
const errMsg = error.message;
|
247
|
+
this.emit('error', new WalletAccountChangeError(errMsg));
|
248
|
+
throw error;
|
249
|
+
}
|
250
|
+
}
|
251
|
+
|
252
|
+
async onNetworkChange(): Promise<void> {
|
253
|
+
try {
|
254
|
+
const wallet = this._wallet;
|
255
|
+
const provider = this._provider || window.hippoWallet;
|
256
|
+
if (!wallet || !provider) throw new WalletNotConnectedError();
|
257
|
+
//To be implemented
|
258
|
+
} catch (error: any) {
|
259
|
+
const errMsg = error.message;
|
260
|
+
this.emit('error', new WalletNetworkChangeError(errMsg));
|
261
|
+
throw error;
|
262
|
+
}
|
263
|
+
}
|
222
264
|
}
|