-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
Contract Redeploy Checklist
Reference checklist for every StoryFactory redeploy to Base mainnet. Learned from v1→v2→v3 cycle.
Steps (in order)
- Deploy new StoryFactory with correct
initialStorylineCount(skip past existing symbols on MCV2_Bond) - plotlink-contracts: Update factory address in
script/E2ETest.s.solandscript/E2ETestReverts.s.sol - plotlink: Update hardcoded mainnet address in
lib/contracts/constants.ts(STORY_FACTORY) - plotlink: Update
DEPLOYMENT_BLOCKinlib/contracts/constants.ts - plotlink: Update
packages/sdk/src/constants.ts(address + block) - plotlink: Update
.env.local→NEXT_PUBLIC_CONTRACT_ADDRESS - Basescan: Verify contract source —
forge verify-contract <address> src/StoryFactory.sol:StoryFactory --chain base --watch - E2E: Run contract E2E —
forge script script/E2ETest.s.sol --rpc-url base --broadcast -vvvv - E2E: Run indexer verification —
cd plotlink && npx tsx scripts/e2e-verify.ts --from-file ../plotlink-contracts/e2e-results.json
Why Each Step Matters
| Step | What breaks if skipped |
|---|---|
initialStorylineCount |
MCV2_Bond__TokenSymbolAlreadyExists() — symbol collision |
| E2E script address | Contract E2E runs against old factory |
constants.ts address |
Indexer filters by wrong contract, records don't persist |
DEPLOYMENT_BLOCK |
Backfill cron scans wrong block range |
.env.local |
Local dev server talks to old contract |
| Basescan verify | Source code not readable, can't debug on-chain |
| E2E run | No confidence that new contract + indexer pipeline works |
History
| Version | Address | Deploy Block | Initial Count |
|---|---|---|---|
| v1 | 0xc278F4099298118efA8dF30DF0F4876632571948 |
43,561,137 | 0 |
| v2 | 0x27B4FCf333f29a3865b3B76ea00C955D7b64BD0F |
43,606,398 | 0 |
| v3 | 0x337c5b96f03fB335b433291695A4171fd5dED8B0 |
43,609,150 | 8 |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation