Skip to content

Commit b3ea863

Browse files
authored
chore: add extra addresses to ICS list on Hoodi (#551)
1 parent 33f9d24 commit b3ea863

File tree

8 files changed

+29
-7
lines changed

8 files changed

+29
-7
lines changed

artifacts/hoodi/ics/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Initial ICS list on Hoodi
22

33
Data collected as of block 761666, July 8, 2025.
4+
Updated with extra addresses 29 July, 2025.
45

56
Based on private CSM Hoodi Sybil Analysis source from 20.06.2025.
67

@@ -11,5 +12,6 @@ Initial list consists of the following categories:
1112

1213
Steps to reproduce the list:
1314
- Ensure all sources are correct and up-to-date
15+
- Change `PROVIDER_URL_HOODI` in `main.py`
1416
- To generate final list, run `main.py` script
1517
- To compose the Merkle tree, run `node compose.js` script

artifacts/hoodi/ics/addresses.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,8 @@
8484
"0xf701e2f078f863efd2e2bd0d6c4d4fbb53d90485",
8585
"0xde11d8689b5b5b2aaf7d447e3b2dcc54d25c74c1",
8686
"0xcb2537cc4efc82aae6fc4d18fff9a2918762c8c1",
87-
"0x2cfa62b6de5004ada55c52023f3bd90f083a88f5"
87+
"0x2cfa62b6de5004ada55c52023f3bd90f083a88f5",
88+
"0xed6225c0dea701c1a580ddce4c5c5aaeea648af5",
89+
"0xc013f43b2e15d3767656f13695e3172d8d556c89",
90+
"0x5ded65ce0b1f2bf4527903080028f99201e28719"
8891
]

artifacts/hoodi/ics/ics.csv

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,6 @@
8484
0xDE11D8689B5B5B2AaF7D447e3B2dcC54d25c74c1
8585
0xCb2537cc4EfC82aaE6fc4D18FFf9A2918762C8C1
8686
0x2CFa62B6dE5004adA55C52023f3bd90f083A88F5
87+
0xEd6225C0Dea701c1A580DdCE4C5c5AAeeA648AF5
88+
0xC013f43b2e15d3767656F13695E3172D8d556c89
89+
0x5dED65Ce0b1f2bf4527903080028F99201e28719

artifacts/hoodi/ics/main.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import json
22
from web3 import Web3
33

4-
PROVIDER_URL_MAINNET = "http://localhost:8545" # Replace with your actual Web3 provider URL
4+
PROVIDER_URL_HOODI = "http://localhost:8545" # Replace with your actual Web3 provider URL
55
CONTRACT_ADDRESS_HOODI = '0x79CEf36D84743222f37765204Bec41E92a93E59d'
66

77
with open("abi/csm_abi.json", "r") as file:
@@ -21,7 +21,12 @@ def main():
2121

2222
print(f"Total Associated Node Operators: {len(associated_operators)}")
2323

24-
w3 = Web3(Web3.HTTPProvider(PROVIDER_URL_MAINNET))
24+
with open("sources/extra_addresses.json", "r") as f:
25+
extra_addresses = json.load(f)
26+
27+
print(f"Total Extra Addresses: {len(extra_addresses)}")
28+
29+
w3 = Web3(Web3.HTTPProvider(PROVIDER_URL_HOODI))
2530
contract = w3.eth.contract(address=CONTRACT_ADDRESS_HOODI, abi=CSM_ABI, decode_tuples=True)
2631

2732
final_addresses = []
@@ -44,6 +49,10 @@ def extract_address(operator_id):
4449
final_addresses.append(no_address)
4550
print(f"Cluster Group {cluster_group}, First Operator ID: {first}, Address: {no_address}")
4651

52+
for extra_address in extra_addresses:
53+
final_addresses.append(extra_address)
54+
print(f"Extra Address: {extra_address}")
55+
4756
sorted_addresses = sorted(set(final_addresses), key=lambda x: final_addresses.index(x))
4857

4958
with open("ics.csv", "w") as f:

artifacts/hoodi/ics/merkle-proofs.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

artifacts/hoodi/ics/merkle-tree.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[
2+
"0xEd6225C0Dea701c1A580DdCE4C5c5AAeeA648AF5",
3+
"0xC013f43b2e15d3767656F13695E3172D8d556c89",
4+
"0x5dED65Ce0b1f2bf4527903080028F99201e28719"
5+
]

script/DeployHoodi.s.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ contract DeployHoodi is DeployBase {
9292
.identifiedCommunityStakersGateManager = 0x4AF43Ee34a6fcD1fEcA1e1F832124C763561dA53; // Dev team EOA
9393
config.identifiedCommunityStakersGateCurveId = 2;
9494
config
95-
.identifiedCommunityStakersGateTreeRoot = 0x30e01b38a2c9a20b4f530f068d9277700f9d19f3e06098509d4034888ee0ac7c; // See the first value in artifacts/hoodi/ics/merkle-tree.json
95+
.identifiedCommunityStakersGateTreeRoot = 0x6ddbc639b18ef7eee4e4262baf6e2bec58724b40b9e557df4bc78a0d9c2e0607; // See the first value in artifacts/hoodi/ics/merkle-tree.json
9696
config
97-
.identifiedCommunityStakersGateTreeCid = "bafkreigdvtiwusfrhd7ktonrwpiqlqga23usghv4odgjtj4nuyqsmv5yyu";
97+
.identifiedCommunityStakersGateTreeCid = "bafkreicr363zly5gj3gkpmamu2qzcpevw6tylwc767fxi3vfc2skcxanfi";
9898
// 1.5 -> 1.3
9999
config.identifiedCommunityStakersGateBondCurve.push([1, 1.5 ether]);
100100
config.identifiedCommunityStakersGateBondCurve.push([2, 1.3 ether]);

0 commit comments

Comments
 (0)