From d84885ca49e557fac2964fb7eae6d6a049656e51 Mon Sep 17 00:00:00 2001 From: Alessio Treglia Date: Fri, 31 Aug 2018 17:47:20 +0200 Subject: [PATCH] No need to create a fake slice of signatures nor skip account no./sequence check --- client/context/context.go | 2 ++ x/auth/ante.go | 25 +++++++++---------------- x/bank/app_test.go | 2 +- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/client/context/context.go b/client/context/context.go index 2444c56d13..8e56cfa1ae 100644 --- a/client/context/context.go +++ b/client/context/context.go @@ -159,6 +159,8 @@ func (ctx CLIContext) WithUseLedger(useLedger bool) CLIContext { // WithCertifier - return a copy of the context with an updated Certifier func (ctx CLIContext) WithCertifier(certifier tmlite.Certifier) CLIContext { ctx.Certifier = certifier + return ctx +} // WithGasAdjustment returns a copy of the context with an updated GasAdjustment flag. func (ctx CLIContext) WithGasAdjustment(adjustment float64) CLIContext { diff --git a/x/auth/ante.go b/x/auth/ante.go index 51440e2ece..65071e69a7 100644 --- a/x/auth/ante.go +++ b/x/auth/ante.go @@ -68,9 +68,6 @@ func NewAnteHandler(am AccountMapper, fck FeeCollectionKeeper) sdk.AnteHandler { sigs := stdTx.GetSignatures() // When simulating, this would just be a 0-length slice. signerAddrs := stdTx.GetSigners() msgs := tx.GetMsgs() - if simulate { - sigs = make([]StdSignature, len(signerAddrs)) - } // charge gas for the memo newCtx.GasMeter().ConsumeGas(memoCostPerByte*sdk.Gas(len(stdTx.GetMemo())), "memo") @@ -160,20 +157,16 @@ func processSig( accnum := acc.GetAccountNumber() seq := acc.GetSequence() - // Perform checks that wouldn't pass successfully in simulation, i.e. sig - // would be empty as simulated transactions come with no signatures whatsoever. - if !simulate { - // Check account number. - if accnum != sig.AccountNumber { - return nil, sdk.ErrInvalidSequence( - fmt.Sprintf("Invalid account number. Got %d, expected %d", sig.AccountNumber, accnum)).Result() - } + // Check account number. + if accnum != sig.AccountNumber { + return nil, sdk.ErrInvalidSequence( + fmt.Sprintf("Invalid account number. Got %d, expected %d", sig.AccountNumber, accnum)).Result() + } - // Check sequence number. - if seq != sig.Sequence { - return nil, sdk.ErrInvalidSequence( - fmt.Sprintf("Invalid sequence. Got %d, expected %d", sig.Sequence, seq)).Result() - } + // Check sequence number. + if seq != sig.Sequence { + return nil, sdk.ErrInvalidSequence( + fmt.Sprintf("Invalid sequence. Got %d, expected %d", sig.Sequence, seq)).Result() } err := acc.SetSequence(seq + 1) if err != nil { diff --git a/x/bank/app_test.go b/x/bank/app_test.go index 7ef344ffcd..77991f94b7 100644 --- a/x/bank/app_test.go +++ b/x/bank/app_test.go @@ -123,7 +123,7 @@ func TestMsgSendWithAccounts(t *testing.T) { msgs: []sdk.Msg{sendMsg1, sendMsg2}, accNums: []int64{0}, accSeqs: []int64{0}, - expSimPass: true, + expSimPass: false, expPass: false, privKeys: []crypto.PrivKey{priv1}, },