Merge branch 'develop' into joon/ibc-mvp1
This commit is contained in:
+1
-1
@@ -104,7 +104,7 @@ func processSig(
|
||||
// Get the account.
|
||||
acc = am.GetAccount(ctx, addr)
|
||||
if acc == nil {
|
||||
return nil, sdk.ErrUnrecognizedAddress(addr.String()).Result()
|
||||
return nil, sdk.ErrUnknownAddress(addr.String()).Result()
|
||||
}
|
||||
|
||||
// Check and increment sequence number.
|
||||
|
||||
+2
-2
@@ -93,13 +93,13 @@ func TestAnteHandlerSigErrors(t *testing.T) {
|
||||
// test an unrecognized account
|
||||
privs, seqs = []crypto.PrivKey{priv1, priv2}, []int64{0, 0}
|
||||
tx = newTestTx(ctx, msg, privs, seqs, fee)
|
||||
checkInvalidTx(t, anteHandler, ctx, tx, sdk.CodeUnrecognizedAddress)
|
||||
checkInvalidTx(t, anteHandler, ctx, tx, sdk.CodeUnknownAddress)
|
||||
|
||||
// save the first account, but second is still unrecognized
|
||||
acc1 := mapper.NewAccountWithAddress(ctx, addr1)
|
||||
acc1.SetCoins(fee.Amount)
|
||||
mapper.SetAccount(ctx, acc1)
|
||||
checkInvalidTx(t, anteHandler, ctx, tx, sdk.CodeUnrecognizedAddress)
|
||||
checkInvalidTx(t, anteHandler, ctx, tx, sdk.CodeUnknownAddress)
|
||||
}
|
||||
|
||||
// Test logic around sequence checking with one signer and many signers.
|
||||
|
||||
+7
-49
@@ -5,36 +5,19 @@ import (
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
type CodeType = sdk.CodeType
|
||||
|
||||
// Coin errors reserve 100 ~ 199.
|
||||
const (
|
||||
// Coin errors reserve 100 - 199.
|
||||
CodeInvalidInput CodeType = 100
|
||||
CodeInvalidOutput CodeType = 101
|
||||
CodeInvalidAddress CodeType = 102
|
||||
CodeUnknownAddress CodeType = 103
|
||||
CodeInsufficientCoins CodeType = 104
|
||||
CodeInvalidCoins CodeType = 105
|
||||
CodeUnknownRequest CodeType = sdk.CodeUnknownRequest
|
||||
CodeInvalidInput sdk.CodeType = 101
|
||||
CodeInvalidOutput sdk.CodeType = 102
|
||||
)
|
||||
|
||||
// NOTE: Don't stringer this, we'll put better messages in later.
|
||||
func codeToDefaultMsg(code CodeType) string {
|
||||
func codeToDefaultMsg(code sdk.CodeType) string {
|
||||
switch code {
|
||||
case CodeInvalidInput:
|
||||
return "Invalid input coins"
|
||||
case CodeInvalidOutput:
|
||||
return "Invalid output coins"
|
||||
case CodeInvalidAddress:
|
||||
return "Invalid address"
|
||||
case CodeUnknownAddress:
|
||||
return "Unknown address"
|
||||
case CodeInsufficientCoins:
|
||||
return "Insufficient coins"
|
||||
case CodeInvalidCoins:
|
||||
return "Invalid coins"
|
||||
case CodeUnknownRequest:
|
||||
return "Unknown request"
|
||||
default:
|
||||
return sdk.CodeToDefaultMsg(code)
|
||||
}
|
||||
@@ -59,41 +42,16 @@ func ErrNoOutputs() sdk.Error {
|
||||
return newError(CodeInvalidOutput, "")
|
||||
}
|
||||
|
||||
func ErrInvalidSequence(msg string) sdk.Error {
|
||||
return sdk.ErrInvalidSequence(msg)
|
||||
}
|
||||
|
||||
func ErrInvalidAddress(msg string) sdk.Error {
|
||||
return newError(CodeInvalidAddress, msg)
|
||||
}
|
||||
|
||||
func ErrUnknownAddress(msg string) sdk.Error {
|
||||
return newError(CodeUnknownAddress, msg)
|
||||
}
|
||||
|
||||
func ErrInsufficientCoins(msg string) sdk.Error {
|
||||
return newError(CodeInsufficientCoins, msg)
|
||||
}
|
||||
|
||||
func ErrInvalidCoins(msg string) sdk.Error {
|
||||
return newError(CodeInvalidCoins, msg)
|
||||
}
|
||||
|
||||
func ErrUnknownRequest(msg string) sdk.Error {
|
||||
return newError(CodeUnknownRequest, msg)
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
|
||||
func msgOrDefaultMsg(msg string, code CodeType) string {
|
||||
func msgOrDefaultMsg(msg string, code sdk.CodeType) string {
|
||||
if msg != "" {
|
||||
return msg
|
||||
} else {
|
||||
return codeToDefaultMsg(code)
|
||||
}
|
||||
return codeToDefaultMsg(code)
|
||||
}
|
||||
|
||||
func newError(code CodeType, msg string) sdk.Error {
|
||||
func newError(code sdk.CodeType, msg string) sdk.Error {
|
||||
msg = msgOrDefaultMsg(msg, code)
|
||||
return sdk.NewError(code, msg)
|
||||
}
|
||||
|
||||
+2
-2
@@ -20,13 +20,13 @@ func NewCoinKeeper(am sdk.AccountMapper) CoinKeeper {
|
||||
func (ck CoinKeeper) SubtractCoins(ctx sdk.Context, addr sdk.Address, amt sdk.Coins) (sdk.Coins, sdk.Error) {
|
||||
acc := ck.am.GetAccount(ctx, addr)
|
||||
if acc == nil {
|
||||
return amt, sdk.ErrUnrecognizedAddress(addr.String())
|
||||
return amt, sdk.ErrUnknownAddress(addr.String())
|
||||
}
|
||||
|
||||
coins := acc.GetCoins()
|
||||
newCoins := coins.Minus(amt)
|
||||
if !newCoins.IsNotNegative() {
|
||||
return amt, ErrInsufficientCoins(fmt.Sprintf("%s < %s", coins, amt))
|
||||
return amt, sdk.ErrInsufficientCoins(fmt.Sprintf("%s < %s", coins, amt))
|
||||
}
|
||||
|
||||
acc.SetCoins(newCoins)
|
||||
|
||||
+7
-7
@@ -49,7 +49,7 @@ func (msg SendMsg) ValidateBasic() sdk.Error {
|
||||
}
|
||||
// make sure inputs and outputs match
|
||||
if !totalIn.IsEqual(totalOut) {
|
||||
return ErrInvalidCoins(totalIn.String()).Trace("inputs and outputs don't match")
|
||||
return sdk.ErrInvalidCoins(totalIn.String()).Trace("inputs and outputs don't match")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -147,13 +147,13 @@ type Input struct {
|
||||
// ValidateBasic - validate transaction input
|
||||
func (in Input) ValidateBasic() sdk.Error {
|
||||
if len(in.Address) == 0 {
|
||||
return ErrInvalidAddress(in.Address.String())
|
||||
return sdk.ErrInvalidAddress(in.Address.String())
|
||||
}
|
||||
if !in.Coins.IsValid() {
|
||||
return ErrInvalidCoins(in.Coins.String())
|
||||
return sdk.ErrInvalidCoins(in.Coins.String())
|
||||
}
|
||||
if !in.Coins.IsPositive() {
|
||||
return ErrInvalidCoins(in.Coins.String())
|
||||
return sdk.ErrInvalidCoins(in.Coins.String())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -183,13 +183,13 @@ type Output struct {
|
||||
// ValidateBasic - validate transaction output
|
||||
func (out Output) ValidateBasic() sdk.Error {
|
||||
if len(out.Address) == 0 {
|
||||
return ErrInvalidAddress(out.Address.String())
|
||||
return sdk.ErrInvalidAddress(out.Address.String())
|
||||
}
|
||||
if !out.Coins.IsValid() {
|
||||
return ErrInvalidCoins(out.Coins.String())
|
||||
return sdk.ErrInvalidCoins(out.Coins.String())
|
||||
}
|
||||
if !out.Coins.IsPositive() {
|
||||
return ErrInvalidCoins(out.Coins.String())
|
||||
return sdk.ErrInvalidCoins(out.Coins.String())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user