Skip to content

Deploy + migration tasks for OrderBook → Raindex rename (#2526) #2574

@thedavidmeister

Description

@thedavidmeister

Tracking issue for the deploy and downstream-migration work needed around merging #2526 (OrderBook → Raindex rename).

The PR itself is code-complete with green CI and E2E sign-off. This issue covers everything outside the merge that has to happen for the rename to actually land in production.

Ordering

Roughly:

  1. Pre/at merge — sub-parser + Goldsky subgraph deploys (from the PR branch, so consumers can cut over without a broken window).
  2. At merge — merge Rename OrderBook to Raindex #2526; publish npm package.
  3. Post merge — Vercel config; downstream config updates (strategies, external .rain files, API/JS consumers); user-side cache clear happens organically.

Pre-merge / gating

  • Deploy new RaindexV6SubParser contract
    • Old address: 0xC17693a98370970D8Ec2d47d0cc37E847f035710
    • New address: 0x6E81D70fD7801Cf21DD177f82c2e5BCffb86321E (Zoltu deterministic)
    • New bytecode hash: 0x78d0f0b8b03d9e9e6cd09a013754032a57cb688a13a98cb130df43d282ead580
    • Why bytecode changed: the sub-parser embeds a string literal for the word it matches (WORD_ORDERBOOK = "orderbook"WORD_RAINDEX = "raindex" in src/lib/LibRaindexSubParser.sol). The string is data baked into deployed bytecode.
    • The main RaindexV6 orderbook contract is NOT being redeployed. It stays at 0x7242ce1ffe34297921c54cD7f9343c411E1E7759. Pure Solidity identifier renames (OrderBookV6RaindexV6 etc.) don't change bytecode. GenericPoolRaindexV6ArbOrderTaker and GenericPoolRaindexV6FlashBorrower also unchanged.
  • Deploy new Goldsky raindex-* subgraphs for arbitrum-one, matic, base, flare — run Deploy subgraph workflow on rename-orderbook-to-raindex branch (workflow already updated to GOLDSKY_SUBGRAPH_NAME: raindex). Full re-index from existing startBlock per chain, takes time. All four networks point at the unchanged main contract 0x7242ce1f…7759.

At merge

  • Merge Rename OrderBook to Raindex #2526 once the above are deployed
  • Publish new @rainlanguage/raindex npm package
  • Coordinate npm publish — consumers must explicitly switch from @rainlanguage/orderbook to @rainlanguage/raindex (not an in-place upgrade)

Post-merge — config & downstream

  • Verify Vercel project configs point to packages/raindex (not packages/orderbook)
  • Update subgraph URLs in all strategy YAML configs to point at new Goldsky raindex-* endpoints
  • Update external .rain strategy files: orderbooks:raindexes:, orderbook:raindex:, bump to version: 6
  • Update external .rain source using the orderbook() word → raindex() (this is the user-facing effect of the sub-parser word literal change)
  • Update any API consumers parsing old JSON field names (obIdraindexId, orderbookAddressraindexAddress, "orderbook""raindex" on trade/order objects, "orderbook" field in TakeOrdersReadyResponse)
  • Update any JS/TS code using the WASM API: OrderbookYamlRaindexYaml, OrderbookYamlErrorRaindexYamlError, getOrderbookByAddress()getRaindexByAddress(), .orderbook().raindex() on RaindexOrder/RaindexVault/TakeOrdersInfo, .orderbookAddress.raindexAddress on DeploymentTransactionArgs

User-side (organic)

  • Users clear local DB cache — DB_SCHEMA_VERSION bumped 2→3, fresh sync required

Already done (per #2526 checklist)

  • Rebuild remote DB dumps with new schema (raindex_address columns)
  • Update rain.strategies registry to version 6 with raindexes: keys
  • Update RAINLANG_URL in packages/webapp/src/lib/constants.ts to new strategies commit
  • Merge Rename ob-yaml.md to raindex-yaml.md specs#52 (rename ob-yaml.md → raindex-yaml.md)

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions