open-index/open-npm huggingface dataset:
npm package: @illiquid-labs/use-wallet
Description: Core interface of [`@terra-money/wallet-provider`](https://www.npmjs.com/package/@terra-money/wallet-provider).
Author: Terraform Labs PTE.LTD
Latest version: 1.0.0

# `@terra-money/use-wallet`

Core interface of [`@terra-money/wallet-provider`](https://www.npmjs.com/package/@terra-money/wallet-provider).

If you want to create a library using the `useWallet()` of `@terra-money/wallet-provider`, you can use
this `@terra-money/use-wallet` instead of `@terra-money/wallet-provider` for its internal dependence.

Because `@terra-money/wallet-provider` contains multiple implementations, if your library is built
on `@terra-money/wallet-provider`, problems can arise in exceptional situations (e.g. when users implement and use
Context themselves).

Using `@terra-money/use-wallet` instead of `@terra-money/wallet-provider` can make your library work reliably in a more
diverse set of implementations.

You don't have to use this library if you're just creating a WebApp. Use `@terra-money/wallet-provider`.

# APIs

- React context and hooks
  - `const WalletContext = React.createContext()`
  - `useWallet(): Wallet`
  - `useConnectedWallet(): ConnectedWallet`
- Types
  - `enum WalletStatus`
  - `enum ConnectType`
  - `type WalletInfo`
  - `type WalletStates`
  - `type NetworkInfo`
  - `type TxResult extends CreateTxOptions`
  - `type SignResult extends CreateTxOptions`
  - `type SignBytesResult`
- Error types
  - `class UserDenied extends Error`
  - `class CreateTxFailed extends Error`
  - `class TxFailed extends Error`
  - `class Timeout extends Error`
  - `class TxUnspecifiedError extends Error`
npm package: @illiquid-labs/wallet-controller
Description: This is a sub-structure of the [`@terra-money/wallet-provider`](https://www.npmjs.com/package/@terra-money/wallet-provider).
Author: Terraform Labs PTE.LTD
Latest version: 1.0.0

# Terra Wallet Controller

This is a sub-structure of the [`@terra-money/wallet-provider`](https://www.npmjs.com/package/@terra-money/wallet-provider).

You can use it when you want to develop in a framework other than React.

This is not yet properly equipped with documents compared to wallet-provider, and may be more difficult to use than react hooks.
npm package: @illiquid-labs/wallet-types
Description: This is a separate package because it is used for [`@terra-money/use-wallet`](https://www.npmjs.com/package/@terra-money/use-wallet), [`@terra-money/wallet-controller`](https://www.npmjs.com/package/@terra-money/wallet-controller), and [`@terra-money/wall
Author: Terraform Labs PTE.LTD
Latest version: 1.0.0

# Common types of `@terra-money/wallet-provider`

This is a separate package because it is used for [`@terra-money/use-wallet`](https://www.npmjs.com/package/@terra-money/use-wallet), [`@terra-money/wallet-controller`](https://www.npmjs.com/package/@terra-money/wallet-controller), and [`@terra-money/wallet-provider`](https://www.npmjs.com/package/@terra-money/wallet-provider).

You don't have to use this separately.

It is re-exported from them.

# APIs

- Types
  - `enum WalletStatus`
  - `enum ConnectType`
  - `type WalletInfo`
  - `type WalletStates`
  - `type NetworkInfo`
  - `type TxResult extends CreateTxOptions`
  - `type SignResult extends CreateTxOptions`
  - `type SignBytesResult`
- Error types
  - `class UserDenied extends Error`
  - `class CreateTxFailed extends Error`
  - `class TxFailed extends Error`
  - `class Timeout extends Error`
  - `class TxUnspecifiedError extends Error`