Skip to content

Commit 9fb8b5b

Browse files
committed
align error with geth
1 parent 8459a1b commit 9fb8b5b

File tree

3 files changed

+9
-13
lines changed

3 files changed

+9
-13
lines changed

core/vm/contracts.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -559,11 +559,7 @@ func (c *bigModExp) RequiredGas(input []byte) uint64 {
559559
return gas.Uint64()
560560
}
561561

562-
var (
563-
errModExpBaseLengthTooLarge = errors.New("base length is too large")
564-
errModExpExponentLengthTooLarge = errors.New("exponent length is too large")
565-
errModExpModulusLengthTooLarge = errors.New("modulus length is too large")
566-
)
562+
var errModExpLengthTooLarge = errors.New("one or more of base/exponent/modulus length exceeded 1024 bytes")
567563

568564
func (c *bigModExp) Run(input []byte) ([]byte, error) {
569565
header := getData(input, 0, 3*32)
@@ -577,13 +573,13 @@ func (c *bigModExp) Run(input []byte) ([]byte, error) {
577573
// We also need to check that the high bytes truncated by the Uint64 conversion above are zero
578574
// (32 - 8 bytes were truncated)
579575
if !allZero(header[0:32-8]) || baseLen > 1024 {
580-
return nil, errModExpBaseLengthTooLarge
576+
return nil, errModExpLengthTooLarge
581577
}
582578
if !allZero(header[32:64-8]) || expLen > 1024 {
583-
return nil, errModExpExponentLengthTooLarge
579+
return nil, errModExpLengthTooLarge
584580
}
585581
if !allZero(header[64:96-8]) || modLen > 1024 {
586-
return nil, errModExpModulusLengthTooLarge
582+
return nil, errModExpLengthTooLarge
587583
}
588584
}
589585

core/vm/contracts_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ func TestPrecompiledModExpInputEip7823(t *testing.T) {
294294
osakaModExp := allPrecompiles[common.BytesToAddress([]byte{0xb5})]
295295
gas = osakaModExp.RequiredGas(in)
296296
_, _, err = RunPrecompiledContract(osakaModExp, in, gas, nil)
297-
assert.ErrorIs(t, err, errModExpExponentLengthTooLarge)
297+
assert.ErrorIs(t, err, errModExpLengthTooLarge)
298298
}
299299

300300
// Tests the sample inputs from the elliptic curve scalar multiplication EIP 213.

core/vm/testdata/precompiles/fail-modexp-eip7823.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22
{
33
"Input": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004010000000000000000000000000000000000000000000000000000000000000000",
44
"Name": "length_of_EXPONENT = 1025; everything else is zero",
5-
"ExpectedError": "exponent length is too large"
5+
"ExpectedError": "one or more of base/exponent/modulus length exceeded 1024 bytes"
66
},
77
{
88
"Input": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000",
99
"Name": "length_of_EXPONENT = 2048; everything else is zero",
10-
"ExpectedError": "exponent length is too large"
10+
"ExpectedError": "one or more of base/exponent/modulus length exceeded 1024 bytes"
1111
},
1212
{
1313
"Input": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000",
1414
"Name": "length_of_EXPONENT = 2^32; everything else is zero",
15-
"ExpectedError": "exponent length is too large"
15+
"ExpectedError": "one or more of base/exponent/modulus length exceeded 1024 bytes"
1616
},
1717
{
1818
"Input": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000",
1919
"Name": "length_of_EXPONENT = 2^64; everything else is zero",
20-
"ExpectedError": "exponent length is too large"
20+
"ExpectedError": "one or more of base/exponent/modulus length exceeded 1024 bytes"
2121
}
2222
]

0 commit comments

Comments
 (0)