@@ -56,16 +56,17 @@ var allPrecompiles = map[common.Address]PrecompiledContract{
56
56
common .BytesToAddress ([]byte {7 }): & bn256ScalarMulIstanbul {},
57
57
common .BytesToAddress ([]byte {8 }): & bn256PairingIstanbul {},
58
58
common .BytesToAddress ([]byte {9 }): & blake2F {},
59
- common .BytesToAddress ([]byte {10 }): & bls12381G1Add {},
60
- common .BytesToAddress ([]byte {11 }): & bls12381G1Mul {},
61
- common .BytesToAddress ([]byte {12 }): & bls12381G1MultiExp {},
62
- common .BytesToAddress ([]byte {13 }): & bls12381G2Add {},
63
- common .BytesToAddress ([]byte {14 }): & bls12381G2Mul {},
64
- common .BytesToAddress ([]byte {15 }): & bls12381G2MultiExp {},
65
- common .BytesToAddress ([]byte {16 }): & bls12381Pairing {},
66
- common .BytesToAddress ([]byte {17 }): & bls12381MapG1 {},
67
- common .BytesToAddress ([]byte {18 }): & bls12381MapG2 {},
68
- common .BytesToAddress ([]byte {20 }): & kzgPointEvaluation {},
59
+ common .BytesToAddress ([]byte {0x0a }): & kzgPointEvaluation {},
60
+
61
+ common .BytesToAddress ([]byte {0x0f , 0x0a }): & bls12381G1Add {},
62
+ common .BytesToAddress ([]byte {0x0f , 0x0b }): & bls12381G1Mul {},
63
+ common .BytesToAddress ([]byte {0x0f , 0x0c }): & bls12381G1MultiExp {},
64
+ common .BytesToAddress ([]byte {0x0f , 0x0d }): & bls12381G2Add {},
65
+ common .BytesToAddress ([]byte {0x0f , 0x0e }): & bls12381G2Mul {},
66
+ common .BytesToAddress ([]byte {0x0f , 0x0f }): & bls12381G2MultiExp {},
67
+ common .BytesToAddress ([]byte {0x0f , 0x10 }): & bls12381Pairing {},
68
+ common .BytesToAddress ([]byte {0x0f , 0x11 }): & bls12381MapG1 {},
69
+ common .BytesToAddress ([]byte {0x0f , 0x12 }): & bls12381MapG2 {},
69
70
}
70
71
71
72
// EIP-152 test vectors
@@ -303,37 +304,38 @@ func benchJson(name, addr string, b *testing.B) {
303
304
}
304
305
}
305
306
306
- func TestPrecompiledBLS12381G1Add (t * testing.T ) { testJson ("blsG1Add" , "0a" , t ) }
307
- func TestPrecompiledBLS12381G1Mul (t * testing.T ) { testJson ("blsG1Mul" , "0b" , t ) }
308
- func TestPrecompiledBLS12381G1MultiExp (t * testing.T ) { testJson ("blsG1MultiExp" , "0c" , t ) }
309
- func TestPrecompiledBLS12381G2Add (t * testing.T ) { testJson ("blsG2Add" , "0d" , t ) }
310
- func TestPrecompiledBLS12381G2Mul (t * testing.T ) { testJson ("blsG2Mul" , "0e" , t ) }
311
- func TestPrecompiledBLS12381G2MultiExp (t * testing.T ) { testJson ("blsG2MultiExp" , "0f" , t ) }
312
- func TestPrecompiledBLS12381Pairing (t * testing.T ) { testJson ("blsPairing" , "10" , t ) }
313
- func TestPrecompiledBLS12381MapG1 (t * testing.T ) { testJson ("blsMapG1" , "11" , t ) }
314
- func TestPrecompiledBLS12381MapG2 (t * testing.T ) { testJson ("blsMapG2" , "12" , t ) }
315
- func TestPrecompiledPointEvaluation (t * testing.T ) { testJson ("pointEvaluation" , "14" , t ) }
316
-
317
- func BenchmarkPrecompiledBLS12381G1Add (b * testing.B ) { benchJson ("blsG1Add" , "0a" , b ) }
318
- func BenchmarkPrecompiledBLS12381G1Mul (b * testing.B ) { benchJson ("blsG1Mul" , "0b" , b ) }
319
- func BenchmarkPrecompiledBLS12381G1MultiExp (b * testing.B ) { benchJson ("blsG1MultiExp" , "0c" , b ) }
320
- func BenchmarkPrecompiledBLS12381G2Add (b * testing.B ) { benchJson ("blsG2Add" , "0d" , b ) }
321
- func BenchmarkPrecompiledBLS12381G2Mul (b * testing.B ) { benchJson ("blsG2Mul" , "0e" , b ) }
322
- func BenchmarkPrecompiledBLS12381G2MultiExp (b * testing.B ) { benchJson ("blsG2MultiExp" , "0f" , b ) }
323
- func BenchmarkPrecompiledBLS12381Pairing (b * testing.B ) { benchJson ("blsPairing" , "10" , b ) }
324
- func BenchmarkPrecompiledBLS12381MapG1 (b * testing.B ) { benchJson ("blsMapG1" , "11" , b ) }
325
- func BenchmarkPrecompiledBLS12381MapG2 (b * testing.B ) { benchJson ("blsMapG2" , "12" , b ) }
307
+ func TestPrecompiledBLS12381G1Add (t * testing.T ) { testJson ("blsG1Add" , "f0a" , t ) }
308
+ func TestPrecompiledBLS12381G1Mul (t * testing.T ) { testJson ("blsG1Mul" , "f0b" , t ) }
309
+ func TestPrecompiledBLS12381G1MultiExp (t * testing.T ) { testJson ("blsG1MultiExp" , "f0c" , t ) }
310
+ func TestPrecompiledBLS12381G2Add (t * testing.T ) { testJson ("blsG2Add" , "f0d" , t ) }
311
+ func TestPrecompiledBLS12381G2Mul (t * testing.T ) { testJson ("blsG2Mul" , "f0e" , t ) }
312
+ func TestPrecompiledBLS12381G2MultiExp (t * testing.T ) { testJson ("blsG2MultiExp" , "f0f" , t ) }
313
+ func TestPrecompiledBLS12381Pairing (t * testing.T ) { testJson ("blsPairing" , "f10" , t ) }
314
+ func TestPrecompiledBLS12381MapG1 (t * testing.T ) { testJson ("blsMapG1" , "f11" , t ) }
315
+ func TestPrecompiledBLS12381MapG2 (t * testing.T ) { testJson ("blsMapG2" , "f12" , t ) }
316
+
317
+ func TestPrecompiledPointEvaluation (t * testing.T ) { testJson ("pointEvaluation" , "0a" , t ) }
318
+
319
+ func BenchmarkPrecompiledBLS12381G1Add (b * testing.B ) { benchJson ("blsG1Add" , "f0a" , b ) }
320
+ func BenchmarkPrecompiledBLS12381G1Mul (b * testing.B ) { benchJson ("blsG1Mul" , "f0b" , b ) }
321
+ func BenchmarkPrecompiledBLS12381G1MultiExp (b * testing.B ) { benchJson ("blsG1MultiExp" , "f0c" , b ) }
322
+ func BenchmarkPrecompiledBLS12381G2Add (b * testing.B ) { benchJson ("blsG2Add" , "f0d" , b ) }
323
+ func BenchmarkPrecompiledBLS12381G2Mul (b * testing.B ) { benchJson ("blsG2Mul" , "f0e" , b ) }
324
+ func BenchmarkPrecompiledBLS12381G2MultiExp (b * testing.B ) { benchJson ("blsG2MultiExp" , "f0f" , b ) }
325
+ func BenchmarkPrecompiledBLS12381Pairing (b * testing.B ) { benchJson ("blsPairing" , "f10" , b ) }
326
+ func BenchmarkPrecompiledBLS12381MapG1 (b * testing.B ) { benchJson ("blsMapG1" , "f11" , b ) }
327
+ func BenchmarkPrecompiledBLS12381MapG2 (b * testing.B ) { benchJson ("blsMapG2" , "f12" , b ) }
326
328
327
329
// Failure tests
328
- func TestPrecompiledBLS12381G1AddFail (t * testing.T ) { testJsonFail ("blsG1Add" , "0a " , t ) }
329
- func TestPrecompiledBLS12381G1MulFail (t * testing.T ) { testJsonFail ("blsG1Mul" , "0b " , t ) }
330
- func TestPrecompiledBLS12381G1MultiExpFail (t * testing.T ) { testJsonFail ("blsG1MultiExp" , "0c " , t ) }
331
- func TestPrecompiledBLS12381G2AddFail (t * testing.T ) { testJsonFail ("blsG2Add" , "0d " , t ) }
332
- func TestPrecompiledBLS12381G2MulFail (t * testing.T ) { testJsonFail ("blsG2Mul" , "0e " , t ) }
333
- func TestPrecompiledBLS12381G2MultiExpFail (t * testing.T ) { testJsonFail ("blsG2MultiExp" , "0f " , t ) }
334
- func TestPrecompiledBLS12381PairingFail (t * testing.T ) { testJsonFail ("blsPairing" , "10 " , t ) }
335
- func TestPrecompiledBLS12381MapG1Fail (t * testing.T ) { testJsonFail ("blsMapG1" , "11 " , t ) }
336
- func TestPrecompiledBLS12381MapG2Fail (t * testing.T ) { testJsonFail ("blsMapG2" , "12 " , t ) }
330
+ func TestPrecompiledBLS12381G1AddFail (t * testing.T ) { testJsonFail ("blsG1Add" , "f0a " , t ) }
331
+ func TestPrecompiledBLS12381G1MulFail (t * testing.T ) { testJsonFail ("blsG1Mul" , "f0b " , t ) }
332
+ func TestPrecompiledBLS12381G1MultiExpFail (t * testing.T ) { testJsonFail ("blsG1MultiExp" , "f0c " , t ) }
333
+ func TestPrecompiledBLS12381G2AddFail (t * testing.T ) { testJsonFail ("blsG2Add" , "f0d " , t ) }
334
+ func TestPrecompiledBLS12381G2MulFail (t * testing.T ) { testJsonFail ("blsG2Mul" , "f0e " , t ) }
335
+ func TestPrecompiledBLS12381G2MultiExpFail (t * testing.T ) { testJsonFail ("blsG2MultiExp" , "f0f " , t ) }
336
+ func TestPrecompiledBLS12381PairingFail (t * testing.T ) { testJsonFail ("blsPairing" , "f10 " , t ) }
337
+ func TestPrecompiledBLS12381MapG1Fail (t * testing.T ) { testJsonFail ("blsMapG1" , "f11 " , t ) }
338
+ func TestPrecompiledBLS12381MapG2Fail (t * testing.T ) { testJsonFail ("blsMapG2" , "f12 " , t ) }
337
339
338
340
func loadJson (name string ) ([]precompiledTest , error ) {
339
341
data , err := os .ReadFile (fmt .Sprintf ("testdata/precompiles/%v.json" , name ))
0 commit comments