mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-19 21:31:37 +00:00
func (t *VMTest) newEVM(statedb *state.StateDB, vmconfig vm.Config) *vm.EVM {
132
initialCall := true
133
canTransfer := func(db vm.StateDB, address common.Address, amount *big.Int) bool {
134
if initialCall {
135
initialCall = false
136
return true
137
}
138
return core.CanTransfer(db, address, amount)
139
}
140
transfer := func(db vm.StateDB, sender, recipient common.Address, amount *big.Int) {}
141
context := vm.Context{
142
CanTransfer: canTransfer,
143
Transfer: transfer,
144
GetHash: vmTestBlockHash,
145
Origin: t.json.Exec.Origin,
146
Coinbase: t.json.Env.Coinbase,
147
BlockNumber: new(big.Int).SetUint64(t.json.Env.Number),
148
Time: new(big.Int).SetUint64(t.json.Env.Timestamp),
149
GasLimit: t.json.Env.GasLimit,
150
Difficulty: t.json.Env.Difficulty,
151
GasPrice: t.json.Exec.GasPrice,
152
}
153
vmconfig.NoRecursion = true
154
return vm.NewEVM(context, statedb, params.MainnetChainConfig, vmconfig)
{
"transactionTest1": {
"rlp" : "bytearray",
"sender" : "address",0x0000000000000000000000000000000000000000
"blocknumber" : "1000000"
"transaction" : {
"nonce" : "int",
"gasPrice" : "int","20000000000",
"gasLimit" : "int", "21000",
"to" : "address",'0xc287cf1f50d5bd56de70bdec1f4103d2b733a6d4',
"value" : "int", "1000000000",
"v" : "byte",
"r" : "256 bit unsigned int",
"s" : "256 bit unsigned int",
"data" : "byte array"
} data: ""
}, 'MyPassword!').then(console.log);
> '0x99167c2758e51d5539c3a23d54ff40a74da9ccac3ca2c01ec36f807a8c130a69'
}
1 line
1 B
Text
1 line
1 B
Text
|