@manahippo/aptos-wallet-adapter 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
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 +7 -1
  35. package/dist/WalletAdapters/NightlyWallet.d.ts.map +1 -1
  36. package/dist/WalletAdapters/NightlyWallet.js +41 -2
  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 +46 -3
  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
  }