open-index/open-npm huggingface dataset:
npm package: @river-build/generated
Description: ## How to generate contract types
Latest version: 0.0.189

# @river-build/generated

## How to generate contract types

From the root of the repo, run:

```bash
./scripts/build-contract-types.sh
```

## What are deployments?

Deployments are a group of contracts on multiple chains that together make up a river environment

In order to deploy, run the following command from the repo root

```bash
./scripts/deploy-contracts.sh --e single
```

## Addresses

One off contracts that are important to the ecosystem at large
npm package: @river-build/mls-rs-wasm
Description: Note that Safari WebDriver needs to be enabled manually for `wasm-pack` to work.
Latest version: 0.0.16

# mls-rs WASM wrapper

Note that Safari WebDriver needs to be enabled manually for `wasm-pack` to work.

```shell
sudo safaridriver --enable
```

Build and test using headless Chrome

```shell
just test
```

## Dependencies

- `rustup`
  - `rust-toolchain.toml` pins a specific version of Rust, which will be picked up by `rustup`,
- `node`:
  - `.nvmrc` pins a specific version of Node, which will be picked up by `nvm`,
- `wasm-pack`:
  - `brew install wasm-pack`, or
  - `cargo install wasm-pack`, or
  - there is also NPM version which is slightly slower,
- `yarn`,
- `wasm-opt` (optional):
  - `brew install binaryen`,
- `just` (optional):
  - `brew install just`.
npm package: @river-build/mls-rs-wasm-node
Description: Note that Safari WebDriver needs to be enabled manually for `wasm-pack` to work.
Latest version: 0.0.16

# mls-rs WASM wrapper

Note that Safari WebDriver needs to be enabled manually for `wasm-pack` to work.

```shell
sudo safaridriver --enable
```

Build and test using headless Chrome

```shell
just test
```

## Dependencies

- `rustup`
  - `rust-toolchain.toml` pins a specific version of Rust, which will be picked up by `rustup`,
- `node`:
  - `.nvmrc` pins a specific version of Node, which will be picked up by `nvm`,
- `wasm-pack`:
  - `brew install wasm-pack`, or
  - `cargo install wasm-pack`, or
  - there is also NPM version which is slightly slower,
- `yarn`,
- `wasm-opt` (optional):
  - `brew install binaryen`,
- `just` (optional):
  - `brew install just`.
npm package: @river-build/react-sdk
Description: React Hooks for River SDK
Latest version: 0.0.189

# @river-build/react-sdk

React Hooks for River SDK.

# Installation

in the future:

```sh
yarn add @river-build/react-sdk
```

# Usage

## Connect to River

`@river-build/react-sdk` suggests you to use Wagmi to connect to River.
Wrap your app with `RiverSyncProvider` and use the `useAgentConnection` hook to connect to River.

> [!NOTE]
> You'll need to use `useEthersSigner` to get the signer from viem wallet client.
> You can get the hook from [wagmi docs](https://wagmi.sh/react/guides/ethers#usage-1).

```tsx
import { RiverSyncProvider, useAgentConnection } from "@river-build/react-sdk";
import { makeRiverConfig } from "@river-build/sdk";
import { WagmiProvider } from "wagmi";
import { useEthersSigner } from "./utils/viem-to-ethers";
import { wagmiConfig } from "./config/wagmi";

const riverConfig = makeRiverConfig("gamma");

const App = ({ children }: { children: React.ReactNode }) => {
  return (
    <WagmiProvider config={wagmiConfig}>
      <RiverSyncProvider>{children}</RiverSyncProvider>
    </WagmiProvider>
  );
};

const ConnectRiver = () => {
  const { connect, isConnecting, isConnected } = useAgentConnection();
  const signer = useEthersSigner();

  return (
    <>
      <button
        onClick={async () => {
          if (!signer) {
            return;
          }
          connect(signer, { riverConfig });
        }}
      >
        {isConnecting ? "Disconnect" : "Connect"}
      </button>
      {isConnected && <span>Connected!</span>}
    </>
  );
};
```

## Get information about an account

## Post messages to a stream

## Subscribe to a stream

## Addding persistance
npm package: @river-build/sdk
Description: For more details, visit the following resources:
Latest version: 0.0.189

# River-Build SDK

For more details, visit the following resources:

River documentation: https://docs.towns.com/introduction
River Messaging with encryption: https://docs.towns.com/concepts/encryption
River Encryption protocol: https://docs.towns.com/build/towns-encryption
GitHub repository: git+https://github.com/river-build/river.git
bugs: https://github.com/river-build/river/issues

# Debugging Tips

## Logging

Enabling logging for tests in the shell:

    DEBUG=csb:* DEBUG_DEPTH=100 yarn test src/my.test.ts -t testCaseName

To enabling debug logging in the browser, set var in console:

    localStorage.debug = 'csb:*'

## Inspecting Network Traffic

Set this in console to switch encoding to JSON instead of binary:

    localStorage.RIVER_DEBUG_TRANSPORT = 'true'

Now in Network tab of the browser dev tool requests and responses are more readable.
npm package: @river-build/xchain-monitor
Description: Monitor the chain for XChain transaction and emit error logs whenever a transaction is unterminated.
Latest version: 0.0.189

# XChain Monitoring Service

Monitor the chain for XChain transaction and emit error logs whenever a transaction is unterminated.

## Local development

Copy `.env.example` to `.env.local` and be sure to add in a BASE_PROVIDER_URL. (We are unable
to use viem's default provider as it frequently 503s.)

To start the service, run

```
yarn dev
```