Skip to content
This repository was archived by the owner on Nov 6, 2020. It is now read-only.

Commit b2277f6

Browse files
authored
v2.5.9-stable (#11089)
* ethcore/res: activate Istanbul on Ropsten, Görli, Rinkeby, Kovan (#11068) * ethcore/res: activate Istanbul on Ropsten block 6485846 * ethcore/res: activate Istanbul on Goerli block 1561651 * ethcore/res: use hex values for Istanbul specs * ethcore/res: fix trailing comma * ethcore/res: be pedantic about EIP-1283 in Petersburg and Istanbul test specs * ethcore/res: activate Istanbul on Rinkeby block 5435345 * ethcore/res: activate Istanbul on Kovan block 14111141 * ethcore/res: fix kovan istanbul number to 0xd751a5 * [json-spec] make blake2 pricing spec more readable (#11034) * [json-spec] make blake2 pricing spec more readable * [ethcore] fix compilation * Manual backport of #11033
1 parent c52a6c8 commit b2277f6

File tree

12 files changed

+215
-24
lines changed

12 files changed

+215
-24
lines changed

ethcore/res/ethereum/goerli.json

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@
2626
"eip1052Transition": "0x0",
2727
"eip1283Transition": "0x0",
2828
"eip1283DisableTransition": "0x0",
29+
"eip1283ReenableTransition": "0x17d433",
30+
"eip1344Transition": "0x17d433",
31+
"eip1706Transition": "0x17d433",
32+
"eip1884Transition": "0x17d433",
33+
"eip2028Transition": "0x17d433",
2934
"gasLimitBoundDivisor": "0x400",
3035
"maxCodeSize": "0x6000",
3136
"maxCodeSizeTransition": "0x0",
@@ -126,7 +131,7 @@
126131
"builtin": {
127132
"name": "alt_bn128_add",
128133
"activate_at": "0x00",
129-
"eip1108_transition": "0x7fffffffffffff",
134+
"eip1108_transition": "0x17d433",
130135
"pricing": {
131136
"alt_bn128_const_operations": {
132137
"price": 500,
@@ -140,7 +145,7 @@
140145
"builtin": {
141146
"name": "alt_bn128_mul",
142147
"activate_at": "0x00",
143-
"eip1108_transition": "0x7fffffffffffff",
148+
"eip1108_transition": "0x17d433",
144149
"pricing": {
145150
"alt_bn128_const_operations": {
146151
"price": 40000,
@@ -154,7 +159,7 @@
154159
"builtin": {
155160
"name": "alt_bn128_pairing",
156161
"activate_at": "0x00",
157-
"eip1108_transition": "0x7fffffffffffff",
162+
"eip1108_transition": "0x17d433",
158163
"pricing": {
159164
"alt_bn128_pairing": {
160165
"base": 100000,
@@ -166,7 +171,16 @@
166171
}
167172
},
168173
"0x0000000000000000000000000000000000000009": {
169-
"balance": "0x1"
174+
"balance": "0x1",
175+
"builtin": {
176+
"name": "blake2_f",
177+
"activate_at": "0x17d433",
178+
"pricing": {
179+
"blake2_f": {
180+
"gas_per_round": 1
181+
}
182+
}
183+
}
170184
},
171185
"0x000000000000000000000000000000000000000a": {
172186
"balance": "0x1"
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
{
2+
"name": "Istanbul (test)",
3+
"engine": {
4+
"Ethash": {
5+
"params": {
6+
"minimumDifficulty": "0x020000",
7+
"difficultyBoundDivisor": "0x0800",
8+
"durationLimit": "0x0d",
9+
"blockReward": "0x1BC16D674EC80000",
10+
"homesteadTransition": "0x0",
11+
"eip100bTransition": "0x0",
12+
"difficultyBombDelays": {
13+
"0": 5000000
14+
}
15+
}
16+
}
17+
},
18+
"params": {
19+
"gasLimitBoundDivisor": "0x0400",
20+
"registrar" : "0xc6d9d2cd449a754c494264e1809c50e34d64562b",
21+
"accountStartNonce": "0x00",
22+
"maximumExtraDataSize": "0x20",
23+
"minGasLimit": "0x1388",
24+
"networkID" : "0x1",
25+
"maxCodeSize": 24576,
26+
"maxCodeSizeTransition": "0x0",
27+
"eip150Transition": "0x0",
28+
"eip160Transition": "0x0",
29+
"eip161abcTransition": "0x0",
30+
"eip161dTransition": "0x0",
31+
"eip140Transition": "0x0",
32+
"eip211Transition": "0x0",
33+
"eip214Transition": "0x0",
34+
"eip155Transition": "0x0",
35+
"eip658Transition": "0x0",
36+
"eip145Transition": "0x0",
37+
"eip1014Transition": "0x0",
38+
"eip1052Transition": "0x0",
39+
"eip1283Transition": "0x0",
40+
"eip1283DisableTransition": "0x0",
41+
"eip1283ReenableTransition": "0x0",
42+
"eip1344Transition": "0x0",
43+
"eip1706Transition": "0x0",
44+
"eip1884Transition": "0x0",
45+
"eip2028Transition": "0x0"
46+
},
47+
"genesis": {
48+
"seal": {
49+
"ethereum": {
50+
"nonce": "0x0000000000000042",
51+
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
52+
}
53+
},
54+
"difficulty": "0x400000000",
55+
"author": "0x0000000000000000000000000000000000000000",
56+
"timestamp": "0x00",
57+
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
58+
"extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa",
59+
"gasLimit": "0x1388"
60+
},
61+
"accounts": {
62+
"0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
63+
"0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
64+
"0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
65+
"0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
66+
"0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": "0x00", "pricing": { "modexp": { "divisor": 20 } } } },
67+
"0000000000000000000000000000000000000006": {
68+
"builtin": {
69+
"name": "alt_bn128_add",
70+
"activate_at": "0x00",
71+
"eip1108_transition": "0x0",
72+
"pricing": {
73+
"alt_bn128_const_operations": {
74+
"price": 500,
75+
"eip1108_transition_price": 150
76+
}
77+
}
78+
}
79+
},
80+
"0000000000000000000000000000000000000007": {
81+
"builtin": {
82+
"name": "alt_bn128_mul",
83+
"activate_at": "0x00",
84+
"eip1108_transition": "0x0",
85+
"pricing": {
86+
"alt_bn128_const_operations": {
87+
"price": 40000,
88+
"eip1108_transition_price": 6000
89+
}
90+
}
91+
}
92+
},
93+
"0000000000000000000000000000000000000008": {
94+
"builtin": {
95+
"name": "alt_bn128_pairing",
96+
"activate_at": "0x00",
97+
"eip1108_transition": "0x0",
98+
"pricing": {
99+
"alt_bn128_pairing": {
100+
"base": 100000,
101+
"pair": 80000,
102+
"eip1108_transition_base": 45000,
103+
"eip1108_transition_pair": 34000
104+
}
105+
}
106+
}
107+
},
108+
"0000000000000000000000000000000000000009": {
109+
"builtin": {
110+
"name": "blake2_f",
111+
"activate_at": "0x00",
112+
"pricing": {
113+
"blake2_f": {
114+
"gas_per_round": 1
115+
}
116+
}
117+
}
118+
}
119+
}
120+
}

ethcore/res/ethereum/kovan.json

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@
6464
"eip1052Transition": "0x8c6180",
6565
"eip1283Transition": "0x8c6180",
6666
"eip1283DisableTransition": "0x9c7b61",
67+
"eip1283ReenableTransition": "0xd751a5",
68+
"eip1344Transition": "0xd751a5",
69+
"eip1706Transition": "0xd751a5",
70+
"eip1884Transition": "0xd751a5",
71+
"eip2028Transition": "0xd751a5",
6772
"kip4Transition": "0x8c6180",
6873
"kip6Transition": "0x8c6180"
6974
},
@@ -5344,7 +5349,7 @@
53445349
"builtin": {
53455350
"name": "alt_bn128_add",
53465351
"activate_at": "0x4d50f8",
5347-
"eip1108_transition": "0x7fffffffffffff",
5352+
"eip1108_transition": "0xd751a5",
53485353
"pricing": {
53495354
"alt_bn128_const_operations": {
53505355
"price": 500,
@@ -5357,7 +5362,7 @@
53575362
"builtin": {
53585363
"name": "alt_bn128_mul",
53595364
"activate_at": "0x4d50f8",
5360-
"eip1108_transition": "0x7fffffffffffff",
5365+
"eip1108_transition": "0xd751a5",
53615366
"pricing": {
53625367
"alt_bn128_const_operations": {
53635368
"price": 40000,
@@ -5370,7 +5375,7 @@
53705375
"builtin": {
53715376
"name": "alt_bn128_pairing",
53725377
"activate_at": "0x4d50f8",
5373-
"eip1108_transition": "0x7fffffffffffff",
5378+
"eip1108_transition": "0xd751a5",
53745379
"pricing": {
53755380
"alt_bn128_pairing": {
53765381
"base": 100000,
@@ -5381,6 +5386,17 @@
53815386
}
53825387
}
53835388
},
5389+
"0x0000000000000000000000000000000000000009": {
5390+
"builtin": {
5391+
"name": "blake2_f",
5392+
"activate_at": "0xd751a5",
5393+
"pricing": {
5394+
"blake2_f": {
5395+
"gas_per_round": 1
5396+
}
5397+
}
5398+
}
5399+
},
53845400
"0x00521965e7bd230323c423d96c657db5b79d099f": {
53855401
"balance": "1606938044258990275541962092341162602522202993782792835301376"
53865402
}

ethcore/res/ethereum/rinkeby.json

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@
2626
"eip1052Transition": "0x37db77",
2727
"eip1283Transition": "0x37db77",
2828
"eip1283DisableTransition": "0x41efd2",
29+
"eip1283ReenableTransition": "0x52efd1",
30+
"eip1344Transition": "0x52efd1",
31+
"eip1706Transition": "0x52efd1",
32+
"eip1884Transition": "0x52efd1",
33+
"eip2028Transition": "0x52efd1",
2934
"gasLimitBoundDivisor": "0x400",
3035
"maxCodeSize": "0x6000",
3136
"maxCodeSizeTransition": "0x0",
@@ -120,7 +125,7 @@
120125
"builtin": {
121126
"name": "alt_bn128_add",
122127
"activate_at": "0xfcc25",
123-
"eip1108_transition": "0x7fffffffffffff",
128+
"eip1108_transition": "0x52efd1",
124129
"pricing": {
125130
"alt_bn128_const_operations": {
126131
"price": 500,
@@ -133,7 +138,7 @@
133138
"builtin": {
134139
"name": "alt_bn128_mul",
135140
"activate_at": "0xfcc25",
136-
"eip1108_transition": "0x7fffffffffffff",
141+
"eip1108_transition": "0x52efd1",
137142
"pricing": {
138143
"alt_bn128_const_operations": {
139144
"price": 40000,
@@ -146,7 +151,7 @@
146151
"builtin": {
147152
"name": "alt_bn128_pairing",
148153
"activate_at": "0xfcc25",
149-
"eip1108_transition": "0x7fffffffffffff",
154+
"eip1108_transition": "0x52efd1",
150155
"pricing": {
151156
"alt_bn128_pairing": {
152157
"base": 100000,
@@ -158,7 +163,16 @@
158163
}
159164
},
160165
"0x0000000000000000000000000000000000000009": {
161-
"balance": "0x1"
166+
"balance": "0x1",
167+
"builtin": {
168+
"name": "blake2_f",
169+
"activate_at": "0x52efd1",
170+
"pricing": {
171+
"blake2_f": {
172+
"gas_per_round": 1
173+
}
174+
}
175+
}
162176
},
163177
"0x000000000000000000000000000000000000000a": {
164178
"balance": "0x1"

ethcore/res/ethereum/ropsten.json

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,12 @@
4545
"eip1014Transition": "0x408b70",
4646
"eip1052Transition": "0x408b70",
4747
"eip1283Transition": "0x408b70",
48-
"eip1283DisableTransition": "0x4b5e82"
48+
"eip1283DisableTransition": "0x4b5e82",
49+
"eip1283ReenableTransition": "0x62f756",
50+
"eip1344Transition": "0x62f756",
51+
"eip1706Transition": "0x62f756",
52+
"eip1884Transition": "0x62f756",
53+
"eip2028Transition": "0x62f756"
4954
},
5055
"genesis": {
5156
"seal": {
@@ -2735,7 +2740,7 @@
27352740
"builtin": {
27362741
"name": "alt_bn128_add",
27372742
"activate_at": "0x19f0a0",
2738-
"eip1108_transition": "0x7fffffffffffff",
2743+
"eip1108_transition": "0x62f756",
27392744
"pricing": {
27402745
"alt_bn128_const_operations": {
27412746
"price": 500,
@@ -2750,7 +2755,7 @@
27502755
"builtin": {
27512756
"name": "alt_bn128_mul",
27522757
"activate_at": "0x19f0a0",
2753-
"eip1108_transition": "0x7fffffffffffff",
2758+
"eip1108_transition": "0x62f756",
27542759
"pricing": {
27552760
"alt_bn128_const_operations": {
27562761
"price": 40000,
@@ -2765,7 +2770,7 @@
27652770
"builtin": {
27662771
"name": "alt_bn128_pairing",
27672772
"activate_at": "0x19f0a0",
2768-
"eip1108_transition": "0x7fffffffffffff",
2773+
"eip1108_transition": "0x62f756",
27692774
"pricing": {
27702775
"alt_bn128_pairing": {
27712776
"base": 100000,
@@ -2777,7 +2782,16 @@
27772782
}
27782783
},
27792784
"0x0000000000000000000000000000000000000009": {
2780-
"balance": "0x1"
2785+
"balance": "0x1",
2786+
"builtin": {
2787+
"name": "blake2_f",
2788+
"activate_at": "0x62f756",
2789+
"pricing": {
2790+
"blake2_f": {
2791+
"gas_per_round": 1
2792+
}
2793+
}
2794+
}
27812795
},
27822796
"0x000000000000000000000000000000000000000a": {
27832797
"balance": "0x0"

ethcore/res/ethereum/st_peters_test.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"eip145Transition": "0x0",
3737
"eip1014Transition": "0x0",
3838
"eip1052Transition": "0x0",
39+
"eip1283Transition": "0x0",
3940
"eip1283DisableTransition": "0x0"
4041
},
4142
"genesis": {

ethcore/src/builtin.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,8 @@ impl Builtin {
235235
impl From<ethjson::spec::Builtin> for Builtin {
236236
fn from(b: ethjson::spec::Builtin) -> Self {
237237
let pricer: Box<dyn Pricer> = match b.pricing {
238-
ethjson::spec::Pricing::Blake2F(cost_per_round) => {
239-
Box::new(cost_per_round)
238+
ethjson::spec::Pricing::Blake2F { gas_per_round } => {
239+
Box::new(gas_per_round)
240240
},
241241
ethjson::spec::Pricing::Linear(linear) => {
242242
Box::new(Linear {

ethcore/src/client/evm_test_client.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ impl<'a> EvmTestClient<'a> {
9494
ForkSpec::Byzantium => Some(ethereum::new_byzantium_test()),
9595
ForkSpec::Constantinople => Some(ethereum::new_constantinople_test()),
9696
ForkSpec::ConstantinopleFix => Some(ethereum::new_constantinople_fix_test()),
97+
ForkSpec::Istanbul => Some(ethereum::new_istanbul_test()),
9798
ForkSpec::EIP158ToByzantiumAt5 => Some(ethereum::new_transition_test()),
9899
ForkSpec::FrontierToHomesteadAt5 | ForkSpec::HomesteadToDaoAt5 | ForkSpec::HomesteadToEIP150At5 => None,
99100
}

ethcore/src/ethereum/mod.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,9 @@ pub fn new_constantinople_test() -> Spec { load(None, include_bytes!("../../res/
166166
/// Create a new Foundation St. Peter's (Contantinople Fix) era spec.
167167
pub fn new_constantinople_fix_test() -> Spec { load(None, include_bytes!("../../res/ethereum/st_peters_test.json")) }
168168

169+
/// Create a new Foundation Istanbul era spec.
170+
pub fn new_istanbul_test() -> Spec { load(None, include_bytes!("../../res/ethereum/istanbul_test.json")) }
171+
169172
/// Create a new Musicoin-MCIP3-era spec.
170173
pub fn new_mcip3_test() -> Spec { load(None, include_bytes!("../../res/ethereum/mcip3_test.json")) }
171174

@@ -189,6 +192,9 @@ pub fn new_constantinople_test_machine() -> EthereumMachine { load_machine(inclu
189192
/// Create a new Foundation St. Peter's (Contantinople Fix) era spec.
190193
pub fn new_constantinople_fix_test_machine() -> EthereumMachine { load_machine(include_bytes!("../../res/ethereum/st_peters_test.json")) }
191194

195+
/// Create a new Foundation Istanbul era spec.
196+
pub fn new_istanbul_test_machine() -> EthereumMachine { load_machine(include_bytes!("../../res/ethereum/istanbul_test.json")) }
197+
192198
/// Create a new Musicoin-MCIP3-era spec.
193199
pub fn new_mcip3_test_machine() -> EthereumMachine { load_machine(include_bytes!("../../res/ethereum/mcip3_test.json")) }
194200

0 commit comments

Comments
 (0)