open-index/open-npm huggingface dataset:
npm package: @haneullabs/create-dapp
Description: A CLI for creating new Haneul dApps
Author: Haneul Labs
Latest version: 0.6.3

# @haneullabs/create-dapp

`@haneullabs/create-dapp` is a CLI tool that helps you to create a new dApp project.

You can get started quickly by running the following command:

```bash
pnpm create @haneullabs/dapp
```

This will prompt you through creating a new dApp project. It will ask you for the name/directory and
ask you to select from one of the provided templates.

## Templates

The following templates are available:

- `react-client-dapp`: A basic React dApp that fetches a list of objects owned by the connected
  wallet
- `react-e2e-counter`: An end to end Example with move code and UI for a simple counter app

The examples are based off the Vite TypeScript starter project, and pre-configure a few things for
you including:

- [React](https://react.dev/)
- [TypeScript](https://www.typescriptlang.org/)
- [Vite](https://vitejs.dev/)
- [Radix UI](https://www.radix-ui.com/)
- [`@haneullabs/dapp-kit`](https://sdk.haneul-labs.com/dapp-kit)

These templates are still new, and would love to get feedback and suggestions for improvements or
future templates. Please open an issue on GitHub if you have any feedback.
npm package: @haneullabs/dapp-kit-core
Description: Framework-agnostic toolkit for building decentralized applications on Haneul.
Author: Haneul Labs
Latest version: 1.2.1

# dapp-kit-core

A framework-agnostic toolkit for building decentralized applications on [Haneul](https://haneul.io).

`@haneullabs/dapp-kit-core` provides an action-based API for wallet operations, automatic state
management via [nanostores](https://github.com/nanostores/nanostores), and built-in
[Web Components](https://developer.mozilla.org/en-US/docs/Web/API/Web_components) for wallet
connection UI. It can be used standalone with vanilla JavaScript, or as the foundation for
framework-specific bindings like
[`@haneullabs/dapp-kit-react`](https://www.npmjs.com/package/@haneullabs/dapp-kit-react).

## Installation

```sh
npm i @haneullabs/dapp-kit-core @haneullabs/haneul
```

## Documentation

See the [dApp Kit docs](https://sdk.haneul-labs.com/haneul/dapp-kit) for full usage instructions,
guides, and API reference.
npm package: @haneullabs/dapp-kit-react
Description: React bindings for @haneullabs/dapp-kit-core
Author: Haneul Labs
Latest version: 2.0.1

# dapp-kit-react

React hooks and components for building decentralized applications on the [Haneul](https://haneul.io)
blockchain. Built on top of
[`@haneullabs/dapp-kit-core`](https://www.npmjs.com/package/@haneullabs/dapp-kit-core).

Provides a `DAppKitProvider`, ready-to-use `ConnectButton` and `ConnectModal` components, and hooks
like `useDAppKit`, `useCurrentAccount`, `useCurrentWallet`, and more.

## Installation

```sh
npm i @haneullabs/dapp-kit-react @haneullabs/haneul
```

## Documentation

See the [dApp Kit docs](https://sdk.haneul-labs.com/haneul/dapp-kit) for full usage instructions,
guides, and API reference.
npm package: @haneullabs/enoki
Description: zkLogin authentication and sponsored transactions
Author: Haneul Labs
Latest version: 1.0.4

# `@haneullabs/enoki`

zkLogin authentication and sponsored transactions. Enable users to sign in with Google, Twitch,
Facebook, and other OAuth providers, and execute transactions without gas fees.

## Features

- **zkLogin**: Authenticate users with OAuth providers (Google, Twitch, Facebook)
- **Sponsored Transactions**: Execute transactions without requiring users to hold gas
- **Wallet Integration**: Register Enoki wallets with dApp Kit
- **Subname Management**: Create and manage HaneulNS subnames

## Installation

```sh
npm install @haneullabs/enoki
```

## Quick Start

### Register Enoki wallets

```ts
import { registerEnokiWallets } from '@haneullabs/enoki';

registerEnokiWallets({
	apiKey: 'your-enoki-api-key',
	providers: ['google', 'twitch', 'facebook'],
});
```

### Use with React and dApp Kit

```tsx
import { registerEnokiWallets } from '@haneullabs/enoki';
import { useEnokiFlow } from '@haneullabs/enoki/react';

// In your app setup
registerEnokiWallets({
	apiKey: 'your-enoki-api-key',
	providers: ['google'],
});

// In your component
function LoginButton() {
	const { login } = useEnokiFlow();

	return <button onClick={() => login('google')}>Sign in with Google</button>;
}
```

### Low-level client usage

```ts
import { EnokiClient } from '@haneullabs/enoki';

const client = new EnokiClient({
	apiKey: 'your-enoki-api-key',
});

// Create a sponsored transaction
const sponsored = await client.createSponsoredTransaction({
	network: 'mainnet',
	sender: '0x...',
	transactionKindBytes: '...',
});

// Execute it
await client.executeSponsoredTransaction({
	digest: sponsored.digest,
	signature: '...',
});
```

## Documentation

See the [Enoki documentation](https://docs.enoki.haneul-labs.com) for detailed setup and usage.
npm package: @haneullabs/enoki-connect
Description: Enoki Connect Wallet-Standard implementation
Author: Haneul Labs
Latest version: 1.0.3

# `@haneullabs/enoki-connect`

> ⚠️ **Warning**: This package is in active development and should be used with caution. APIs are
> experimental and subject to breaking changes without notice. We recommend thoroughly testing any
> implementation before using in production environments.
npm package: @haneullabs/haneulns
Description: HaneulNS SDK
Author: Haneul Labs
Latest version: 1.0.3

# HaneulNS SDK

> Note 1: You do not need to use the SDK for name resolution (name -> address, address -> name).
> That is already covered by JSONRPC & GraphQL.

HaneulNS SDK is a convenient wrapper for querying more detailed information and building transactions
towards the Name Service.

You can find our docs [by clicking here](https://docs.haneulns.io).
npm package: @haneullabs/kiosk
Description: Haneul Kiosk library
Author: Haneul Labs
Latest version: 1.1.3

# Kiosk SDK

This Kiosk SDK library provides different utilities to interact/create/manage a
[Kiosk](https://github.com/GeunhwaJeong/haneul/tree/main/kiosk).

[You can read the documentation and see examples by clicking here.](https://sdk.haneul-labs.com/kiosk)

[If you are migrating from `0.6.x`, you can follow these instructions](https://sdk.haneul-labs.com/kiosk/from-v1)
npm package: @haneullabs/move-debug-trace-adapter
Description: A Debug Adapter Protocol implementation for visualizing both Move function call and external event traces
Author: Mysten Labs
Latest version: 0.1.0

# Move Debug Trace Adapter

Implements [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol) (DAP) to support debugging of both Move function call traces and external event traces. It is a self-contained package in that rather than providing just the adapter that needs to connect to an actual debugger, it implements both the "adapter" part (responsible for communicating with an IDE that can understand DAP) and the "debugger" part (responsible for analyzing traces and providing a runtime to maintain the debugger state).

# Features

The feature set currently includes:
- forward "step" action: step to next expression and into a regular Move function call
- "step out" action: step out of the current function call into the outer one
- "next" action: step over a function call (instead of stepping into it)
- line breakpoints
- "continue" action - continue execution to the next breakpoint or to the end of the trace
- local variable value inspection
- source- and disassembly-level debugging of Move code (provides that Move sources and disassembled Move bytecode files are provided)
npm package: @haneullabs/mvr-static
Description: The static generation tool for Move Registry (mvr)
Author: Haneul Labs
Latest version: 0.3.2

# mvr-static

The mvr-static tool is a typescript CLI tool to generate a static file for Move Registry (mvr)
resolution. This can be used to cache all MVR names for performance & security reasons, and used
with the Haneul client's built-in MVR support.

## Usage

### Generate a static file for MVR resolution

You can generate your static file by running the following command:

```bash
pnpm dlx @haneullabs/mvr-static
```

Available options:

- `--directory <directory>`: The directory to run the command in (defaults to `.`)
- `--output <file-name>`: The output's file name (defaults to `mvr.ts`)
- `--depth <depth>`: The depth of recursive search for MVR names (defaults to `10`)
- `--url-mainnet <url>`: The URL to the mainnet MVR (defaults to
  `https://mainnet.mvr.haneul-labs.com`)
- `--url-testnet <url>`: The URL to the testnet MVR (defaults to
  `https://testnet.mvr.haneul-labs.com`)
- `--include <dir_patterns>`: The directory patterns to include in the search (defaults to
  `**/*.{js,ts,jsx,tsx,mjs,cjs}`)
- `--exclude <dir_patterns>`: The directory patterns to exclude in the search (defaults to
  `'node_modules/**', '**/.*'`)
- `--force`: Force overwrite the existing MVR file (useful in CI) (defaults to `false`)

### Use the static file in your project

Once you have your static file, you can use it in your project by importing it and passing it to the
Haneul client initialization. MVR resolution is now built into the core client.

```ts
import { HaneulGrpcClient } from '@haneullabs/haneul/grpc';
import { getMvrCache } from './mvr.ts';

// Create a gRPC client with MVR overrides for your network
const client = new HaneulGrpcClient({
	network: 'mainnet',
	baseUrl: 'https://fullnode.mainnet.haneul.io:443',
	mvr: {
		overrides: getMvrCache('mainnet'),
	},
});
```

The client will now use your pre-resolved MVR names instead of making API calls, which improves
performance and security.
npm package: @haneullabs/wallet-standard
Description: A suite of standard utilities for implementing wallets based on the Wallet Standard.
Author: Haneul Labs
Latest version: 0.20.2

# `@haneullabs/wallet-standard`

A suite of standard utilities for implementing wallets and libraries based on the
[Wallet Standard](https://github.com/wallet-standard/wallet-standard/).

**Documentation:** https://docs.haneul.io/standards/wallet-standard
npm package: @haneullabs/window-wallet-core
Description: Window wallet core functionality
Author: Haneul Labs
Latest version: 0.1.4

# `@haneullabs/window-wallet-core`

⚠️ **Warning**: This package is in active development and should be used with caution. APIs are
experimental and subject to breaking changes without notice. We recommend thoroughly testing any
implementation before using in production environments.