The wallet adapter helps you to integrate many different wallets at once and use the same interface to interact with any supported wallet.
Copy yarn add @manahippo/aptos-wallet-adapter
Copy npm install @manahippo/aptos-wallet-adapter
Add Pontem Wallet to an existing codebase (React Provider)
Copy import React from "react" ;
import {
PontemWalletAdapter , // Import Pontem Wallet Adapter.
HippoWalletAdapter ,
...
WalletProvider ,
} from '@manahippo/aptos-wallet-adapter' ;
const wallets = () => [
new PontemWalletAdapter () ,
new HippoWalletAdapter () ,
// Add Pontem Wallet Adapter to list of supported wallets.
...
new HippoExtensionWalletAdapter () ,
];
...
Copy import React from "react" ;
import {
PontemWalletAdapter ,
HippoWalletAdapter ,
AptosWalletAdapter ,
HippoExtensionWalletAdapter ,
MartianWalletAdapter ,
FewchaWalletAdapter ,
WalletProvider ,
} from '@manahippo/aptos-wallet-adapter' ;
const wallets = () => [
new PontemWalletAdapter () ,
new MartianWalletAdapter () ,
new AptosWalletAdapter () ,
new FewchaWalletAdapter () ,
new HippoWalletAdapter () ,
new HippoExtensionWalletAdapter () ,
];
const App : React . FC = () => {
return (
< WalletProvider
wallets = {wallets}
onError = {(error : Error) => {
console .log ( 'Handle Error Message' , error)
}} >
{ /* your website */ }
</ WalletProvider >
);
};
export default App;
Copy import { useWallet } from '@manahippo/aptos-wallet-adapter' ;
const { connected , account , ... rest } = useWallet ();
/*
** Properties available: **
wallets: Wallet[]; - Array of wallets
wallet: Wallet | null; - Selected wallet
account(): AccountKeys | null; - Wallet info: address, publicKey, authKey
connected: boolean; - check the website is connected yet
connecting: boolean; - true while adapter waits connect() to finish
disconnecting: boolean; - true while adapter waits disconnect() to finish
connect(walletName: string): Promise<void>; - trigger connect popup
disconnect(): Promise<void>; - trigger disconnect action
signAndSubmitTransaction(
transaction: TransactionPayload
): Promise<PendingTransaction>; - function to sign and submit the transaction to chain
signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
- function to sign the transaction, but not submit
signMessage(message: string): Promise<string> - function to sign message
*/
Copy const { wallets , connect , disconnect , isConnected } = useWallet ();
const wallet = 'PontemWallet' ;
if ( ! isConnected) {
return (
< Button
onClick = {() => {
connect (wallet);
}}
>
Connect
</ Button >
);
} else {
return (
< Button
onClick = {() => {
disconnect ();
}}
>
Disconnect
</ Button >
);
}