@dynamic-labs/sdk-react-core
Version:
A React SDK for implementing wallet web3 authentication and authorization to your website.
39 lines (38 loc) • 1.7 kB
TypeScript
import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
import { Wallet } from '../shared/types/wallets';
export type UserWalletsUpdateType = {
updateType: 'walletAdded';
addedWallet: Wallet;
} | {
updateType: 'walletRemoved';
removedWallet: Wallet;
} | {
updateType: 'primaryWalletChanged';
} | {
updateType: 'primaryWalletNetworkChanged';
newNetwork: string | number;
} | {
updateType: 'nonPrimaryWalletNetworkChanged';
newNetwork: string | number;
affectedWallets: Wallet[];
};
export type UserWalletsChangedParams = {
userWallets: Wallet[];
primaryWallet: Wallet | undefined;
} & UserWalletsUpdateType;
export type WalletEvents = {
/** Triggered when a new wallet is added to user wallets list */
walletAdded: (wallet: Wallet, userWallets: Wallet[]) => void;
/** Triggered when a wallet is removed from user wallets list */
walletRemoved: (wallet: Wallet, userWallets: Wallet[]) => void;
/** Triggered when the primary wallet changes (a different wallet is selected) */
primaryWalletChanged: (newPrimaryWallet: Wallet) => void;
/** Triggered when the network changes in primary wallet */
primaryWalletNetworkChanged: (newNetwork: string | number) => void;
/** Triggered when the network changes in non-primary wallet */
nonPrimaryWalletNetworkChanged: (newNetwork: string | number, connector: WalletConnector) => void;
/** Triggered when there is a change in user wallets */
userWalletsChanged: (params: UserWalletsChangedParams) => void;
/** Triggered when user wallets changes from an empty array to a non-empty array */
userWalletsPopulated: (userWallets: Wallet[]) => void;
};