Abyss

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.

ItemValue
NetworkRobinhood Chain mainnet (4663)
Historical transaction0xd0dcae27e9ec2f7fb6e2304d7b1d739fd2f45f91d1eb5e762cdfcf01819fb837
TokenAbby the Vampire Squid / ABBY
Paired assetABYSS
Pool0x5304f1300384d129d7f18a2b657d9cc6ff2cc002
V1 template and pool profiledual-dividends, version 1; StandardOracle
Historical first buy1000 × 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-dividends Holder Dividend token and Standard Oracle pool configuration.
  • Every amount is an exact raw integer. In TypeScript, the n suffix keeps the large values as bigint; do not replace them with number.
  • buildAtomicLaunchCalldata validates 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.

On this page