Skip to content

Commit e13fa32

Browse files
authored
core/vm: update 4844 - point evaluation precompile address (#27874)
1 parent 0d772b9 commit e13fa32

File tree

2 files changed

+51
-49
lines changed

2 files changed

+51
-49
lines changed

core/vm/contracts.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -95,16 +95,16 @@ var PrecompiledContractsBerlin = map[common.Address]PrecompiledContract{
9595
// PrecompiledContractsCancun contains the default set of pre-compiled Ethereum
9696
// contracts used in the Cancun release.
9797
var PrecompiledContractsCancun = map[common.Address]PrecompiledContract{
98-
common.BytesToAddress([]byte{1}): &ecrecover{},
99-
common.BytesToAddress([]byte{2}): &sha256hash{},
100-
common.BytesToAddress([]byte{3}): &ripemd160hash{},
101-
common.BytesToAddress([]byte{4}): &dataCopy{},
102-
common.BytesToAddress([]byte{5}): &bigModExp{eip2565: true},
103-
common.BytesToAddress([]byte{6}): &bn256AddIstanbul{},
104-
common.BytesToAddress([]byte{7}): &bn256ScalarMulIstanbul{},
105-
common.BytesToAddress([]byte{8}): &bn256PairingIstanbul{},
106-
common.BytesToAddress([]byte{9}): &blake2F{},
107-
common.BytesToAddress([]byte{20}): &kzgPointEvaluation{},
98+
common.BytesToAddress([]byte{1}): &ecrecover{},
99+
common.BytesToAddress([]byte{2}): &sha256hash{},
100+
common.BytesToAddress([]byte{3}): &ripemd160hash{},
101+
common.BytesToAddress([]byte{4}): &dataCopy{},
102+
common.BytesToAddress([]byte{5}): &bigModExp{eip2565: true},
103+
common.BytesToAddress([]byte{6}): &bn256AddIstanbul{},
104+
common.BytesToAddress([]byte{7}): &bn256ScalarMulIstanbul{},
105+
common.BytesToAddress([]byte{8}): &bn256PairingIstanbul{},
106+
common.BytesToAddress([]byte{9}): &blake2F{},
107+
common.BytesToAddress([]byte{0x0a}): &kzgPointEvaluation{},
108108
}
109109

110110
// PrecompiledContractsBLS contains the set of pre-compiled Ethereum

core/vm/contracts_test.go

Lines changed: 41 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,17 @@ var allPrecompiles = map[common.Address]PrecompiledContract{
5656
common.BytesToAddress([]byte{7}): &bn256ScalarMulIstanbul{},
5757
common.BytesToAddress([]byte{8}): &bn256PairingIstanbul{},
5858
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{},
6970
}
7071

7172
// EIP-152 test vectors
@@ -303,37 +304,38 @@ func benchJson(name, addr string, b *testing.B) {
303304
}
304305
}
305306

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) }
326328

327329
// 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) }
337339

338340
func loadJson(name string) ([]precompiledTest, error) {
339341
data, err := os.ReadFile(fmt.Sprintf("testdata/precompiles/%v.json", name))

0 commit comments

Comments
 (0)