cast vm instructions to bytes

This commit is contained in:
Guillaume Ballet 2024-10-28 10:12:24 +01:00
parent 6eb183af87
commit ce22cd7c23

View file

@ -885,33 +885,33 @@ func TestProcessVerklExtCodeHashOpcode(t *testing.T) {
config.ChainID.SetUint64(69421) config.ChainID.SetUint64(69421)
dummyContract := []byte{ dummyContract := []byte{
0x60, 2, // PUSH1 2 byte(vm.PUSH1), 2,
0x60, 12, // PUSH1 12 byte(vm.PUSH1), 12,
0x60, 0x00, // PUSH1 0 byte(vm.PUSH1), 0x00,
0x39, // CODECOPY byte(vm.CODECOPY),
0x60, 2, // PUSH1 2 byte(vm.PUSH1), 2, // PUSH1 2
0x60, 0x00, // PUSH1 0 byte(vm.PUSH1), 0x00, // PUSH1 0
0xF3, // RETURN byte(vm.RETURN),
// Contract that auto-calls EXTCODEHASH // Contract that auto-calls EXTCODEHASH
0x60, 42, // PUSH1 42 byte(vm.PUSH1), 42, // PUSH1 42
} }
dummyContractAddr := common.HexToAddress("3a220f351252089d385b29beca14e27f204c296a") dummyContractAddr := common.HexToAddress("3a220f351252089d385b29beca14e27f204c296a")
extCodeHashContract := []byte{ extCodeHashContract := []byte{
0x60, 22, // PUSH1 22 byte(vm.PUSH1), 22, // PUSH1 22
0x60, 12, // PUSH1 12 byte(vm.PUSH1), 12, // PUSH1 12
0x60, 0x00, // PUSH1 0 byte(vm.PUSH1), 0x00, // PUSH1 0
0x39, // CODECOPY byte(vm.CODECOPY),
0x60, 22, // PUSH1 22 byte(vm.PUSH1), 22, // PUSH1 22
0x60, 0x00, // PUSH1 0 byte(vm.PUSH1), 0x00, // PUSH1 0
0xF3, // RETURN byte(vm.RETURN),
// Contract that auto-calls EXTCODEHASH // Contract that auto-calls EXTCODEHASH
0x73, // PUSH20 byte(vm.PUSH20),
0x3a, 0x22, 0x0f, 0x35, 0x12, 0x52, 0x08, 0x9d, 0x38, 0x5b, 0x29, 0xbe, 0xca, 0x14, 0xe2, 0x7f, 0x20, 0x4c, 0x29, 0x6a, 0x3a, 0x22, 0x0f, 0x35, 0x12, 0x52, 0x08, 0x9d, 0x38, 0x5b, 0x29, 0xbe, 0xca, 0x14, 0xe2, 0x7f, 0x20, 0x4c, 0x29, 0x6a,
0x3F, // EXTCODEHASH byte(vm.EXTCODEHASH),
} }
extCodeHashContractAddr := common.HexToAddress("db7d6ab1f17c6b31909ae466702703daef9269cf") extCodeHashContractAddr := common.HexToAddress("db7d6ab1f17c6b31909ae466702703daef9269cf")
_, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 2, func(i int, gen *BlockGen) { _, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 2, func(i int, gen *BlockGen) {
@ -997,9 +997,9 @@ func TestProcessVerkleBalanceOpcode(t *testing.T) {
_, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 1, func(i int, gen *BlockGen) { _, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 1, func(i int, gen *BlockGen) {
gen.SetPoS() gen.SetPoS()
txData := []byte{ txData := []byte{
0x73, // PUSH20 byte(vm.PUSH20),
0x61, 0x77, 0x84, 0x3d, 0xb3, 0x13, 0x8a, 0xe6, 0x96, 0x79, 0xA5, 0x4b, 0x95, 0xcf, 0x34, 0x5E, 0xD7, 0x59, 0x45, 0x0d, // 0x6177843db3138ae69679A54b95cf345ED759450d 0x61, 0x77, 0x84, 0x3d, 0xb3, 0x13, 0x8a, 0xe6, 0x96, 0x79, 0xA5, 0x4b, 0x95, 0xcf, 0x34, 0x5E, 0xD7, 0x59, 0x45, 0x0d, // 0x6177843db3138ae69679A54b95cf345ED759450d
0x31, // BALANCE byte(vm.BALANCE),
} }
tx, _ := types.SignTx(types.NewContractCreation(0, big.NewInt(0), 100_000, big.NewInt(875000000), txData), signer, testKey) tx, _ := types.SignTx(types.NewContractCreation(0, big.NewInt(0), 100_000, big.NewInt(875000000), txData), signer, testKey)
gen.AddTx(tx) gen.AddTx(tx)
@ -1072,19 +1072,19 @@ func TestProcessVerkleSelfDestructInSeparateTx(t *testing.T) {
// in a previous transaction. // in a previous transaction.
selfDestructContract := []byte{ selfDestructContract := []byte{
0x60, 22, // PUSH1 22 byte(vm.PUSH1), 22,
0x60, 12, // PUSH1 12 byte(vm.PUSH1), 12,
0x60, 0x00, // PUSH1 0 byte(vm.PUSH1), 0x00,
0x39, // CODECOPY byte(vm.CODECOPY),
0x60, 22, // PUSH1 22 byte(vm.PUSH1), 22,
0x60, 0x00, // PUSH1 0 byte(vm.PUSH1), 0x00,
0xF3, // RETURN byte(vm.RETURN),
// Deployed code // Deployed code
0x73, // PUSH20 byte(vm.PUSH20),
0x61, 0x77, 0x84, 0x3d, 0xb3, 0x13, 0x8a, 0xe6, 0x96, 0x79, 0xA5, 0x4b, 0x95, 0xcf, 0x34, 0x5E, 0xD7, 0x59, 0x45, 0x0d, // 0x6177843db3138ae69679A54b95cf345ED759450d 0x61, 0x77, 0x84, 0x3d, 0xb3, 0x13, 0x8a, 0xe6, 0x96, 0x79, 0xA5, 0x4b, 0x95, 0xcf, 0x34, 0x5E, 0xD7, 0x59, 0x45, 0x0d, // 0x6177843db3138ae69679A54b95cf345ED759450d
0xFF, // SELFDESTRUCT byte(vm.SELFDESTRUCT),
} }
selfDestructContractAddr := common.HexToAddress("3a220f351252089d385b29beca14e27f204c296a") selfDestructContractAddr := common.HexToAddress("3a220f351252089d385b29beca14e27f204c296a")
_, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 2, func(i int, gen *BlockGen) { _, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 2, func(i int, gen *BlockGen) {
@ -1203,9 +1203,9 @@ func TestProcessVerkleSelfDestructInSameTx(t *testing.T) {
// in **the same** transaction sending the remaining balance to an external (i.e: not itself) account. // in **the same** transaction sending the remaining balance to an external (i.e: not itself) account.
selfDestructContract := []byte{ selfDestructContract := []byte{
0x73, // PUSH20 byte(vm.PUSH20),
0x61, 0x77, 0x84, 0x3d, 0xb3, 0x13, 0x8a, 0xe6, 0x96, 0x79, 0xA5, 0x4b, 0x95, 0xcf, 0x34, 0x5E, 0xD7, 0x59, 0x45, 0x0d, // 0x6177843db3138ae69679A54b95cf345ED759450d 0x61, 0x77, 0x84, 0x3d, 0xb3, 0x13, 0x8a, 0xe6, 0x96, 0x79, 0xA5, 0x4b, 0x95, 0xcf, 0x34, 0x5E, 0xD7, 0x59, 0x45, 0x0d, // 0x6177843db3138ae69679A54b95cf345ED759450d
0xFF, // SELFDESTRUCT byte(vm.SELFDESTRUCT),
} }
selfDestructContractAddr := common.HexToAddress("3a220f351252089d385b29beca14e27f204c296a") selfDestructContractAddr := common.HexToAddress("3a220f351252089d385b29beca14e27f204c296a")
_, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 1, func(i int, gen *BlockGen) { _, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 1, func(i int, gen *BlockGen) {
@ -1311,19 +1311,19 @@ func TestProcessVerkleSelfDestructInSeparateTxWithSelfBeneficiary(t *testing.T)
// in a *previous* transaction sending the remaining balance to itself. // in a *previous* transaction sending the remaining balance to itself.
selfDestructContract := []byte{ selfDestructContract := []byte{
0x60, 22, // PUSH1 22 byte(vm.PUSH1), 22, // PUSH1 22
0x60, 12, // PUSH1 12 byte(vm.PUSH1), 12, // PUSH1 12
0x60, 0x00, // PUSH1 0 byte(vm.PUSH1), 0x00, // PUSH1 0
0x39, // CODECOPY byte(vm.CODECOPY),
0x60, 22, // PUSH1 22 byte(vm.PUSH1), 22, // PUSH1 22
0x60, 0x00, // PUSH1 0 byte(vm.PUSH1), 0x00, // PUSH1 0
0xF3, // RETURN byte(vm.RETURN),
// Deployed code // Deployed code
0x73, // PUSH20 byte(vm.PUSH20), // PUSH20
0x3a, 0x22, 0x0f, 0x35, 0x12, 0x52, 0x08, 0x9d, 0x38, 0x5b, 0x29, 0xbe, 0xca, 0x14, 0xe2, 0x7f, 0x20, 0x4c, 0x29, 0x6a, // 0x3a220f351252089d385b29beca14e27f204c296a 0x3a, 0x22, 0x0f, 0x35, 0x12, 0x52, 0x08, 0x9d, 0x38, 0x5b, 0x29, 0xbe, 0xca, 0x14, 0xe2, 0x7f, 0x20, 0x4c, 0x29, 0x6a, // 0x3a220f351252089d385b29beca14e27f204c296a
0xFF, // SELFDESTRUCT byte(vm.SELFDESTRUCT),
} }
selfDestructContractAddr := common.HexToAddress("3a220f351252089d385b29beca14e27f204c296a") selfDestructContractAddr := common.HexToAddress("3a220f351252089d385b29beca14e27f204c296a")
_, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 2, func(i int, gen *BlockGen) { _, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 2, func(i int, gen *BlockGen) {
@ -1416,9 +1416,9 @@ func TestProcessVerkleSelfDestructInSameTxWithSelfBeneficiary(t *testing.T) {
// in **the same** transaction sending the remaining balance to itself. // in **the same** transaction sending the remaining balance to itself.
selfDestructContract := []byte{ selfDestructContract := []byte{
0x73, // PUSH20 byte(vm.PUSH20),
0x3a, 0x22, 0x0f, 0x35, 0x12, 0x52, 0x08, 0x9d, 0x38, 0x5b, 0x29, 0xbe, 0xca, 0x14, 0xe2, 0x7f, 0x20, 0x4c, 0x29, 0x6a, // 0x3a220f351252089d385b29beca14e27f204c296a 0x3a, 0x22, 0x0f, 0x35, 0x12, 0x52, 0x08, 0x9d, 0x38, 0x5b, 0x29, 0xbe, 0xca, 0x14, 0xe2, 0x7f, 0x20, 0x4c, 0x29, 0x6a, // 0x3a220f351252089d385b29beca14e27f204c296a
0xFF, // SELFDESTRUCT byte(vm.SELFDESTRUCT),
} }
selfDestructContractAddr := common.HexToAddress("3a220f351252089d385b29beca14e27f204c296a") selfDestructContractAddr := common.HexToAddress("3a220f351252089d385b29beca14e27f204c296a")
_, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 1, func(i int, gen *BlockGen) { _, _, _, _, statediffs := GenerateVerkleChainWithGenesis(gspec, beacon.New(ethash.NewFaker()), 1, func(i int, gen *BlockGen) {