Importing methods from the Bank keeper
In the previous step you have created the loan module with ignite scaffold
module using --dep bank. This command created a new module and added the
bank keeper to the loan module, which allows you to add and use bank's
keeper methods in loan's keeper methods.
To see the changes made by --dep bank, review the following files:
x/loan/keeper/keeper.go and x/loan/module.go.
Ignite takes care of adding the bank keeper, but you still need to tell the
loan module which bank methods you will be using. You will be using three
methods: SendCoins, SendCoinsFromAccountToModule, and
SendCoinsFromModuleToAccount. You can do that by adding method signatures to
the BankKeeper interface:
x/loan/types/expected_keepers.go
package types
import (
sdk "github.com/cosmos/cosmos-sdk/types"
)
type BankKeeper interface {
SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error
SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
}