Skip to content

Commit

Permalink
Improve P-Chain error messages (#3536)
Browse files Browse the repository at this point in the history
  • Loading branch information
StephenButtolph authored Nov 13, 2024
1 parent 92f0f59 commit 3caddcf
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
16 changes: 10 additions & 6 deletions vms/platformvm/block/executor/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package executor
import (
"context"
"errors"
"fmt"

"github.com/ava-labs/avalanchego/ids"
"github.com/ava-labs/avalanchego/snow/consensus/snowman"
Expand Down Expand Up @@ -125,7 +126,7 @@ func (m *manager) VerifyTx(tx *txs.Tx) error {

recommendedPChainHeight, err := m.ctx.ValidatorState.GetMinimumHeight(context.TODO())
if err != nil {
return err
return fmt.Errorf("failed to fetch P-chain height: %w", err)
}
err = executor.VerifyWarpMessages(
context.TODO(),
Expand All @@ -135,12 +136,12 @@ func (m *manager) VerifyTx(tx *txs.Tx) error {
tx.Unsigned,
)
if err != nil {
return err
return fmt.Errorf("failed verifying warp messages: %w", err)
}

stateDiff, err := state.NewDiff(m.preferred, m)
if err != nil {
return err
return fmt.Errorf("failed creating state diff: %w", err)
}

nextBlkTime, _, err := state.NextBlockTime(
Expand All @@ -149,12 +150,12 @@ func (m *manager) VerifyTx(tx *txs.Tx) error {
m.txExecutorBackend.Clk,
)
if err != nil {
return err
return fmt.Errorf("failed selecting next block time: %w", err)
}

_, err = executor.AdvanceTimeTo(m.txExecutorBackend, stateDiff, nextBlkTime)
if err != nil {
return err
return fmt.Errorf("failed to advance the chain time: %w", err)
}

feeCalculator := state.PickFeeCalculator(m.txExecutorBackend.Config, stateDiff)
Expand All @@ -164,7 +165,10 @@ func (m *manager) VerifyTx(tx *txs.Tx) error {
tx,
stateDiff,
)
return err
if err != nil {
return fmt.Errorf("failed execution: %w", err)
}
return nil
}

func (m *manager) VerifyUniqueInputs(blkID ids.ID, inputs set.Set[ids.ID]) error {
Expand Down
2 changes: 1 addition & 1 deletion vms/platformvm/network/gossip.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ func (g *gossipMempool) Add(tx *txs.Tx) error {

if err := g.txVerifier.VerifyTx(tx); err != nil {
g.Mempool.MarkDropped(txID, err)
return err
return fmt.Errorf("failed verification: %w", err)
}

if err := g.Mempool.Add(tx); err != nil {
Expand Down

0 comments on commit 3caddcf

Please sign in to comment.