Skip to content

Migrate to the BWLK redeployment (v1.0.0)#8

Open
daedboi wants to merge 8 commits into
mainfrom
feat/bwlk-redeployment
Open

Migrate to the BWLK redeployment (v1.0.0)#8
daedboi wants to merge 8 commits into
mainfrom
feat/bwlk-redeployment

Conversation

@daedboi

@daedboi daedboi commented Jul 17, 2026

Copy link
Copy Markdown
Member

What

Breaking release aligning the SDK with the redeployed Boardwalk contracts (boardwalk-contracts 893627c, SPEC.md).

  • Chains: Ethereum (1), Base (8453), Arbitrum (42161), Robinhood Chain (4663). Fraxtal/Katana/Ink removed. viem bumped to ^2.55.2 for the robinhood chain definition (RPC, Blockscout, multicall3).
  • BMX → BWLK: stake-bwlk/unstake-bwlk commands (Ethereum-only, default --chain ethereum), bwlkToken registry key, bwlkBurnCost meta key, approve-bwlk step ids, --claim-bwlk handle-rewards flag.
  • Governance on Ethereum: weekly revenue votes (1=Treasury 2=Buy&Burn BWLK 3=Buy&Burn LP 4=Participation), sbfBWLK-weighted, token/tracker reads sourced from the voter itself, plus a new OptionIneligible pre-check (3-consecutive-wins cap). Staking/handle-rewards/participation claims re-scoped Base → Ethereum via the Morphex RewardRouterV5 stack (approve targets the staked-BWLK tracker).
  • Raise token / graduation: canonical WETH everywhere; 5 WETH threshold, both paths.
  • DEX: canonical Uniswap V2 per chain. swap now uses swapExactTokensForTokensSupportingFeeOnTransferTokens with a tax-adjusted quote — launch tokens are fee-on-transfer, so the plain variant reverts the K-check on sells and bypasses the tax on buys' min-out.
  • ABIs: LaunchFactory/PresaleManager/GovernanceVoter regenerated from fresh forge out/ artifacts (the checked-in abis/*.json in boardwalk-contracts is stale BMX-era output — worth cleaning up there). RewardRouter ABI taken from morphex-contracts RewardRouterV5.sol; verify against the deployed router at address-fill time.
  • Fixes found during migration: member-discount now mirrors the contract's rounding exactly (base - base*bps/10000; the old form could under-approve by 1 wei), integrator quote handling updated for the new (0,0)-on-nothing-claimable behavior, and launch config enforces the 4-fee/5-vesting recipient caps client-side.
  • Docs: README, SKILL.md, plugin doc, CLAUDE.md, AGENTS.md rewritten; stale "verified output" addresses replaced with placeholders. smoke.mjs now runs a Base leg + an Ethereum leg (BOARDWALK_ETH_RPC).
  • Version: 1.0.0 in package.json, CLI --version, SKILL.md, and the plugin doc.

Why

The contracts were fully redeployed (new chain set, BWLK token, 5 ETH threshold, 90/10 revenue split, canonical Uniswap V2, Ethereum governance home). No back-compat is kept by design.

Reviewer notes

  • All Boardwalk singleton addresses in src/registry/contracts.ts are zero placeholders until the deployment lands (expected shortly); canonical Uniswap V2 + WETH addresses are real. assertDeployed fails loudly in the meantime, and tests inject dummy addresses.
  • npm run typecheck, npm test (79 tests), and npm run build pass. npm run smoke will fail until addresses land — expected.
  • Verified against contract sources: ABI byte-equality with compiler artifacts, EIP-55 checksums on all real addresses, tax-phase math vs BoardwalkToken._calculateTax, vote guard order vs GovernanceVoter.vote(), approve spenders per contract pull-flow, and every documented flag/step-id against src/cli.ts.
  • Deferred by choice: a BMX→BWLK migrate command (waiting on snapshot/proof distribution).

Summary by CodeRabbit

  • New Features
    • Added Ethereum-only governance/staking workflows for BWLK (stake/unstake, vote, rewards/compound, participation claims).
    • Expanded supported networks to Ethereum, Base, Arbitrum, and Robinhood.
    • Improved swap execution with tax-aware, fee-on-transfer-compatible canonical Uniswap V2 routing.
    • Updated launch/visibility to use BWLK burn costs with conditional BWLK approvals, and standardized graduation guidance to 5 wETH.
  • Bug Fixes
    • Fixed member-discount rounding to match on-chain math.
    • Refined swap edge-case behavior (e.g., zero-output handling).
  • Documentation
    • Updated CLI/SDK/plugin docs and verification/smoke-testing guidance for v1.0.0 and the new chain/token scope.

Align the SDK with the redeployed Boardwalk contracts. Breaking release:

- Chains are now Ethereum (1), Base (8453), Arbitrum (42161), and
  Robinhood Chain (4663); Fraxtal/Katana/Ink removed. viem bumped to
  ^2.55.2 for the robinhood chain definition.
- BMX -> BWLK everywhere: stake-bwlk/unstake-bwlk commands,
  bwlkToken registry key, bwlkBurnCost meta, approve-bwlk step ids.
- Governance re-homed to Ethereum: weekly revenue votes (options
  1-4), sbfBWLK weight, new OptionIneligible pre-check; staking,
  handle-rewards, and participation claims are Ethereum-only via the
  Morphex RewardRouterV5 stack.
- Raise token is canonical WETH on every chain; graduation is 5 WETH
  on both paths.
- DEX is the chain's canonical Uniswap V2. Swaps now use
  swapExactTokensForTokensSupportingFeeOnTransferTokens with a
  tax-adjusted quote (launch tokens are fee-on-transfer; the plain
  variant reverts on sells and skips the tax on buys' min-out).
- member-discount now mirrors the contract's rounding exactly
  (base - base*bps/10000); the old form could under-approve by 1 wei.
- Core ABIs regenerated from fresh forge artifacts; RewardRouter ABI
  taken from morphex-contracts RewardRouterV5. IntegratorFeeCollector
  quote now returns (0,0) when nothing is claimable - CLI branches on
  it instead of expecting a revert.
- Launch config enforces the contract's 4-fee/5-vesting recipient
  caps client-side.
- Registry addresses are zero placeholders until the deployment
  lands; canonical Uniswap V2 + WETH addresses are filled.
- Docs (README, SKILL.md, plugin, CLAUDE.md, AGENTS.md) rewritten for
  the new facts; smoke.mjs split into Base + Ethereum legs
  (BOARDWALK_ETH_RPC).
@cursor

cursor Bot commented Jul 17, 2026

Copy link
Copy Markdown

PR Summary

High Risk
Major breaking release touching chain scope, token/governance home, swap calldata, and ABIs; live smoke and production use depend on registry addresses being filled after deployment.

Overview
Breaking v1.0.0 aligns @useboardwalk/sdk and the boardwalk CLI with the redeployed Boardwalk contracts—no backward compatibility with the BMX-era surface.

The platform token and CLI surface rename BMX → BWLK (stake-bwlk / unstake-bwlk, approve-bwlk, bwlkBurnCost, --claim-bwlk). Staking, handle-rewards, participation claims, and governance voting move from Base-only to Ethereum-only (defaults and guards now target chain 1).

Supported chains become Ethereum, Base, Arbitrum, and Robinhood Chain; Fraxtal, Katana, and Ink are dropped. viem is bumped to ^2.55.2 for Robinhood chain support. Launch config/docs now assume canonical WETH as the raise token and a 5 WETH graduation threshold on every chain.

Swaps and LP target each chain’s canonical Uniswap V2 (not a Boardwalk-specific DEX). buildSwapSteps switches to swapExactTokensForTokensSupportingFeeOnTransferTokens and tax-adjusts quotes using a new BoardwalkToken ABI fragment. Governance adds an isOptionEligible pre-check and reads BWLK trackers from the voter contract.

Smaller correctness fixes: member discount rounding matches the contract (avoids 1-wei under-approve), launch config enforces 4 fee / 5 vesting recipient caps, and integrator fee quoting handles empty claimables. smoke.mjs runs Base app commands plus an Ethereum leg (BOARDWALK_ETH_RPC); builder-code suffix checks apply only on Base. README, agent skills, and maintainer docs are rewritten for the new model.

Reviewed by Cursor Bugbot for commit bb92e68. Configure here.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The SDK and CLI transition from BMX/Base-oriented behavior to BWLK staking and governance on Ethereum, while launch, liquidity, swap, and visibility flows support Ethereum, Base, Arbitrum, and Robinhood. ABIs, registries, validation, tests, smoke scripts, release metadata, and documentation are updated accordingly.

Changes

Boardwalk v1 migration

Layer / File(s) Summary
Contracts, ABIs, and public models
src/registry/*, src/types.ts, src/index.ts, src/constants.ts
Contract addresses, supported chains, launch thresholds, ABI definitions, public types, and exports are updated for BWLK and revised deployed interfaces.
BWLK transaction builders and tax-aware swaps
src/builders/*, src/launch/*
Launch, staking, voting, rewards, visibility, and unstaking use BWLK terminology and Ethereum-only gating; swaps read transfer-tax parameters and use the fee-supporting Uniswap V2 method.
CLI and smoke execution
src/cli.ts, scripts/smoke.mjs
New BWLK staking commands, Ethereum defaults, updated launch-cost fields, and separate Base/Ethereum RPC smoke execution are added.
Validation and tests
test/*
Recipient caps, discount rounding, BWLK/Ethereum builder behavior, contract fixtures, participation handling, liquidity targets, and tax-adjusted swap calldata are covered.
Release metadata and documentation
README.md, AGENTS.md, CLAUDE.md, skills/*, .claude-plugin/plugin.json, package.json
Documentation and plugin metadata describe version 1.0.0, BWLK terminology, four supported chains, and Ethereum-only staking and governance.

Estimated code review effort: 5 (Critical) | ~120 minutes

Possibly related PRs

Poem

A bunny hops where BWLK flows,
Ethereum guards the stake.
Four chains bloom beneath the moon,
Tax-aware swaps awake.
Approvals nibble, tests thump—
v1 leaps in one clean jump!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the breaking migration to the BWLK v1.0.0 redeployment.
Docstring Coverage ✅ Passed Docstring coverage is 85.71% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Comment @coderabbitai help to get the list of available commands.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 4 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit bb92e68. Configure here.

Comment thread src/registry/contracts.ts Outdated
Comment thread src/builders/launch.ts Outdated
Comment thread src/launch/member-discount.ts
Comment thread scripts/smoke.mjs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bb92e68697

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/registry/contracts.ts Outdated
daedboi added 2 commits July 17, 2026 11:43
- assertDeployed: only claim Ethereum-only scoping for the staking/
  governance keys; multi-chain singletons get a not-yet-registered hint
- launch, launch-cost, cast-visibility, stake-bwlk: resolve
  launchFactory/bwlkToken via assertDeployed so placeholder registries
  fail loudly instead of encoding calls to the zero address
- member-discount: restore the >=100% discount clamp so an out-of-range
  bps can never produce a negative cost
- smoke: accept the new 'ineligible' vote gating error
resolveLaunchedToken now asserts the factory is deployed, so the
placeholder registry short-circuits before the LaunchCreated checks.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/smoke.mjs`:
- Around line 73-88: Update the okOn validation in scripts/smoke.mjs to require
Base calldata to end with BUILDER_CODE_HEX using endsWith(), and reject calldata
ending with that builder code for non-Base chains. Preserve the existing
calldata prefix, address, value, and chainId checks.

In `@src/builders/launch.ts`:
- Line 33: Update the contract resolution in the launch flow to obtain
launchFactory through assertDeployed(chainId, "launchFactory") before
readLaunchCost issues the multicall, while preserving bwlkToken resolution and
existing behavior for deployed chains.

In `@src/builders/stake-bwlk.ts`:
- Around line 15-17: Update the contract initialization in the stake builder to
resolve the BWLK token through assertDeployed(chainId, "bwlkToken") instead of
accepting the unguarded bwlkToken value from getContracts, while preserving the
existing router and tracker guards.

In `@src/builders/swap.ts`:
- Around line 27-53: Update currentTaxBps to accept the chain’s latest block
timestamp instead of reading Date.now(), and use that value for elapsed-time
calculation. Obtain the timestamp through the existing swap read path and pass
it into currentTaxBps, preserving the existing phase and tax calculations.

In `@src/registry/contracts.ts`:
- Line 153: Update the deployment failure message used by assertDeployed in
contracts.ts so it does not claim every missing contract is Ethereum-only. Use a
neutral message for general contracts, or select the Ethereum-only wording only
for the relevant staking, governance, and participation-reward contract keys.

In `@src/registry/launch-config.ts`:
- Line 50: Update the FALLBACK ChainLaunchConfig created by makeLaunchConfig to
use the canonical WETH raise-token symbol instead of ETH, ensuring
getLaunchConfig(undefined) matches supported-chain configurations and interface
documentation.

In `@test/builders.test.ts`:
- Around line 184-205: The builder tests currently verify approval destinations
but not approval calldata. Update the approval assertions in
buildStakeBwlkSteps, the vote builder test, and the visibility builder test to
compare encoded data with encodeFunctionData(...) for
approve(STAKED_BWLK_TRACKER, amount), approve(GOVERNANCE_VOTER, burnAmount), and
approve(BOOST_BURN, expectedCost), respectively, including each applicable
builder suffix.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5c6ec260-a395-411c-b42a-3a59eab66bd1

📥 Commits

Reviewing files that changed from the base of the PR and between 354571d and bb92e68.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (39)
  • .claude-plugin/plugin.json
  • AGENTS.md
  • CLAUDE.md
  • README.md
  • package.json
  • scripts/smoke.mjs
  • skills/boardwalk/SKILL.md
  • skills/boardwalk/plugins/boardwalk.md
  • src/builders/cast-visibility.ts
  • src/builders/claim-participation-rewards.ts
  • src/builders/handle-rewards.ts
  • src/builders/launch.ts
  • src/builders/stake-bwlk.ts
  • src/builders/swap.ts
  • src/builders/unstake-bwlk.ts
  • src/builders/vote.ts
  • src/cli.ts
  • src/constants.ts
  • src/index.ts
  • src/launch/build-launch-config.ts
  • src/launch/member-discount.ts
  • src/launch/token-identity.ts
  • src/registry/abis/BoardwalkToken.ts
  • src/registry/abis/BoostBurn.ts
  • src/registry/abis/GovernanceVoter.ts
  • src/registry/abis/IntegratorFeeCollector.ts
  • src/registry/abis/LaunchFactory.ts
  • src/registry/abis/ParticipationDistributor.ts
  • src/registry/abis/PresaleManager.ts
  • src/registry/abis/RewardRouter.ts
  • src/registry/abis/UniswapV2Router.ts
  • src/registry/abis/index.ts
  • src/registry/chains.ts
  • src/registry/contracts.ts
  • src/registry/launch-config.ts
  • src/types.ts
  • test/build-launch-config.test.ts
  • test/build-launch-link.test.ts
  • test/builders.test.ts

Comment thread scripts/smoke.mjs Outdated
Comment thread src/builders/launch.ts Outdated
Comment thread src/builders/stake-bwlk.ts Outdated
Comment thread src/builders/swap.ts
Comment thread src/registry/contracts.ts Outdated
Comment thread src/registry/launch-config.ts Outdated
Comment thread test/builders.test.ts
- swap: read chain time from Multicall3's getCurrentBlockTimestamp in
  the existing multicall instead of the host clock, so anti-whale decay
  math can't be skewed by clock drift
- smoke: check the builder code as a strict calldata suffix on Base and
  reject it on other chains
- launch-config: fallback raise-token symbol is wETH, matching every
  supported chain
- tests: assert approve calldata (spender + amount) for the stake, vote
  burn, and visibility approvals

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/resolve.test.ts`:
- Around line 9-12: Move the launchFactory override for chainContracts[base.id]
into a beforeEach setup, capture its original value, and restore it in afterEach
so each test starts with the dummy address but shared registry state remains
unchanged afterward.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 136d00ec-b860-40f6-bec2-f2aefb1e4e55

📥 Commits

Reviewing files that changed from the base of the PR and between bb92e68 and e630747.

📒 Files selected for processing (7)
  • scripts/smoke.mjs
  • src/builders/cast-visibility.ts
  • src/builders/launch.ts
  • src/builders/stake-bwlk.ts
  • src/launch/member-discount.ts
  • src/registry/contracts.ts
  • test/resolve.test.ts
🚧 Files skipped from review as they are similar to previous changes (6)
  • src/launch/member-discount.ts
  • src/builders/stake-bwlk.ts
  • src/registry/contracts.ts
  • src/builders/cast-visibility.ts
  • scripts/smoke.mjs
  • src/builders/launch.ts

Comment thread test/resolve.test.ts
Registry now carries the live Ethereum, Base, Arbitrum, and Robinhood
addresses. Each was verified on-chain: every entry has code, and each
LaunchFactory's BWLK / INTEGRATOR_COLLECTOR / nftCollection /
boardwalkFeeCollector / router / factory reads back matching the table
(burn 100 BWLK, graduation 5 WETH both paths, 5000 bps member discount).

- Ethereum BWLK staking wired to RewardRouterV5 over the sBWLK ->
  sbBWLK -> sbfBWLK trackers; the router is initialized and registered
  as a handler on all three.
- vote: derive the epoch from EPOCH_ZERO/EPOCH_DURATION and the block
  timestamp instead of calling currentEpoch(), which reverts before
  epoch 0 opens, and report the opening time instead of an opaque
  multicall failure. isOptionEligible moves to the second batch.
- Default RPCs for all four chains; Ethereum previously fell through to
  a viem default that fails, breaking every read on that chain.
- smoke: run all four chains, assert the full ERC-8021 suffix (the
  builder code is not the trailing bytes, so the previous endsWith
  check could never pass), and skip launch-token commands where the
  indexer has no launches.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
skills/boardwalk/SKILL.md (1)

91-91: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Document the --tx launch-metadata input.

The command table lists only --token --chain, but the required flow below uses launch-metadata --tx <create-launch tx hash> and describes --token as the alternative. Make that alternative explicit in the table so users do not infer that --tx is unsupported.

Proposed fix
-| `launch-metadata` | Upload logo to CDN, then print an EIP-712 payload to sign + the submit request | `--token --chain` · logo: ...
+| `launch-metadata` | Upload logo to CDN, then print an EIP-712 payload to sign + the submit request | `--token <addr> \| --tx <hash> --chain` · logo: ...

As per coding guidelines, skills/boardwalk/**/*.{md,mdx} documentation must remain synchronized with CLI and SDK behavior.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/boardwalk/SKILL.md` at line 91, Update the launch-metadata entry in
the command table to document --tx as an accepted input alongside --token,
indicating that --tx takes the create-launch transaction hash and --token is the
alternative. Keep the existing --chain and optional argument documentation
unchanged, and ensure the description matches the required flow below.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@skills/boardwalk/SKILL.md`:
- Line 38: Update the documented npx invocation in the CLI usage section to pin
the package explicitly to `@useboardwalk/sdk`@1.0.0, while preserving the existing
boardwalk command and arguments.

---

Outside diff comments:
In `@skills/boardwalk/SKILL.md`:
- Line 91: Update the launch-metadata entry in the command table to document
--tx as an accepted input alongside --token, indicating that --tx takes the
create-launch transaction hash and --token is the alternative. Keep the existing
--chain and optional argument documentation unchanged, and ensure the
description matches the required flow below.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a8026767-75af-4cd8-94a8-12dfa90db0c1

📥 Commits

Reviewing files that changed from the base of the PR and between a1b6580 and c27623b.

📒 Files selected for processing (9)
  • README.md
  • scripts/smoke.mjs
  • skills/boardwalk/SKILL.md
  • src/builders/vote.ts
  • src/constants.ts
  • src/launch/build-launch-config.ts
  • src/registry/abis/RewardRouter.ts
  • src/registry/contracts.ts
  • test/builders.test.ts
🚧 Files skipped from review as they are similar to previous changes (3)
  • src/launch/build-launch-config.ts
  • src/registry/abis/RewardRouter.ts
  • test/builders.test.ts

Comment thread skills/boardwalk/SKILL.md
daedboi added 3 commits July 19, 2026 11:25
- SKILL.md pinned the npx invocation to @useboardwalk/sdk@1.0.0, matching
  the plugin doc, so the documented command can't resolve to a future release
- the launch-metadata command row listed only --token; --tx (the create-launch
  tx hash) is the recommended input and the flow below already uses it
Same rug-pull concern as the skill docs: an unpinned npx resolves to
whatever is published later. Adds the pinned examples to the version-bump
checklist in CLAUDE.md/AGENTS.md so they can't drift from package.json.
The indexer now serves chains 1, 4663, 8453, and 42161 and rejects the
deprecated ones, so Robinhood reads work end to end.

- ApiError carries the backend's {error} body into its message, so a miss
  reads 'API 404: Launch not found' rather than 'API 404: Not Found'
- smoke: run the indexer-backed lifecycle commands on every chain even
  when no launch is indexed, asserting the not-found gate and failing on
  an unsupported-chain rejection. Verified non-vacuous against a wrong
  host, which fails as expected
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant