diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar0.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar0.json new file mode 100644 index 00000000..4631a3b1 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar0.json @@ -0,0 +1,43 @@ +{ + "sar0": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x600160001d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160001d600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160001d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar1.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar1.json new file mode 100644 index 00000000..4dba9ceb --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar1.json @@ -0,0 +1,43 @@ +{ + "sar1": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x600160011d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160011d600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160011d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar10.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar10.json new file mode 100644 index 00000000..b452da00 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar10.json @@ -0,0 +1,44 @@ + +{ + "sar10": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x600060011d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600060011d600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600060011d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar11.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar11.json new file mode 100644 index 00000000..669d1159 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar11.json @@ -0,0 +1,43 @@ +{ + "sar11": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f400000000000000000000000000000000000000000000000000000000000000060fe1d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f400000000000000000000000000000000000000000000000000000000000000060fe1d600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f400000000000000000000000000000000000000000000000000000000000000060fe1d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar12.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar12.json new file mode 100644 index 00000000..3046d209 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar12.json @@ -0,0 +1,43 @@ +{ + "sar12": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f81d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f81d600055", + "nonce": "0x00", + "storage": { + "0x00": "0x000000000000000000000000000000000000000000000000000000000000007f" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f81d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar13.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar13.json new file mode 100644 index 00000000..c2b0b61d --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar13.json @@ -0,0 +1,43 @@ +{ + "sar13": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60fe1d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60fe1d600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60fe1d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar14.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar14.json new file mode 100644 index 00000000..6dc499e7 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar14.json @@ -0,0 +1,43 @@ +{ + "sar14": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1d600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar15.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar15.json new file mode 100644 index 00000000..d407674c --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar15.json @@ -0,0 +1,43 @@ +{ + "sar15": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001d600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar2.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar2.json new file mode 100644 index 00000000..861e41e8 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar2.json @@ -0,0 +1,43 @@ +{ + "sar2": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060011d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060011d600055", + "nonce": "0x00", + "storage": { + "0x00": "0xc000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060011d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar3.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar3.json new file mode 100644 index 00000000..11210679 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar3.json @@ -0,0 +1,43 @@ +{ + "sar3": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060ff1d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060ff1d600055", + "nonce": "0x00", + "storage": { + "0x00": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060ff1d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar4.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar4.json new file mode 100644 index 00000000..795d3906 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar4.json @@ -0,0 +1,43 @@ +{ + "sar4": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101001d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101001d600055", + "nonce": "0x00", + "storage": { + "0x00": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101001d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar5.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar5.json new file mode 100644 index 00000000..b44ecabb --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar5.json @@ -0,0 +1,43 @@ +{ + "sar5": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101011d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101011d600055", + "nonce": "0x00", + "storage": { + "0x00": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101011d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar6.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar6.json new file mode 100644 index 00000000..0a7a1f84 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar6.json @@ -0,0 +1,43 @@ +{ + "sar6": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001d600055", + "nonce": "0x00", + "storage": { + "0x00": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar7.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar7.json new file mode 100644 index 00000000..0df944b7 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar7.json @@ -0,0 +1,43 @@ +{ + "sar7": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011d600055", + "nonce": "0x00", + "storage": { + "0x00": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar8.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar8.json new file mode 100644 index 00000000..66070563 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar8.json @@ -0,0 +1,43 @@ +{ + "sar8": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1d600055", + "nonce": "0x00", + "storage": { + "0x00": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar9.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar9.json new file mode 100644 index 00000000..094da2ef --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/sar9.json @@ -0,0 +1,43 @@ +{ + "sar9": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001d600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001d600055", + "nonce": "0x00", + "storage": { + "0x00": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001d600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl0.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl0.json new file mode 100644 index 00000000..0d049d7f --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl0.json @@ -0,0 +1,43 @@ +{ + "shl0": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x600160001b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160001b600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160001b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl1.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl1.json new file mode 100644 index 00000000..1729e0f5 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl1.json @@ -0,0 +1,43 @@ +{ + "shl1": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x600160011b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160011b600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000002" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160011b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl10.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl10.json new file mode 100644 index 00000000..c567b053 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl10.json @@ -0,0 +1,43 @@ +{ + "shl10": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011b600055", + "nonce": "0x00", + "storage": { + "0x00": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl2.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl2.json new file mode 100644 index 00000000..4ab8e3b3 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl2.json @@ -0,0 +1,43 @@ +{ + "shl2": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x600160ff1b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160ff1b600055", + "nonce": "0x00", + "storage": { + "0x00": "0x8000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160ff1b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl3.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl3.json new file mode 100644 index 00000000..bd7ebab8 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl3.json @@ -0,0 +1,43 @@ +{ + "shl3": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x60016101001b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x60016101001b600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x60016101001b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl4.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl4.json new file mode 100644 index 00000000..e4e71370 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl4.json @@ -0,0 +1,43 @@ +{ + "shl4": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x60016101011b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x60016101011b600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x60016101011b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl5.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl5.json new file mode 100644 index 00000000..07f13b3e --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl5.json @@ -0,0 +1,43 @@ +{ + "shl5": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b600055", + "nonce": "0x00", + "storage": { + "0x00": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl6.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl6.json new file mode 100644 index 00000000..84af7b41 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl6.json @@ -0,0 +1,43 @@ +{ + "shl6": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011b600055", + "nonce": "0x00", + "storage": { + "0x00": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl7.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl7.json new file mode 100644 index 00000000..21f9fe25 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl7.json @@ -0,0 +1,43 @@ +{ + "shl7": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1b600055", + "nonce": "0x00", + "storage": { + "0x00": "0x8000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl8.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl8.json new file mode 100644 index 00000000..64778a88 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl8.json @@ -0,0 +1,43 @@ +{ + "shl8": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001b600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl9.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl9.json new file mode 100644 index 00000000..9350995a --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shl9.json @@ -0,0 +1,43 @@ +{ + "shl9": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x600060011b600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600060011b600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600060011b600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr0.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr0.json new file mode 100644 index 00000000..f6cbf10f --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr0.json @@ -0,0 +1,43 @@ +{ + "shr0": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x600160001c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160001c600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160001c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr1.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr1.json new file mode 100644 index 00000000..f6d98abf --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr1.json @@ -0,0 +1,43 @@ +{ + "shr1": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x600160011c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160011c600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600160011c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr10.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr10.json new file mode 100644 index 00000000..98501775 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr10.json @@ -0,0 +1,43 @@ +{ + "shr10": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x600060011c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600060011c600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x600060011c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr2.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr2.json new file mode 100644 index 00000000..9b2f1b82 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr2.json @@ -0,0 +1,43 @@ +{ + "shr2": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060011c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060011c600055", + "nonce": "0x00", + "storage": { + "0x00": "0x4000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060011c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr3.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr3.json new file mode 100644 index 00000000..aae87066 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr3.json @@ -0,0 +1,43 @@ +{ + "shr3": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060ff1c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060ff1c600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f800000000000000000000000000000000000000000000000000000000000000060ff1c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr4.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr4.json new file mode 100644 index 00000000..5c96fab7 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr4.json @@ -0,0 +1,43 @@ +{ + "shr4": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101001c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101001c600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101001c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr5.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr5.json new file mode 100644 index 00000000..f57da55d --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr5.json @@ -0,0 +1,43 @@ +{ + "shr5": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101011c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101011c600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7f80000000000000000000000000000000000000000000000000000000000000006101011c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr6.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr6.json new file mode 100644 index 00000000..6cf9db34 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr6.json @@ -0,0 +1,43 @@ +{ + "shr6": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001c600055", + "nonce": "0x00", + "storage": { + "0x00": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr7.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr7.json new file mode 100644 index 00000000..565c3bdb --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr7.json @@ -0,0 +1,43 @@ +{ + "shr7": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011c600055", + "nonce": "0x00", + "storage": { + "0x00": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr8.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr8.json new file mode 100644 index 00000000..e9f828c2 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr8.json @@ -0,0 +1,43 @@ +{ + "shr8": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x013874", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1c600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr9.json b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr9.json new file mode 100644 index 00000000..45a7e9c1 --- /dev/null +++ b/jsontests/res/files/SputnikVM/vmBitwiseLogicOperation/shr9.json @@ -0,0 +1,43 @@ +{ + "shr9": { + "callcreates": [], + "env": { + "currentCoinbase": "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty": "0x0100", + "currentGasLimit": "0x0f4240", + "currentNumber": "0x00", + "currentTimestamp": "0x01" + }, + "exec": { + "address": "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001c600055", + "data": "0x", + "gas": "0x0186a0", + "gasPrice": "0x5af3107a4000", + "origin": "0xcd1722f3947def4cf144679da39c4c32bdc35681", + "value": "0x0de0b6b3a7640000" + }, + "gas": "0x01730c", + "logs": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "out": "0x", + "post": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001c600055", + "nonce": "0x00", + "storage": { + "0x00": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "pre": { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6": { + "balance": "0xd3c21bcecceda1000000", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001c600055", + "nonce": "0x00", + "storage": {} + } + } + } +} diff --git a/jsontests/tests/sputnikvm.rs b/jsontests/tests/sputnikvm.rs new file mode 100644 index 00000000..1792b8a8 --- /dev/null +++ b/jsontests/tests/sputnikvm.rs @@ -0,0 +1,16 @@ +#![cfg_attr(feature = "bench", feature(test))] +#![allow(non_snake_case)] +#![allow(unused)] + +#[macro_use] +extern crate jsontests_derive; +extern crate jsontests; + +#[cfg(feature = "bench")] +extern crate test; + +#[derive(JsonTests)] +#[directory = "jsontests/res/files/SputnikVM/vmBitwiseLogicOperation"] +#[test_with = "jsontests::util::run_test"] +#[cfg_attr(feature = "bench", bench_with = "jsontests::util::run_bench")] +struct BitwiseLogicOperation; diff --git a/network/classic/src/lib.rs b/network/classic/src/lib.rs index 710984d6..ab0d723f 100644 --- a/network/classic/src/lib.rs +++ b/network/classic/src/lib.rs @@ -89,6 +89,7 @@ impl Patch for FrontierPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { true } fn call_create_l64_after_gas() -> bool { false } fn memory_limit() -> usize { usize::max_value() } @@ -118,6 +119,7 @@ impl Patch for HomesteadPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { true } fn call_create_l64_after_gas() -> bool { false } fn memory_limit() -> usize { usize::max_value() } @@ -147,6 +149,7 @@ impl Patch for EIP150Patch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } @@ -176,6 +179,7 @@ impl Patch for EIP160Patch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } @@ -205,6 +209,38 @@ impl Patch for ByzantiumPatch { fn has_static_call() -> bool { true } fn has_revert() -> bool { true } fn has_return_data() -> bool { true } + fn has_bitwise_shift() -> bool { false } + fn err_on_call_with_more_gas() -> bool { false } + fn call_create_l64_after_gas() -> bool { true } + fn memory_limit() -> usize { usize::max_value() } + fn precompileds() -> &'static [(Address, Option<&'static [u8]>, &'static Precompiled)] { + &BYZANTIUM_PRECOMPILEDS } +} + + +/// Constantinople patch (includes Byzantium changes) +pub struct ConstantinoplePatch(PhantomData); +pub type MainnetConstantinoplePatch = ConstantinoplePatch; +pub type MordenConstantinoplePatch = ConstantinoplePatch; +impl Patch for ConstantinoplePatch { + type Account = A; + + fn code_deposit_limit() -> Option { None } + fn callstack_limit() -> usize { 1024 } + fn gas_extcode() -> Gas { Gas::from(700usize) } + fn gas_balance() -> Gas { Gas::from(400usize) } + fn gas_sload() -> Gas { Gas::from(200usize) } + fn gas_suicide() -> Gas { Gas::from(5000usize) } + fn gas_suicide_new_account() -> Gas { Gas::from(25000usize) } + fn gas_call() -> Gas { Gas::from(700usize) } + fn gas_expbyte() -> Gas { Gas::from(50usize) } + fn gas_transaction_create() -> Gas { Gas::from(32000usize) } + fn force_code_deposit() -> bool { false } + fn has_delegate_call() -> bool { true } + fn has_static_call() -> bool { true } + fn has_revert() -> bool { true } + fn has_return_data() -> bool { true } + fn has_bitwise_shift() -> bool { true } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } diff --git a/network/ellaism/src/lib.rs b/network/ellaism/src/lib.rs index bbe81407..ef17b393 100644 --- a/network/ellaism/src/lib.rs +++ b/network/ellaism/src/lib.rs @@ -50,6 +50,7 @@ impl Patch for EIP160Patch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } diff --git a/network/expanse/src/lib.rs b/network/expanse/src/lib.rs index a6a73639..94da38f7 100644 --- a/network/expanse/src/lib.rs +++ b/network/expanse/src/lib.rs @@ -85,6 +85,7 @@ impl Patch for FrontierPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { true } fn call_create_l64_after_gas() -> bool { false } fn memory_limit() -> usize { usize::max_value() } @@ -112,6 +113,7 @@ impl Patch for HomesteadPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { true } fn call_create_l64_after_gas() -> bool { false } fn memory_limit() -> usize { usize::max_value() } @@ -139,6 +141,7 @@ impl Patch for SpuriousDragonPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } @@ -166,6 +169,7 @@ impl Patch for ByzantiumPatch { fn has_static_call() -> bool { true } fn has_revert() -> bool { true } fn has_return_data() -> bool { true } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } diff --git a/network/foundation/src/lib.rs b/network/foundation/src/lib.rs index c7fe75a5..b9f685ce 100644 --- a/network/foundation/src/lib.rs +++ b/network/foundation/src/lib.rs @@ -85,6 +85,7 @@ impl Patch for FrontierPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { true } fn call_create_l64_after_gas() -> bool { false } fn memory_limit() -> usize { usize::max_value() } @@ -112,6 +113,7 @@ impl Patch for HomesteadPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { true } fn call_create_l64_after_gas() -> bool { false } fn memory_limit() -> usize { usize::max_value() } @@ -139,6 +141,7 @@ impl Patch for EIP150Patch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } @@ -166,6 +169,7 @@ impl Patch for SpuriousDragonPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } @@ -193,6 +197,7 @@ impl Patch for ByzantiumPatch { fn has_static_call() -> bool { true } fn has_revert() -> bool { true } fn has_return_data() -> bool { true } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } diff --git a/network/musicoin/src/lib.rs b/network/musicoin/src/lib.rs index 605d540c..163fb9be 100644 --- a/network/musicoin/src/lib.rs +++ b/network/musicoin/src/lib.rs @@ -50,6 +50,7 @@ impl Patch for FrontierPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { true } fn call_create_l64_after_gas() -> bool { false } fn memory_limit() -> usize { usize::max_value() } @@ -78,6 +79,7 @@ impl Patch for HomesteadPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { true } fn call_create_l64_after_gas() -> bool { false } fn memory_limit() -> usize { usize::max_value() } diff --git a/network/ubiq/src/lib.rs b/network/ubiq/src/lib.rs index 5ea79fdf..0955ab0e 100644 --- a/network/ubiq/src/lib.rs +++ b/network/ubiq/src/lib.rs @@ -47,6 +47,7 @@ impl Patch for SpuriousDragonPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } diff --git a/src/eval/check.rs b/src/eval/check.rs index d674bfc0..a3967eca 100644 --- a/src/eval/check.rs +++ b/src/eval/check.rs @@ -95,6 +95,10 @@ pub fn check_static(instruction: Instruction, sta Instruction::NOT | Instruction::BYTE => Ok(()), + Instruction::SHL | + Instruction::SHR | + Instruction::SAR => Ok(()), + Instruction::SHA3 => Ok(()), Instruction::ADDRESS | @@ -188,6 +192,10 @@ pub fn check_opcode(instruction: Instruction, sta Instruction::NOT => { state.stack.check_pop_push(1, 1)?; Ok(None) }, Instruction::BYTE => { state.stack.check_pop_push(2, 1)?; Ok(None) }, + Instruction::SHL => { state.stack.check_pop_push(2, 1)?; Ok(None) }, + Instruction::SHR => { state.stack.check_pop_push(2, 1)?; Ok(None) }, + Instruction::SAR => { state.stack.check_pop_push(2, 1)?; Ok(None) }, + Instruction::SHA3 => { state.stack.check_pop_push(2, 1)?; check_range(state.stack.peek(0).unwrap().into(), state.stack.peek(1).unwrap().into())?; diff --git a/src/eval/cost.rs b/src/eval/cost.rs index f424c019..ee635a26 100644 --- a/src/eval/cost.rs +++ b/src/eval/cost.rs @@ -222,7 +222,8 @@ pub fn gas_cost(instruction: Instruction, state: Instruction::ISZERO | Instruction::AND | Instruction::OR | Instruction::XOR | Instruction::BYTE | Instruction::CALLDATALOAD | Instruction::MLOAD | Instruction::MSTORE | Instruction::MSTORE8 | Instruction::PUSH(_) | - Instruction::DUP(_) | Instruction::SWAP(_) + Instruction::DUP(_) | Instruction::SWAP(_) | + Instruction::SHL | Instruction::SHR | Instruction::SAR => G_VERYLOW.into(), // W_low diff --git a/src/eval/run/bitwise.rs b/src/eval/run/bitwise.rs index 532039cf..fe351f3f 100644 --- a/src/eval/run/bitwise.rs +++ b/src/eval/run/bitwise.rs @@ -1,6 +1,6 @@ //! Bitwise instructions -use bigint::M256; +use bigint::{M256, MI256, Sign}; use ::Memory; use super::State; @@ -38,3 +38,63 @@ pub fn byte(state: &mut State) { push!(state, ret); } + +pub fn shl(state: &mut State) { + pop!(state, shift, value); + + let result = if value == M256::zero() || shift >= M256::from(256) { + M256::zero() + } else { + let shift: u64 = shift.into(); + value << shift as usize + }; + + push!(state, result); +} + +pub fn shr(state: &mut State) { + pop!(state, shift, value); + + let result = if value == M256::zero() || shift >= M256::from(256) { + M256::zero() + } else { + let shift: u64 = shift.into(); + value >> shift as usize + }; + + push!(state, result); +} + +pub fn sar(state: &mut State) { + pop!(state, shift, value); + let value = MI256::from(value); + + let result = if value == MI256::zero() || shift >= M256::from(256) { + let MI256(sign, _) = value; + match sign { + // value is 0 or >=1, pushing 0 + Sign::Plus | Sign::NoSign => { + M256::zero() + }, + // value is <0, pushing -1 + Sign::Minus => { + MI256(Sign::Minus, M256::one()).into() + } + } + } else { + let shift: u64 = shift.into(); + + match value.0 { + Sign::Plus | Sign::NoSign => { + let shifted = value.1 >> shift as usize; + shifted + }, + Sign::Minus => { + let shifted = ((value.1 - M256::one()) >> shift as usize) + M256::one(); + MI256(Sign::Minus, shifted).into() + } + } + }; + + push!(state, result); +} diff --git a/src/eval/run/mod.rs b/src/eval/run/mod.rs index a8012b07..4912940b 100644 --- a/src/eval/run/mod.rs +++ b/src/eval/run/mod.rs @@ -88,6 +88,10 @@ pub fn run_opcode(pc: (Instruction, usize), state Instruction::NOT => { bitwise::not(state); None }, Instruction::BYTE => { bitwise::byte(state); None }, + Instruction::SHL => { bitwise::shl(state); None }, + Instruction::SHR => { bitwise::shr(state); None }, + Instruction::SAR => { bitwise::sar(state); None }, + Instruction::SHA3 => { system::sha3(state); None }, Instruction::ADDRESS => { push!(state, state.context.address.into()); None }, diff --git a/src/patch/mod.rs b/src/patch/mod.rs index 64d13015..c1c0ab20 100644 --- a/src/patch/mod.rs +++ b/src/patch/mod.rs @@ -73,6 +73,8 @@ pub trait Patch { fn has_revert() -> bool; /// Whether the EVM has RETURNDATASIZE and RETURNDATACOPY opcode. fn has_return_data() -> bool; + /// Whether the EVM has SHL, SHR and SAR + fn has_bitwise_shift() -> bool; /// Whether to throw out of gas error when /// CALL/CALLCODE/DELEGATECALL requires more than maximum amount /// of gas. @@ -123,6 +125,7 @@ impl Patch for VMTestPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { true } fn err_on_call_with_more_gas() -> bool { true } fn call_create_l64_after_gas() -> bool { false } fn memory_limit() -> usize { usize::max_value() } @@ -150,9 +153,12 @@ impl Patch for EmbeddedPatch { fn has_static_call() -> bool { false } fn has_revert() -> bool { false } fn has_return_data() -> bool { false } + fn has_bitwise_shift() -> bool { false } fn err_on_call_with_more_gas() -> bool { false } fn call_create_l64_after_gas() -> bool { true } fn memory_limit() -> usize { usize::max_value() } fn precompileds() -> &'static [(Address, Option<&'static [u8]>, &'static Precompiled)] { - &EMBEDDED_PRECOMPILEDS } + &EMBEDDED_PRECOMPILEDS + } } + diff --git a/src/pc.rs b/src/pc.rs index b047581c..4ef7d610 100644 --- a/src/pc.rs +++ b/src/pc.rs @@ -20,7 +20,7 @@ use super::errors::OnChainError; pub enum Instruction { STOP, ADD, MUL, SUB, DIV, SDIV, MOD, SMOD, ADDMOD, MULMOD, EXP, SIGNEXTEND, LT, GT, SLT, SGT, EQ, ISZERO, AND, OR, XOR, NOT, BYTE, - SHA3, ADDRESS, BALANCE, ORIGIN, CALLER, CALLVALUE, CALLDATALOAD, + SHL, SHR, SAR, SHA3, ADDRESS, BALANCE, ORIGIN, CALLER, CALLVALUE, CALLDATALOAD, CALLDATASIZE, CALLDATACOPY, CODESIZE, CODECOPY, GASPRICE, EXTCODESIZE, EXTCODECOPY, BLOCKHASH, COINBASE, TIMESTAMP, NUMBER, DIFFICULTY, GASLIMIT, POP, MLOAD, MSTORE, MSTORE8, SLOAD, SSTORE, @@ -194,6 +194,28 @@ macro_rules! impl_pc { Opcode::NOT => Instruction::NOT, Opcode::BYTE => Instruction::BYTE, + Opcode::SHL => { + if P::has_bitwise_shift() { + Instruction::SHL + } else { + return Err(OnChainError::InvalidOpcode); + } + }, + Opcode::SHR => { + if P::has_bitwise_shift() { + Instruction::SHR + } else { + return Err(OnChainError::InvalidOpcode); + } + }, + Opcode::SAR => { + if P::has_bitwise_shift() { + Instruction::SAR + } else { + return Err(OnChainError::InvalidOpcode); + } + }, + Opcode::SHA3 => Instruction::SHA3, Opcode::ADDRESS => Instruction::ADDRESS, diff --git a/src/util/opcode.rs b/src/util/opcode.rs index 86eeef6a..dda81798 100644 --- a/src/util/opcode.rs +++ b/src/util/opcode.rs @@ -9,6 +9,8 @@ pub enum Opcode { LT, GT, SLT, SGT, EQ, ISZERO, AND, OR, XOR, NOT, BYTE, + SHL, SHR, SAR, + SHA3, ADDRESS, BALANCE, ORIGIN, CALLER, CALLVALUE, CALLDATALOAD, @@ -58,6 +60,10 @@ impl From for Opcode { 0x19 => Opcode::NOT, 0x1a => Opcode::BYTE, + 0x1b => Opcode::SHL, + 0x1c => Opcode::SHR, + 0x1d => Opcode::SAR, + 0x20 => Opcode::SHA3, 0x30 => Opcode::ADDRESS, @@ -211,6 +217,10 @@ impl Into for Opcode { Opcode::NOT => 0x19, Opcode::BYTE => 0x1a, + Opcode::SHL => 0x1b, + Opcode::SHR => 0x1c, + Opcode::SAR => 0x1d, + Opcode::SHA3 => 0x20, Opcode::ADDRESS => 0x30,