description |
---|
React hooks that provide deeper access into the wallet APIs |
Inside the <ArweaveWalletKit>
, you can use all kinds of hooks that are reactive to the different strategies. Some of the hooks and/or api functions might not be supported by all wallets.
This is the core hook for connecting / disconnecting a strategy.
To use the different functionalities the various Arweave wallets provide, you need to request permissions from the user to interact with their wallets. This can be done with the connect()
function.
To end the current Wander session for the user, you can disconnect from the extension, using the disconnect()
function. This removes all permissions from your application.
The connected
function is simply a boolean for checking whether the user is connected with the application.
const { connected, connect, disconnect } = useConnection();
// initiate connection
await connect();
// disconnect the connected strategy
await disconnect();
// is there a strategy connected?
connected ? "wallet connected" : "no connected wallet";
The API hook returns the active strategy's API as an intractable object. Can be used to sign/encrypt, etc.
const api = useApi();
// sign
await api.sign(transaction);
// encrypt
await api.encrypt(...)
{% hint style="warning" %} The available API functions may vary depending on the chosen strategy. {% endhint %}
Toggle visibility (display/ hide) a modal with the connected user’s profile information and a disconnect button.
const profileModal = useProfileModal();
profileModal.setOpen(true);
The Active address hook returns the address that is currently connected with the application. It requires the ACCESS_ADDRESS
and the ACCESS_ALL_ADDRESSES
permission.
const address = useActiveAddress();
The Active address hook returns the public key that is currently connected with the application. It requires the ACCESS_PUBLIC_KEY
permission.
const publicKey = usePublicKey();
The Permissions hook returns the permissions given to the application by the connected user.
const permissions = usePermissions();
This hook returns all the addresses in the connected wallet, known by Arweave Wallet Kit. This is useful for fetching all the addresses a connected user may have. It requires the ACCESS_ALL_ADDRESSES
permission.
const addresses = useAddresses();
This hook returns any names associated with all the addresses the connected user may have. An example of these names are ANS names that can be associated with any Arweave wallet addresses. It requires the ACCESS_ALL_ADDRESSES
permission.
const walletNames = useWalletNames();
Active strategy hook. Returns the currently used strategy's ID ("wander"
, "webwallet"
, etc.)
const strategy = useStrategy();