RPC/GraphQL: Change RPC/GraphQL to use shared `setupComputation`
Change RPC/GraphQL calls to the EVM to use shared `setupComputation` instead of their own special variant. Signed-off-by: Jamie Lokier <jamie@shareable.org>
This commit is contained in:
parent
8b33cbe568
commit
a5385e5344
|
@ -88,26 +88,19 @@ type
|
||||||
data*: seq[byte]
|
data*: seq[byte]
|
||||||
contractCreation*: bool
|
contractCreation*: bool
|
||||||
|
|
||||||
proc rpcSetupComputation(vmState: BaseVMState, call: RpcCallData,
|
proc rpcSetupComputation(vmState: BaseVMState, rpc: RpcCallData,
|
||||||
gasLimit: GasInt, forkOverride = none(Fork)): Computation =
|
gasLimit: GasInt, forkOverride = none(Fork)): Computation =
|
||||||
vmState.setupTxContext(
|
return setupComputation(CallParams(
|
||||||
origin = call.source,
|
vmState: vmState,
|
||||||
gasPrice = call.gasPrice,
|
forkOverride: forkOverride,
|
||||||
forkOverride = forkOverride,
|
gasPrice: rpc.gasPrice,
|
||||||
)
|
gasLimit: gasLimit,
|
||||||
|
sender: rpc.source,
|
||||||
var msg = Message(
|
to: rpc.to,
|
||||||
kind: if call.contractCreation: evmcCreate else: evmcCall,
|
isCreate: rpc.contractCreation,
|
||||||
depth: 0,
|
value: rpc.value,
|
||||||
gas: gasLimit,
|
input: rpc.data
|
||||||
sender: call.source,
|
))
|
||||||
contractAddress: call.to,
|
|
||||||
codeAddress: call.to,
|
|
||||||
value: call.value,
|
|
||||||
data: call.data
|
|
||||||
)
|
|
||||||
|
|
||||||
return newComputation(vmState, msg)
|
|
||||||
|
|
||||||
proc rpcDoCall*(call: RpcCallData, header: BlockHeader, chain: BaseChainDB): HexDataStr =
|
proc rpcDoCall*(call: RpcCallData, header: BlockHeader, chain: BaseChainDB): HexDataStr =
|
||||||
# TODO: handle revert and error
|
# TODO: handle revert and error
|
||||||
|
|
Loading…
Reference in New Issue