# DaWabLauncher Searcher Kit

Open-source read/quote/calldata helpers for the live WABIT market on Robinhood Chain.

The kit supplies **no trading capital**, stores **no private keys**, and broadcasts **no transactions**. Searchers bring their own WABIT/WETH, RPC infrastructure, signing and execution logic.

## Live market

- Robinhood Chain: `4663`
- WABIT: `0xcE39cA04C9c924c949172FDeeFF588Ab586a7Db1`
- RHC-WETH: `0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73`
- Curve: `0x66c44133aE27929B4d8e5c4392D516b5558f4F3E`
- TradeRouter: `0x48AcF9c62384A6C15cCA80F6307cc29a5be2580B`
- Factory: `0x0E54a12dB2d6B8f309269ef98F8b9c2764aa3A92`

## Ethereum reference pools

- L1 WABIT: `0x5857cf3fd35d1fb4ec56151b5dcff289e7be8000`
- WABIT/WETH V2 pair: `0xB5C6ee9949aB5323B266a8507DC2D80285e55774`
- WABIT/USDT V2 pair: `0x2E64071209C8a3642BE74fEbD001e09f727f8EEe`

## Install

```bash
npm install viem
```

Copy `dawab-searcher-kit.mjs` into your project, or consume the hosted source directly as reference.

## Quotes

```js
import { parseUnits } from 'viem';
import { DaWabSearcherKit } from './dawab-searcher-kit.mjs';

const kit = new DaWabSearcherKit({
  ethereumRpcUrl: process.env.ETHEREUM_RPC_URL
});

const buy = await kit.quoteBuy(parseUnits('0.01', 18));
const sell = await kit.quoteSell(parseUnits('100000000000', 18));
const state = await kit.curveState();
const l1 = await kit.l1ReferencePrices();

console.log({ buy, sell, state, l1 });
```

`quoteBuy()` and `quoteSell()` route through the deployed `ReLaunchTradeRouter.quoteExactInput()` interface, so the same integration can resolve the bonding-curve venue before graduation and the AMM venue after graduation.

## Execution calldata

```js
import { parseUnits } from 'viem';
import { DaWabSearcherKit, minOutForSlippage } from './dawab-searcher-kit.mjs';

const kit = new DaWabSearcherKit();
const amountIn = parseUnits('100000000000', 18);
const quote = await kit.quoteSell(amountIn);

const tx = kit.buildSellCalldata({
  amountWabitIn: amountIn,
  minWethOut: minOutForSlippage(quote.amountOut, 50n), // 0.50%
  recipient: '0xYOUR_ADDRESS',
  deadline: BigInt(Math.floor(Date.now() / 1000) + 120)
});

console.log(tx);
```

The returned object is unsigned transaction data:

```text
{ to, data, value }
```

Signing, approvals, gas estimation, nonce management, simulation, inventory placement and broadcasting remain the searcher's responsibility.

## Machine discovery

- `https://dawabit.tech/.well-known/dawablauncher.json`
- `https://dawabit.tech/searcher/manifest.json`
- `https://dawabit.tech/searcher/abi.json`

## RPC note

The Robinhood Chain public RPC is useful for discovery and low-rate reads. Searchers should use production-grade infrastructure for latency-sensitive execution.
