@manahippo/aptos-wallet-adapter 0.2.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 (84) hide show
  1. package/README.md +21 -19
  2. package/dist/WalletAdapters/AptosWallet.d.ts +18 -7
  3. package/dist/WalletAdapters/AptosWallet.d.ts.map +1 -1
  4. package/dist/WalletAdapters/AptosWallet.js +47 -32
  5. package/dist/WalletAdapters/AptosWallet.js.map +1 -1
  6. package/dist/WalletAdapters/BaseAdapter.d.ts +10 -6
  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 +7 -4
  10. package/dist/WalletAdapters/FewchaWallet.d.ts.map +1 -1
  11. package/dist/WalletAdapters/FewchaWallet.js +90 -88
  12. package/dist/WalletAdapters/FewchaWallet.js.map +1 -1
  13. package/dist/WalletAdapters/HippoExtensionWallet.d.ts +8 -4
  14. package/dist/WalletAdapters/HippoExtensionWallet.d.ts.map +1 -1
  15. package/dist/WalletAdapters/HippoExtensionWallet.js +27 -5
  16. package/dist/WalletAdapters/HippoExtensionWallet.js.map +1 -1
  17. package/dist/WalletAdapters/HippoWallet.d.ts +7 -4
  18. package/dist/WalletAdapters/HippoWallet.d.ts.map +1 -1
  19. package/dist/WalletAdapters/HippoWallet.js +28 -2
  20. package/dist/WalletAdapters/HippoWallet.js.map +1 -1
  21. package/dist/WalletAdapters/MartianWallet.d.ts +11 -6
  22. package/dist/WalletAdapters/MartianWallet.d.ts.map +1 -1
  23. package/dist/WalletAdapters/MartianWallet.js +51 -35
  24. package/dist/WalletAdapters/MartianWallet.js.map +1 -1
  25. package/dist/WalletAdapters/NightlyWallet.d.ts +1 -41
  26. package/dist/WalletAdapters/NightlyWallet.d.ts.map +1 -1
  27. package/dist/WalletAdapters/NightlyWallet.js +232 -198
  28. package/dist/WalletAdapters/NightlyWallet.js.map +1 -1
  29. package/dist/WalletAdapters/PontemWallet.d.ts +57 -0
  30. package/dist/WalletAdapters/PontemWallet.d.ts.map +1 -0
  31. package/dist/WalletAdapters/PontemWallet.js +182 -0
  32. package/dist/WalletAdapters/PontemWallet.js.map +1 -0
  33. package/dist/WalletAdapters/SpikaWallet.d.ts +46 -0
  34. package/dist/WalletAdapters/SpikaWallet.d.ts.map +1 -0
  35. package/dist/WalletAdapters/{MultiMaskWallet.js → SpikaWallet.js} +72 -83
  36. package/dist/WalletAdapters/SpikaWallet.js.map +1 -0
  37. package/dist/WalletAdapters/index.d.ts +2 -2
  38. package/dist/WalletAdapters/index.d.ts.map +1 -1
  39. package/dist/WalletAdapters/index.js +3 -2
  40. package/dist/WalletAdapters/index.js.map +1 -1
  41. package/dist/WalletProviders/WalletProvider.d.ts +0 -1
  42. package/dist/WalletProviders/WalletProvider.d.ts.map +1 -1
  43. package/dist/WalletProviders/WalletProvider.js +10 -7
  44. package/dist/WalletProviders/WalletProvider.js.map +1 -1
  45. package/dist/WalletProviders/useWallet.d.ts +5 -3
  46. package/dist/WalletProviders/useWallet.d.ts.map +1 -1
  47. package/dist/WalletProviders/useWallet.js +1 -1
  48. package/dist/WalletProviders/useWallet.js.map +1 -1
  49. package/dist/config/aptosConstants.d.ts +2 -2
  50. package/dist/config/aptosConstants.d.ts.map +1 -1
  51. package/dist/config/aptosConstants.js +1 -1
  52. package/dist/config/aptosConstants.js.map +1 -1
  53. package/dist/hooks/useLocalStorage.d.ts.map +1 -1
  54. package/dist/hooks/useLocalStorage.js +9 -4
  55. package/dist/hooks/useLocalStorage.js.map +1 -1
  56. package/dist/hooks/useSSR.d.ts +4 -0
  57. package/dist/hooks/useSSR.d.ts.map +1 -0
  58. package/dist/hooks/useSSR.js +17 -0
  59. package/dist/hooks/useSSR.js.map +1 -0
  60. package/dist/utilities/util.d.ts +8 -0
  61. package/dist/utilities/util.d.ts.map +1 -0
  62. package/dist/utilities/util.js +14 -0
  63. package/dist/utilities/util.js.map +1 -0
  64. package/package.json +10 -10
  65. package/src/WalletAdapters/AptosWallet.ts +63 -37
  66. package/src/WalletAdapters/BaseAdapter.ts +14 -16
  67. package/src/WalletAdapters/FewchaWallet.ts +97 -81
  68. package/src/WalletAdapters/HippoExtensionWallet.ts +32 -9
  69. package/src/WalletAdapters/HippoWallet.ts +35 -7
  70. package/src/WalletAdapters/MartianWallet.ts +57 -42
  71. package/src/WalletAdapters/NightlyWallet.ts +230 -229
  72. package/src/WalletAdapters/PontemWallet.ts +250 -0
  73. package/src/WalletAdapters/SpikaWallet.ts +229 -0
  74. package/src/WalletAdapters/index.ts +3 -2
  75. package/src/WalletProviders/WalletProvider.tsx +12 -10
  76. package/src/WalletProviders/useWallet.ts +7 -14
  77. package/src/config/aptosConstants.ts +1 -1
  78. package/src/hooks/useLocalStorage.ts +9 -4
  79. package/src/hooks/useSSR.ts +15 -0
  80. package/src/utilities/util.ts +11 -0
  81. package/dist/WalletAdapters/MultiMaskWallet.d.ts +0 -39
  82. package/dist/WalletAdapters/MultiMaskWallet.d.ts.map +0 -1
  83. package/dist/WalletAdapters/MultiMaskWallet.js.map +0 -1
  84. package/src/WalletAdapters/MultiMaskWallet.ts +0 -245
@@ -1,12 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { PendingTransaction, SubmitTransactionRequest, TransactionPayload } from 'aptos/dist/api/data-contracts';
2
+ import { TransactionPayload, SubmitTransactionRequest, HexEncodedBytes } from 'aptos/dist/generated';
3
3
  import { AccountKeys, WalletAdapter, WalletName, WalletReadyState } from '../WalletAdapters/BaseAdapter';
4
4
  export interface Wallet {
5
5
  adapter: WalletAdapter;
6
6
  readyState: WalletReadyState;
7
7
  }
8
8
  export interface WalletContextState {
9
- autoConnect: boolean;
10
9
  wallets: Wallet[];
11
10
  wallet: Wallet | null;
12
11
  account: AccountKeys | null;
@@ -16,8 +15,11 @@ export interface WalletContextState {
16
15
  select(walletName: WalletName): void;
17
16
  connect(walletName: string): Promise<void>;
18
17
  disconnect(): Promise<void>;
19
- signAndSubmitTransaction(transaction: TransactionPayload): Promise<PendingTransaction>;
18
+ signAndSubmitTransaction(transaction: TransactionPayload): Promise<{
19
+ hash: HexEncodedBytes;
20
+ }>;
20
21
  signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
22
+ signMessage(message: string): Promise<string>;
21
23
  }
22
24
  export declare const WalletContext: import("react").Context<WalletContextState>;
23
25
  export declare function useWallet(): WalletContextState;
@@ -1 +1 @@
1
- {"version":3,"file":"useWallet.d.ts","sourceRoot":"","sources":["../../src/WalletProviders/useWallet.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,WAAW,EAEX,aAAa,EACb,UAAU,EACV,gBAAgB,EACjB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wBAAwB,CACtB,WAAW,EAAE,kBAAkB,GAG9B,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAGrF;AASD,eAAO,MAAM,aAAa,6CAEzB,CAAC;AAEF,wBAAgB,SAAS,IAAI,kBAAkB,CAE9C"}
1
+ {"version":3,"file":"useWallet.d.ts","sourceRoot":"","sources":["../../src/WalletProviders/useWallet.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EACjB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IAEjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wBAAwB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IAC9F,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C;AASD,eAAO,MAAM,aAAa,6CAEzB,CAAC;AAEF,wBAAgB,SAAS,IAAI,kBAAkB,CAE9C"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useWallet = exports.WalletContext = void 0;
4
4
  const react_1 = require("react");
5
5
  const DEFAULT_CONTEXT = {
6
- autoConnect: false,
6
+ // autoConnect: false,
7
7
  connecting: false,
8
8
  connected: false,
9
9
  disconnecting: false
@@ -1 +1 @@
1
- {"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../src/WalletProviders/useWallet.ts"],"names":[],"mappings":";;;AAKA,iCAAkD;AAoClD,MAAM,eAAe,GAAG;IACtB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,KAAK;CACC,CAAC;AAEX,QAAA,aAAa,GAAG,IAAA,qBAAa,EACxC,eAAqC,CACtC,CAAC;AAEF,SAAgB,SAAS;IACvB,OAAO,IAAA,kBAAU,EAAC,qBAAa,CAAC,CAAC;AACnC,CAAC;AAFD,8BAEC"}
1
+ {"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../src/WalletProviders/useWallet.ts"],"names":[],"mappings":";;;AAKA,iCAAkD;AA6BlD,MAAM,eAAe,GAAG;IACtB,sBAAsB;IACtB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,KAAK;CACC,CAAC;AAEX,QAAA,aAAa,GAAG,IAAA,qBAAa,EACxC,eAAqC,CACtC,CAAC;AAEF,SAAgB,SAAS;IACvB,OAAO,IAAA,kBAAU,EAAC,qBAAa,CAAC,CAAC;AACnC,CAAC;AAFD,8BAEC"}
@@ -1,10 +1,10 @@
1
1
  import { AptosClient, FaucetClient } from 'aptos';
2
2
  export declare const WEBWALLET_URL = "https://hippo-wallet-test.web.app";
3
3
  export declare const LOCAL_NODE_URL = "http://127.0.0.1:8080";
4
- export declare const DEVNET_NODE_URL = "https://fullnode.devnet.aptoslabs.com";
4
+ export declare const DEVNET_NODE_URL = "https://fullnode.devnet.aptoslabs.com/v1";
5
5
  export declare const LOCAL_FAUCET_URL = "http://127.0.0.1:8000";
6
6
  export declare const DEVNET_FAUCET_URL = "https://faucet.devnet.aptoslabs.com";
7
- export declare const NODE_URL = "https://fullnode.devnet.aptoslabs.com";
7
+ export declare const NODE_URL = "https://fullnode.devnet.aptoslabs.com/v1";
8
8
  export declare const FAUCET_URL = "https://faucet.devnet.aptoslabs.com";
9
9
  export declare const aptosClient: AptosClient;
10
10
  export declare const faucetClient: FaucetClient;
@@ -1 +1 @@
1
- {"version":3,"file":"aptosConstants.d.ts","sourceRoot":"","sources":["../../src/config/aptosConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAElD,eAAO,MAAM,aAAa,sCAAsC,CAAC;AAGjE,eAAO,MAAM,cAAc,0BAA0B,CAAC;AACtD,eAAO,MAAM,eAAe,0CAA0C,CAAC;AACvE,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AACxD,eAAO,MAAM,iBAAiB,wCAAwC,CAAC;AAEvE,eAAO,MAAM,QAAQ,0CAAkB,CAAC;AACxC,eAAO,MAAM,UAAU,wCAAoB,CAAC;AAE5C,eAAO,MAAM,WAAW,aAA4B,CAAC;AACrD,eAAO,MAAM,YAAY,cAAyC,CAAC"}
1
+ {"version":3,"file":"aptosConstants.d.ts","sourceRoot":"","sources":["../../src/config/aptosConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAElD,eAAO,MAAM,aAAa,sCAAsC,CAAC;AAGjE,eAAO,MAAM,cAAc,0BAA0B,CAAC;AACtD,eAAO,MAAM,eAAe,6CAA6C,CAAC;AAC1E,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AACxD,eAAO,MAAM,iBAAiB,wCAAwC,CAAC;AAEvE,eAAO,MAAM,QAAQ,6CAAkB,CAAC;AACxC,eAAO,MAAM,UAAU,wCAAoB,CAAC;AAE5C,eAAO,MAAM,WAAW,aAA4B,CAAC;AACrD,eAAO,MAAM,YAAY,cAAyC,CAAC"}
@@ -5,7 +5,7 @@ const aptos_1 = require("aptos");
5
5
  exports.WEBWALLET_URL = 'https://hippo-wallet-test.web.app';
6
6
  // export const WEBWALLET_URL = 'http://localhost:3030';
7
7
  exports.LOCAL_NODE_URL = 'http://127.0.0.1:8080';
8
- exports.DEVNET_NODE_URL = 'https://fullnode.devnet.aptoslabs.com';
8
+ exports.DEVNET_NODE_URL = 'https://fullnode.devnet.aptoslabs.com/v1';
9
9
  exports.LOCAL_FAUCET_URL = 'http://127.0.0.1:8000';
10
10
  exports.DEVNET_FAUCET_URL = 'https://faucet.devnet.aptoslabs.com';
11
11
  exports.NODE_URL = exports.DEVNET_NODE_URL;
@@ -1 +1 @@
1
- {"version":3,"file":"aptosConstants.js","sourceRoot":"","sources":["../../src/config/aptosConstants.ts"],"names":[],"mappings":";;;AAAA,iCAAkD;AAErC,QAAA,aAAa,GAAG,mCAAmC,CAAC;AACjE,wDAAwD;AAE3C,QAAA,cAAc,GAAG,uBAAuB,CAAC;AACzC,QAAA,eAAe,GAAG,uCAAuC,CAAC;AAC1D,QAAA,gBAAgB,GAAG,uBAAuB,CAAC;AAC3C,QAAA,iBAAiB,GAAG,qCAAqC,CAAC;AAE1D,QAAA,QAAQ,GAAG,uBAAe,CAAC;AAC3B,QAAA,UAAU,GAAG,yBAAiB,CAAC;AAE/B,QAAA,WAAW,GAAG,IAAI,mBAAW,CAAC,gBAAQ,CAAC,CAAC;AACxC,QAAA,YAAY,GAAG,IAAI,oBAAY,CAAC,gBAAQ,EAAE,kBAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"aptosConstants.js","sourceRoot":"","sources":["../../src/config/aptosConstants.ts"],"names":[],"mappings":";;;AAAA,iCAAkD;AAErC,QAAA,aAAa,GAAG,mCAAmC,CAAC;AACjE,wDAAwD;AAE3C,QAAA,cAAc,GAAG,uBAAuB,CAAC;AACzC,QAAA,eAAe,GAAG,0CAA0C,CAAC;AAC7D,QAAA,gBAAgB,GAAG,uBAAuB,CAAC;AAC3C,QAAA,iBAAiB,GAAG,qCAAqC,CAAC;AAE1D,QAAA,QAAQ,GAAG,uBAAe,CAAC;AAC3B,QAAA,UAAU,GAAG,yBAAiB,CAAC;AAE/B,QAAA,WAAW,GAAG,IAAI,mBAAW,CAAC,gBAAQ,CAAC,CAAC;AACxC,QAAA,YAAY,GAAG,IAAI,oBAAY,CAAC,gBAAQ,EAAE,kBAAU,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;mCAEnB,MAAM,6BAED,OAAO,aACR,GAAG,KAAK,IAAI;CAgCxB,CAAC"}
1
+ {"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;mCAGnB,MAAM,6BAED,OAAO,aACR,GAAG,KAAK,IAAI;CAmCxB,CAAC"}
@@ -2,12 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useLocalStorage = void 0;
4
4
  const react_1 = require("react");
5
+ const useSSR_1 = require("./useSSR");
5
6
  const useLocalStorage = () => {
7
+ const { isClient } = (0, useSSR_1.useSSR)();
6
8
  const useLocalStorageState = (key, defaultState, session) => {
7
- const storage = session ? sessionStorage : localStorage;
9
+ let storage;
10
+ if (isClient) {
11
+ storage = session ? sessionStorage : localStorage;
12
+ }
8
13
  const [state, setState] = (0, react_1.useState)(() => {
9
14
  try {
10
- let storedState = storage.getItem(key);
15
+ let storedState = storage === null || storage === void 0 ? void 0 : storage.getItem(key);
11
16
  if (storedState) {
12
17
  return JSON.parse(storedState || '');
13
18
  }
@@ -22,10 +27,10 @@ const useLocalStorage = () => {
22
27
  const setLocalStorageState = (0, react_1.useCallback)((newState) => {
23
28
  setState(newState);
24
29
  if (newState === null) {
25
- storage.removeItem(key);
30
+ storage === null || storage === void 0 ? void 0 : storage.removeItem(key);
26
31
  }
27
32
  else {
28
- storage.setItem(key, JSON.stringify(newState));
33
+ storage === null || storage === void 0 ? void 0 : storage.setItem(key, JSON.stringify(newState));
29
34
  }
30
35
  }, [key, storage]);
31
36
  return [state, setLocalStorageState];
@@ -1 +1 @@
1
- {"version":3,"file":"useLocalStorage.js","sourceRoot":"","sources":["../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":";;;AAAA,iCAA8C;AAEvC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,oBAAoB,GAAG,CAC3B,GAAW,EACX,YAAe,EACf,OAAiB,EACM,EAAE;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;QACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE;YACtC,IAAI;gBACF,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,WAAW,EAAE;oBACf,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;oBACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtB;aACF;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EACtC,CAAC,QAAa,EAAE,EAAE;YAChB,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnB,IAAI,QAAQ,KAAK,IAAI,EAAE;gBACrB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACzB;iBAAM;gBACL,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;aAChD;QACH,CAAC,EACD,CAAC,GAAG,EAAE,OAAO,CAAC,CACf,CAAC;QAEF,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAClC,CAAC,CAAC;AArCW,QAAA,eAAe,mBAqC1B"}
1
+ {"version":3,"file":"useLocalStorage.js","sourceRoot":"","sources":["../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":";;;AAAA,iCAA8C;AAC9C,qCAAkC;AAE3B,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,eAAM,GAAE,CAAC;IAC9B,MAAM,oBAAoB,GAAG,CAC3B,GAAW,EACX,YAAe,EACf,OAAiB,EACM,EAAE;QACzB,IAAI,OAA4B,CAAC;QACjC,IAAI,QAAQ,EAAE;YACZ,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;SACnD;QACD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE;YACtC,IAAI;gBACF,IAAI,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,WAAW,EAAE;oBACf,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;oBACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtB;aACF;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EACtC,CAAC,QAAa,EAAE,EAAE;YAChB,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnB,IAAI,QAAQ,KAAK,IAAI,EAAE;gBACrB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,GAAG,CAAC,CAAC;aAC1B;iBAAM;gBACL,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;aACjD;QACH,CAAC,EACD,CAAC,GAAG,EAAE,OAAO,CAAC,CACf,CAAC;QAEF,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAClC,CAAC,CAAC;AAzCW,QAAA,eAAe,mBAyC1B"}
@@ -0,0 +1,4 @@
1
+ export declare const useSSR: () => {
2
+ isClient: boolean;
3
+ };
4
+ //# sourceMappingURL=useSSR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSSR.d.ts","sourceRoot":"","sources":["../../src/hooks/useSSR.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;CAYlB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSSR = void 0;
4
+ const react_1 = require("react");
5
+ const useSSR = () => {
6
+ const [isClient, setIsClient] = (0, react_1.useState)(false);
7
+ (0, react_1.useEffect)(() => {
8
+ if (typeof window !== 'undefined') {
9
+ setIsClient(true);
10
+ }
11
+ }, []);
12
+ return {
13
+ isClient
14
+ };
15
+ };
16
+ exports.useSSR = useSSR;
17
+ //# sourceMappingURL=useSSR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSSR.js","sourceRoot":"","sources":["../../src/hooks/useSSR.ts"],"names":[],"mappings":";;;AAAA,iCAA4C;AAErC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,WAAW,CAAC,IAAI,CAAC,CAAC;SACnB;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,MAAM,UAYjB"}
@@ -0,0 +1,8 @@
1
+ import { TransactionPayload } from 'aptos/dist/generated';
2
+ export declare const payloadV1ToV0: (payload: TransactionPayload) => {
3
+ type: string;
4
+ function: string;
5
+ type_arguments: string[];
6
+ arguments: any[];
7
+ };
8
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/utilities/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA2C,MAAM,sBAAsB,CAAC;AAEnG,eAAO,MAAM,aAAa,YAAa,kBAAkB;;;;;CAQxD,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.payloadV1ToV0 = void 0;
4
+ const payloadV1ToV0 = (payload) => {
5
+ const v1 = payload;
6
+ return {
7
+ type: 'script_function_payload',
8
+ function: v1.function,
9
+ type_arguments: v1.type_arguments,
10
+ arguments: v1.arguments
11
+ };
12
+ };
13
+ exports.payloadV1ToV0 = payloadV1ToV0;
14
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/utilities/util.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAG,CAAC,OAA2B,EAAE,EAAE;IAC3D,MAAM,EAAE,GAAG,OAAkD,CAAC;IAC9D,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,cAAc,EAAE,EAAE,CAAC,cAAc;QACjC,SAAS,EAAE,EAAE,CAAC,SAAS;KACxB,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manahippo/aptos-wallet-adapter",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
6
6
  "files": [
@@ -11,8 +11,8 @@
11
11
  "build": "rm -rf dist; tsc -p tsconfig.json"
12
12
  },
13
13
  "peerDependencies": {
14
- "react": "^18.1.0",
15
- "react-dom": "^18.1.0"
14
+ "react": "^18.X.X || 17.X.X",
15
+ "react-dom": "^18.X.X || 17.X.X"
16
16
  },
17
17
  "devDependencies": {
18
18
  "eslint-config-airbnb-typescript": "^17.0.0",
@@ -20,15 +20,15 @@
20
20
  "eslint-plugin-prettier": "^4.2.1",
21
21
  "eslint-plugin-react": "^7.30.1",
22
22
  "eslint-plugin-react-hooks": "^4.6.0",
23
- "prettier": "^2.7.1"
23
+ "prettier": "^2.7.1",
24
+ "typescript": "^4.7.4"
24
25
  },
25
26
  "dependencies": {
26
- "@fewcha/web3": "^0.1.6",
27
+ "@fewcha/web3": "^0.1.25",
27
28
  "@types/jest": "^27.0.1",
28
- "@types/node": "^16.7.13",
29
- "@types/react": "^18.0.0",
30
- "aptos": "1.3.3",
31
- "eventemitter3": "^4.0.7",
32
- "typescript": "^4.4.2"
29
+ "@types/node": "^18.7.6",
30
+ "@types/react": "^18.0.17",
31
+ "aptos": "^1.3.10",
32
+ "eventemitter3": "^4.0.7"
33
33
  }
34
34
  }
@@ -1,12 +1,14 @@
1
1
  import {
2
- PendingTransaction,
2
+ HexEncodedBytes,
3
3
  SubmitTransactionRequest,
4
4
  TransactionPayload
5
- } from 'aptos/dist/api/data-contracts';
5
+ } from 'aptos/dist/generated';
6
6
  import {
7
7
  WalletDisconnectionError,
8
8
  WalletNotConnectedError,
9
9
  WalletNotReadyError,
10
+ WalletSignAndSubmitMessageError,
11
+ WalletSignMessageError,
10
12
  WalletSignTransactionError
11
13
  } from '../WalletProviders/errors';
12
14
  import {
@@ -17,13 +19,21 @@ import {
17
19
  WalletReadyState
18
20
  } from './BaseAdapter';
19
21
 
22
+ interface IApotsErrorResult {
23
+ code: number;
24
+ name: string;
25
+ message: string;
26
+ }
27
+
20
28
  interface IAptosWallet {
21
- requestId: number;
22
- connect: () => Promise<{ address: string }>;
29
+ connect: () => Promise<{ address: string; publicKey: string }>;
23
30
  account: () => Promise<string>;
24
31
  isConnected: () => Promise<boolean>;
25
- signAndSubmitTransaction(transaction: any): Promise<void>;
26
- signTransaction(transaction: any): Promise<void>;
32
+ signAndSubmitTransaction(
33
+ transaction: any
34
+ ): Promise<{ hash: HexEncodedBytes } | IApotsErrorResult>;
35
+ signTransaction(transaction: any): Promise<SubmitTransactionRequest | IApotsErrorResult>;
36
+ signMessage(message: string): Promise<string>;
27
37
  disconnect(): Promise<void>;
28
38
  }
29
39
 
@@ -33,7 +43,7 @@ interface AptosWindow extends Window {
33
43
 
34
44
  declare const window: AptosWindow;
35
45
 
36
- export const AptosWalletName = 'Aptos Wallet' as WalletName<'Aptos Wallet'>;
46
+ export const AptosWalletName = 'Aptos' as WalletName<'Aptos'>;
37
47
 
38
48
  export interface AptosWalletAdapterConfig {
39
49
  provider?: IAptosWallet;
@@ -69,13 +79,13 @@ export class AptosWalletAdapter extends BaseWalletAdapter {
69
79
  }: AptosWalletAdapterConfig = {}) {
70
80
  super();
71
81
 
72
- this._provider = window.aptos;
82
+ this._provider = typeof window !== 'undefined' ? window.aptos : undefined;
73
83
  // this._network = network;
74
84
  this._timeout = timeout;
75
85
  this._connecting = false;
76
86
  this._wallet = null;
77
87
 
78
- if (this._readyState !== WalletReadyState.Unsupported) {
88
+ if (typeof window !== 'undefined' && this._readyState !== WalletReadyState.Unsupported) {
79
89
  scopePollingDetectionStrategy(() => {
80
90
  if (window.aptos) {
81
91
  this._readyState = WalletReadyState.Installed;
@@ -120,10 +130,15 @@ export class AptosWalletAdapter extends BaseWalletAdapter {
120
130
  this._connecting = true;
121
131
 
122
132
  const provider = this._provider || window.aptos;
123
- const response = await provider?.connect();
133
+ const isConnected = await this._provider?.isConnected();
134
+ if (isConnected === true) {
135
+ await provider?.disconnect();
136
+ }
124
137
 
138
+ const response = await provider?.connect();
125
139
  this._wallet = {
126
- publicKey: response?.address,
140
+ address: response?.address,
141
+ publicKey: response?.publicKey,
127
142
  isConnected: true
128
143
  };
129
144
 
@@ -155,44 +170,55 @@ export class AptosWalletAdapter extends BaseWalletAdapter {
155
170
  async signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest> {
156
171
  try {
157
172
  const wallet = this._wallet;
158
- if (!wallet) throw new WalletNotConnectedError();
173
+ const provider = this._provider || window.aptos;
174
+ if (!wallet || !provider) throw new WalletNotConnectedError();
159
175
 
160
- try {
161
- const provider = this._provider || window.aptos;
162
- const response = await provider?.signTransaction(transaction);
163
- if (response) {
164
- return response;
165
- } else {
166
- throw new Error('Transaction failed');
167
- }
168
- } catch (error: any) {
169
- throw new WalletSignTransactionError(error?.message, error);
176
+ const response = await provider.signTransaction(transaction);
177
+ if ((response as IApotsErrorResult).code) {
178
+ throw new Error((response as IApotsErrorResult).message);
170
179
  }
180
+ return response as SubmitTransactionRequest;
171
181
  } catch (error: any) {
172
- this.emit('error', error);
182
+ const errMsg = error.message;
183
+ this.emit('error', new WalletSignTransactionError(errMsg));
173
184
  throw error;
174
185
  }
175
186
  }
176
187
 
177
- async signAndSubmitTransaction(transaction: TransactionPayload): Promise<PendingTransaction> {
188
+ async signAndSubmitTransaction(
189
+ transaction: TransactionPayload
190
+ ): Promise<{ hash: HexEncodedBytes }> {
178
191
  try {
179
192
  const wallet = this._wallet;
180
- if (!wallet) throw new WalletNotConnectedError();
193
+ const provider = this._provider || window.aptos;
194
+ if (!wallet || !provider) throw new WalletNotConnectedError();
181
195
 
182
- try {
183
- const provider = this._provider || window.aptos;
184
- const response = await provider?.signAndSubmitTransaction(transaction);
185
- if (response) {
186
- return response;
187
- } else {
188
- throw new Error('Transaction failed');
189
- }
190
- } catch (error: any) {
191
- const errMsg = error instanceof Error ? error.message : error.response.data.message;
192
- throw new WalletSignTransactionError(errMsg);
196
+ const response = await provider.signAndSubmitTransaction(transaction);
197
+ if ((response as IApotsErrorResult).code) {
198
+ throw new Error((response as IApotsErrorResult).message);
193
199
  }
200
+ return response as { hash: HexEncodedBytes };
194
201
  } catch (error: any) {
195
- this.emit('error', error);
202
+ const errMsg = error.message;
203
+ this.emit('error', new WalletSignAndSubmitMessageError(errMsg));
204
+ throw error;
205
+ }
206
+ }
207
+
208
+ async signMessage(message: string): Promise<string> {
209
+ try {
210
+ const wallet = this._wallet;
211
+ const provider = this._provider || window.aptos;
212
+ if (!wallet || !provider) throw new WalletNotConnectedError();
213
+ const response = await provider?.signMessage(message);
214
+ if (response) {
215
+ return response;
216
+ } else {
217
+ throw new Error('Sign Message failed');
218
+ }
219
+ } catch (error: any) {
220
+ const errMsg = error.message;
221
+ this.emit('error', new WalletSignMessageError(errMsg));
196
222
  throw error;
197
223
  }
198
224
  }
@@ -1,9 +1,9 @@
1
1
  import { MaybeHexString } from 'aptos';
2
2
  import {
3
- PendingTransaction,
3
+ TransactionPayload,
4
4
  SubmitTransactionRequest,
5
- TransactionPayload
6
- } from 'aptos/dist/api/data-contracts';
5
+ HexEncodedBytes
6
+ } from 'aptos/dist/generated';
7
7
  import EventEmitter from 'eventemitter3';
8
8
 
9
9
  declare global {
@@ -65,25 +65,19 @@ export interface WalletAdapterProps<Name extends string = string> {
65
65
  connect(): Promise<void>;
66
66
  disconnect(): Promise<void>;
67
67
  signAndSubmitTransaction(
68
- transaction: TransactionPayload
69
- // connection: Connection,
70
- // options?: SendTransactionOptions
71
- ): Promise<PendingTransaction>;
68
+ transaction: TransactionPayload,
69
+ options?: any
70
+ ): Promise<{ hash: HexEncodedBytes }>;
72
71
  signTransaction(
73
- transaction: TransactionPayload
74
- // connection: Connection,
75
- // options?: SendTransactionOptions
72
+ transaction: TransactionPayload,
73
+ options?: any
76
74
  ): Promise<SubmitTransactionRequest>;
75
+ signMessage(message: string): Promise<string>;
77
76
  }
78
77
 
79
78
  export type WalletAdapter<Name extends string = string> = WalletAdapterProps<Name> &
80
79
  EventEmitter<WalletAdapterEvents>;
81
80
 
82
- export interface SignerWalletAdapterProps {
83
- // signTransaction(transaction: Transaction): Promise<Transaction>;
84
- // signAllTransactions(transaction: Transaction[]): Promise<Transaction[]>;
85
- }
86
-
87
81
  export abstract class BaseWalletAdapter
88
82
  extends EventEmitter<WalletAdapterEvents>
89
83
  implements WalletAdapter
@@ -106,9 +100,13 @@ export abstract class BaseWalletAdapter
106
100
 
107
101
  abstract connect(): Promise<void>;
108
102
  abstract disconnect(): Promise<void>;
109
- abstract signAndSubmitTransaction(transaction: TransactionPayload): Promise<PendingTransaction>;
103
+ abstract signAndSubmitTransaction(
104
+ transaction: TransactionPayload
105
+ ): Promise<{ hash: HexEncodedBytes }>;
110
106
 
111
107
  abstract signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
108
+
109
+ abstract signMessage(message: string): Promise<string>;
112
110
  }
113
111
 
114
112
  export function scopePollingDetectionStrategy(detect: () => boolean): void {