@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.
Files changed (58) hide show
  1. package/README.md +5 -3
  2. package/dist/WalletAdapters/AptosWallet.d.ts +12 -4
  3. package/dist/WalletAdapters/AptosWallet.d.ts.map +1 -1
  4. package/dist/WalletAdapters/AptosWallet.js +30 -11
  5. package/dist/WalletAdapters/AptosWallet.js.map +1 -1
  6. package/dist/WalletAdapters/BaseAdapter.d.ts +4 -2
  7. package/dist/WalletAdapters/BaseAdapter.d.ts.map +1 -1
  8. package/dist/WalletAdapters/BaseAdapter.js.map +1 -1
  9. package/dist/WalletAdapters/FewchaWallet.d.ts +3 -2
  10. package/dist/WalletAdapters/FewchaWallet.d.ts.map +1 -1
  11. package/dist/WalletAdapters/FewchaWallet.js +46 -45
  12. package/dist/WalletAdapters/FewchaWallet.js.map +1 -1
  13. package/dist/WalletAdapters/HippoExtensionWallet.d.ts +4 -2
  14. package/dist/WalletAdapters/HippoExtensionWallet.d.ts.map +1 -1
  15. package/dist/WalletAdapters/HippoExtensionWallet.js +24 -2
  16. package/dist/WalletAdapters/HippoExtensionWallet.js.map +1 -1
  17. package/dist/WalletAdapters/HippoWallet.d.ts +3 -2
  18. package/dist/WalletAdapters/HippoWallet.d.ts.map +1 -1
  19. package/dist/WalletAdapters/HippoWallet.js +26 -1
  20. package/dist/WalletAdapters/HippoWallet.js.map +1 -1
  21. package/dist/WalletAdapters/MartianWallet.d.ts +4 -2
  22. package/dist/WalletAdapters/MartianWallet.d.ts.map +1 -1
  23. package/dist/WalletAdapters/MartianWallet.js +30 -8
  24. package/dist/WalletAdapters/MartianWallet.js.map +1 -1
  25. package/dist/WalletAdapters/PontemWallet.d.ts +6 -4
  26. package/dist/WalletAdapters/PontemWallet.d.ts.map +1 -1
  27. package/dist/WalletAdapters/PontemWallet.js +28 -6
  28. package/dist/WalletAdapters/PontemWallet.js.map +1 -1
  29. package/dist/WalletAdapters/SpikaWallet.d.ts +46 -0
  30. package/dist/WalletAdapters/SpikaWallet.d.ts.map +1 -0
  31. package/dist/WalletAdapters/{MultiMaskWallet.js → SpikaWallet.js} +71 -82
  32. package/dist/WalletAdapters/SpikaWallet.js.map +1 -0
  33. package/dist/WalletAdapters/index.d.ts +1 -1
  34. package/dist/WalletAdapters/index.d.ts.map +1 -1
  35. package/dist/WalletAdapters/index.js +1 -1
  36. package/dist/WalletAdapters/index.js.map +1 -1
  37. package/dist/WalletProviders/WalletProvider.d.ts.map +1 -1
  38. package/dist/WalletProviders/WalletProvider.js +9 -1
  39. package/dist/WalletProviders/WalletProvider.js.map +1 -1
  40. package/dist/WalletProviders/useWallet.d.ts +1 -0
  41. package/dist/WalletProviders/useWallet.d.ts.map +1 -1
  42. package/dist/WalletProviders/useWallet.js.map +1 -1
  43. package/package.json +3 -3
  44. package/src/WalletAdapters/AptosWallet.ts +41 -13
  45. package/src/WalletAdapters/BaseAdapter.ts +11 -2
  46. package/src/WalletAdapters/FewchaWallet.ts +45 -25
  47. package/src/WalletAdapters/HippoExtensionWallet.ts +23 -2
  48. package/src/WalletAdapters/HippoWallet.ts +27 -1
  49. package/src/WalletAdapters/MartianWallet.ts +29 -8
  50. package/src/WalletAdapters/PontemWallet.ts +32 -7
  51. package/src/WalletAdapters/SpikaWallet.ts +229 -0
  52. package/src/WalletAdapters/index.ts +1 -1
  53. package/src/WalletProviders/WalletProvider.tsx +11 -1
  54. package/src/WalletProviders/useWallet.ts +1 -0
  55. package/dist/WalletAdapters/MultiMaskWallet.d.ts +0 -41
  56. package/dist/WalletAdapters/MultiMaskWallet.d.ts.map +0 -1
  57. package/dist/WalletAdapters/MultiMaskWallet.js.map +0 -1
  58. 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
- }