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…