Skip to content

Function: useHappyChain()

function useHappyChain(): {
  connect: () => Promise<void>;
  disconnect: () => Promise<void>;
  initialized: boolean;
  loadAbi: (contractAddress: `0x${string}`, abi: Abi) => Promise<void>;
  provider: happyProvider;
  showSendScreen: () => void;
  user: undefined | HappyUser;
}

Returns

{
  connect: () => Promise<void>;
  disconnect: () => Promise<void>;
  initialized: boolean;
  loadAbi: (contractAddress: `0x${string}`, abi: Abi) => Promise<void>;
  provider: happyProvider;
  showSendScreen: () => void;
  user: undefined | HappyUser;
}

connect()

connect: () => Promise<void>;

Connect the app to the Happy Account (will prompt user for permission).

Returns

Promise<void>

disconnect()

disconnect: () => Promise<void>;

Disconnect the app from the Happy Account.

Returns

Promise<void>

initialized

initialized: boolean;

loadAbi()

loadAbi: (contractAddress: `0x${string}`, abi: Abi) => Promise<void>;

Add a contract address and its corresponding ABI to be tracked (in browser) to translate tx calldata using existing recorded ABI info.

Parameters

contractAddress: `0x${string}`

abi: Abi

Returns

Promise<void>

provider

provider: HappyProviderPublic = happyProvider;

showSendScreen()

showSendScreen: () => void;

Display the send screen in the iframe

Returns

void

user

user: undefined | HappyUser;

Defined in

packages/sdk-react/lib/components/HappyWalletProvider.tsx:30