dydxprotocol / v4-chain

dydx v4 protocol
Other
233 stars 108 forks source link

`FullNodeProcessProposalHandler` fails to decode txs #1766

Open zhaowenlan1779 opened 5 months ago

zhaowenlan1779 commented 5 months ago

See title. All is good since it returns Accept, but DecodeProcessProposalTxs is failing with error

Msg Type: types.MsgProposedOperations, Error: 
github.com/cosmos/cosmos-sdk/x/auth/tx.NewTxConfigWithOptions.DefaultTxDecoder.func1
    github.com/cosmos/cosmos-sdk@v0.50.5/x/auth/tx/decoder.go:23
github.com/dydxprotocol/v4-chain/protocol/app/process.DecodeProposedOperationsTx
    github.com/dydxprotocol/v4-chain/protocol/app/process/proposed_operations.go:27
github.com/dydxprotocol/v4-chain/protocol/app/process.DecodeProcessProposalTxs
    github.com/dydxprotocol/v4-chain/protocol/app/process/transactions.go:103
github.com/dydxprotocol/v4-chain/protocol/app.(*App).createProposalHandlers.FullNodeProcessProposalHandler.func2
    github.com/dydxprotocol/v4-chain/protocol/app/process/full_node_process_proposal.go:42
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).ProcessProposal
    github.com/cosmos/cosmos-sdk@v0.50.5/baseapp/abci.go:547
github.com/cosmos/cosmos-sdk/server.cometABCIWrapper.ProcessProposal
    github.com/cosmos/cosmos-sdk@v0.50.5/server/cmt_abci.go:40
github.com/cometbft/cometbft/abci/client.(*unsyncLocalClient).ProcessProposal
    github.com/cometbft/cometbft@v0.38.6/abci/client/unsync_local_client.go:125
github.com/cometbft/cometbft/proxy.(*appConnConsensus).ProcessProposal
    github.com/cometbft/cometbft@v0.38.6/proxy/app_conn.go:89
github.com/cometbft/cometbft/state.(*BlockExecutor).ProcessProposal
    github.com/cometbft/cometbft@v0.38.6/state/execution.go:166
github.com/cometbft/cometbft/consensus.(*State).defaultDoPrevote
    github.com/cometbft/cometbft@v0.38.6/consensus/state.go:1408
github.com/cometbft/cometbft/consensus.(*State).enterPrevote
    github.com/cometbft/cometbft@v0.38.6/consensus/state.go:1340
github.com/cometbft/cometbft/consensus.(*State).handleCompleteProposal
    github.com/cometbft/cometbft@v0.38.6/consensus/state.go:2111
github.com/cometbft/cometbft/consensus.(*State).handleMsg
    github.com/cometbft/cometbft@v0.38.6/consensus/state.go:909
github.com/cometbft/cometbft/consensus.(*State).receiveRoutine
    github.com/cometbft/cometbft@v0.38.6/consensus/state.go:835
expected 2 wire type, got 0: tx parse error: Decoding tx bytes failed

This is apparently because DefaultMarketPriceDecoder (used by non-validating full nodes) always return 0 for GetTxOffset, which results in ProcessProposal attempting to parse the vote extension as a tx.

linear[bot] commented 5 months ago

GH-40 `FullNodeProcessProposalHandler` fails to decode txs