@aptos-labs/wallet-adapter-react 2.3.2 → 2.3.4

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.
@@ -0,0 +1,10 @@
1
+ import { FC, ReactNode } from "react";
2
+ import type { Wallet } from "@aptos-labs/wallet-adapter-core";
3
+ export interface AptosWalletProviderProps {
4
+ children: ReactNode;
5
+ plugins?: ReadonlyArray<Wallet>;
6
+ autoConnect?: boolean;
7
+ onError?: (error: any) => void;
8
+ }
9
+ export declare const AptosWalletAdapterProvider: FC<AptosWalletProviderProps>;
10
+ //# sourceMappingURL=WalletProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletProvider.d.ts","sourceRoot":"","sources":["../src/WalletProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,EACF,SAAS,EAKV,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAIV,MAAM,EAWP,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAcD,eAAO,MAAM,0BAA0B,EAAE,EAAE,CAAC,wBAAwB,CA0OnE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,30 +1,5 @@
1
- import { AccountInfo, NetworkInfo, WalletName, WalletInfo, Wallet, InputTransactionData, AnyRawTransaction, Types, InputGenerateTransactionOptions, AccountAuthenticator, InputSubmitTransactionData, PendingTransactionResponse, SignMessagePayload, SignMessageResponse } from '@aptos-labs/wallet-adapter-core';
2
- export { AccountInfo, InputTransactionData, NetworkInfo, NetworkName, Wallet, WalletInfo, WalletName, WalletReadyState, isInAppBrowser, isMobile, isRedirectable } from '@aptos-labs/wallet-adapter-core';
3
- import { ReactNode, FC } from 'react';
4
-
5
- interface WalletContextState {
6
- connected: boolean;
7
- isLoading: boolean;
8
- account: AccountInfo | null;
9
- network: NetworkInfo | null;
10
- connect(walletName: WalletName): void;
11
- disconnect(): void;
12
- wallet: WalletInfo | null;
13
- wallets?: ReadonlyArray<Wallet>;
14
- signAndSubmitTransaction(transaction: InputTransactionData): Promise<any>;
15
- signTransaction(transactionOrPayload: AnyRawTransaction | Types.TransactionPayload, asFeePayer?: boolean, options?: InputGenerateTransactionOptions): Promise<AccountAuthenticator>;
16
- submitTransaction(transaction: InputSubmitTransactionData): Promise<PendingTransactionResponse>;
17
- signMessage(message: SignMessagePayload): Promise<SignMessageResponse>;
18
- signMessageAndVerify(message: SignMessagePayload): Promise<boolean>;
19
- }
20
- declare function useWallet(): WalletContextState;
21
-
22
- interface AptosWalletProviderProps {
23
- children: ReactNode;
24
- plugins?: ReadonlyArray<Wallet>;
25
- autoConnect?: boolean;
26
- onError?: (error: any) => void;
27
- }
28
- declare const AptosWalletAdapterProvider: FC<AptosWalletProviderProps>;
29
-
30
- export { AptosWalletAdapterProvider, AptosWalletProviderProps, useWallet };
1
+ export { useWallet } from "./useWallet";
2
+ export * from "./WalletProvider";
3
+ export type { Wallet, AccountInfo, NetworkInfo, WalletInfo, WalletName, InputTransactionData, } from "@aptos-labs/wallet-adapter-core";
4
+ export { WalletReadyState, NetworkName, isInAppBrowser, isMobile, isRedirectable, } from "@aptos-labs/wallet-adapter-core";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,YAAY,EACV,MAAM,EACN,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,QAAQ,EACR,cAAc,GACf,MAAM,iCAAiC,CAAC"}
package/dist/index.js CHANGED
@@ -268,3 +268,4 @@ var import_wallet_adapter_core2 = require("@aptos-labs/wallet-adapter-core");
268
268
  isRedirectable,
269
269
  useWallet
270
270
  });
271
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.tsx","../src/useWallet.tsx","../src/WalletProvider.tsx"],"sourcesContent":["import * as React from \"react\";\nexport { useWallet } from \"./useWallet\";\nexport * from \"./WalletProvider\";\nexport type {\n Wallet,\n AccountInfo,\n NetworkInfo,\n WalletInfo,\n WalletName,\n InputTransactionData,\n} from \"@aptos-labs/wallet-adapter-core\";\n\nexport {\n WalletReadyState,\n NetworkName,\n isInAppBrowser,\n isMobile,\n isRedirectable,\n} from \"@aptos-labs/wallet-adapter-core\";\n","import {\n AccountInfo,\n NetworkInfo,\n WalletInfo,\n SignMessagePayload,\n SignMessageResponse,\n Wallet,\n InputGenerateTransactionOptions,\n AnyRawTransaction,\n InputTransactionData,\n InputSubmitTransactionData,\n PendingTransactionResponse,\n AccountAuthenticator,\n Types,\n WalletName,\n} from \"@aptos-labs/wallet-adapter-core\";\nimport { createContext, useContext } from \"react\";\n\nexport interface WalletContextState {\n connected: boolean;\n isLoading: boolean;\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connect(walletName: WalletName): void;\n disconnect(): void;\n wallet: WalletInfo | null;\n wallets?: ReadonlyArray<Wallet>;\n signAndSubmitTransaction(transaction: InputTransactionData): Promise<any>;\n signTransaction(\n transactionOrPayload: AnyRawTransaction | Types.TransactionPayload,\n asFeePayer?: boolean,\n options?: InputGenerateTransactionOptions\n ): Promise<AccountAuthenticator>;\n submitTransaction(\n transaction: InputSubmitTransactionData\n ): Promise<PendingTransactionResponse>;\n signMessage(message: SignMessagePayload): Promise<SignMessageResponse>;\n signMessageAndVerify(message: SignMessagePayload): Promise<boolean>;\n}\n\nconst DEFAULT_CONTEXT = {\n connected: false,\n};\n\nexport const WalletContext = createContext<WalletContextState>(\n DEFAULT_CONTEXT as WalletContextState\n);\n\nexport function useWallet(): WalletContextState {\n const context = useContext(WalletContext);\n if (!context) {\n throw new Error(\"useWallet must be used within a WalletContextState\");\n }\n return context;\n}\n","import {\n FC,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { WalletContext } from \"./useWallet\";\nimport type {\n AccountInfo,\n NetworkInfo,\n SignMessagePayload,\n Wallet,\n WalletInfo,\n InputGenerateTransactionOptions,\n AnyRawTransaction,\n InputSubmitTransactionData,\n AccountAuthenticator,\n PendingTransactionResponse,\n SignMessageResponse,\n WalletName,\n Types,\n InputTransactionData,\n} from \"@aptos-labs/wallet-adapter-core\";\nimport { WalletCore } from \"@aptos-labs/wallet-adapter-core\";\n\nexport interface AptosWalletProviderProps {\n children: ReactNode;\n plugins?: ReadonlyArray<Wallet>;\n autoConnect?: boolean;\n onError?: (error: any) => void;\n}\n\nconst initialState: {\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connected: boolean;\n wallet: WalletInfo | null;\n} = {\n connected: false,\n account: null,\n network: null,\n wallet: null,\n};\n\nexport const AptosWalletAdapterProvider: FC<AptosWalletProviderProps> = ({\n children,\n plugins,\n autoConnect = false,\n onError,\n}: AptosWalletProviderProps) => {\n const [{ connected, account, network, wallet }, setState] =\n useState(initialState);\n\n // a local state to track whether wallet connect request is loading\n // https://github.com/aptos-labs/aptos-wallet-adapter/issues/94\n const [isLoading, setIsLoading] = useState<boolean>(true);\n\n const walletCore = useMemo(() => new WalletCore(plugins ?? []), []);\n const [wallets, setWallets] = useState<ReadonlyArray<Wallet>>(\n walletCore.wallets\n );\n\n const connect = async (walletName: WalletName) => {\n try {\n setIsLoading(true);\n await walletCore.connect(walletName);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const disconnect = async () => {\n try {\n await walletCore.disconnect();\n } catch (error) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signTransaction = async (\n transaction: AnyRawTransaction | Types.TransactionPayload,\n asFeePayer?: boolean,\n options?: InputGenerateTransactionOptions\n ): Promise<AccountAuthenticator> => {\n try {\n return await walletCore.signTransaction(transaction, asFeePayer, options);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessage = async (\n message: SignMessagePayload\n ): Promise<SignMessageResponse> => {\n try {\n return await walletCore.signMessage(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessageAndVerify = async (\n message: SignMessagePayload\n ): Promise<boolean> => {\n try {\n return await walletCore.signMessageAndVerify(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const submitTransaction = async (\n transaction: InputSubmitTransactionData\n ): Promise<PendingTransactionResponse> => {\n try {\n return await walletCore.submitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signAndSubmitTransaction = async (\n transaction: InputTransactionData\n ) => {\n try {\n return await walletCore.signAndSubmitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n useEffect(() => {\n if (autoConnect) {\n if (localStorage.getItem(\"AptosWalletName\") && !connected) {\n connect(localStorage.getItem(\"AptosWalletName\") as WalletName);\n } else {\n // if we dont use autoconnect set the connect is loading to false\n setIsLoading(false);\n }\n }\n }, wallets);\n\n useEffect(() => {\n if (connected) {\n walletCore.onAccountChange();\n walletCore.onNetworkChange();\n }\n }, [connected]);\n\n // Handle the adapter's connect event\n const handleConnect = () => {\n setState((state) => {\n return {\n ...state,\n connected: true,\n account: walletCore.account,\n network: walletCore.network,\n wallet: walletCore.wallet,\n };\n });\n };\n\n // Handle the adapter's disconnect event\n const handleDisconnect = () => {\n if (!connected) return;\n setState((state) => {\n return {\n ...state,\n connected: false,\n account: walletCore.account,\n network: walletCore.network,\n wallet: null,\n };\n });\n };\n\n // Handle the adapter's account change event\n const handleAccountChange = useCallback(() => {\n if (!connected) return;\n if (!walletCore.wallet) return;\n setState((state) => {\n return {\n ...state,\n account: walletCore.account,\n };\n });\n }, [connected]);\n\n // Handle the adapter's network event\n const handleNetworkChange = useCallback(() => {\n if (!connected) return;\n if (!walletCore.wallet) return;\n setState((state) => {\n return {\n ...state,\n network: walletCore.network,\n };\n });\n }, [connected]);\n\n const handleReadyStateChange = (updatedWallet: Wallet) => {\n // Create a new array with updated values\n const updatedWallets = wallets?.map((wallet) => {\n if (wallet.name === updatedWallet.name) {\n // Return a new object with updated value\n return { ...wallet, readyState: updatedWallet.readyState };\n }\n return wallet;\n });\n setWallets(updatedWallets);\n };\n\n const handleStandardWalletsAdded = (standardWallet: Wallet) => {\n // Manage current wallet state by removing optional duplications\n // as new wallets are coming\n const existingWalletIndex = wallets.findIndex(\n (wallet) => wallet.name == standardWallet.name\n );\n if (existingWalletIndex !== -1) {\n // If wallet exists, replace it with the new wallet\n setWallets((wallets) => [\n ...wallets.slice(0, existingWalletIndex),\n standardWallet,\n ...wallets.slice(existingWalletIndex + 1),\n ]);\n } else {\n // If wallet doesn't exist, add it to the array\n setWallets((wallets) => [...wallets, standardWallet]);\n }\n };\n\n useEffect(() => {\n walletCore.on(\"connect\", handleConnect);\n walletCore.on(\"disconnect\", handleDisconnect);\n walletCore.on(\"accountChange\", handleAccountChange);\n walletCore.on(\"networkChange\", handleNetworkChange);\n walletCore.on(\"readyStateChange\", handleReadyStateChange);\n walletCore.on(\"standardWalletsAdded\", handleStandardWalletsAdded);\n return () => {\n walletCore.off(\"connect\", handleConnect);\n walletCore.off(\"disconnect\", handleDisconnect);\n walletCore.off(\"accountChange\", handleAccountChange);\n walletCore.off(\"networkChange\", handleNetworkChange);\n walletCore.off(\"readyStateChange\", handleReadyStateChange);\n walletCore.off(\"standardWalletsAdded\", handleStandardWalletsAdded);\n };\n }, [wallets, connected]);\n\n return (\n <WalletContext.Provider\n value={{\n connect,\n account,\n network,\n connected,\n disconnect,\n wallet,\n wallets,\n signAndSubmitTransaction,\n signTransaction,\n signMessage,\n signMessageAndVerify,\n isLoading,\n submitTransaction,\n }}\n >\n {children}\n </WalletContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACgBA,mBAA0C;AAwB1C,IAAM,kBAAkB;AAAA,EACtB,WAAW;AACb;AAEO,IAAM,oBAAgB;AAAA,EAC3B;AACF;AAEO,SAAS,YAAgC;AAC9C,QAAM,cAAU,yBAAW,aAAa;AACxC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,oDAAoD;AAAA,EACtE;AACA,SAAO;AACT;;;ACtDA,IAAAA,gBAOO;AAkBP,iCAA2B;AAzB3B;AAkCA,IAAM,eAKF;AAAA,EACF,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AACV;AAEO,IAAM,6BAA2D,CAAC;AAAA,EACvE;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AACF,MAAgC;AAC9B,QAAM,CAAC,EAAE,WAAW,SAAS,SAAS,OAAO,GAAG,QAAQ,QACtD,wBAAS,YAAY;AAIvB,QAAM,CAAC,WAAW,YAAY,QAAI,wBAAkB,IAAI;AAExD,QAAM,iBAAa,uBAAQ,MAAM,IAAI,sCAAW,4BAAW,CAAC,CAAC,GAAG,CAAC,CAAC;AAClE,QAAM,CAAC,SAAS,UAAU,QAAI;AAAA,IAC5B,WAAW;AAAA,EACb;AAEA,QAAM,UAAU,OAAO,eAA2B;AAChD,QAAI;AACF,mBAAa,IAAI;AACjB,YAAM,WAAW,QAAQ,UAAU;AAAA,IACrC,SAAS,OAAP;AACA,UAAI;AAAS,gBAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B,UAAE;AACA,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF;AAEA,QAAM,aAAa,YAAY;AAC7B,QAAI;AACF,YAAM,WAAW,WAAW;AAAA,IAC9B,SAAS,OAAP;AACA,UAAI;AAAS,gBAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,kBAAkB,OACtB,aACA,YACA,YACkC;AAClC,QAAI;AACF,aAAO,MAAM,WAAW,gBAAgB,aAAa,YAAY,OAAO;AAAA,IAC1E,SAAS,OAAP;AACA,UAAI;AAAS,gBAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,cAAc,OAClB,YACiC;AACjC,QAAI;AACF,aAAO,MAAM,WAAW,YAAY,OAAO;AAAA,IAC7C,SAAS,OAAP;AACA,UAAI;AAAS,gBAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,uBAAuB,OAC3B,YACqB;AACrB,QAAI;AACF,aAAO,MAAM,WAAW,qBAAqB,OAAO;AAAA,IACtD,SAAS,OAAP;AACA,UAAI;AAAS,gBAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,oBAAoB,OACxB,gBACwC;AACxC,QAAI;AACF,aAAO,MAAM,WAAW,kBAAkB,WAAW;AAAA,IACvD,SAAS,OAAP;AACA,UAAI;AAAS,gBAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,2BAA2B,OAC/B,gBACG;AACH,QAAI;AACF,aAAO,MAAM,WAAW,yBAAyB,WAAW;AAAA,IAC9D,SAAS,OAAP;AACA,UAAI;AAAS,gBAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,+BAAU,MAAM;AACd,QAAI,aAAa;AACf,UAAI,aAAa,QAAQ,iBAAiB,KAAK,CAAC,WAAW;AACzD,gBAAQ,aAAa,QAAQ,iBAAiB,CAAe;AAAA,MAC/D,OAAO;AAEL,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF,GAAG,OAAO;AAEV,+BAAU,MAAM;AACd,QAAI,WAAW;AACb,iBAAW,gBAAgB;AAC3B,iBAAW,gBAAgB;AAAA,IAC7B;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAGd,QAAM,gBAAgB,MAAM;AAC1B,aAAS,CAAC,UAAU;AAClB,aAAO;AAAA,QACL,GAAG;AAAA,QACH,WAAW;AAAA,QACX,SAAS,WAAW;AAAA,QACpB,SAAS,WAAW;AAAA,QACpB,QAAQ,WAAW;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AAGA,QAAM,mBAAmB,MAAM;AAC7B,QAAI,CAAC;AAAW;AAChB,aAAS,CAAC,UAAU;AAClB,aAAO;AAAA,QACL,GAAG;AAAA,QACH,WAAW;AAAA,QACX,SAAS,WAAW;AAAA,QACpB,SAAS,WAAW;AAAA,QACpB,QAAQ;AAAA,MACV;AAAA,IACF,CAAC;AAAA,EACH;AAGA,QAAM,0BAAsB,2BAAY,MAAM;AAC5C,QAAI,CAAC;AAAW;AAChB,QAAI,CAAC,WAAW;AAAQ;AACxB,aAAS,CAAC,UAAU;AAClB,aAAO;AAAA,QACL,GAAG;AAAA,QACH,SAAS,WAAW;AAAA,MACtB;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,SAAS,CAAC;AAGd,QAAM,0BAAsB,2BAAY,MAAM;AAC5C,QAAI,CAAC;AAAW;AAChB,QAAI,CAAC,WAAW;AAAQ;AACxB,aAAS,CAAC,UAAU;AAClB,aAAO;AAAA,QACL,GAAG;AAAA,QACH,SAAS,WAAW;AAAA,MACtB;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,yBAAyB,CAAC,kBAA0B;AAExD,UAAM,iBAAiB,mCAAS,IAAI,CAACC,YAAW;AAC9C,UAAIA,QAAO,SAAS,cAAc,MAAM;AAEtC,eAAO,EAAE,GAAGA,SAAQ,YAAY,cAAc,WAAW;AAAA,MAC3D;AACA,aAAOA;AAAA,IACT;AACA,eAAW,cAAc;AAAA,EAC3B;AAEA,QAAM,6BAA6B,CAAC,mBAA2B;AAG7D,UAAM,sBAAsB,QAAQ;AAAA,MAClC,CAACA,YAAWA,QAAO,QAAQ,eAAe;AAAA,IAC5C;AACA,QAAI,wBAAwB,IAAI;AAE9B,iBAAW,CAACC,aAAY;AAAA,QACtB,GAAGA,SAAQ,MAAM,GAAG,mBAAmB;AAAA,QACvC;AAAA,QACA,GAAGA,SAAQ,MAAM,sBAAsB,CAAC;AAAA,MAC1C,CAAC;AAAA,IACH,OAAO;AAEL,iBAAW,CAACA,aAAY,CAAC,GAAGA,UAAS,cAAc,CAAC;AAAA,IACtD;AAAA,EACF;AAEA,+BAAU,MAAM;AACd,eAAW,GAAG,WAAW,aAAa;AACtC,eAAW,GAAG,cAAc,gBAAgB;AAC5C,eAAW,GAAG,iBAAiB,mBAAmB;AAClD,eAAW,GAAG,iBAAiB,mBAAmB;AAClD,eAAW,GAAG,oBAAoB,sBAAsB;AACxD,eAAW,GAAG,wBAAwB,0BAA0B;AAChE,WAAO,MAAM;AACX,iBAAW,IAAI,WAAW,aAAa;AACvC,iBAAW,IAAI,cAAc,gBAAgB;AAC7C,iBAAW,IAAI,iBAAiB,mBAAmB;AACnD,iBAAW,IAAI,iBAAiB,mBAAmB;AACnD,iBAAW,IAAI,oBAAoB,sBAAsB;AACzD,iBAAW,IAAI,wBAAwB,0BAA0B;AAAA,IACnE;AAAA,EACF,GAAG,CAAC,SAAS,SAAS,CAAC;AAEvB,SACE,4CAAC,cAAc,UAAd;AAAA,IACC,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IAEC;AAAA,GACH;AAEJ;;;AF5QA,IAAAC,8BAMO;","names":["import_react","wallet","wallets","import_wallet_adapter_core"]}
package/dist/index.mjs CHANGED
@@ -246,3 +246,4 @@ export {
246
246
  isRedirectable,
247
247
  useWallet
248
248
  };
249
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/useWallet.tsx","../src/WalletProvider.tsx","../src/index.tsx"],"sourcesContent":["import {\n AccountInfo,\n NetworkInfo,\n WalletInfo,\n SignMessagePayload,\n SignMessageResponse,\n Wallet,\n InputGenerateTransactionOptions,\n AnyRawTransaction,\n InputTransactionData,\n InputSubmitTransactionData,\n PendingTransactionResponse,\n AccountAuthenticator,\n Types,\n WalletName,\n} from \"@aptos-labs/wallet-adapter-core\";\nimport { createContext, useContext } from \"react\";\n\nexport interface WalletContextState {\n connected: boolean;\n isLoading: boolean;\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connect(walletName: WalletName): void;\n disconnect(): void;\n wallet: WalletInfo | null;\n wallets?: ReadonlyArray<Wallet>;\n signAndSubmitTransaction(transaction: InputTransactionData): Promise<any>;\n signTransaction(\n transactionOrPayload: AnyRawTransaction | Types.TransactionPayload,\n asFeePayer?: boolean,\n options?: InputGenerateTransactionOptions\n ): Promise<AccountAuthenticator>;\n submitTransaction(\n transaction: InputSubmitTransactionData\n ): Promise<PendingTransactionResponse>;\n signMessage(message: SignMessagePayload): Promise<SignMessageResponse>;\n signMessageAndVerify(message: SignMessagePayload): Promise<boolean>;\n}\n\nconst DEFAULT_CONTEXT = {\n connected: false,\n};\n\nexport const WalletContext = createContext<WalletContextState>(\n DEFAULT_CONTEXT as WalletContextState\n);\n\nexport function useWallet(): WalletContextState {\n const context = useContext(WalletContext);\n if (!context) {\n throw new Error(\"useWallet must be used within a WalletContextState\");\n }\n return context;\n}\n","import {\n FC,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { WalletContext } from \"./useWallet\";\nimport type {\n AccountInfo,\n NetworkInfo,\n SignMessagePayload,\n Wallet,\n WalletInfo,\n InputGenerateTransactionOptions,\n AnyRawTransaction,\n InputSubmitTransactionData,\n AccountAuthenticator,\n PendingTransactionResponse,\n SignMessageResponse,\n WalletName,\n Types,\n InputTransactionData,\n} from \"@aptos-labs/wallet-adapter-core\";\nimport { WalletCore } from \"@aptos-labs/wallet-adapter-core\";\n\nexport interface AptosWalletProviderProps {\n children: ReactNode;\n plugins?: ReadonlyArray<Wallet>;\n autoConnect?: boolean;\n onError?: (error: any) => void;\n}\n\nconst initialState: {\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connected: boolean;\n wallet: WalletInfo | null;\n} = {\n connected: false,\n account: null,\n network: null,\n wallet: null,\n};\n\nexport const AptosWalletAdapterProvider: FC<AptosWalletProviderProps> = ({\n children,\n plugins,\n autoConnect = false,\n onError,\n}: AptosWalletProviderProps) => {\n const [{ connected, account, network, wallet }, setState] =\n useState(initialState);\n\n // a local state to track whether wallet connect request is loading\n // https://github.com/aptos-labs/aptos-wallet-adapter/issues/94\n const [isLoading, setIsLoading] = useState<boolean>(true);\n\n const walletCore = useMemo(() => new WalletCore(plugins ?? []), []);\n const [wallets, setWallets] = useState<ReadonlyArray<Wallet>>(\n walletCore.wallets\n );\n\n const connect = async (walletName: WalletName) => {\n try {\n setIsLoading(true);\n await walletCore.connect(walletName);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const disconnect = async () => {\n try {\n await walletCore.disconnect();\n } catch (error) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signTransaction = async (\n transaction: AnyRawTransaction | Types.TransactionPayload,\n asFeePayer?: boolean,\n options?: InputGenerateTransactionOptions\n ): Promise<AccountAuthenticator> => {\n try {\n return await walletCore.signTransaction(transaction, asFeePayer, options);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessage = async (\n message: SignMessagePayload\n ): Promise<SignMessageResponse> => {\n try {\n return await walletCore.signMessage(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessageAndVerify = async (\n message: SignMessagePayload\n ): Promise<boolean> => {\n try {\n return await walletCore.signMessageAndVerify(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const submitTransaction = async (\n transaction: InputSubmitTransactionData\n ): Promise<PendingTransactionResponse> => {\n try {\n return await walletCore.submitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signAndSubmitTransaction = async (\n transaction: InputTransactionData\n ) => {\n try {\n return await walletCore.signAndSubmitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n useEffect(() => {\n if (autoConnect) {\n if (localStorage.getItem(\"AptosWalletName\") && !connected) {\n connect(localStorage.getItem(\"AptosWalletName\") as WalletName);\n } else {\n // if we dont use autoconnect set the connect is loading to false\n setIsLoading(false);\n }\n }\n }, wallets);\n\n useEffect(() => {\n if (connected) {\n walletCore.onAccountChange();\n walletCore.onNetworkChange();\n }\n }, [connected]);\n\n // Handle the adapter's connect event\n const handleConnect = () => {\n setState((state) => {\n return {\n ...state,\n connected: true,\n account: walletCore.account,\n network: walletCore.network,\n wallet: walletCore.wallet,\n };\n });\n };\n\n // Handle the adapter's disconnect event\n const handleDisconnect = () => {\n if (!connected) return;\n setState((state) => {\n return {\n ...state,\n connected: false,\n account: walletCore.account,\n network: walletCore.network,\n wallet: null,\n };\n });\n };\n\n // Handle the adapter's account change event\n const handleAccountChange = useCallback(() => {\n if (!connected) return;\n if (!walletCore.wallet) return;\n setState((state) => {\n return {\n ...state,\n account: walletCore.account,\n };\n });\n }, [connected]);\n\n // Handle the adapter's network event\n const handleNetworkChange = useCallback(() => {\n if (!connected) return;\n if (!walletCore.wallet) return;\n setState((state) => {\n return {\n ...state,\n network: walletCore.network,\n };\n });\n }, [connected]);\n\n const handleReadyStateChange = (updatedWallet: Wallet) => {\n // Create a new array with updated values\n const updatedWallets = wallets?.map((wallet) => {\n if (wallet.name === updatedWallet.name) {\n // Return a new object with updated value\n return { ...wallet, readyState: updatedWallet.readyState };\n }\n return wallet;\n });\n setWallets(updatedWallets);\n };\n\n const handleStandardWalletsAdded = (standardWallet: Wallet) => {\n // Manage current wallet state by removing optional duplications\n // as new wallets are coming\n const existingWalletIndex = wallets.findIndex(\n (wallet) => wallet.name == standardWallet.name\n );\n if (existingWalletIndex !== -1) {\n // If wallet exists, replace it with the new wallet\n setWallets((wallets) => [\n ...wallets.slice(0, existingWalletIndex),\n standardWallet,\n ...wallets.slice(existingWalletIndex + 1),\n ]);\n } else {\n // If wallet doesn't exist, add it to the array\n setWallets((wallets) => [...wallets, standardWallet]);\n }\n };\n\n useEffect(() => {\n walletCore.on(\"connect\", handleConnect);\n walletCore.on(\"disconnect\", handleDisconnect);\n walletCore.on(\"accountChange\", handleAccountChange);\n walletCore.on(\"networkChange\", handleNetworkChange);\n walletCore.on(\"readyStateChange\", handleReadyStateChange);\n walletCore.on(\"standardWalletsAdded\", handleStandardWalletsAdded);\n return () => {\n walletCore.off(\"connect\", handleConnect);\n walletCore.off(\"disconnect\", handleDisconnect);\n walletCore.off(\"accountChange\", handleAccountChange);\n walletCore.off(\"networkChange\", handleNetworkChange);\n walletCore.off(\"readyStateChange\", handleReadyStateChange);\n walletCore.off(\"standardWalletsAdded\", handleStandardWalletsAdded);\n };\n }, [wallets, connected]);\n\n return (\n <WalletContext.Provider\n value={{\n connect,\n account,\n network,\n connected,\n disconnect,\n wallet,\n wallets,\n signAndSubmitTransaction,\n signTransaction,\n signMessage,\n signMessageAndVerify,\n isLoading,\n submitTransaction,\n }}\n >\n {children}\n </WalletContext.Provider>\n );\n};\n","import * as React from \"react\";\nexport { useWallet } from \"./useWallet\";\nexport * from \"./WalletProvider\";\nexport type {\n Wallet,\n AccountInfo,\n NetworkInfo,\n WalletInfo,\n WalletName,\n InputTransactionData,\n} from \"@aptos-labs/wallet-adapter-core\";\n\nexport {\n WalletReadyState,\n NetworkName,\n isInAppBrowser,\n isMobile,\n isRedirectable,\n} from \"@aptos-labs/wallet-adapter-core\";\n"],"mappings":"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","names":["wallet","wallets"]}
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import { AccountInfo, NetworkInfo, WalletInfo, SignMessagePayload, SignMessageResponse, Wallet, InputGenerateTransactionOptions, AnyRawTransaction, InputTransactionData, InputSubmitTransactionData, PendingTransactionResponse, AccountAuthenticator, Types, WalletName } from "@aptos-labs/wallet-adapter-core";
3
+ export interface WalletContextState {
4
+ connected: boolean;
5
+ isLoading: boolean;
6
+ account: AccountInfo | null;
7
+ network: NetworkInfo | null;
8
+ connect(walletName: WalletName): void;
9
+ disconnect(): void;
10
+ wallet: WalletInfo | null;
11
+ wallets?: ReadonlyArray<Wallet>;
12
+ signAndSubmitTransaction(transaction: InputTransactionData): Promise<any>;
13
+ signTransaction(transactionOrPayload: AnyRawTransaction | Types.TransactionPayload, asFeePayer?: boolean, options?: InputGenerateTransactionOptions): Promise<AccountAuthenticator>;
14
+ submitTransaction(transaction: InputSubmitTransactionData): Promise<PendingTransactionResponse>;
15
+ signMessage(message: SignMessagePayload): Promise<SignMessageResponse>;
16
+ signMessageAndVerify(message: SignMessagePayload): Promise<boolean>;
17
+ }
18
+ export declare const WalletContext: import("react").Context<WalletContextState>;
19
+ export declare function useWallet(): WalletContextState;
20
+ //# sourceMappingURL=useWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWallet.d.ts","sourceRoot":"","sources":["../src/useWallet.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,EACN,+BAA+B,EAC/B,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,KAAK,EACL,UAAU,EACX,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACtC,UAAU,IAAI,IAAI,CAAC;IACnB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,wBAAwB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1E,eAAe,CACb,oBAAoB,EAAE,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,EAClE,UAAU,CAAC,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,+BAA+B,GACxC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjC,iBAAiB,CACf,WAAW,EAAE,0BAA0B,GACtC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvE,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrE;AAMD,eAAO,MAAM,aAAa,6CAEzB,CAAC;AAEF,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aptos-labs/wallet-adapter-react",
3
- "version": "2.3.2",
3
+ "version": "2.3.4",
4
4
  "description": "Aptos Wallet Adapter React Provider",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -37,14 +37,22 @@
37
37
  "@aptos-labs/wallet-adapter-tsconfig": "0.0.0"
38
38
  },
39
39
  "dependencies": {
40
- "@aptos-labs/wallet-adapter-core": "3.11.0"
40
+ "@aptos-labs/wallet-adapter-core": "3.11.2"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "react": "^18"
44
44
  },
45
+ "files": [
46
+ "dist",
47
+ "src",
48
+ "!src/**.test.ts",
49
+ "!src/**/__tests__"
50
+ ],
45
51
  "scripts": {
46
- "build": "tsup src/index.tsx --format esm,cjs --dts --external react",
47
- "dev": "tsup src/index.tsx --format esm,cjs --watch --dts --external react",
52
+ "build:bundle": "tsup src/index.tsx --format esm,cjs --sourcemap",
53
+ "build:declarations": "tsc --emitDeclarationOnly --declaration --declarationMap",
54
+ "build": "pnpm build:bundle && pnpm build:declarations",
55
+ "dev": "tsup src/index.tsx --format esm,cjs --watch",
48
56
  "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
49
57
  "lint": "TIMING=1 eslint \"src/**/*.ts*\""
50
58
  }
package/CHANGELOG.md DELETED
@@ -1,282 +0,0 @@
1
- # @aptos-labs/wallet-adapter-react
2
-
3
- ## 2.3.2
4
-
5
- ### Patch Changes
6
-
7
- - Updated dependencies [245ce8d]
8
- - @aptos-labs/wallet-adapter-core@3.11.0
9
-
10
- ## 2.3.1
11
-
12
- ### Patch Changes
13
-
14
- - Updated dependencies [41f9485]
15
- - @aptos-labs/wallet-adapter-core@3.10.0
16
-
17
- ## 2.3.0
18
-
19
- ### Minor Changes
20
-
21
- - 444c708: Fix wallet detection
22
-
23
- ### Patch Changes
24
-
25
- - Updated dependencies [6be2a06]
26
- - @aptos-labs/wallet-adapter-core@3.9.0
27
-
28
- ## 2.2.1
29
-
30
- ### Patch Changes
31
-
32
- - Updated dependencies [4127cfb]
33
- - @aptos-labs/wallet-adapter-core@3.8.0
34
-
35
- ## 2.2.0
36
-
37
- ### Minor Changes
38
-
39
- - 4d6e2f6: Add AIP-62 wallet standard support
40
-
41
- ### Patch Changes
42
-
43
- - Updated dependencies [4d6e2f6]
44
- - @aptos-labs/wallet-adapter-core@3.7.0
45
-
46
- ## 2.1.8
47
-
48
- ### Patch Changes
49
-
50
- - Updated dependencies [8ebd4c7]
51
- - @aptos-labs/wallet-adapter-core@3.6.0
52
-
53
- ## 2.1.7
54
-
55
- ### Patch Changes
56
-
57
- - Updated dependencies [4ca4201]
58
- - @aptos-labs/wallet-adapter-core@3.5.0
59
-
60
- ## 2.1.6
61
-
62
- ### Patch Changes
63
-
64
- - Updated dependencies [e1e9eb2]
65
- - @aptos-labs/wallet-adapter-core@3.4.0
66
-
67
- ## 2.1.5
68
-
69
- ### Patch Changes
70
-
71
- - Updated dependencies [570cbda]
72
- - @aptos-labs/wallet-adapter-core@3.3.0
73
-
74
- ## 2.1.4
75
-
76
- ### Patch Changes
77
-
78
- - Updated dependencies [3f38c51]
79
- - @aptos-labs/wallet-adapter-core@3.2.1
80
-
81
- ## 2.1.3
82
-
83
- ### Patch Changes
84
-
85
- - Updated dependencies [12163ca]
86
- - Updated dependencies [a6f0e46]
87
- - @aptos-labs/wallet-adapter-core@3.2.0
88
-
89
- ## 2.1.2
90
-
91
- ### Patch Changes
92
-
93
- - a1c08cc: Export missing InputTransactionData type
94
-
95
- ## 2.1.1
96
-
97
- ### Patch Changes
98
-
99
- - 6266a29: Consolidate options argument on signAndSubmitTransaction
100
- - Updated dependencies [6266a29]
101
- - @aptos-labs/wallet-adapter-core@3.1.1
102
-
103
- ## 2.1.0
104
-
105
- ### Minor Changes
106
-
107
- - aa3d15a: Make sender optional when sign and submit single signer transaction
108
-
109
- ### Patch Changes
110
-
111
- - Updated dependencies [6257015]
112
- - Updated dependencies [aa3d15a]
113
- - @aptos-labs/wallet-adapter-core@3.1.0
114
-
115
- ## 2.0.0
116
-
117
- ### Major Changes
118
-
119
- - 31e0084: Support TypeScript SDK V2. Fully compatible with existing SDK V1 and Wallet Adapter V1
120
- but with a full SDK V2 support for the dapp.
121
-
122
- - Add support for SDK V2 input types
123
- - `signAndSubmitTransaction()` accept only SDK V2 transaction input type
124
- - Implement a `submitTransaction()` function for multi signers transactions
125
- - `signTransaction()` to support both SDK V1 and V2 versions
126
- - Convert wallet `SignedTransaction` response from `signTransaction()` to TS SDK V2 `AccountAuthenticator`
127
- - Demo app to demonstrate different trnsaction flows - single signer, sponsor and multi agent transactions
128
- - Reject promise on core and/or provider errors instead of just returning `false`
129
- - Use `@aptos-labs/ts-sdk@experimental` version `0.0.7`
130
-
131
- ### Patch Changes
132
-
133
- - Updated dependencies [31e0084]
134
- - @aptos-labs/wallet-adapter-core@3.0.0
135
-
136
- ## 1.4.0
137
-
138
- ### Minor Changes
139
-
140
- - 7acfa69: Adding support for the new Typescript SDK in the package `@aptos-labs/ts-sdk`. The wallet adapter now supports submitting a basic transaction with the new SDK types.
141
-
142
- ### Patch Changes
143
-
144
- - dd6e1ed: Moves dependencies to peer dependencies as needed
145
- - Updated dependencies [7acfa69]
146
- - Updated dependencies [dd6e1ed]
147
- - @aptos-labs/wallet-adapter-core@2.6.0
148
-
149
- ## 1.3.2
150
-
151
- ### Patch Changes
152
-
153
- - 7e314e5: Update aptos dependency
154
- - Updated dependencies [7e314e5]
155
- - @aptos-labs/wallet-adapter-core@2.5.1
156
-
157
- ## 1.3.1
158
-
159
- ### Patch Changes
160
-
161
- - Updated dependencies [c95933a]
162
- - @aptos-labs/wallet-adapter-core@2.5.0
163
-
164
- ## 1.3.0
165
-
166
- ### Minor Changes
167
-
168
- - 3834890: Add an optional `onError` prop to error handle wallet callbacks
169
-
170
- ### Patch Changes
171
-
172
- - Updated dependencies [d2a0bbd]
173
- - Updated dependencies [b0586e8]
174
- - @aptos-labs/wallet-adapter-core@2.4.0
175
-
176
- ## 1.2.3
177
-
178
- ### Patch Changes
179
-
180
- - dc98bf4: fix sendAndSubmitTransaction params
181
- - Updated dependencies [dc98bf4]
182
- - @aptos-labs/wallet-adapter-core@2.3.3
183
-
184
- ## 1.2.2
185
-
186
- ### Patch Changes
187
-
188
- - 22ecf6a: Throw `wallet already connected` error when trying to connect to an already connected wallet
189
- - e4b06de: Await for wallet connect request before setting isLoading state
190
- - Updated dependencies [22ecf6a]
191
- - @aptos-labs/wallet-adapter-core@2.3.2
192
-
193
- ## 1.2.1
194
-
195
- ### Patch Changes
196
-
197
- - Updated dependencies [06f334f]
198
- - @aptos-labs/wallet-adapter-core@2.3.1
199
-
200
- ## 1.2.0
201
-
202
- ### Minor Changes
203
-
204
- - 1605d28: Support ReadonlyArray of Wallets in AptosWalletAdapterProvider and WalletCore
205
-
206
- ### Patch Changes
207
-
208
- - Updated dependencies [bb1595e]
209
- - Updated dependencies [1605d28]
210
- - @aptos-labs/wallet-adapter-core@2.3.0
211
-
212
- ## 1.1.0
213
-
214
- ### Minor Changes
215
-
216
- - d8d5a8a: Support deeplink on React Provider and Nextjs demo app
217
-
218
- ## 1.0.6
219
-
220
- ### Patch Changes
221
-
222
- - Updated dependencies [814939c]
223
- - @aptos-labs/wallet-adapter-core@2.2.0
224
-
225
- ## 1.0.5
226
-
227
- ### Patch Changes
228
-
229
- - 56a3f9f: BCS transaction support in react provider package
230
-
231
- ## 1.0.4
232
-
233
- ### Patch Changes
234
-
235
- - 8dea640: Fix wallet adapter auto reconnect on page refresh
236
- - Updated dependencies [50968c4]
237
- - Updated dependencies [8dea640]
238
- - @aptos-labs/wallet-adapter-core@2.1.0
239
-
240
- ## 1.0.3
241
-
242
- ### Patch Changes
243
-
244
- - 03eb0f5: Define core package version to use
245
-
246
- ## 0.2.4
247
-
248
- ### Patch Changes
249
-
250
- - e03f79c: Update Blocto and Martian package version and fix a minor autoConnect bug
251
-
252
- ## 0.2.3
253
-
254
- ### Patch Changes
255
-
256
- - 7498973: Support Loadable wallet for ant-design and export NetworkName
257
-
258
- ## 0.2.2
259
-
260
- ### Patch Changes
261
-
262
- - 552d255: Add react package as a dependency
263
-
264
- ## 0.2.1
265
-
266
- ### Patch Changes
267
-
268
- - c3eb031: Export WalletReadyState enum from react package
269
-
270
- ## 0.2.0
271
-
272
- ### Minor Changes
273
-
274
- - 6e53116: Add support to verify a signed message
275
-
276
- ### Patch Changes
277
-
278
- - Updated dependencies [18a0429]
279
- - Updated dependencies [42e29f6]
280
- - Updated dependencies [576bb57]
281
- - Updated dependencies [6e53116]
282
- - @aptos-labs/wallet-adapter-core@0.2.0
package/READMEV1.md DELETED
@@ -1,267 +0,0 @@
1
- > **_NOTE:_** This documentation is for Wallet Adapter `v^1.*.*`
2
-
3
- # Wallet Adapter React Provider
4
-
5
- A react provider wrapper for the Aptos Wallet Adapter
6
-
7
- Dapps that want to use the adapter should install this package and other supported wallet packages.
8
-
9
- ### Support
10
-
11
- The react provider supports all [wallet standard](https://aptos.dev/guides/wallet-standard) functions and feature functions
12
-
13
- ##### Standard functions
14
-
15
- ```
16
- connect
17
- disconnect
18
- connected
19
- account
20
- network
21
- signAndSubmitTransaction
22
- signMessage
23
- ```
24
-
25
- ##### Feature functions - functions that may not be supported by all wallets
26
-
27
- ```
28
- signTransaction
29
- signMessageAndVerify
30
- signAndSubmitBCSTransaction
31
- ```
32
-
33
- ### Usage
34
-
35
- #### Install Dependencies
36
-
37
- Install wallet dependencies you want to include in your app.
38
- To do that, you can look at our [supported wallets list](https://github.com/aptos-labs/aptos-wallet-adapter#supported-wallet-packages). Each wallet is a link to npm package where you can install it from.
39
-
40
- Next, install the `@aptos-labs/wallet-adapter-react`
41
-
42
- ```
43
- pnpm i @aptos-labs/wallet-adapter-react
44
- ```
45
-
46
- using npm
47
-
48
- ```
49
- npm i @aptos-labs/wallet-adapter-react
50
- ```
51
-
52
- #### Import dependencies
53
-
54
- On the `App.jsx` file,
55
-
56
- Import the installed wallets.
57
-
58
- ```js
59
- import { SomeAptosWallet } from "some-aptos-wallet-package";
60
- ```
61
-
62
- Import the `AptosWalletAdapterProvider`.
63
-
64
- ```js
65
- import { AptosWalletAdapterProvider } from "@aptos-labs/wallet-adapter-react";
66
- ```
67
-
68
- Wrap your app with the Provider, pass it the `plugins (wallets)` you want to have on your app as an array and a `autoConnect` option (set to false by default)
69
-
70
- ```js
71
- const wallets = [new AptosWallet()];
72
-
73
- <AptosWalletAdapterProvider
74
- plugins={wallets}
75
- autoConnect={true}
76
- onError={(error) => {
77
- console.log("error", error);
78
- }}
79
- >
80
- <App />
81
- </AptosWalletAdapterProvider>;
82
- ```
83
-
84
- #### Use Wallet
85
-
86
- On any page you want to use the wallet props, import `useWallet` from `@aptos-labs/wallet-adapter-react`
87
-
88
- ```js
89
- import { useWallet } from "@aptos-labs/wallet-adapter-react";
90
- ```
91
-
92
- Then you can use the exported properties
93
-
94
- ```js
95
- const {
96
- connect,
97
- account,
98
- network,
99
- connected,
100
- disconnect,
101
- wallet,
102
- wallets,
103
- signAndSubmitTransaction,
104
- signAndSubmitBCSTransaction,
105
- signTransaction,
106
- signMessage,
107
- signMessageAndVerify,
108
- } = useWallet();
109
- ```
110
-
111
- ### Use a UI package (recommended)
112
-
113
- As part of the wallet adapter repo we provide a wallet connect UI package that provides a wallet connect button and a wallet select modal.
114
- You can find it [here](../wallet-adapter-ant-design/) with instructions on how to use it.
115
-
116
- #### Examples
117
-
118
- ##### connect(walletName)
119
-
120
- ```js
121
- const onConnect = async (walletName) => {
122
- await connect(walletName);
123
- };
124
-
125
- <button onClick={() => onConnect(wallet.name)}>{wallet.name}</button>;
126
- ```
127
-
128
- ##### disconnect()
129
-
130
- ```js
131
- <button onClick={disconnect}>Disconnect</button>
132
- ```
133
-
134
- ##### signAndSubmitTransaction(payload)
135
-
136
- ```js
137
- const onSignAndSubmitTransaction = async () => {
138
- const payload: Types.TransactionPayload = {
139
- type: "entry_function_payload",
140
- function: "0x1::coin::transfer",
141
- type_arguments: ["0x1::aptos_coin::AptosCoin"],
142
- arguments: [account?.address, 1], // 1 is in Octas
143
- };
144
- const response = await signAndSubmitTransaction(payload);
145
- // if you want to wait for transaction
146
- try {
147
- await aptosClient.waitForTransaction(response?.hash || "");
148
- } catch (error) {
149
- console.error(error);
150
- }
151
- };
152
-
153
- <button onClick={onSignAndSubmitTransaction}>
154
- Sign and submit transaction
155
- </button>
156
- ```
157
-
158
- ##### signAndSubmitBCSTransaction(payload)
159
-
160
- ```js
161
- const onSignAndSubmitBCSTransaction = async () => {
162
- const token = new TxnBuilderTypes.TypeTagStruct(
163
- TxnBuilderTypes.StructTag.fromString("0x1::aptos_coin::AptosCoin")
164
- );
165
- const entryFunctionBCSPayload =
166
- new TxnBuilderTypes.TransactionPayloadEntryFunction(
167
- TxnBuilderTypes.EntryFunction.natural(
168
- "0x1::coin",
169
- "transfer",
170
- [token],
171
- [
172
- BCS.bcsToBytes(
173
- TxnBuilderTypes.AccountAddress.fromHex(account!.address)
174
- ),
175
- BCS.bcsSerializeUint64(2),
176
- ]
177
- )
178
- );
179
-
180
- const response = await signAndSubmitBCSTransaction(entryFunctionBCSPayload);
181
- // if you want to wait for transaction
182
- try {
183
- await aptosClient.waitForTransaction(response?.hash || "");
184
- } catch (error) {
185
- console.error(error);
186
- }
187
- };
188
-
189
- <button onClick={onSignAndSubmitTransaction}>
190
- Sign and submit BCS transaction
191
- </button>
192
- ```
193
-
194
- ##### signMessage(payload)
195
-
196
- ```js
197
- const onSignMessage = async () => {
198
- const payload = {
199
- message: "Hello from Aptos Wallet Adapter",
200
- nonce: "random_string",
201
- };
202
- const response = await signMessage(payload);
203
- };
204
-
205
- <button onClick={onSignMessage}>Sign message</button>;
206
- ```
207
-
208
- ##### Account
209
-
210
- ```js
211
- <div>{account?.address}</div>
212
- <div>{account?.publicKey}</div>
213
- ```
214
-
215
- ##### Network
216
-
217
- ```js
218
- <div>{network?.name}</div>
219
- ```
220
-
221
- ##### Wallet
222
-
223
- ```js
224
- <div>{wallet?.name}</div>
225
- <div>{wallet?.icon}</div>
226
- <div>{wallet?.url}</div>
227
- ```
228
-
229
- ##### Wallets
230
-
231
- ```js
232
- {
233
- wallets.map((wallet) => <p>{wallet.name}</p>);
234
- }
235
- ```
236
-
237
- ##### signTransaction(payload)
238
-
239
- ```js
240
- const onSignTransaction = async () => {
241
- const payload: Types.TransactionPayload = {
242
- type: "entry_function_payload",
243
- function: "0x1::coin::transfer",
244
- type_arguments: ["0x1::aptos_coin::AptosCoin"],
245
- arguments: [account?.address, 1], // 1 is in Octas
246
- };
247
- const response = await signTransaction(payload);
248
- };
249
-
250
- <button onClick={onSignTransaction}>
251
- Sign transaction
252
- </button>
253
- ```
254
-
255
- ##### signMessageAndVerify(payload)
256
-
257
- ```js
258
- const onSignMessageAndVerify = async () => {
259
- const payload = {
260
- message: "Hello from Aptos Wallet Adapter",
261
- nonce: "random_string",
262
- };
263
- const response = await signMessageAndVerify(payload);
264
- };
265
-
266
- <button onClick={onSignMessageAndVerify}>Sign message and verify</button>;
267
- ```