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