Skip to content
Back to skills

Indexedex Launch Scripts

ASecurity

IndexedEx Robinhood launch scripts: Phase/Stage layout, 4663/46630 Anvil rehearsal, gas/funding quotes and exports.

  • 9 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 10, 2026
documentationgoshellbashnodetestingapifrontend

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add cyotee/indexedex --skill indexedex-launch-scripts --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Indexedex Launch Scripts?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Indexedex Launch Scripts
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cyotee-indexedex-launch-scripts/badge)](https://www.skillsdirectory.com/skills/cyotee-indexedex-launch-scripts)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: indexedex-launch-scripts
description: "IndexedEx Robinhood launch scripts: Phase/Stage layout, 4663/46630 Anvil rehearsal, gas/funding quotes and exports."
license: MIT
---

# IndexedEx launch scripts

How to write **Foundry launch Stages** and how to start **Anvil** so a gas / funding quote
matches the live chain. Two jobs, two gold trees. Do not mix their Anvil flags.

**Read first:** `crane-deployment`, `crane-architecture`, this skill, then the matching reference.

| Job | Gold | Anvil |
|-----|------|-------|
| Live gas / funding quote | `scripts/foundry/anvil_robinhood_main/` | EIP-170 **on**; fork-source `baseFee` |
| Local / public staged deploy | `scripts/foundry/anvil_robinhood_testnet/` | Phase/Stage catalog; 46630 may turn EIP-170 **off** |

Generic `anvil-node` is not this law.

## Existing-contract source verification

`BLOCKSCOUT_API_KEY` is already configured in the owner’s inherited environment (confirmed 2026-09-14). Check presence there first without displaying it; do not infer it is missing from `.env` alone or ask the owner to set it again. Use [source verification](references/source-verification.md) for Robinhood Blockscout/Sourcify authentication, migration inventory and exact-match checks. No deployment or signing is needed for this task.

## Two Anvil modes (do not mix)

| Mode | EIP-170 | Fees | Forge | Output |
|------|---------|------|-------|--------|
| **Gas / funding quote** | **On.** Never `--disable-code-size-limit` on Anvil **or** `forge script`. | Pin fork-source `baseFee`. `--disable-min-priority-fee`. Restart Anvil so local `baseFee` has not decayed. | EIP-1559 `simulate`. No `--legacy`. No `--gas-price`. Unset `ETH_GAS_PRICE` / `ETH_PRIORITY_GAS_PRICE`. No `--broadcast` by default. | Dry-run **gas limits** × **live** `eth_gasPrice` + `FUND_ETH_BUFFER_BPS` (default 2500 = 25%). Ignore Foundry’s on-screen ETH total. |
| **Dev-complete staged deploy** | Chain-specific. 4663 **on**. 46630 **off** only so rehearsal `UniswapV3Factory` can deploy. | Anvil local. Staged `all` on 4663 may use `--legacy --gas-price 2gwei` as a `feeHistory` workaround. | Per-Stage simulate, then broadcast. Never `--skip-simulation`. | **Not** a live funding quote. |
| **Public** | n/a | Live chain | `--sender $DEPLOYER_ADDRESS`. No `--unlocked`. No Phase 00. | Real fees. |

`--disable-code-size-limit` is a **dev-complete** flag. On a 4663 estimate it hides EIP-170 failures and understates codesize-adjacent gas.

## Structure (Phases / Stages)

Shells choose **which Stages** and **which signer**. Foundry does not encode Anvil vs public as two trees.

| Term | Meaning |
|------|---------|
| **Phase** | Slice of environment init (`00` Anvil-only, `01` external pins/rehearsal, … `09` export) |
| **Stage** | One Foundry unit inside a Phase |
| **File** | `Phase_<PP>_Stage_<SS>_<PascalName>.s.sol` + same-name `.sol` library |
| **JSON** | `deployments/<tree>/phase<PP>_stage<SS>_<slug>.json` |

Thin script: skip-or-execute, serialize JSON, log. Body lives in the library `execute()`.

Two shells, same Foundry Stages:

1. **Anvil:** fork that chain, Dev 0, `--unlocked`, Phase 00 then 01–N.
2. **Public:** `DEPLOYER_ADDRESS` (cast wallet). No Phase 00.

Do not invent Stages. If a Stage is missing from the tree’s PRD **and** plan, stop and amend the PRD.

Full layout, skip/pin/rehearsal, catalog: [references/phase-stage-structure.md](references/phase-stage-structure.md).

## Gas quote (4663 gold)

```bash
DEV_ADDRESS=0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 \
  bash scripts/shell/anvil_robinhood_main.sh simulate --restart-anvil
```

That path is `deploy_all.sh`: `launch_anvil` (no codesize cheat), `prepare_simulate_fees`,
`Script_SimulateArchitecture.s.sol` (one `startBroadcast` window, no broadcast),
`quote_simulate_funding` from `broadcast/…/dry-run/run-latest.json`.

`simulate` is **not** `all`. Do not run it after a completed staged deploy on the same Anvil
(CREATE3 / CREATE2 collision).

Procedure: [references/anvil-gas-estimate.md](references/anvil-gas-estimate.md).

## Dev-complete Anvil (46630 gold)

```bash
bash scripts/shell/anvil_robinhood_testnet.sh all
# public (no Phase 00):
export DEPLOYER_ADDRESS=0x...
bash scripts/shell/robinhood_testnet.sh all
```

`--chain-id 46630 --disable-code-size-limit --unlocked`. Forge also gets
`--disable-code-size-limit --non-interactive`. That run is a local lab, not a funding quote.

When EIP-170 may be off: [references/anvil-dev-complete.md](references/anvil-dev-complete.md).

## Progressive disclosure

| Reference | Load when |
|-----------|-----------|
| [references/phase-stage-structure.md](references/phase-stage-structure.md) | New Stage, rename, skip keys, shells, JSON |
| [references/frontend-export.md](references/frontend-export.md) | Stage JSON keys, `platform.json`, tokenlists, UI consumers |
| [references/anvil-gas-estimate.md](references/anvil-gas-estimate.md) | `simulate`, gas estimate, funding quote, 4663 Anvil flags |
| [references/anvil-dev-complete.md](references/anvil-dev-complete.md) | 46630 Anvil, `--disable-code-size-limit`, staged `all` |

## Constraints (do not violate)

- Never `new` facets or DFPkgs. Vault/DETF packages: manager / vault registry. `PkgInit` / `PkgArgs` on the **interface**.
- After production contract edits, `forge build` before `forge script`. IndexedEx FactoryServices load creation bytecode from `out/` (`ArtifactCreationCode` / `vm.getCode`). Skipping the build can deploy stale bytecode.
- `new Morpho` / `new UniswapV3Factory` only in **Phase 01 rehearsal** Stages.
- Pin Stages (Permit2, WETH, Uni V4) **fail** if the pin has no code. Never deploy those.
- Skip: all catalog skip keys in JSON are non-zero with `code.length > 0`, unless `FORCE=1`. Skipped Stage still rewrites JSON.
- Snapshot `FORCE` in `_loadConfig`. Do not re-read process env on every skip check (parallel tests share `FORCE`).
- Never `--skip-simulation`. Never `via_ir`. DETF **role names** only (`rateAsset`, `pairToken`, `underlyingVault`, `detfToken`, `rebasingClaimToken`).
- Do not treat Foundry’s simulated ETH cost as the deployer fund amount.
- Do not copy 46630 `--disable-code-size-limit` onto a 4663 gas quote.
- Do not resurrect a second **deploy** orchestrator (`Script_SimulateLaunch`, `deploy_all.sh` on 46630). Optional `simulate` may compose library `execute()` calls for a quote only.
- Do not edit `anvil_robinhood_main`, `anvil_robinhood_fee_detf`, or `chain/4663` unless the task names that tree.
- Stage numbers `08` / `09` are decimal: `printf '%02d' "$((10#$n))"`, never `printf '%02d' 08`.

## See also

- `skill:crane-deployment`: CREATE3 / DFPkg / FactoryService
- `skill:indexedex-testing`: tests, not launch shells
- `skill:indexedex-script-orchestration`: SuperSim / Sepolia bridge wrappers only
- `skill:indexedex-uniswap-v4-hook-packages`: hook DFPkg deploy path used by Phase 02/06
- PRD (46630 lab): `docs/ANVIL_ROBINHOOD_TESTNET_LAUNCH_SCRIPTS_REWRITE_PRD.md`
- PRD (4663 architecture): `docs/ANVIL_ROBINHOOD_MAIN_ARCHITECTURE_PHASE_STAGE_PRD.md`
- Plan: `docs/ANVIL_ROBINHOOD_TESTNET_LAUNCH_SCRIPTS_REWRITE_IMPLEMENTATION_AND_TEST_PLAN.md`
- 4663 README: `scripts/foundry/anvil_robinhood_main/README.md`

Files in this skill

  • SKILL.md6.8 KB
  • references/anvil-dev-complete.md3.8 KB
  • references/anvil-gas-estimate.md5.6 KB
  • references/frontend-export.md12.4 KB
  • references/phase-stage-structure.md7.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.