Skip to content

Commit 2c7ffb1

Browse files
authored
Eliminate debug RPC dependency across all CLI flows (ava-labs#3002)
* Use SimulateTransaction and eliminate debug trace dependency Update sendMsg to use the new SimulateTransaction function which uses standard eth_call instead of debug_traceTransaction. When a transaction fails, extract and display the error selector and revert data to help users debug the issue. Update SDK dependency to version that eliminates debug RPC method dependency, ensuring all CLI flows work with any standard EVM RPC endpoint. * use latest related SDK
1 parent 4c8428b commit 2c7ffb1

3 files changed

Lines changed: 12 additions & 10 deletions

File tree

cmd/interchaincmd/messengercmd/send_msg.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -190,13 +190,15 @@ func sendMsg(_ *cobra.Command, args []string) error {
190190
if err == contractSDK.ErrFailedReceiptStatus {
191191
txHash := tx.Hash().String()
192192
ux.Logger.PrintToUser("error: source receipt status for tx %s is not ReceiptStatusSuccessful", txHash)
193-
trace, err := evm.GetTxTrace(sourceRPCEndpoint, txHash)
194-
if err != nil {
195-
ux.Logger.PrintToUser("error obtaining tx trace: %s", err)
196-
ux.Logger.PrintToUser("")
197-
} else {
198-
ux.Logger.PrintToUser("")
199-
ux.Logger.PrintToUser("trace: %#v", trace)
193+
simErr := evm.SimulateTransaction(sourceRPCEndpoint, txHash)
194+
if simErr != nil {
195+
// Try to extract Solidity error details from the simulation error
196+
if errorSelector, extractErr := contractSDK.GetErrorSelectorFromRPCError(simErr); extractErr == nil {
197+
ux.Logger.PrintToUser("error selector: %s", errorSelector)
198+
}
199+
if revertData, extractErr := contractSDK.GetRevertDataFromRPCError(simErr); extractErr == nil {
200+
ux.Logger.PrintToUser("revert data: %s", revertData)
201+
}
200202
ux.Logger.PrintToUser("")
201203
}
202204
return fmt.Errorf("source receipt status for tx %s is not ReceiptStatusSuccessful", txHash)

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.24.9
55
require (
66
connectrpc.com/connect v1.19.1
77
github.com/ava-labs/avalanche-network-runner v1.8.4-0.20251014185609-6911ff015e4c
8-
github.com/ava-labs/avalanche-tooling-sdk-go v0.3.1-0.20251125200745-04084e900f1b
8+
github.com/ava-labs/avalanche-tooling-sdk-go v0.3.1-0.20251126142338-0ac2707ebb4f
99
github.com/ava-labs/avalanchego v1.14.0-fuji-rc.1
1010
github.com/ava-labs/coreth v0.15.4-rc.4
1111
github.com/ava-labs/icm-services v1.4.1-0.20251021221544-ae1d7d5a81f3

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd
4747
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
4848
github.com/ava-labs/avalanche-network-runner v1.8.4-0.20251014185609-6911ff015e4c h1:uIriOOpMqG+oF7JbYKGJwYem/sXoRxLAjUoe7x3EpWU=
4949
github.com/ava-labs/avalanche-network-runner v1.8.4-0.20251014185609-6911ff015e4c/go.mod h1:NS2385T7YN9VVdIRbM+5NpskLTF2I6ArTdts4qUFwoI=
50-
github.com/ava-labs/avalanche-tooling-sdk-go v0.3.1-0.20251125200745-04084e900f1b h1:z7T0uJoZ2lhzrKgrl78nkc4OZeRSJhjjK8Rnzd6TqVw=
51-
github.com/ava-labs/avalanche-tooling-sdk-go v0.3.1-0.20251125200745-04084e900f1b/go.mod h1:CBQrORCol0SIWNEtL+niqUX5dqcVk2v8aJ7cADpGyg0=
50+
github.com/ava-labs/avalanche-tooling-sdk-go v0.3.1-0.20251126142338-0ac2707ebb4f h1:LAlR4B9tyJ1H+ng/iRh+vjVbo6nJz1lseaT5PbYEMBM=
51+
github.com/ava-labs/avalanche-tooling-sdk-go v0.3.1-0.20251126142338-0ac2707ebb4f/go.mod h1:CBQrORCol0SIWNEtL+niqUX5dqcVk2v8aJ7cADpGyg0=
5252
github.com/ava-labs/avalanchego v1.14.0-fuji-rc.1 h1:/eQUKFGzK+CY2rHOypox87Cqpc9DEIOIjYgEtuRar9g=
5353
github.com/ava-labs/avalanchego v1.14.0-fuji-rc.1/go.mod h1:wEiDa5Lc3oKm9l2AxJOXmLz00Wg7b3hUttgkfzgRoDA=
5454
github.com/ava-labs/coreth v0.15.4-rc.4 h1:ze7/IwDptWG1u2d32uUZz9Ix9ycVUtlB8JufuSKSSS4=

0 commit comments

Comments
 (0)