@@ -134,7 +134,6 @@ var PrecompiledContractsPrague = PrecompiledContracts{
134134 common .BytesToAddress ([]byte {0x07 }): & bn256ScalarMulIstanbul {},
135135 common .BytesToAddress ([]byte {0x08 }): & bn256PairingIstanbul {},
136136 common .BytesToAddress ([]byte {0x09 }): & blake2F {},
137- common .BytesToAddress ([]byte {0x0a }): & kzgPointEvaluation {},
138137 common .BytesToAddress ([]byte {0x0b }): & bls12381G1Add {},
139138 common .BytesToAddress ([]byte {0x0c }): & bls12381G1MultiExp {},
140139 common .BytesToAddress ([]byte {0x0d }): & bls12381G2Add {},
@@ -191,7 +190,6 @@ var PrecompiledContractsMadhugiri = PrecompiledContracts{
191190 common .BytesToAddress ([]byte {0x07 }): & bn256ScalarMulIstanbul {},
192191 common .BytesToAddress ([]byte {0x08 }): & bn256PairingIstanbul {},
193192 common .BytesToAddress ([]byte {0x09 }): & blake2F {},
194- common .BytesToAddress ([]byte {0x0a }): & kzgPointEvaluation {},
195193 common .BytesToAddress ([]byte {0x0b }): & bls12381G1Add {},
196194 common .BytesToAddress ([]byte {0x0c }): & bls12381G1MultiExp {},
197195 common .BytesToAddress ([]byte {0x0d }): & bls12381G2Add {},
@@ -213,7 +211,6 @@ var PrecompiledContractsMadhugiriPro = PrecompiledContracts{
213211 common .BytesToAddress ([]byte {0x07 }): & bn256ScalarMulIstanbul {},
214212 common .BytesToAddress ([]byte {0x08 }): & bn256PairingIstanbul {},
215213 common .BytesToAddress ([]byte {0x09 }): & blake2F {},
216- common .BytesToAddress ([]byte {0x0a }): & kzgPointEvaluation {},
217214 common .BytesToAddress ([]byte {0x0b }): & bls12381G1Add {},
218215 common .BytesToAddress ([]byte {0x0c }): & bls12381G1MultiExp {},
219216 common .BytesToAddress ([]byte {0x0d }): & bls12381G2Add {},
@@ -247,7 +244,30 @@ var PrecompiledContractsLisovo = PrecompiledContracts{
247244 common .BytesToAddress ([]byte {0x01 , 0x00 }): & p256Verify {eip7951 : true },
248245}
249246
247+ // PrecompiledContractsLisovoPro contains the set of pre-compiled Ethereum
248+ // contracts used in the LisovoPro release (bor HF).
249+ var PrecompiledContractsLisovoPro = PrecompiledContracts {
250+ common .BytesToAddress ([]byte {0x01 }): & ecrecover {},
251+ common .BytesToAddress ([]byte {0x02 }): & sha256hash {},
252+ common .BytesToAddress ([]byte {0x03 }): & ripemd160hash {},
253+ common .BytesToAddress ([]byte {0x04 }): & dataCopy {},
254+ common .BytesToAddress ([]byte {0x05 }): & bigModExp {eip2565 : true , eip7823 : true , eip7883 : true },
255+ common .BytesToAddress ([]byte {0x06 }): & bn256AddIstanbul {},
256+ common .BytesToAddress ([]byte {0x07 }): & bn256ScalarMulIstanbul {},
257+ common .BytesToAddress ([]byte {0x08 }): & bn256PairingIstanbul {},
258+ common .BytesToAddress ([]byte {0x09 }): & blake2F {},
259+ common .BytesToAddress ([]byte {0x0b }): & bls12381G1Add {},
260+ common .BytesToAddress ([]byte {0x0c }): & bls12381G1MultiExp {},
261+ common .BytesToAddress ([]byte {0x0d }): & bls12381G2Add {},
262+ common .BytesToAddress ([]byte {0x0e }): & bls12381G2MultiExp {},
263+ common .BytesToAddress ([]byte {0x0f }): & bls12381Pairing {},
264+ common .BytesToAddress ([]byte {0x10 }): & bls12381MapG1 {},
265+ common .BytesToAddress ([]byte {0x11 }): & bls12381MapG2 {},
266+ common .BytesToAddress ([]byte {0x01 , 0x00 }): & p256Verify {eip7951 : true },
267+ }
268+
250269var (
270+ PrecompiledAddressesLisovoPro []common.Address
251271 PrecompiledAddressesLisovo []common.Address
252272 PrecompiledAddressesMadhugiriPro []common.Address
253273 PrecompiledAddressesMadhugiri []common.Address
@@ -294,10 +314,15 @@ func init() {
294314 for k := range PrecompiledContractsLisovo {
295315 PrecompiledAddressesLisovo = append (PrecompiledAddressesLisovo , k )
296316 }
317+ for k := range PrecompiledContractsLisovoPro {
318+ PrecompiledAddressesLisovoPro = append (PrecompiledAddressesLisovoPro , k )
319+ }
297320}
298321
299322func activePrecompiledContracts (rules params.Rules ) PrecompiledContracts {
300323 switch {
324+ case rules .IsLisovoPro :
325+ return PrecompiledContractsLisovoPro
301326 case rules .IsLisovo :
302327 return PrecompiledContractsLisovo
303328 case rules .IsMadhugiriPro :
@@ -331,6 +356,8 @@ func ActivePrecompiledContracts(rules params.Rules) PrecompiledContracts {
331356// ActivePrecompiles returns the precompile addresses enabled with the current configuration.
332357func ActivePrecompiles (rules params.Rules ) []common.Address {
333358 switch {
359+ case rules .IsLisovoPro :
360+ return PrecompiledAddressesLisovoPro
334361 case rules .IsLisovo :
335362 return PrecompiledAddressesLisovo
336363 case rules .IsMadhugiriPro :
0 commit comments