SDK example: Abby launch reconstruction
This developer example shows how the published SDK represents a completed Abby launch in the retired V1 Atomic Launch Factory request shape. It is an archival coding sample, not a deployment, verification, or transaction recipe.
Retired V1 example, not a current Black Market Launcher integration
buildAtomicLaunchCalldata encodes the V1 deployAndLaunch request used here. The V1 Atomic Launch Factory is retired. Current launches use the Unified Launcher on Robinhood Chain mainnet (chain ID 4663), and the published SDKs do not yet expose its request encoder.
The code below produces an archival V1 payload only. Never submit that payload or adapt these fields for a live Black Market Launcher transaction.
Historical launch context
These public facts identify the historical record represented by the constants below. They provide context for the SDK example, not a safety assessment of the token, pool, or transaction.
| Item | Value |
|---|---|
| Network | Robinhood Chain mainnet (4663) |
| Historical transaction | 0xd0dcae27e9ec2f7fb6e2304d7b1d739fd2f45f91d1eb5e762cdfcf01819fb837 |
| Token | Abby the Vampire Squid / ABBY |
| Paired asset | ABYSS |
| Pool | 0x5304f1300384d129d7f18a2b657d9cc6ff2cc002 |
| V1 template and pool profile | dual-dividends, version 1; StandardOracle |
| Historical first buy | 1000 × 10^18 ABYSS |
TypeScript reconstruction
Install the package as described in the SDK guide, then use its V1 types and constants to construct the archived request:
import {
ATOMIC_LAUNCH_ORACLE_CONFIG_ID,
AUCTION_SUPPLY,
AbyssPoolProfile,
DUAL_DIVIDENDS_TEMPLATE_ID,
TokenKind,
buildAtomicLaunchCalldata,
} from "@black-market/sdk";
const abbyV1Request = {
creator: "0x73bD52A3848B9219C6FE7E0D81CecF85E0c6D38b" as const,
templateId: DUAL_DIVIDENDS_TEMPLATE_ID,
templateVersion: 1,
token: {
kind: TokenKind.HolderDividend,
name: "Abby the Vampire Squid",
symbol: "ABBY",
decimals: 18,
supply: AUCTION_SUPPLY,
},
pool: {
pairedToken: "0x15f3385625D7e364C5a6216FBbceadf10fa90e7d" as const,
launchedTokenIsQuote: false,
profile: AbyssPoolProfile.StandardOracle,
fee: 10_000,
oracleConfigId: ATOMIC_LAUNCH_ORACLE_CONFIG_ID,
launchTick: -800,
liquidity: 1_040_808_692_711_685_547_298_718_484n,
launchedTokenAmountMaximum: AUCTION_SUPPLY,
pairedTokenAmountMaximum: 0n,
},
initialBuy: {
pairedTokenAmountIn: 1_000n * 10n ** 18n,
launchedTokenAmountOutMinimum: 909_318_563_019_906_022_868n,
sqrtPriceLimitX96: 75_931_191_248_180_498_334_338_978_414n,
},
launchedTokenFees: { ownerBps: 0, rewardsBps: 10_000, burnBps: 0 },
pairedTokenFees: { ownerBps: 0, rewardsBps: 10_000, burnBps: 0 },
deadline: 1_788_724_575n, // intentionally expired archival value
} as const;
const archivedV1Calldata = buildAtomicLaunchCalldata(abbyV1Request);What the reconstruction demonstrates
- The SDK's V1 constants and enums describe the historical
dual-dividendsHolder Dividend token and Standard Oracle pool configuration. - Every amount is an exact raw integer. In TypeScript, the
nsuffix keeps the large values asbigint; do not replace them withnumber. buildAtomicLaunchCalldatavalidates and encodes the supplied V1 object locally. It does not query chain state, sign, or transmit a transaction.- The example deadline is expired, and the token and pool already exist. The resulting bytes are useful only as an archived SDK output.
Do not use this as a current launch template
The current Black Market Launcher has a different request surface, and the published SDKs do not yet provide that surface. Do not change the name, addresses, fee values, price limit, or deadline above to prepare a new launch. A historical V1 calculation also says nothing about current liquidity, price impact, token provenance, rewards, administrator controls, or smart-contract risk.