@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.
Files changed (84) hide show
  1. package/README.md +4 -2
  2. package/dist/WalletAdapters/AptosSnap.d.ts +15 -9
  3. package/dist/WalletAdapters/AptosSnap.d.ts.map +1 -1
  4. package/dist/WalletAdapters/AptosSnap.js +41 -2
  5. package/dist/WalletAdapters/AptosSnap.js.map +1 -1
  6. package/dist/WalletAdapters/BaseAdapter.d.ts +25 -8
  7. package/dist/WalletAdapters/BaseAdapter.d.ts.map +1 -1
  8. package/dist/WalletAdapters/BaseAdapter.js +7 -1
  9. package/dist/WalletAdapters/BaseAdapter.js.map +1 -1
  10. package/dist/WalletAdapters/FewchaWallet.d.ts +11 -5
  11. package/dist/WalletAdapters/FewchaWallet.d.ts.map +1 -1
  12. package/dist/WalletAdapters/FewchaWallet.js +54 -3
  13. package/dist/WalletAdapters/FewchaWallet.js.map +1 -1
  14. package/dist/WalletAdapters/FletchWallet.d.ts +11 -5
  15. package/dist/WalletAdapters/FletchWallet.d.ts.map +1 -1
  16. package/dist/WalletAdapters/FletchWallet.js +41 -2
  17. package/dist/WalletAdapters/FletchWallet.js.map +1 -1
  18. package/dist/WalletAdapters/HippoExtensionWallet.d.ts +11 -6
  19. package/dist/WalletAdapters/HippoExtensionWallet.d.ts.map +1 -1
  20. package/dist/WalletAdapters/HippoExtensionWallet.js +41 -2
  21. package/dist/WalletAdapters/HippoExtensionWallet.js.map +1 -1
  22. package/dist/WalletAdapters/HippoWallet.d.ts +11 -6
  23. package/dist/WalletAdapters/HippoWallet.d.ts.map +1 -1
  24. package/dist/WalletAdapters/HippoWallet.js +33 -2
  25. package/dist/WalletAdapters/HippoWallet.js.map +1 -1
  26. package/dist/WalletAdapters/HyperPayWallet.d.ts +13 -8
  27. package/dist/WalletAdapters/HyperPayWallet.d.ts.map +1 -1
  28. package/dist/WalletAdapters/HyperPayWallet.js +39 -0
  29. package/dist/WalletAdapters/HyperPayWallet.js.map +1 -1
  30. package/dist/WalletAdapters/MartianWallet.d.ts +19 -8
  31. package/dist/WalletAdapters/MartianWallet.d.ts.map +1 -1
  32. package/dist/WalletAdapters/MartianWallet.js +63 -2
  33. package/dist/WalletAdapters/MartianWallet.js.map +1 -1
  34. package/dist/WalletAdapters/NightlyWallet.d.ts +8 -2
  35. package/dist/WalletAdapters/NightlyWallet.d.ts.map +1 -1
  36. package/dist/WalletAdapters/NightlyWallet.js +44 -7
  37. package/dist/WalletAdapters/NightlyWallet.js.map +1 -1
  38. package/dist/WalletAdapters/PetraWallet.d.ts +25 -11
  39. package/dist/WalletAdapters/PetraWallet.d.ts.map +1 -1
  40. package/dist/WalletAdapters/PetraWallet.js +66 -2
  41. package/dist/WalletAdapters/PetraWallet.js.map +1 -1
  42. package/dist/WalletAdapters/PontemWallet.d.ts +17 -9
  43. package/dist/WalletAdapters/PontemWallet.d.ts.map +1 -1
  44. package/dist/WalletAdapters/PontemWallet.js +65 -2
  45. package/dist/WalletAdapters/PontemWallet.js.map +1 -1
  46. package/dist/WalletAdapters/RiseWallet.d.ts +12 -7
  47. package/dist/WalletAdapters/RiseWallet.d.ts.map +1 -1
  48. package/dist/WalletAdapters/RiseWallet.js +41 -2
  49. package/dist/WalletAdapters/RiseWallet.js.map +1 -1
  50. package/dist/WalletAdapters/SpikaWallet.d.ts +12 -6
  51. package/dist/WalletAdapters/SpikaWallet.d.ts.map +1 -1
  52. package/dist/WalletAdapters/SpikaWallet.js +41 -2
  53. package/dist/WalletAdapters/SpikaWallet.js.map +1 -1
  54. package/dist/WalletProviders/WalletProvider.d.ts.map +1 -1
  55. package/dist/WalletProviders/WalletProvider.js +45 -6
  56. package/dist/WalletProviders/WalletProvider.js.map +1 -1
  57. package/dist/WalletProviders/errors.d.ts +9 -0
  58. package/dist/WalletProviders/errors.d.ts.map +1 -1
  59. package/dist/WalletProviders/errors.js +22 -1
  60. package/dist/WalletProviders/errors.js.map +1 -1
  61. package/dist/WalletProviders/useWallet.d.ts +6 -5
  62. package/dist/WalletProviders/useWallet.d.ts.map +1 -1
  63. package/dist/WalletProviders/useWallet.js.map +1 -1
  64. package/dist/utilities/util.d.ts +2 -2
  65. package/dist/utilities/util.d.ts.map +1 -1
  66. package/dist/utilities/util.js.map +1 -1
  67. package/package.json +2 -2
  68. package/src/WalletAdapters/AptosSnap.ts +58 -20
  69. package/src/WalletAdapters/BaseAdapter.ts +29 -8
  70. package/src/WalletAdapters/FewchaWallet.ts +72 -10
  71. package/src/WalletAdapters/FletchWallet.ts +226 -182
  72. package/src/WalletAdapters/HippoExtensionWallet.ts +50 -8
  73. package/src/WalletAdapters/HippoWallet.ts +51 -10
  74. package/src/WalletAdapters/HyperPayWallet.ts +53 -8
  75. package/src/WalletAdapters/MartianWallet.ts +86 -10
  76. package/src/WalletAdapters/NightlyWallet.ts +54 -10
  77. package/src/WalletAdapters/PetraWallet.ts +91 -11
  78. package/src/WalletAdapters/PontemWallet.ts +87 -11
  79. package/src/WalletAdapters/RiseWallet.ts +51 -9
  80. package/src/WalletAdapters/SpikaWallet.ts +54 -8
  81. package/src/WalletProviders/WalletProvider.tsx +57 -8
  82. package/src/WalletProviders/errors.ts +11 -0
  83. package/src/WalletProviders/useWallet.ts +6 -4
  84. package/src/utilities/util.ts +3 -3
@@ -1,34 +1,40 @@
1
- import { HexEncodedBytes, TransactionPayload } from 'aptos/src/generated';
1
+ import { Types } from 'aptos';
2
2
  import {
3
- WalletDisconnectionError,
4
- WalletNotConnectedError,
5
- WalletNotReadyError,
6
- WalletSignAndSubmitMessageError,
7
- WalletSignMessageError,
8
- WalletSignTransactionError
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
- AccountKeys,
12
- BaseWalletAdapter,
13
- scopePollingDetectionStrategy,
14
- SignMessagePayload,
15
- SignMessageResponse,
16
- WalletName,
17
- WalletReadyState
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
- connect: () => Promise<{ Address: string; PublicKey: string, code: number, error?: any }>;
22
- account: () => Promise<string>;
23
- isConnected: () => Promise<boolean>;
24
- signAndSubmitTransaction(transaction: any): Promise<{ code: number, error?: any, hash: string }>;
25
- signTransaction(payload: any): Promise<{ code: number, error?: any, tx: Uint8Array }>;
26
- signMessage(message: SignMessagePayload): Promise<{ code: number, error?: any, signedMessage: SignMessageResponse }>;
27
- disconnect(): Promise<void>;
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
- fletch?: IFletchWallet;
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
- provider?: IFletchWallet;
40
- // network?: WalletAdapterNetwork;
41
- timeout?: number;
45
+ provider?: IFletchWallet;
46
+ // network?: WalletAdapterNetwork;
47
+ timeout?: number;
42
48
  }
43
49
 
44
50
  export class FletchWalletAdapter extends BaseWalletAdapter {
45
- name = FletchWalletName;
51
+ name = FletchWalletName;
46
52
 
47
- url = 'http://fletchwallet.io';
53
+ url = 'http://fletchwallet.io';
48
54
 
49
- icon = 'http://fletchwallet.io/img/fletch-white.svg';
55
+ icon = 'http://fletchwallet.io/img/fletch-white.svg';
50
56
 
51
- protected _provider: IFletchWallet;
57
+ protected _provider: IFletchWallet;
52
58
 
53
- // protected _network: WalletAdapterNetwork;
54
- protected _timeout: number;
59
+ protected _network: WalletAdapterNetwork;
55
60
 
56
- protected _readyState: WalletReadyState =
57
- typeof window === 'undefined' || typeof document === 'undefined'
58
- ? WalletReadyState.Unsupported
59
- : WalletReadyState.NotDetected;
61
+ protected _chainId: string;
60
62
 
61
- protected _connecting: boolean;
63
+ protected _api: string;
62
64
 
63
- protected _wallet: any | null;
65
+ protected _timeout: number;
64
66
 
65
- constructor({
66
- // provider,
67
- // network = WalletAdapterNetwork.Mainnet,
68
- timeout = 10000
69
- }: FletchWalletAdapterConfig = {}) {
70
- super();
67
+ protected _readyState: WalletReadyState =
68
+ typeof window === 'undefined' || typeof document === 'undefined'
69
+ ? WalletReadyState.Unsupported
70
+ : WalletReadyState.NotDetected;
71
71
 
72
- this._provider = typeof window !== 'undefined' ? window.fletch : undefined;
73
- // this._network = network;
74
- this._timeout = timeout;
75
- this._connecting = false;
76
- this._wallet = null;
72
+ protected _connecting: boolean;
77
73
 
78
- if (typeof window !== 'undefined' && this._readyState !== WalletReadyState.Unsupported) {
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
- get publicAccount(): AccountKeys {
91
- return {
92
- publicKey: this._wallet?.publicKey || null,
93
- address: this._wallet?.address || null,
94
- authKey: this._wallet?.authKey || null
95
- };
96
- }
76
+ constructor({
77
+ // provider,
78
+ // network = WalletAdapterNetwork.Testnet,
79
+ timeout = 10000
80
+ }: FletchWalletAdapterConfig = {}) {
81
+ super();
97
82
 
98
- get connecting(): boolean {
99
- return this._connecting;
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
- get connected(): boolean {
103
- return !!this._wallet?.isConnected;
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
- get readyState(): WalletReadyState {
107
- return this._readyState;
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
- async connect(): Promise<void> {
111
- try {
112
- if (this.connected || this.connecting) return;
113
- if (
114
- !(
115
- this._readyState === WalletReadyState.Loadable ||
116
- this._readyState === WalletReadyState.Installed
117
- )
118
- )
119
- throw new WalletNotReadyError();
120
- this._connecting = true;
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
- async disconnect(): Promise<void> {
148
- const wallet = this._wallet;
149
- const provider = this._provider || window.fletch;
150
- if (wallet) {
151
- this._wallet = null;
152
-
153
- try {
154
- await provider?.disconnect();
155
- } catch (error: any) {
156
- this.emit('error', new WalletDisconnectionError(error?.message, error));
157
- }
158
- }
159
-
160
- this.emit('disconnect');
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
- async signTransaction(transaction: TransactionPayload): Promise<Uint8Array> {
164
- try {
165
- const wallet = this._wallet;
166
- const provider = this._provider || window.fletch;
167
- if (!wallet || !provider) throw new WalletNotConnectedError();
168
-
169
- const response = await provider.signTransaction(transaction);
170
- if (response.code != 200) {
171
- throw response.error
172
- }
173
- return response.tx;
174
- } catch (error: any) {
175
- const errMsg = error.message;
176
- this.emit('error', new WalletSignTransactionError(errMsg));
177
- throw error;
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
- async signAndSubmitTransaction(
182
- transaction: TransactionPayload
183
- ): Promise<{ hash: HexEncodedBytes }> {
184
- try {
185
- const wallet = this._wallet;
186
- const provider = this._provider || window.fletch;
187
- if (!wallet || !provider) throw new WalletNotConnectedError();
188
- const response = await provider.signAndSubmitTransaction(transaction);
189
- if (response.code == 200) {
190
- return { hash: response.hash };
191
- }
192
-
193
- throw response.error
194
-
195
- } catch (error: any) {
196
- const errMsg = error.message;
197
- this.emit('error', new WalletSignAndSubmitMessageError(errMsg));
198
- throw error;
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
- async signMessage(msgPayload: SignMessagePayload): Promise<SignMessageResponse> {
203
- try {
204
- const wallet = this._wallet;
205
- const provider = this._provider || window.fletch;
206
- if (!wallet || !provider) throw new WalletNotConnectedError();
207
- if (typeof msgPayload !== 'object' || !msgPayload.nonce) {
208
- throw new WalletSignMessageError('Invalid signMessage Payload');
209
- }
210
-
211
- const response = await provider?.signMessage(msgPayload);
212
- if (response.code == 200) {
213
- return response.signedMessage;
214
- }
215
-
216
- throw response.error
217
- } catch (error: any) {
218
- const errMsg = error.message;
219
- this.emit('error', new WalletSignMessageError(errMsg));
220
- throw error;
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
- // protected _network: WalletAdapterNetwork;
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.Mainnet,
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
- // this._network = network;
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
  }