@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,12 +1,20 @@
1
- import { MaybeHexString } from 'aptos';
2
- import { TransactionPayload, HexEncodedBytes } from 'aptos/src/generated';
1
+ import { MaybeHexString, Types } from 'aptos';
3
2
  import { WEBWALLET_URL } from '../config/aptosConstants';
4
3
  import {
4
+ WalletAccountChangeError,
5
+ WalletNetworkChangeError,
5
6
  WalletNotConnectedError,
6
7
  WalletNotReadyError,
7
8
  WalletSignAndSubmitMessageError
8
9
  } from '../WalletProviders/errors';
9
- import { AccountKeys, BaseWalletAdapter, WalletName, WalletReadyState } from './BaseAdapter';
10
+ import {
11
+ AccountKeys,
12
+ BaseWalletAdapter,
13
+ NetworkInfo,
14
+ WalletAdapterNetwork,
15
+ WalletName,
16
+ WalletReadyState
17
+ } from './BaseAdapter';
10
18
 
11
19
  export const HippoWalletName = 'Hippo Web' as WalletName<'Hippo Web'>;
12
20
 
@@ -25,7 +33,12 @@ export class HippoWalletAdapter extends BaseWalletAdapter {
25
33
 
26
34
  protected _provider: string | undefined;
27
35
 
28
- // protected _network: WalletAdapterNetwork;
36
+ protected _network: WalletAdapterNetwork;
37
+
38
+ protected _chainId: string;
39
+
40
+ protected _api: string;
41
+
29
42
  protected _timeout: number;
30
43
 
31
44
  protected _readyState: WalletReadyState = WalletReadyState.Installed;
@@ -36,13 +49,13 @@ export class HippoWalletAdapter extends BaseWalletAdapter {
36
49
 
37
50
  constructor({
38
51
  // provider = WEBWALLET_URL,
39
- // network = WalletAdapterNetwork.Mainnet,
52
+ // network = WalletAdapterNetwork.Testnet,
40
53
  timeout = 10000
41
54
  }: HippoWalletAdapterConfig = {}) {
42
55
  super();
43
56
 
44
57
  this._provider = WEBWALLET_URL || 'https://hippo-wallet-test.web.app';
45
- // this._network = network;
58
+ this._network = undefined;
46
59
  this._timeout = timeout;
47
60
  this._connecting = false;
48
61
  this._wallet = null;
@@ -57,6 +70,14 @@ export class HippoWalletAdapter extends BaseWalletAdapter {
57
70
  };
58
71
  }
59
72
 
73
+ get network(): NetworkInfo {
74
+ return {
75
+ name: this._network,
76
+ api: this._api,
77
+ chainId: this._chainId
78
+ };
79
+ }
80
+
60
81
  get connecting(): boolean {
61
82
  return this._connecting;
62
83
  }
@@ -137,7 +158,7 @@ export class HippoWalletAdapter extends BaseWalletAdapter {
137
158
  this.emit('disconnect');
138
159
  }
139
160
 
140
- async signTransaction(transaction: TransactionPayload): Promise<Uint8Array> {
161
+ async signTransaction(transaction: Types.TransactionPayload): Promise<Uint8Array> {
141
162
  try {
142
163
  const request = new URLSearchParams({
143
164
  request: JSON.stringify({
@@ -165,8 +186,8 @@ export class HippoWalletAdapter extends BaseWalletAdapter {
165
186
  }
166
187
 
167
188
  async signAndSubmitTransaction(
168
- transaction: TransactionPayload
169
- ): Promise<{ hash: HexEncodedBytes }> {
189
+ transaction: Types.TransactionPayload
190
+ ): Promise<{ hash: Types.HexEncodedBytes }> {
170
191
  try {
171
192
  const request = new URLSearchParams({
172
193
  request: JSON.stringify({
@@ -185,7 +206,7 @@ export class HippoWalletAdapter extends BaseWalletAdapter {
185
206
  this.once('success', resolve);
186
207
  this.once('error', reject);
187
208
  });
188
- return promise as { hash: HexEncodedBytes };
209
+ return promise as { hash: Types.HexEncodedBytes };
189
210
  } catch (error: any) {
190
211
  this.emit('error', error);
191
212
  throw error;
@@ -218,6 +239,26 @@ export class HippoWalletAdapter extends BaseWalletAdapter {
218
239
  }
219
240
  }
220
241
 
242
+ async onAccountChange(): Promise<void> {
243
+ try {
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
+ //To be implemented
255
+ } catch (error: any) {
256
+ const errMsg = error.message;
257
+ this.emit('error', new WalletNetworkChangeError(errMsg));
258
+ throw error;
259
+ }
260
+ }
261
+
221
262
  private _beforeUnload = (): void => {
222
263
  void this.disconnect();
223
264
  };
@@ -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';
@@ -34,8 +37,8 @@ interface IHyperPayWallet {
34
37
  account(): Promise<HyperPayAccount>;
35
38
  isConnected(): Promise<boolean>;
36
39
  generateTransaction(sender: MaybeHexString, payload: any, options?: any): Promise<any>;
37
- signAndSubmitTransaction(transaction: TransactionPayload): Promise<HexEncodedBytes>;
38
- signTransaction(transaction: TransactionPayload): Promise<Uint8Array>;
40
+ signAndSubmitTransaction(transaction: Types.TransactionPayload): Promise<Types.HexEncodedBytes>;
41
+ signTransaction(transaction: Types.TransactionPayload): Promise<Uint8Array>;
39
42
  signMessage(message: string): Promise<{ signature: string }>;
40
43
  disconnect(): Promise<void>;
41
44
  }
@@ -64,7 +67,12 @@ export class HyperPayWalletAdapter extends BaseWalletAdapter {
64
67
 
65
68
  protected _provider: IHyperPayWallet | undefined;
66
69
 
67
- // protected _network: WalletAdapterNetwork;
70
+ protected _network: WalletAdapterNetwork;
71
+
72
+ protected _chainId: string;
73
+
74
+ protected _api: string;
75
+
68
76
  protected _timeout: number;
69
77
 
70
78
  protected _readyState: WalletReadyState =
@@ -109,6 +117,14 @@ export class HyperPayWalletAdapter extends BaseWalletAdapter {
109
117
  };
110
118
  }
111
119
 
120
+ get network(): NetworkInfo {
121
+ return {
122
+ name: this._network,
123
+ api: this._api,
124
+ chainId: this._chainId
125
+ };
126
+ }
127
+
112
128
  get connecting(): boolean {
113
129
  return this._connecting;
114
130
  }
@@ -176,7 +192,10 @@ export class HyperPayWalletAdapter extends BaseWalletAdapter {
176
192
  this.emit('disconnect');
177
193
  }
178
194
 
179
- async signTransaction(transactionPyld: TransactionPayload, options?: any): Promise<Uint8Array> {
195
+ async signTransaction(
196
+ transactionPyld: Types.TransactionPayload,
197
+ options?: any
198
+ ): Promise<Uint8Array> {
180
199
  try {
181
200
  const wallet = this._wallet;
182
201
  const provider = this._provider || window.hyperpay;
@@ -196,9 +215,9 @@ export class HyperPayWalletAdapter extends BaseWalletAdapter {
196
215
  }
197
216
 
198
217
  async signAndSubmitTransaction(
199
- transactionPyld: TransactionPayload,
218
+ transactionPyld: Types.TransactionPayload,
200
219
  options?: any
201
- ): Promise<{ hash: HexEncodedBytes }> {
220
+ ): Promise<{ hash: Types.HexEncodedBytes }> {
202
221
  try {
203
222
  const wallet = this._wallet;
204
223
  const provider = this._provider || window.hyperpay;
@@ -234,4 +253,30 @@ export class HyperPayWalletAdapter extends BaseWalletAdapter {
234
253
  throw error;
235
254
  }
236
255
  }
256
+
257
+ async onAccountChange(): Promise<void> {
258
+ try {
259
+ const wallet = this._wallet;
260
+ const provider = this._provider || window.hyperpay;
261
+ if (!wallet || !provider) throw new WalletNotConnectedError();
262
+ //To be implemented
263
+ } catch (error: any) {
264
+ const errMsg = error.message;
265
+ this.emit('error', new WalletAccountChangeError(errMsg));
266
+ throw error;
267
+ }
268
+ }
269
+
270
+ async onNetworkChange(): Promise<void> {
271
+ try {
272
+ const wallet = this._wallet;
273
+ const provider = this._provider || window.hyperpay;
274
+ if (!wallet || !provider) throw new WalletNotConnectedError();
275
+ //To be implemented
276
+ } catch (error: any) {
277
+ const errMsg = error.message;
278
+ this.emit('error', new WalletNetworkChangeError(errMsg));
279
+ throw error;
280
+ }
281
+ }
237
282
  }
@@ -1,7 +1,9 @@
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
+ WalletGetNetworkError,
6
+ WalletNetworkChangeError,
5
7
  WalletNotConnectedError,
6
8
  WalletNotReadyError,
7
9
  WalletSignAndSubmitMessageError,
@@ -11,9 +13,11 @@ import {
11
13
  import {
12
14
  AccountKeys,
13
15
  BaseWalletAdapter,
16
+ NetworkInfo,
14
17
  scopePollingDetectionStrategy,
15
18
  SignMessagePayload,
16
19
  SignMessageResponse,
20
+ WalletAdapterNetwork,
17
21
  WalletName,
18
22
  WalletReadyState
19
23
  } from './BaseAdapter';
@@ -36,10 +40,14 @@ interface IMartianWallet {
36
40
  account(): Promise<MartianAccount>;
37
41
  isConnected(): Promise<boolean>;
38
42
  generateTransaction(sender: MaybeHexString, payload: any, options?: any): Promise<any>;
39
- signAndSubmitTransaction(transaction: TransactionPayload): Promise<HexEncodedBytes>;
40
- signTransaction(transaction: TransactionPayload): Promise<Uint8Array>;
43
+ signAndSubmitTransaction(transaction: Types.TransactionPayload): Promise<Types.HexEncodedBytes>;
44
+ signTransaction(transaction: Types.TransactionPayload): Promise<Uint8Array>;
41
45
  signMessage(message: SignMessagePayload): Promise<SignMessageResponse>;
42
46
  disconnect(): Promise<void>;
47
+ getChainId(): Promise<{ chainId: number }>;
48
+ network(): Promise<WalletAdapterNetwork>;
49
+ onAccountChange: (listenr: (newAddress: string) => void) => void;
50
+ onNetworkChange: (listenr: (network: string) => void) => void;
43
51
  }
44
52
 
45
53
  interface MartianWindow extends Window {
@@ -66,7 +74,12 @@ export class MartianWalletAdapter extends BaseWalletAdapter {
66
74
 
67
75
  protected _provider: IMartianWallet | undefined;
68
76
 
69
- // protected _network: WalletAdapterNetwork;
77
+ protected _network: WalletAdapterNetwork;
78
+
79
+ protected _chainId: string;
80
+
81
+ protected _api: string;
82
+
70
83
  protected _timeout: number;
71
84
 
72
85
  protected _readyState: WalletReadyState =
@@ -80,13 +93,13 @@ export class MartianWalletAdapter extends BaseWalletAdapter {
80
93
 
81
94
  constructor({
82
95
  // provider,
83
- // network = WalletAdapterNetwork.Mainnet,
96
+ // network = WalletAdapterNetwork.Testnet,
84
97
  timeout = 10000
85
98
  }: MartianWalletAdapterConfig = {}) {
86
99
  super();
87
100
 
88
101
  this._provider = typeof window !== 'undefined' ? window.martian : undefined;
89
- // this._network = network;
102
+ this._network = undefined;
90
103
  this._timeout = timeout;
91
104
  this._connecting = false;
92
105
  this._wallet = null;
@@ -111,6 +124,14 @@ export class MartianWalletAdapter extends BaseWalletAdapter {
111
124
  };
112
125
  }
113
126
 
127
+ get network(): NetworkInfo {
128
+ return {
129
+ name: this._network,
130
+ api: this._api,
131
+ chainId: this._chainId
132
+ };
133
+ }
134
+
114
135
  get connecting(): boolean {
115
136
  return this._connecting;
116
137
  }
@@ -152,6 +173,20 @@ export class MartianWalletAdapter extends BaseWalletAdapter {
152
173
  ...walletAccount,
153
174
  isConnected: true
154
175
  };
176
+
177
+ try {
178
+ const name = await provider?.network();
179
+ const { chainId } = await provider?.getChainId();
180
+ const api = null;
181
+
182
+ this._network = name;
183
+ this._chainId = chainId.toString();
184
+ this._api = api;
185
+ } catch (error: any) {
186
+ const errMsg = error.message;
187
+ this.emit('error', new WalletGetNetworkError(errMsg));
188
+ throw error;
189
+ }
155
190
  }
156
191
  this.emit('connect', this._wallet?.address || '');
157
192
  } catch (error: any) {
@@ -178,7 +213,10 @@ export class MartianWalletAdapter extends BaseWalletAdapter {
178
213
  this.emit('disconnect');
179
214
  }
180
215
 
181
- async signTransaction(transactionPyld: TransactionPayload, options?: any): Promise<Uint8Array> {
216
+ async signTransaction(
217
+ transactionPyld: Types.TransactionPayload,
218
+ options?: any
219
+ ): Promise<Uint8Array> {
182
220
  try {
183
221
  const wallet = this._wallet;
184
222
  const provider = this._provider || window.martian;
@@ -198,9 +236,9 @@ export class MartianWalletAdapter extends BaseWalletAdapter {
198
236
  }
199
237
 
200
238
  async signAndSubmitTransaction(
201
- transactionPyld: TransactionPayload,
239
+ transactionPyld: Types.TransactionPayload,
202
240
  options?: any
203
- ): Promise<{ hash: HexEncodedBytes }> {
241
+ ): Promise<{ hash: Types.HexEncodedBytes }> {
204
242
  try {
205
243
  const wallet = this._wallet;
206
244
  const provider = this._provider || window.martian;
@@ -239,4 +277,42 @@ export class MartianWalletAdapter extends BaseWalletAdapter {
239
277
  throw error;
240
278
  }
241
279
  }
280
+
281
+ async onAccountChange(): Promise<void> {
282
+ try {
283
+ const wallet = this._wallet;
284
+ const provider = this._provider || window.martian;
285
+ if (!wallet || !provider) throw new WalletNotConnectedError();
286
+ await provider?.onAccountChange((newAccount: string) => {
287
+ console.log('account Changed >>>', newAccount);
288
+ this._wallet = {
289
+ ...this._wallet,
290
+ address: newAccount
291
+ };
292
+ this.emit('accountChange', newAccount);
293
+ });
294
+ } catch (error: any) {
295
+ const errMsg = error.message;
296
+ this.emit('error', new WalletAccountChangeError(errMsg));
297
+ throw error;
298
+ }
299
+ }
300
+
301
+ async onNetworkChange(): Promise<void> {
302
+ try {
303
+ const wallet = this._wallet;
304
+ const provider = this._provider || window.martian;
305
+ if (!wallet || !provider) throw new WalletNotConnectedError();
306
+ const handleNetworkChange = async (newNetwork: WalletAdapterNetwork) => {
307
+ console.log('network Changed >>>', newNetwork);
308
+ this._network = newNetwork;
309
+ this.emit('networkChange', this._network);
310
+ };
311
+ await provider?.onNetworkChange(handleNetworkChange);
312
+ } catch (error: any) {
313
+ const errMsg = error.message;
314
+ this.emit('error', new WalletNetworkChangeError(errMsg));
315
+ throw error;
316
+ }
317
+ }
242
318
  }
@@ -2,9 +2,10 @@ export const NightlyWallet = () => {};
2
2
 
3
3
  import { PendingTransaction, TransactionPayload } from 'aptos/src/generated';
4
4
  import * as SHA3 from 'js-sha3';
5
- import { aptosClient } from '../config/aptosConstants';
6
5
  import {
6
+ WalletAccountChangeError,
7
7
  WalletDisconnectionError,
8
+ WalletNetworkChangeError,
8
9
  WalletNotConnectedError,
9
10
  WalletNotReadyError,
10
11
  WalletSignMessageError,
@@ -13,7 +14,9 @@ import {
13
14
  import {
14
15
  AccountKeys,
15
16
  BaseWalletAdapter,
17
+ NetworkInfo,
16
18
  scopePollingDetectionStrategy,
19
+ WalletAdapterNetwork,
17
20
  WalletName,
18
21
  WalletReadyState
19
22
  } from './BaseAdapter';
@@ -57,7 +60,10 @@ interface AptosNightly {
57
60
  constructor(eventMap: Map<string, (data: any) => any>);
58
61
  connect(onDisconnect?: () => void, eagerConnect?: boolean): Promise<AptosPublicKey>;
59
62
  disconnect(): Promise<void>;
60
- signTransaction: (transaction: TransactionPayload) => Promise<Uint8Array>;
63
+ signTransaction: (
64
+ transaction: TransactionPayload,
65
+ submit: boolean
66
+ ) => Promise<Uint8Array | PendingTransaction>;
61
67
  signAllTransactions: (transaction: TransactionPayload[]) => Promise<Uint8Array[]>;
62
68
  signMessage(msg: string): Promise<Uint8Array>;
63
69
  }
@@ -88,7 +94,12 @@ export class NightlyWalletAdapter extends BaseWalletAdapter {
88
94
 
89
95
  protected _provider: AptosNightly | undefined;
90
96
 
91
- // protected _network: WalletAdapterNetwork;
97
+ protected _network: WalletAdapterNetwork;
98
+
99
+ protected _chainId: string;
100
+
101
+ protected _api: string;
102
+
92
103
  protected _timeout: number;
93
104
 
94
105
  protected _readyState: WalletReadyState =
@@ -107,13 +118,13 @@ export class NightlyWalletAdapter extends BaseWalletAdapter {
107
118
 
108
119
  constructor({
109
120
  // provider,
110
- // network = WalletAdapterNetwork.Mainnet,
121
+ // network = WalletAdapterNetwork.Testnet,
111
122
  timeout = 10000
112
123
  }: NightlyWalletAdapterConfig = {}) {
113
124
  super();
114
125
 
115
126
  this._provider = window.nightly?.aptos;
116
- // this._network = network;
127
+ this._network = undefined;
117
128
  this._timeout = timeout;
118
129
  this._connecting = false;
119
130
  this._wallet = null;
@@ -138,6 +149,14 @@ export class NightlyWalletAdapter extends BaseWalletAdapter {
138
149
  };
139
150
  }
140
151
 
152
+ get network(): NetworkInfo {
153
+ return {
154
+ name: this._network,
155
+ api: this._api,
156
+ chainId: this._chainId
157
+ };
158
+ }
159
+
141
160
  get connecting(): boolean {
142
161
  return this._connecting;
143
162
  }
@@ -205,9 +224,9 @@ export class NightlyWalletAdapter extends BaseWalletAdapter {
205
224
 
206
225
  try {
207
226
  const provider = this._provider || window.nightly?.aptos;
208
- const response = await provider?.signTransaction(payload);
227
+ const response = await provider?.signTransaction(payload, false);
209
228
  if (response) {
210
- return response;
229
+ return response as Uint8Array;
211
230
  } else {
212
231
  throw new Error('Transaction failed');
213
232
  }
@@ -249,10 +268,9 @@ export class NightlyWalletAdapter extends BaseWalletAdapter {
249
268
 
250
269
  try {
251
270
  const provider = this._provider || window.nightly?.aptos;
252
- const response = await provider?.signTransaction(tx);
253
- const result = await aptosClient.submitSignedBCSTransaction(response);
271
+ const response = await provider?.signTransaction(tx, true);
254
272
  if (response) {
255
- return result;
273
+ return response as PendingTransaction;
256
274
  } else {
257
275
  throw new Error('Transaction failed');
258
276
  }
@@ -283,4 +301,30 @@ export class NightlyWalletAdapter extends BaseWalletAdapter {
283
301
  throw error;
284
302
  }
285
303
  }
304
+
305
+ async onAccountChange(): Promise<void> {
306
+ try {
307
+ const wallet = this._wallet;
308
+ const provider = this._provider || window.nightly.aptos;
309
+ if (!wallet || !provider) throw new WalletNotConnectedError();
310
+ //To be implemented
311
+ } catch (error: any) {
312
+ const errMsg = error.message;
313
+ this.emit('error', new WalletAccountChangeError(errMsg));
314
+ throw error;
315
+ }
316
+ }
317
+
318
+ async onNetworkChange(): Promise<void> {
319
+ try {
320
+ const wallet = this._wallet;
321
+ const provider = this._provider || window.nightly.aptos;
322
+ if (!wallet || !provider) throw new WalletNotConnectedError();
323
+ //To be implemented
324
+ } catch (error: any) {
325
+ const errMsg = error.message;
326
+ this.emit('error', new WalletNetworkChangeError(errMsg));
327
+ throw error;
328
+ }
329
+ }
286
330
  }