aboutsummaryrefslogblamecommitdiffstats
path: root/src/GeneralStateTestsFiller/stSStoreTest/sstore_XtoYtoYFiller.json
blob: f4996f170212eaf991d76c74a7659dfa4d23a7a1 (plain) (tree)














































































































































































































                                                                                                                                                                                                                                                                                                                      
{
    "sstore_XtoYtoY" : {
    "_info" : {
        "comment" : "change X -> Y -> Y"
    },
        "env" : {
            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
            "currentDifficulty" : "0x020000",
            "currentGasLimit" : "10000000",
            "currentNumber" : "1",
            "currentTimestamp" : "1000",
            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
        },
        "expect" : [
        {
        "//comment" : "CALL to a contract",
                "indexes" : {
                    "data" : [0],
                    "gas" : 0,
                    "value" : -1
                },
                "network" : [">=Constantinople"],
                "result" : {
            "b000000000000000000000000000000000000000" : {
                "storage" : {
                "0x01" : "0x01"
                }
            },
            "dea0000000000000000000000000000000000000" : {
            "//comment" : "indicates that call finished without OOG",
                "storage" : {
                "0x01" : "0x01"
                }
            },
            "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
            "nonce" : "1",
            "storage" : {
                }
            }
                }
            },
        {
        "//comment" : "CALLCODE AND DELEGATECALL",
                "indexes" : {
                    "data" : [1, 2],
                    "gas" : 0,
                    "value" : -1
                },
                "network" : [">=Constantinople"],
                "result" : {
            "b000000000000000000000000000000000000000" : {
                "storage" : {
                "0x01" : "0x02"
                }
            },
            "dea0000000000000000000000000000000000000" : {
            "//comment" : "indicates that call finished without OOG",
                "storage" : {
                "0x01" : "0x01"
                }
            },
            "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
            "nonce" : "1",
            "storage" : {
                "0x01" : "0x01"
                }
            }
                }
            },
        {
        "//comment" : "STATICCALL, fails on storage change",
                "indexes" : {
                    "data" : 3,
                    "gas" : 0,
                    "value" : -1
                },
                "network" : [">=Constantinople"],
                "result" : {
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                        "balance" : "999999617076"
            },
            "dea0000000000000000000000000000000000000" : {
            "//comment" : "indicates that call finished without OOG",
                "storage" : {
                "0x01" : "0x01"
                }
            }
                }
            },
        {
        "//comment" : "inside CREATE2 init code",
                "indexes" : {
                    "data" : 4,
                    "gas" : 0,
                    "value" : -1
                },
                "network" : [">=Constantinople"],
                "result" : {
            "a86d4f97c96456300b79da71b19791f58922855b" : {
                        "storage" : {
                "0x00" : "0x01",
                "0x01" : "0x01"
                }
            },
            "dea0000000000000000000000000000000000000" : {
            "//comment" : "indicates that call finished without OOG",
                "storage" : {
                "0x01" : "0x01"
                }
            }
                }
            },
        {
        "//comment" : "ALL of above but going OOG",
                "indexes" : {
                    "data" : -1,
                    "gas" : 1,
                    "value" : -1
                },
                "network" : [">=Constantinople"],
                "result" : {
            "dea0000000000000000000000000000000000000" : {
            "//comment" : "indicates that call finished without OOG",
                "storage" : {
                "0x01" : "0x00"
                }
            }
                }
            },
        {
        "//comment" : "ALL of above but REVERT at the end",
                "indexes" : {
                    "data" : [5,6,7,8],
                    "gas" : 0,
                    "value" : -1
                },
                "network" : [">=Constantinople"],
                "result" : {
            "dea0000000000000000000000000000000000000" : {
            "//comment" : "indicates that call finished without OOG",
                "storage" : {
                "0x01" : "0x00"
                }
            }
                }
            }
        ],
        "pre" :
        {
            "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
                "balance" : "1000000000000",
                "code" : "",
                "nonce" : "0",
                "storage" : {
                }
            },
        "b000000000000000000000000000000000000000" : {
                "balance" : "",
                "code" : "{ [[1]] 1 [[1]] 1 }",
                "nonce" : "",
                "storage" : {
            "0x01" : "0x02"
                }
            },
        "c000000000000000000000000000000000000000" : {
                "balance" : "",
                "code" : "{ [[1]] 1 [[1]] 1 }",
                "nonce" : "",
                "storage" : {
            "0x01" : "0x02"
                }
            },
        "dea0000000000000000000000000000000000000" : {
                "balance" : "",
                "code" : "{ [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0  [[1]] 1 }",
                "nonce" : "",
                "storage" : {
                }
            }
        },
        "transaction" : {
            "data" : [
        "{ (CALL 300000 0xb000000000000000000000000000000000000000 0 0 0 0 0)         (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0)}",
        "{ (CALLCODE 300000 0xb000000000000000000000000000000000000000 0 0 0 0 0)     (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0)}",
        "{ (DELEGATECALL 300000 0xb000000000000000000000000000000000000000 0 0 0 0)   (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0)}",
        "{ (STATICCALL 300000 0xc000000000000000000000000000000000000000 0 0 0 0)     (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0)}",
        "{ (seq   (CREATE2 0 0 (lll (seq (SSTORE 0 2) (SSTORE 0 1) (SSTORE 0 1) (SSTORE 1 1) ) 0) 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (STOP) )   }",
        "{ (CALL 300000 0xb000000000000000000000000000000000000000 0 0 0 0 0)         (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (REVERT 0 32)}",
        "{ (CALLCODE 300000 0xb000000000000000000000000000000000000000 0 0 0 0 0)     (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (REVERT 0 32)}",
        "{ (DELEGATECALL 300000 0xb000000000000000000000000000000000000000 0 0 0 0)   (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (REVERT 0 32)}",
        "{ (STATICCALL 300000 0xc000000000000000000000000000000000000000 0 0 0 0)     (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (REVERT 0 32)}",
        "{ (seq   (CREATE2 0 0 (lll (seq (SSTORE 0 2) (SSTORE 0 1) (SSTORE 0 1) (SSTORE 1 1) ) 0) 0) (CALL 600000 0xdea0000000000000000000000000000000000000 0 0 0 0 0) (REVERT 0 32) (STOP) )   }"

            ],
            "gasLimit" : [
                "1000000", "400000"
            ],
            "gasPrice" : "1",
            "nonce" : "0",
            "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
            "to" : "",
            "value" : [
                "1"
            ]
        }
    }
}