chore: sync submodule state (parent ref update)
Made-with: Cursor
This commit is contained in:
62
scripts/lib/deployment/README.md
Normal file
62
scripts/lib/deployment/README.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Deployment script library
|
||||
|
||||
Reusable helpers for deployment scripts: **tag-based CLI** (no .env placeholders for one-off values), **interactive prompts** when run without args, and **callable modular linking** so scripts can invoke each other with arguments.
|
||||
|
||||
## Conventions
|
||||
|
||||
- **Secrets and chain config** stay in `.env` (e.g. `PRIVATE_KEY`, RPC URLs, contract addresses).
|
||||
- **One-off or per-run values** are passed via **script tags** (e.g. `--eth 1.5`, `--chain bsc polygon`, `--lockbox`), not .env.
|
||||
- Scripts that accept amounts **prompt interactively** when run with no args and stdin is a TTY.
|
||||
- Scripts are **callable** from other scripts by passing the same tags (e.g. `run-all-four-gaps.sh g4 --eth 1`).
|
||||
|
||||
## Modules
|
||||
|
||||
| File | Purpose |
|
||||
|------|--------|
|
||||
| `prompts.sh` | Tag parsers: `parse_fund_tags` (--eth, --weth, --dry-run), `prompt_fund_amounts`, `eth_to_wei`, `parse_phase_tags` (g1, g2g3, g4), `parse_chain_filter` (--chain bsc polygon ...), `parse_lockbox_tag` (--lockbox / --no-lockbox), `parse_link_tags` (--link, --dry-run), `parse_dry_run_tag`, `parse_deploy_tag` (--deploy), `parse_delay_tag` (--delay). `L2_CHAIN_NAMES`, `normalize_chain_name`. |
|
||||
| `dotenv.sh` | `load_deployment_env`, `require_fund_lp_env`. |
|
||||
| `costs.sh` | Gas and cost helpers (existing). |
|
||||
|
||||
## Validate syntax (one command)
|
||||
|
||||
- **From this repo** (`smom-dbis-138`):
|
||||
`./scripts/deployment/check-syntax.sh`
|
||||
- **From workspace root** (e.g. `proxmox`):
|
||||
`./smom-dbis-138/scripts/deployment/check-syntax.sh`
|
||||
|
||||
Checks all tag-based deployment scripts and the lib with `bash -n`.
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
# From any script in scripts/deployment:
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "$SCRIPT_DIR/../lib/deployment/dotenv.sh"
|
||||
source "$SCRIPT_DIR/../lib/deployment/prompts.sh"
|
||||
load_deployment_env
|
||||
|
||||
# Parse G4 amounts from args, then prompt if still empty (TTY)
|
||||
parse_fund_tags "$@"
|
||||
prompt_fund_amounts
|
||||
# Use FUND_ETH_AMOUNT_WEI, FUND_WETH_AMOUNT_WEI
|
||||
```
|
||||
|
||||
## Example: G4 fund mainnet LP
|
||||
|
||||
- **Standalone:** `./scripts/deployment/fund-mainnet-lp.sh --eth 1.5 --weth 0.5`
|
||||
- **Interactive:** `./scripts/deployment/fund-mainnet-lp.sh`
|
||||
- **From run-all:** `./scripts/deployment/run-all-four-gaps.sh g4 --eth 1`
|
||||
|
||||
No `FUND_ETH_AMOUNT_WEI` / `FUND_WETH_AMOUNT_WEI` in .env.
|
||||
|
||||
## Other scripts (tags)
|
||||
|
||||
| Script | Tags |
|
||||
|--------|------|
|
||||
| deploy-pmm-all-l2s.sh | --chain bsc polygon ... (or DEPLOY_PMM_L2S_FILTER in .env) |
|
||||
| live-test-trustless-bridge.sh | --check (optional: print LP stats and BondManager totalEthHeld); prints cast commands for lock → claim → finalize → release |
|
||||
| deploy-trustless-l2s.sh | --chain, --lockbox / --no-lockbox |
|
||||
| fund-ccip-bridges-with-link.sh | --link amount, --dry-run |
|
||||
| fix-nonce-and-retry.sh | --chain, --script (positional still supported) |
|
||||
| run-remaining-g2g3-with-nonce-fix.sh | --delay, --lockbox / --no-lockbox |
|
||||
| check-balances-gas-and-deploy.sh | --deploy |
|
||||
Reference in New Issue
Block a user