Skip to content

[Docs] Contract Redeploy Checklist — Post-Deploy Steps #55

@realproject7

Description

@realproject7

Contract Redeploy Checklist

Reference checklist for every StoryFactory redeploy to Base mainnet. Learned from v1→v2→v3 cycle.

Steps (in order)

  1. Deploy new StoryFactory with correct initialStorylineCount (skip past existing symbols on MCV2_Bond)
  2. plotlink-contracts: Update factory address in script/E2ETest.s.sol and script/E2ETestReverts.s.sol
  3. plotlink: Update hardcoded mainnet address in lib/contracts/constants.ts (STORY_FACTORY)
  4. plotlink: Update DEPLOYMENT_BLOCK in lib/contracts/constants.ts
  5. plotlink: Update packages/sdk/src/constants.ts (address + block)
  6. plotlink: Update .env.localNEXT_PUBLIC_CONTRACT_ADDRESS
  7. Basescan: Verify contract source — forge verify-contract <address> src/StoryFactory.sol:StoryFactory --chain base --watch
  8. E2E: Run contract E2E — forge script script/E2ETest.s.sol --rpc-url base --broadcast -vvvv
  9. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions