Skip to content

Commit 92b1ddd

Browse files
Branimir Rakiccursoragent
authored andcommitted
freeze(v8-v10): mainnet rollout (Base + NeuroWeb + Gnosis)
Deploys the v8->v10 freeze on all 3 mainnets. Hub-rotated contracts (uniform across chains): Staking 1.0.2-freeze 0xDaa40BEb1D73bC43E437cDC3188abE565119619d RandomSampling 1.0.1-freeze 0xA32780d6A89542462271ca6d2d78373889F1C2d9 verify_freeze.ts: 17/17 PASS on all 3 mainnets. Operational fixes captured here: - hardhat.config.ts: bump neuroweb_mainnet gasPrice from 100 to 15_000_000 wei. The previous value was 1600x below baseFeePerGas and was rejected with 'gas price less than block base fee'. The slightly unusual value (vs round 10_000_000) also helps invalidate previously-rejected tx hashes still cached by the parachain RPC's mempool dedup. - deployments/parameters.json: pin neuroweb_mainnet.stakeWithdrawalDelay override to '300' (intentional per-network value) so the standard policy diff doesn't auto-bump it on the next deploy. New operational scripts: - audit_hub_registry.mjs full Hub registry audit per chain - replace_hub_slot.ts generic single-slot Hub registry update (env-driven, dry-run by default) - replace_stale_slots_*.ts per-chain canonical batch (dry-run by default; REGISTRY_WRITE=1 to execute) - finalize_staking_swap_*.ts one-off Staking swap (recovered the NeuroWeb deploy after a hardhat-deploy partial-resume edge case) - simulate_freeze_claim_*.ts live-chain claimDelegatorRewards dry-run against a forked Base mainnet - registry_state_check_*.mjs on-chain verification that previously-registered addresses are no longer authorised by the Hub Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent c05a10c commit 92b1ddd

15 files changed

Lines changed: 2632 additions & 1051 deletions

abi/SafeCast.json

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
[
2+
{
3+
"inputs": [
4+
{
5+
"internalType": "uint8",
6+
"name": "bits",
7+
"type": "uint8"
8+
},
9+
{
10+
"internalType": "int256",
11+
"name": "value",
12+
"type": "int256"
13+
}
14+
],
15+
"name": "SafeCastOverflowedIntDowncast",
16+
"type": "error"
17+
},
18+
{
19+
"inputs": [
20+
{
21+
"internalType": "int256",
22+
"name": "value",
23+
"type": "int256"
24+
}
25+
],
26+
"name": "SafeCastOverflowedIntToUint",
27+
"type": "error"
28+
},
29+
{
30+
"inputs": [
31+
{
32+
"internalType": "uint8",
33+
"name": "bits",
34+
"type": "uint8"
35+
},
36+
{
37+
"internalType": "uint256",
38+
"name": "value",
39+
"type": "uint256"
40+
}
41+
],
42+
"name": "SafeCastOverflowedUintDowncast",
43+
"type": "error"
44+
},
45+
{
46+
"inputs": [
47+
{
48+
"internalType": "uint256",
49+
"name": "value",
50+
"type": "uint256"
51+
}
52+
],
53+
"name": "SafeCastOverflowedUintToInt",
54+
"type": "error"
55+
}
56+
]

deploy/034_deploy_migrator_v6_epochs_9to12_rewards.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
import { HardhatRuntimeEnvironment } from 'hardhat/types';
22
import { DeployFunction } from 'hardhat-deploy/types';
33

4+
// MigratorV6Epochs9to12Rewards is managed via a separate operational path on
5+
// these mainnets and must not be (re-)deployed by the standard pipeline here.
6+
// Remove the network from the skip set only when the operational handling
7+
// is updated accordingly.
8+
const SKIP_NETWORKS = new Set(['neuroweb_mainnet', 'gnosis_mainnet']);
9+
410
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
11+
if (SKIP_NETWORKS.has(hre.network.name)) {
12+
console.log(
13+
`Skipping MigratorV6Epochs9to12Rewards deploy on ${hre.network.name} (managed separately).`,
14+
);
15+
return;
16+
}
17+
518
await hre.helpers.deploy({
619
newContractName: 'MigratorV6Epochs9to12Rewards',
720
});

0 commit comments

Comments
 (0)