send with correct API
This commit is contained in:
parent
db739e903e
commit
85c537bcc5
@ -102,10 +102,7 @@ func (k Keeper) ExtractBid(ctx sdk.Context, bidder sdk.AccAddress, bid sdk.Coin)
|
||||
|
||||
var proposerReward sdk.Coins
|
||||
if params.ProposerFee.IsZero() {
|
||||
// send the entire bid to the escrow account when no proposer fee is set
|
||||
if err := k.bankKeeper.SendCoins(ctx, bidder, escrowAddress, sdk.NewCoins(bid)); err != nil {
|
||||
return err
|
||||
}
|
||||
return k.SendBid(ctx, bidder, escrowAddress, sdk.NewCoins(bid))
|
||||
} else {
|
||||
rewardsAddress, err := k.rewardsAddressProvider.GetRewardsAddress(ctx)
|
||||
if err != nil {
|
||||
@ -118,7 +115,7 @@ func (k Keeper) ExtractBid(ctx sdk.Context, bidder sdk.AccAddress, bid sdk.Coin)
|
||||
bid := sdk.NewDecCoinsFromCoins(bid)
|
||||
proposerReward, _ = bid.MulDecTruncate(params.ProposerFee).TruncateDecimal()
|
||||
|
||||
if err := k.bankKeeper.SendCoins(ctx, bidder, rewardsAddress, proposerReward); err != nil {
|
||||
if err := k.SendBid(ctx, bidder, rewardsAddress, proposerReward); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -127,7 +124,7 @@ func (k Keeper) ExtractBid(ctx sdk.Context, bidder sdk.AccAddress, bid sdk.Coin)
|
||||
escrowTotal := bid.Sub(sdk.NewDecCoinsFromCoins(proposerReward...))
|
||||
escrowReward, _ := escrowTotal.TruncateDecimal()
|
||||
|
||||
if err := k.bankKeeper.SendCoins(ctx, bidder, escrowAddress, escrowReward); err != nil {
|
||||
if err := k.SendBid(ctx, bidder, escrowAddress, escrowReward); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@ -206,6 +203,16 @@ func (k Keeper) ValidateBundleTimeouts(bidInfo *types.BidInfo) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// SendBid sends the bid from the bidder to the relevant address.
|
||||
func (k Keeper) SendBid(ctx sdk.Context, from, to sdk.AccAddress, bid sdk.Coins) error {
|
||||
moduleAddress := k.accountKeeper.GetModuleAddress(types.ModuleName)
|
||||
if moduleAddress.Equals(to) {
|
||||
return k.bankKeeper.SendCoinsFromAccountToModule(ctx, from, types.ModuleName, bid)
|
||||
}
|
||||
|
||||
return k.bankKeeper.SendCoins(ctx, from, to, bid)
|
||||
}
|
||||
|
||||
// filterSigners removes any signers from the currentSigners map that are not in the txSigners map.
|
||||
func filterSigners(currentSigners, txSigners map[string]struct{}) {
|
||||
for signer := range currentSigners {
|
||||
|
||||
@ -18,6 +18,7 @@ type Keeper struct {
|
||||
cdc codec.BinaryCodec
|
||||
storeKey storetypes.StoreKey
|
||||
|
||||
accountKeeper types.AccountKeeper
|
||||
bankKeeper types.BankKeeper
|
||||
rewardsAddressProvider types.RewardsAddressProvider
|
||||
|
||||
@ -73,6 +74,7 @@ func NewKeeperWithRewardsAddressProvider(
|
||||
return Keeper{
|
||||
cdc: cdc,
|
||||
storeKey: storeKey,
|
||||
accountKeeper: accountKeeper,
|
||||
bankKeeper: bankKeeper,
|
||||
rewardsAddressProvider: rewardsAddressProvider,
|
||||
authority: authority,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package types
|
||||
|
||||
import (
|
||||
context "context"
|
||||
"context"
|
||||
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
|
||||
@ -18,7 +18,8 @@ type AccountKeeper interface {
|
||||
//
|
||||
//go:generate mockery --name BankKeeper --output ./mocks --outpkg mocks --case underscore
|
||||
type BankKeeper interface {
|
||||
SendCoins(ctx context.Context, fromAddr, toAddr sdk.AccAddress, amt sdk.Coins) error
|
||||
SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error
|
||||
SendCoins(ctx context.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
|
||||
GetBalance(ctx context.Context, addr sdk.AccAddress, denom string) sdk.Coin
|
||||
}
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Code generated by mockery v2.40.1. DO NOT EDIT.
|
||||
// Code generated by mockery v2.30.1. DO NOT EDIT.
|
||||
|
||||
package mocks
|
||||
|
||||
@ -16,10 +16,6 @@ type AccountKeeper struct {
|
||||
func (_m *AccountKeeper) GetModuleAddress(moduleName string) types.AccAddress {
|
||||
ret := _m.Called(moduleName)
|
||||
|
||||
if len(ret) == 0 {
|
||||
panic("no return value specified for GetModuleAddress")
|
||||
}
|
||||
|
||||
var r0 types.AccAddress
|
||||
if rf, ok := ret.Get(0).(func(string) types.AccAddress); ok {
|
||||
r0 = rf(moduleName)
|
||||
@ -37,8 +33,7 @@ func (_m *AccountKeeper) GetModuleAddress(moduleName string) types.AccAddress {
|
||||
func NewAccountKeeper(t interface {
|
||||
mock.TestingT
|
||||
Cleanup(func())
|
||||
},
|
||||
) *AccountKeeper {
|
||||
}) *AccountKeeper {
|
||||
mock := &AccountKeeper{}
|
||||
mock.Mock.Test(t)
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Code generated by mockery v2.40.1. DO NOT EDIT.
|
||||
// Code generated by mockery v2.30.1. DO NOT EDIT.
|
||||
|
||||
package mocks
|
||||
|
||||
@ -18,10 +18,6 @@ type BankKeeper struct {
|
||||
func (_m *BankKeeper) GetBalance(ctx context.Context, addr types.AccAddress, denom string) types.Coin {
|
||||
ret := _m.Called(ctx, addr, denom)
|
||||
|
||||
if len(ret) == 0 {
|
||||
panic("no return value specified for GetBalance")
|
||||
}
|
||||
|
||||
var r0 types.Coin
|
||||
if rf, ok := ret.Get(0).(func(context.Context, types.AccAddress, string) types.Coin); ok {
|
||||
r0 = rf(ctx, addr, denom)
|
||||
@ -36,10 +32,6 @@ func (_m *BankKeeper) GetBalance(ctx context.Context, addr types.AccAddress, den
|
||||
func (_m *BankKeeper) SendCoins(ctx context.Context, fromAddr types.AccAddress, toAddr types.AccAddress, amt types.Coins) error {
|
||||
ret := _m.Called(ctx, fromAddr, toAddr, amt)
|
||||
|
||||
if len(ret) == 0 {
|
||||
panic("no return value specified for SendCoins")
|
||||
}
|
||||
|
||||
var r0 error
|
||||
if rf, ok := ret.Get(0).(func(context.Context, types.AccAddress, types.AccAddress, types.Coins) error); ok {
|
||||
r0 = rf(ctx, fromAddr, toAddr, amt)
|
||||
@ -50,13 +42,26 @@ func (_m *BankKeeper) SendCoins(ctx context.Context, fromAddr types.AccAddress,
|
||||
return r0
|
||||
}
|
||||
|
||||
// SendCoinsFromAccountToModule provides a mock function with given fields: ctx, senderAddr, recipientModule, amt
|
||||
func (_m *BankKeeper) SendCoinsFromAccountToModule(ctx context.Context, senderAddr types.AccAddress, recipientModule string, amt types.Coins) error {
|
||||
ret := _m.Called(ctx, senderAddr, recipientModule, amt)
|
||||
|
||||
var r0 error
|
||||
if rf, ok := ret.Get(0).(func(context.Context, types.AccAddress, string, types.Coins) error); ok {
|
||||
r0 = rf(ctx, senderAddr, recipientModule, amt)
|
||||
} else {
|
||||
r0 = ret.Error(0)
|
||||
}
|
||||
|
||||
return r0
|
||||
}
|
||||
|
||||
// NewBankKeeper creates a new instance of BankKeeper. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
|
||||
// The first argument is typically a *testing.T value.
|
||||
func NewBankKeeper(t interface {
|
||||
mock.TestingT
|
||||
Cleanup(func())
|
||||
},
|
||||
) *BankKeeper {
|
||||
}) *BankKeeper {
|
||||
mock := &BankKeeper{}
|
||||
mock.Mock.Test(t)
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Code generated by mockery v2.40.1. DO NOT EDIT.
|
||||
// Code generated by mockery v2.30.1. DO NOT EDIT.
|
||||
|
||||
package mocks
|
||||
|
||||
@ -18,10 +18,6 @@ type DistributionKeeper struct {
|
||||
func (_m *DistributionKeeper) GetPreviousProposerConsAddr(ctx context.Context) (types.ConsAddress, error) {
|
||||
ret := _m.Called(ctx)
|
||||
|
||||
if len(ret) == 0 {
|
||||
panic("no return value specified for GetPreviousProposerConsAddr")
|
||||
}
|
||||
|
||||
var r0 types.ConsAddress
|
||||
var r1 error
|
||||
if rf, ok := ret.Get(0).(func(context.Context) (types.ConsAddress, error)); ok {
|
||||
@ -49,8 +45,7 @@ func (_m *DistributionKeeper) GetPreviousProposerConsAddr(ctx context.Context) (
|
||||
func NewDistributionKeeper(t interface {
|
||||
mock.TestingT
|
||||
Cleanup(func())
|
||||
},
|
||||
) *DistributionKeeper {
|
||||
}) *DistributionKeeper {
|
||||
mock := &DistributionKeeper{}
|
||||
mock.Mock.Test(t)
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Code generated by mockery v2.40.1. DO NOT EDIT.
|
||||
// Code generated by mockery v2.30.1. DO NOT EDIT.
|
||||
|
||||
package mocks
|
||||
|
||||
@ -16,10 +16,6 @@ type RewardsAddressProvider struct {
|
||||
func (_m *RewardsAddressProvider) GetRewardsAddress(context types.Context) (types.AccAddress, error) {
|
||||
ret := _m.Called(context)
|
||||
|
||||
if len(ret) == 0 {
|
||||
panic("no return value specified for GetRewardsAddress")
|
||||
}
|
||||
|
||||
var r0 types.AccAddress
|
||||
var r1 error
|
||||
if rf, ok := ret.Get(0).(func(types.Context) (types.AccAddress, error)); ok {
|
||||
@ -47,8 +43,7 @@ func (_m *RewardsAddressProvider) GetRewardsAddress(context types.Context) (type
|
||||
func NewRewardsAddressProvider(t interface {
|
||||
mock.TestingT
|
||||
Cleanup(func())
|
||||
},
|
||||
) *RewardsAddressProvider {
|
||||
}) *RewardsAddressProvider {
|
||||
mock := &RewardsAddressProvider{}
|
||||
mock.Mock.Test(t)
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Code generated by mockery v2.40.1. DO NOT EDIT.
|
||||
// Code generated by mockery v2.30.1. DO NOT EDIT.
|
||||
|
||||
package mocks
|
||||
|
||||
@ -20,10 +20,6 @@ type StakingKeeper struct {
|
||||
func (_m *StakingKeeper) GetValidatorByConsAddr(_a0 context.Context, _a1 types.ConsAddress) (stakingtypes.Validator, error) {
|
||||
ret := _m.Called(_a0, _a1)
|
||||
|
||||
if len(ret) == 0 {
|
||||
panic("no return value specified for GetValidatorByConsAddr")
|
||||
}
|
||||
|
||||
var r0 stakingtypes.Validator
|
||||
var r1 error
|
||||
if rf, ok := ret.Get(0).(func(context.Context, types.ConsAddress) (stakingtypes.Validator, error)); ok {
|
||||
@ -49,8 +45,7 @@ func (_m *StakingKeeper) GetValidatorByConsAddr(_a0 context.Context, _a1 types.C
|
||||
func NewStakingKeeper(t interface {
|
||||
mock.TestingT
|
||||
Cleanup(func())
|
||||
},
|
||||
) *StakingKeeper {
|
||||
}) *StakingKeeper {
|
||||
mock := &StakingKeeper{}
|
||||
mock.Mock.Test(t)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user