Refactor send_tx
-related methods into plain functions
#1975
Labels
I: logic
Internal: related to the relaying logic
I: rpc
Internal: related to (g)RPC
O: code-hygiene
Objective: cause to improve code hygiene
O: performance
Objective: cause to improve performance
Milestone
Summary
The method
CosmosSdkChain::send_tx()
method is tightly coupled with theCosmosSdkChain
struct, with deeply nested method calls. This makes it challenging to use the functionality without spawning the entire relayer. This is because the construction ofCosmosSdkChain
is not straightforward, and involves a lot of indirection through other structures such asChainHandle
andChainRuntime
.This complication is the main reason why
ibc-test-framework
currently performs token transfer by calling thegaiad
command, because the current design ofsend_tx()
does not allow such simple functionality without aChainHandle
. However sinceChainHandle
is configured with a global wallet that cannot be changed, this presents challenges of reusing the sameChainHandle
to perform transfer for different wallets.Moving forward, if we want to improve the relayer performance by parallelizing the query operations and send_tx operations, it is also necessary to do this refactoring so that they do not end up in the same struct
CosmosSdkChain
.For Admin Use
The text was updated successfully, but these errors were encountered: