-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Remix debugging of EVM call #1496
Conversation
There is a lot of refactoring needed to allow transactions to be run off-chain in separate threads. Refactoring IThese changes do not change code except to move code into different or new packages. The aim is to prevent cyclic imports by reducing imports of loomchian root directory. And isolating code called, directly or indirectly, from loomchain root.
Refactoring IICreated a new TxHandlerFacotry in New Objects
type InMemoryApp interface {
ProcessTx(txBytes []byte) (txhandler.TxHandlerResult, error)
TraceProcessTx(txBytes []byte, traceCfg eth.TraceConfig) (txhandler.TxHandlerResult, vm.Tracer, error)
RunUpTo(height, index int64) error
NextBlock()
Height() int64
}
|
# Conflicts: # auth/auth.go # auth/auth_test.go # cmd/loom/loom.go # eth/polls/polls_test.go # eth/query/query_test.go
# Conflicts: # auth/multi_chain_sigtx_middleware.go # auth/multi_chain_sigtx_middleware_test.go # cmd/loom/loom.go # eth/polls/polls_test.go # rpc/query_server.go # rpc/query_service.go # throttle/contract_tx_limiter_middleware.go # throttle/karma-middleware.go # throttle/legacy_deployer_middleware.go # throttle/middleware_test_helper.go # throttle/throttle.go # throttle/throttle_test.go # txhandler/middleware/deployer-middleware.go # txhandler/middleware/deployer-middleware_test.go
# Conflicts: # config/config.go # rpc/query_server.go
To use this PR you need three other PRs.
loomchian PR1492 Refactor the State object from loomchain into a separate package.
transfer gateway PR95 Move config to separate package to reduce cyclic dependencies
Change to go-ethereum to access some internal objects loomnetwork/go-ethereum#8
Note that the optimal second parameter is not supported. So include
{}
instead of leaving it out. This is because it is using existingQuerySever
endpoint mapping code that does not support optional parameters. This feature can be added when added to a separate private interface.issue #1482
Includes refactoring of middleware object to separate package
Implements
debug_traceTransaction
as outlined in Management APIsBased off #1491 .