{
"modexp" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
"currentGasLimit" : "10000000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
{
"indexes" : {
"data" : -1,
"gas" : -1,
"value" : -1
},
"network" : [ "EIP150", "EIP158"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x01" : "0x01",
"0x02" : "0x00"
}
}
}
},
{
"indexes" : {
"data" : [0,6,7],
"gas" : -1,
"value" : -1
},
"network" : ["Byzantium"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x01" : "0x01",
"0x02" : "0x01"
}
}
}
},
{
"indexes" : {
"data" : [29],
"gas" : -1,
"value" : -1
},
"network" : ["Byzantium"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x01" : "0x01",
"0x02" : "0x00"
}
}
}
},
{
"indexes" : {
"data" : [1,5,8,9,10,12,13,15,18,19,20,21,22,23,24,30],
"gas" : -1,
"value" : -1
},
"network" : ["Byzantium"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x01" : "0x01",
"0x02" : "0x00"
}
}
}
},
{
"indexes" : {
"data" : [2,28],
"gas" : -1,
"value" : -1
},
"network" : ["Byzantium"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x01" : "0x00",
"0x02" : "0x00"
}
}
}
},
{
"indexes" : {
"data" : [3,4],
"gas" : -1,
"value" : -1
},
"network" : ["Byzantium"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x01" : "0x01",
"0x02" : "0x3b01b01ac41f2d6e917c6d6a221ce793802469026d9ab7578fa2e79e4da6aaab"
}
}
}
},
{
"indexes" : {
"data" : [11, 14, 25, 26],
"gas" : -1,
"value" : -1
},
"network" : ["Byzantium"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x01" : "0x01",
"0x02" : "0x0100000000000000000000000000000000000000000000000000000000000000"
}
}
}
},
{
"indexes" : {
"data" : [16,27],
"gas" : -1,
"value" : -1
},
"network" : ["Byzantium"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x01" : "0x01",
"0x02" : "0x02000000000000000000000000000000000000000000000000000000000000"
}
}
}
},
{
"indexes" : {
"data" : [17],
"gas" : -1,
"value" : -1
},
"network" : ["Byzantium"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x01" : "0x01",
"0x02" : "0x0200000000000000000000000000000000000000000000000000000000000000"
}
}
}
}
],
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "",
"code" : "{ (CALLDATACOPY 0 0 (CALLDATASIZE)) [[1]] (CALLCODE (GAS) 5 0 0 (CALLDATASIZE) 1000 32) [[2]](MLOAD 1000) }",
"nonce" : "0",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "1000000000000000000000",
"code" : "",
"nonce" : "0",
"storage" : {
}
}
},
"transaction" : {
"data" : [
"(BASE**EXPONENT) % MODULUS",
"0 - example: 3**(2**256 - 2**32 - 978) % (2**256 - 2**32 - 977).",
"1 - Would be parsed as a base of 0, exponent of 2**256 - 2**32 - 978 and modulus of 2**256 - 2**32 - 978, and so would return 0. Notice how if the length_of_BASE is 0, then it does not interpret any data as the base, instead immediately interpreting the next 32 bytes as length_of_EXPONENT.",
"2 - Would parse a base length of 0, a modulus length of 32, and an exponent length of 2**256 - 1, where the base is empty, the modulus is 2**256 - 2 and the exponent is (2**256 - 3) * 256**(2**256 - 33) (yes, that's a really big number). It would then immediately fail, as it's not possible to provide enough gas to make that computation.",
"3 - Would parse as a base of 3, an exponent of 65535, and a modulus of 2**255, and it would ignore the remaining 0x07 byte.",
"4 - Would also parse as a base of 3, an exponent of 65535 and a modulus of 2**255, as it attempts to grab 32 bytes for the modulus starting from 0x80, but then there is no further data so it right pads it with 31 zeroes.",
"5 - Missing values",
"6 - Empty value",
"7 - 0**0 % 0x80",
"8 - 0**0 % 0",
"9 - modlength zero",
"10 - 0**03 % 04",
"11 - 02**00 % 04",
"12 - 02**03 % 00",
"13 - **03 % 04",
"14 - 02** % 04",
"15 - 02**03 % ",
"16 - 02**03 % 06",
"17 - 02**03 % 0006",
"18,19,20 - Non-zero length mod, but passed calldata has not enough total length",
"21,21,22,23 - Non-zero length exp & mod, but passed data has only base and part of exp / only base",
"24 - Non-zero length base & exp & mod and no values in input data - interpreted as all zeroes",
"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 4TiB",
"29 - exp length 4TiB; returns 0 because mod is zero",
"30 - base and mod have zero-length. exp's length is 2^255. Since mod is zero, the result should be zero."
],
"data" : [
"0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002003fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd" ,
"0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002003ffff800000000000000000000000000000000000000000000000000000000000000007",
"0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002003ffff80",
"0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002003",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020038000000000000000000000000000000000000000000000000000000000000000",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000080",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000",
"0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000304",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001020004",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001020300",
"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010304",
"0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010204",
"0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000203",
"0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000202030006",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001020306",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002020300",
"0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000202030000",
"0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020203",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002023003",
"0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020230",
"0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000202",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002",
"0x000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001001001010010",
"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000064",
"0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030006",
"0x00000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000",
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000",
"0x000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
],
"gasLimit" : [
"100000000"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "1000000000000000000000000000000000000000",
"value" : [
"0"
]
}
}
}