Conversation
Deployment and verification steps: > npx hardhat deploy --tags TokenStaking --network mainnet > npx hardhat verify --network mainnet <IMPLEMENTATION_ADDRESS> "0xcdf7028ceab81fa0c6971208e83fa7872994bee5"
piotr-roslaniec
dismissed stale reviews from ghost
September 2, 2025 14:09
Dismissing fraudulent review from compromised account (Incident: THRESH-SEC-2025-001)
This was referenced Sep 8, 2026
Copy both historical implementation records unchanged from advisory-fix-1 at 6ec3ad0. Validate the creation transactions, constructor arguments, implementation version keys, compiled bytecode, and storage layouts before retiring the obsolete mainnet upgrade proposal.
mswilkison
marked this pull request as ready for review
September 8, 2026 21:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Consolidates historical TokenStaking mainnet deployment records from #140 with the 2025 TIP-100 records in this PR. Adds the May 11 and November 20, 2023 implementation records alongside the March 6 and August 16, 2025 implementations and proxies. All existing manifest entries, the proxy admin, and the original staking proxy are preserved. The branch includes
mainat43f926f; its only file difference from that base is.openzeppelin/mainnet.json.0x409bf77A8E3Fe384497227eA508029B5364933DE0x4d333B9ECB75252342d82B7aF3610951f81e08880x9F84fDAb30a46c541BD3F7E79276Ae476143cEDa0x44FFe6b958A69c838ecEF2B850f0500e7EEeE2e60xF5a2ccFEA213cB3ff0799E0C33ea2fA3da7CBB650xa90e3575f37f7052a261033C69FfF17BBB18c260The November 2023 row uses the implementation creation transaction's November 20 timestamp. #140's description separately reported a November 22 upgrade; this PR does not equate implementation creation with a proxy upgrade.
Validation against public Ethereum Blockscout records on 2026-09-08:
6ec3ad0. Every entry previously in Preserve historical TokenStaking deployments (2023–2025) #173 atf9b43a5remains unchanged.0xCdF7028ceAB81fA0C6971208e83fa7872994beE5.0.8.9+commit.e5eed63a, optimizer enabled with 10 runs, reproduces its creation bytecode excluding compiler metadata. Runtime bytecode matches after normalizing compiler-declared immutable positions and removing compiler metadata. Each implementation's 18 storage fields and all recorded struct and enum layouts match the compiler output.git diff --checkpasses. Solidity, deployment scripts,deployments/mainnet/, Hardhat configuration, and dependencies matchmain. CI for refreshed commitaa0a731passed the contract build and full test suite, deployment dry run, and Slither. The Code Format Checks job also passed.These entries preserve deployment history. They are not a complete snapshot of the latest mainnet implementation or approval for a new upgrade. The original staking proxy at
0x01B67b1194C75264d06F808A921228a95C765dd7resolved to the later implementation0x5a444db12705706bD7b24393F823f3A8C67D71FBin the September 8 explorer lookup. Its address indeployments/mainnet/TokenStaking.jsonis preserved.Following TokenStaking's retirement, #140's mainnet upgrade scripts, dedicated upgrade-validation CI, and verification changes are obsolete in that scope. This PR preserves its unique historical manifest records. Active Sepolia upgrade tooling remains in #176, consumer proxy deployment support in #186, and verification for maintained deployments in #185 coordinated with #182. The existing OpenZeppelin upgrades dependency remains because retained tests and deployment flows use it.