[PASSED] OP-PIP-79: Entropy v2 Mainnet Upgrade

Abstract

Upgrade the Entropy contracts on mainnet to version 2.0.

This follows the testnet upgrade done here.

Rationale

The v2.0 upgrade will introduce significant quality of life improvements for all Entropy users.

Description

Entropy version 2.0 introduces several developer experience upgrades around callbacks, including configurable gas limits and better error reporting. It also improves the event definition and simplifies the user-facing API.

Implementation

Proposal: Pyth Network

  1. Make sure you have node-js, forge and jq installed.
    a. node-js: install nvm from here. Install node-js 22 (nvm install 22; nvm use 22)
    b. forge: install it from here
    c. jq: install it from here
  2. Clone the pyth-crosschain repo (git clone https://github.com/pyth-network/pyth-crosschain.git). Go to the pyth-crosschain directory and run the following command: pnpm i
  3. Get the on-chain implementation code digest by going to the contract_manager directory and running npx ts-node scripts/check_proposal.ts --cluster mainnet-beta --proposal <proposal id>
  4. Get the source code digest by going to the target_chains/ethereum/contracts directory angd running pnpm exec truffle compile --all && cat build/contracts/EntropyUpgradable.json | jq -r .deployedBytecode | tr -d '\r\n' | cast keccak. The expected hash is 0x6ed1adf0838150b563fef366873dbdcf7bc8acb8d3d74bd904c23a4f4e943c62
  5. Check the hash digest from the on-chain implementation (from step 3) matches the hash digest from the source code (from step 4).
2 Likes