Playbook целиком: ../README.md § Playbook (шаги 3–5 — этот файл; шаг 2 Merkle — ../scripts/README.md; папка кампании — ../campaigns/README.md).
Каркас — да, числа — нет.
| Часть | Поведение |
|---|---|
| Логика | Всегда: TestToken → MerkleClaim → mint на claim-контракт |
MERKLE_ROOT |
Вручную из campaigns/<id>/output/proof.json → merkleRoot |
FUND_CLAIM_CONTRACT |
Вручную = сумма всех выплат из whitelist.csv (raw, 6 decimals) |
| Имя токена | Константы TOKEN_NAME / TOKEN_SYMBOL / TOKEN_DECIMALS в Deploy.s.sol |
Перед новой кампанией (002, 003…):
npm run build-treeиnpm run get-proofдля этогоCAMPAIGN_ID.- Открыть
script/Deploy.s.solи обновить обе константы. forge script script/Deploy.s.sol:Deploy --rpc-url sepolia --broadcast -vvvv- Записать адреса в
campaigns/<id>/deploy.json.
Каждый деплой = новые адреса TestToken и MerkleClaim. Старые кампании не перезаписываются.
3 адреса × 1_800_000 (6 decimals):
uint256 constant FUND_CLAIM_CONTRACT = 5_400_000 * 1e6;2 адреса × 2_000_000:
uint256 constant FUND_CLAIM_CONTRACT = 4_000_000 * 1e6;forge script script/Deploy.s.sol:Deploy --rpc-url sepolia --broadcast -vvvvСм. также: FOUNDRY.md, README.md (раздел деплоя).