aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--GeneralStateTests/stPreCompiledContracts/modexp.json43
-rw-r--r--src/GeneralStateTestsFiller/stPreCompiledContracts/modexpFiller.json22
2 files changed, 62 insertions, 3 deletions
diff --git a/GeneralStateTests/stPreCompiledContracts/modexp.json b/GeneralStateTests/stPreCompiledContracts/modexp.json
index c5817b927..91044f4b4 100644
--- a/GeneralStateTests/stPreCompiledContracts/modexp.json
+++ b/GeneralStateTests/stPreCompiledContracts/modexp.json
@@ -246,6 +246,14 @@
"gas" : 0,
"value" : 0
}
+ },
+ {
+ "hash" : "0x04c1a9eddf133cae0729735fa6251863e2ea8e0760d4205a75bc87803555a1f3",
+ "indexes" : {
+ "data" : 29,
+ "gas" : 0,
+ "value" : 0
+ }
}
],
"EIP158" : [
@@ -480,6 +488,14 @@
"gas" : 0,
"value" : 0
}
+ },
+ {
+ "hash" : "0x04c1a9eddf133cae0729735fa6251863e2ea8e0760d4205a75bc87803555a1f3",
+ "indexes" : {
+ "data" : 29,
+ "gas" : 0,
+ "value" : 0
+ }
}
],
"Frontier" : [
@@ -714,6 +730,14 @@
"gas" : 0,
"value" : 0
}
+ },
+ {
+ "hash" : "0xbbe41bbf20a3f2663091f141148c584776955f1ddfe40a9c56eeb43c63cf961f",
+ "indexes" : {
+ "data" : 29,
+ "gas" : 0,
+ "value" : 0
+ }
}
],
"Homestead" : [
@@ -948,6 +972,14 @@
"gas" : 0,
"value" : 0
}
+ },
+ {
+ "hash" : "0xbbe41bbf20a3f2663091f141148c584776955f1ddfe40a9c56eeb43c63cf961f",
+ "indexes" : {
+ "data" : 29,
+ "gas" : 0,
+ "value" : 0
+ }
}
],
"Metropolis" : [
@@ -1182,6 +1214,14 @@
"gas" : 0,
"value" : 0
}
+ },
+ {
+ "hash" : "0x04c1a9eddf133cae0729735fa6251863e2ea8e0760d4205a75bc87803555a1f3",
+ "indexes" : {
+ "data" : 29,
+ "gas" : 0,
+ "value" : 0
+ }
}
]
},
@@ -1231,7 +1271,8 @@
"0x000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001001001010010",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000064",
"0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030006",
- "0x00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000"
+ "0x00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000",
+ "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000"
],
"gasLimit" : [
"0x05f5e100"
diff --git a/src/GeneralStateTestsFiller/stPreCompiledContracts/modexpFiller.json b/src/GeneralStateTestsFiller/stPreCompiledContracts/modexpFiller.json
index db2feefcb..c18e4fa7f 100644
--- a/src/GeneralStateTestsFiller/stPreCompiledContracts/modexpFiller.json
+++ b/src/GeneralStateTestsFiller/stPreCompiledContracts/modexpFiller.json
@@ -41,6 +41,22 @@
}
}
},
+ {
+ "indexes" : {
+ "data" : [29],
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x01" : "0x01",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
{
"indexes" : {
"data" : [1,5,8,9,10,12,13,15,18,19,20,21,22,23,24],
@@ -181,7 +197,8 @@
"25 - Price calculation when baseLength > modLength",
"26 - bigint_expmod precompiled contract returns 1 for 0 ^ 0 mod 100",
"27 - 02 ** 03 % 06, but exp with 256 bytes of zero in front.",
- "28 - base length 2^64"
+ "28 - base length 2^64",
+ "29 - exp length 2^64; returns 0 because mod is zero"
],
"data" : [
"0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002003fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
@@ -212,7 +229,8 @@
"0x000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001001001010010",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000064",
"0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030006",
-"0x00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000"
+"0x00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000",
+"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000"
],
"gasLimit" : [
"100000000"