// Code generated by moq; DO NOT EDIT.
// github.com/matryer/moq

package mock

import (
	"context"
	"github.com/axelarnetwork/axelar-core/x/bank/types"
	cosmossdktypes "github.com/cosmos/cosmos-sdk/types"
	"github.com/cosmos/cosmos-sdk/types/query"
	banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
	"sync"
)

// Ensure, that BankKeeperMock does implement types.BankKeeper.
// If this is not the case, regenerate this file with moq.
var _ types.BankKeeper = &BankKeeperMock{}

// BankKeeperMock is a mock implementation of types.BankKeeper.
//
//	func TestSomethingThatUsesBankKeeper(t *testing.T) {
//
//		// make and configure a mocked types.BankKeeper
//		mockedBankKeeper := &BankKeeperMock{
//			AllBalancesFunc: func(contextMoqParam context.Context, queryAllBalancesRequest *banktypes.QueryAllBalancesRequest) (*banktypes.QueryAllBalancesResponse, error) {
//				panic("mock out the AllBalances method")
//			},
//			BalanceFunc: func(contextMoqParam context.Context, queryBalanceRequest *banktypes.QueryBalanceRequest) (*banktypes.QueryBalanceResponse, error) {
//				panic("mock out the Balance method")
//			},
//			BlockedAddrFunc: func(addr cosmossdktypes.AccAddress) bool {
//				panic("mock out the BlockedAddr method")
//			},
//			BurnCoinsFunc: func(ctx cosmossdktypes.Context, moduleName string, amt cosmossdktypes.Coins) error {
//				panic("mock out the BurnCoins method")
//			},
//			DelegateCoinsFunc: func(ctx cosmossdktypes.Context, delegatorAddr cosmossdktypes.AccAddress, moduleAccAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error {
//				panic("mock out the DelegateCoins method")
//			},
//			DelegateCoinsFromAccountToModuleFunc: func(ctx cosmossdktypes.Context, senderAddr cosmossdktypes.AccAddress, recipientModule string, amt cosmossdktypes.Coins) error {
//				panic("mock out the DelegateCoinsFromAccountToModule method")
//			},
//			DenomMetadataFunc: func(contextMoqParam context.Context, queryDenomMetadataRequest *banktypes.QueryDenomMetadataRequest) (*banktypes.QueryDenomMetadataResponse, error) {
//				panic("mock out the DenomMetadata method")
//			},
//			DenomsMetadataFunc: func(contextMoqParam context.Context, queryDenomsMetadataRequest *banktypes.QueryDenomsMetadataRequest) (*banktypes.QueryDenomsMetadataResponse, error) {
//				panic("mock out the DenomsMetadata method")
//			},
//			ExportGenesisFunc: func(contextMoqParam cosmossdktypes.Context) *banktypes.GenesisState {
//				panic("mock out the ExportGenesis method")
//			},
//			GetAccountsBalancesFunc: func(ctx cosmossdktypes.Context) []banktypes.Balance {
//				panic("mock out the GetAccountsBalances method")
//			},
//			GetAllBalancesFunc: func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) cosmossdktypes.Coins {
//				panic("mock out the GetAllBalances method")
//			},
//			GetBalanceFunc: func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress, denom string) cosmossdktypes.Coin {
//				panic("mock out the GetBalance method")
//			},
//			GetDenomMetaDataFunc: func(ctx cosmossdktypes.Context, denom string) (banktypes.Metadata, bool) {
//				panic("mock out the GetDenomMetaData method")
//			},
//			GetPaginatedTotalSupplyFunc: func(ctx cosmossdktypes.Context, pagination *query.PageRequest) (cosmossdktypes.Coins, *query.PageResponse, error) {
//				panic("mock out the GetPaginatedTotalSupply method")
//			},
//			GetParamsFunc: func(ctx cosmossdktypes.Context) banktypes.Params {
//				panic("mock out the GetParams method")
//			},
//			GetSupplyFunc: func(ctx cosmossdktypes.Context, denom string) cosmossdktypes.Coin {
//				panic("mock out the GetSupply method")
//			},
//			HasBalanceFunc: func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress, amt cosmossdktypes.Coin) bool {
//				panic("mock out the HasBalance method")
//			},
//			HasSupplyFunc: func(ctx cosmossdktypes.Context, denom string) bool {
//				panic("mock out the HasSupply method")
//			},
//			InitGenesisFunc: func(contextMoqParam cosmossdktypes.Context, genesisState *banktypes.GenesisState)  {
//				panic("mock out the InitGenesis method")
//			},
//			InputOutputCoinsFunc: func(ctx cosmossdktypes.Context, inputs []banktypes.Input, outputs []banktypes.Output) error {
//				panic("mock out the InputOutputCoins method")
//			},
//			IsSendEnabledCoinFunc: func(ctx cosmossdktypes.Context, coin cosmossdktypes.Coin) bool {
//				panic("mock out the IsSendEnabledCoin method")
//			},
//			IsSendEnabledCoinsFunc: func(ctx cosmossdktypes.Context, coins ...cosmossdktypes.Coin) error {
//				panic("mock out the IsSendEnabledCoins method")
//			},
//			IterateAccountBalancesFunc: func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress, cb func(coin cosmossdktypes.Coin) (stop bool))  {
//				panic("mock out the IterateAccountBalances method")
//			},
//			IterateAllBalancesFunc: func(ctx cosmossdktypes.Context, cb func(address cosmossdktypes.AccAddress, coin cosmossdktypes.Coin) (stop bool))  {
//				panic("mock out the IterateAllBalances method")
//			},
//			IterateAllDenomMetaDataFunc: func(ctx cosmossdktypes.Context, cb func(banktypes.Metadata) bool)  {
//				panic("mock out the IterateAllDenomMetaData method")
//			},
//			IterateTotalSupplyFunc: func(ctx cosmossdktypes.Context, cb func(cosmossdktypes.Coin) bool)  {
//				panic("mock out the IterateTotalSupply method")
//			},
//			LockedCoinsFunc: func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) cosmossdktypes.Coins {
//				panic("mock out the LockedCoins method")
//			},
//			MintCoinsFunc: func(ctx cosmossdktypes.Context, moduleName string, amt cosmossdktypes.Coins) error {
//				panic("mock out the MintCoins method")
//			},
//			ParamsFunc: func(contextMoqParam context.Context, queryParamsRequest *banktypes.QueryParamsRequest) (*banktypes.QueryParamsResponse, error) {
//				panic("mock out the Params method")
//			},
//			SendCoinsFunc: func(ctx cosmossdktypes.Context, fromAddr cosmossdktypes.AccAddress, toAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error {
//				panic("mock out the SendCoins method")
//			},
//			SendCoinsFromAccountToModuleFunc: func(ctx cosmossdktypes.Context, senderAddr cosmossdktypes.AccAddress, recipientModule string, amt cosmossdktypes.Coins) error {
//				panic("mock out the SendCoinsFromAccountToModule method")
//			},
//			SendCoinsFromModuleToAccountFunc: func(ctx cosmossdktypes.Context, senderModule string, recipientAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error {
//				panic("mock out the SendCoinsFromModuleToAccount method")
//			},
//			SendCoinsFromModuleToModuleFunc: func(ctx cosmossdktypes.Context, senderModule string, recipientModule string, amt cosmossdktypes.Coins) error {
//				panic("mock out the SendCoinsFromModuleToModule method")
//			},
//			SetDenomMetaDataFunc: func(ctx cosmossdktypes.Context, denomMetaData banktypes.Metadata)  {
//				panic("mock out the SetDenomMetaData method")
//			},
//			SetParamsFunc: func(ctx cosmossdktypes.Context, params banktypes.Params)  {
//				panic("mock out the SetParams method")
//			},
//			SpendableBalancesFunc: func(contextMoqParam context.Context, querySpendableBalancesRequest *banktypes.QuerySpendableBalancesRequest) (*banktypes.QuerySpendableBalancesResponse, error) {
//				panic("mock out the SpendableBalances method")
//			},
//			SpendableCoinsFunc: func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) cosmossdktypes.Coins {
//				panic("mock out the SpendableCoins method")
//			},
//			SupplyOfFunc: func(contextMoqParam context.Context, querySupplyOfRequest *banktypes.QuerySupplyOfRequest) (*banktypes.QuerySupplyOfResponse, error) {
//				panic("mock out the SupplyOf method")
//			},
//			TotalSupplyFunc: func(contextMoqParam context.Context, queryTotalSupplyRequest *banktypes.QueryTotalSupplyRequest) (*banktypes.QueryTotalSupplyResponse, error) {
//				panic("mock out the TotalSupply method")
//			},
//			UndelegateCoinsFunc: func(ctx cosmossdktypes.Context, moduleAccAddr cosmossdktypes.AccAddress, delegatorAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error {
//				panic("mock out the UndelegateCoins method")
//			},
//			UndelegateCoinsFromModuleToAccountFunc: func(ctx cosmossdktypes.Context, senderModule string, recipientAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error {
//				panic("mock out the UndelegateCoinsFromModuleToAccount method")
//			},
//			ValidateBalanceFunc: func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) error {
//				panic("mock out the ValidateBalance method")
//			},
//		}
//
//		// use mockedBankKeeper in code that requires types.BankKeeper
//		// and then make assertions.
//
//	}
type BankKeeperMock struct {
	// AllBalancesFunc mocks the AllBalances method.
	AllBalancesFunc func(contextMoqParam context.Context, queryAllBalancesRequest *banktypes.QueryAllBalancesRequest) (*banktypes.QueryAllBalancesResponse, error)

	// BalanceFunc mocks the Balance method.
	BalanceFunc func(contextMoqParam context.Context, queryBalanceRequest *banktypes.QueryBalanceRequest) (*banktypes.QueryBalanceResponse, error)

	// BlockedAddrFunc mocks the BlockedAddr method.
	BlockedAddrFunc func(addr cosmossdktypes.AccAddress) bool

	// BurnCoinsFunc mocks the BurnCoins method.
	BurnCoinsFunc func(ctx cosmossdktypes.Context, moduleName string, amt cosmossdktypes.Coins) error

	// DelegateCoinsFunc mocks the DelegateCoins method.
	DelegateCoinsFunc func(ctx cosmossdktypes.Context, delegatorAddr cosmossdktypes.AccAddress, moduleAccAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error

	// DelegateCoinsFromAccountToModuleFunc mocks the DelegateCoinsFromAccountToModule method.
	DelegateCoinsFromAccountToModuleFunc func(ctx cosmossdktypes.Context, senderAddr cosmossdktypes.AccAddress, recipientModule string, amt cosmossdktypes.Coins) error

	// DenomMetadataFunc mocks the DenomMetadata method.
	DenomMetadataFunc func(contextMoqParam context.Context, queryDenomMetadataRequest *banktypes.QueryDenomMetadataRequest) (*banktypes.QueryDenomMetadataResponse, error)

	// DenomsMetadataFunc mocks the DenomsMetadata method.
	DenomsMetadataFunc func(contextMoqParam context.Context, queryDenomsMetadataRequest *banktypes.QueryDenomsMetadataRequest) (*banktypes.QueryDenomsMetadataResponse, error)

	// ExportGenesisFunc mocks the ExportGenesis method.
	ExportGenesisFunc func(contextMoqParam cosmossdktypes.Context) *banktypes.GenesisState

	// GetAccountsBalancesFunc mocks the GetAccountsBalances method.
	GetAccountsBalancesFunc func(ctx cosmossdktypes.Context) []banktypes.Balance

	// GetAllBalancesFunc mocks the GetAllBalances method.
	GetAllBalancesFunc func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) cosmossdktypes.Coins

	// GetBalanceFunc mocks the GetBalance method.
	GetBalanceFunc func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress, denom string) cosmossdktypes.Coin

	// GetDenomMetaDataFunc mocks the GetDenomMetaData method.
	GetDenomMetaDataFunc func(ctx cosmossdktypes.Context, denom string) (banktypes.Metadata, bool)

	// GetPaginatedTotalSupplyFunc mocks the GetPaginatedTotalSupply method.
	GetPaginatedTotalSupplyFunc func(ctx cosmossdktypes.Context, pagination *query.PageRequest) (cosmossdktypes.Coins, *query.PageResponse, error)

	// GetParamsFunc mocks the GetParams method.
	GetParamsFunc func(ctx cosmossdktypes.Context) banktypes.Params

	// GetSupplyFunc mocks the GetSupply method.
	GetSupplyFunc func(ctx cosmossdktypes.Context, denom string) cosmossdktypes.Coin

	// HasBalanceFunc mocks the HasBalance method.
	HasBalanceFunc func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress, amt cosmossdktypes.Coin) bool

	// HasSupplyFunc mocks the HasSupply method.
	HasSupplyFunc func(ctx cosmossdktypes.Context, denom string) bool

	// InitGenesisFunc mocks the InitGenesis method.
	InitGenesisFunc func(contextMoqParam cosmossdktypes.Context, genesisState *banktypes.GenesisState)

	// InputOutputCoinsFunc mocks the InputOutputCoins method.
	InputOutputCoinsFunc func(ctx cosmossdktypes.Context, inputs []banktypes.Input, outputs []banktypes.Output) error

	// IsSendEnabledCoinFunc mocks the IsSendEnabledCoin method.
	IsSendEnabledCoinFunc func(ctx cosmossdktypes.Context, coin cosmossdktypes.Coin) bool

	// IsSendEnabledCoinsFunc mocks the IsSendEnabledCoins method.
	IsSendEnabledCoinsFunc func(ctx cosmossdktypes.Context, coins ...cosmossdktypes.Coin) error

	// IterateAccountBalancesFunc mocks the IterateAccountBalances method.
	IterateAccountBalancesFunc func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress, cb func(coin cosmossdktypes.Coin) (stop bool))

	// IterateAllBalancesFunc mocks the IterateAllBalances method.
	IterateAllBalancesFunc func(ctx cosmossdktypes.Context, cb func(address cosmossdktypes.AccAddress, coin cosmossdktypes.Coin) (stop bool))

	// IterateAllDenomMetaDataFunc mocks the IterateAllDenomMetaData method.
	IterateAllDenomMetaDataFunc func(ctx cosmossdktypes.Context, cb func(banktypes.Metadata) bool)

	// IterateTotalSupplyFunc mocks the IterateTotalSupply method.
	IterateTotalSupplyFunc func(ctx cosmossdktypes.Context, cb func(cosmossdktypes.Coin) bool)

	// LockedCoinsFunc mocks the LockedCoins method.
	LockedCoinsFunc func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) cosmossdktypes.Coins

	// MintCoinsFunc mocks the MintCoins method.
	MintCoinsFunc func(ctx cosmossdktypes.Context, moduleName string, amt cosmossdktypes.Coins) error

	// ParamsFunc mocks the Params method.
	ParamsFunc func(contextMoqParam context.Context, queryParamsRequest *banktypes.QueryParamsRequest) (*banktypes.QueryParamsResponse, error)

	// SendCoinsFunc mocks the SendCoins method.
	SendCoinsFunc func(ctx cosmossdktypes.Context, fromAddr cosmossdktypes.AccAddress, toAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error

	// SendCoinsFromAccountToModuleFunc mocks the SendCoinsFromAccountToModule method.
	SendCoinsFromAccountToModuleFunc func(ctx cosmossdktypes.Context, senderAddr cosmossdktypes.AccAddress, recipientModule string, amt cosmossdktypes.Coins) error

	// SendCoinsFromModuleToAccountFunc mocks the SendCoinsFromModuleToAccount method.
	SendCoinsFromModuleToAccountFunc func(ctx cosmossdktypes.Context, senderModule string, recipientAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error

	// SendCoinsFromModuleToModuleFunc mocks the SendCoinsFromModuleToModule method.
	SendCoinsFromModuleToModuleFunc func(ctx cosmossdktypes.Context, senderModule string, recipientModule string, amt cosmossdktypes.Coins) error

	// SetDenomMetaDataFunc mocks the SetDenomMetaData method.
	SetDenomMetaDataFunc func(ctx cosmossdktypes.Context, denomMetaData banktypes.Metadata)

	// SetParamsFunc mocks the SetParams method.
	SetParamsFunc func(ctx cosmossdktypes.Context, params banktypes.Params)

	// SpendableBalancesFunc mocks the SpendableBalances method.
	SpendableBalancesFunc func(contextMoqParam context.Context, querySpendableBalancesRequest *banktypes.QuerySpendableBalancesRequest) (*banktypes.QuerySpendableBalancesResponse, error)

	// SpendableCoinsFunc mocks the SpendableCoins method.
	SpendableCoinsFunc func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) cosmossdktypes.Coins

	// SupplyOfFunc mocks the SupplyOf method.
	SupplyOfFunc func(contextMoqParam context.Context, querySupplyOfRequest *banktypes.QuerySupplyOfRequest) (*banktypes.QuerySupplyOfResponse, error)

	// TotalSupplyFunc mocks the TotalSupply method.
	TotalSupplyFunc func(contextMoqParam context.Context, queryTotalSupplyRequest *banktypes.QueryTotalSupplyRequest) (*banktypes.QueryTotalSupplyResponse, error)

	// UndelegateCoinsFunc mocks the UndelegateCoins method.
	UndelegateCoinsFunc func(ctx cosmossdktypes.Context, moduleAccAddr cosmossdktypes.AccAddress, delegatorAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error

	// UndelegateCoinsFromModuleToAccountFunc mocks the UndelegateCoinsFromModuleToAccount method.
	UndelegateCoinsFromModuleToAccountFunc func(ctx cosmossdktypes.Context, senderModule string, recipientAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error

	// ValidateBalanceFunc mocks the ValidateBalance method.
	ValidateBalanceFunc func(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) error

	// calls tracks calls to the methods.
	calls struct {
		// AllBalances holds details about calls to the AllBalances method.
		AllBalances []struct {
			// ContextMoqParam is the contextMoqParam argument value.
			ContextMoqParam context.Context
			// QueryAllBalancesRequest is the queryAllBalancesRequest argument value.
			QueryAllBalancesRequest *banktypes.QueryAllBalancesRequest
		}
		// Balance holds details about calls to the Balance method.
		Balance []struct {
			// ContextMoqParam is the contextMoqParam argument value.
			ContextMoqParam context.Context
			// QueryBalanceRequest is the queryBalanceRequest argument value.
			QueryBalanceRequest *banktypes.QueryBalanceRequest
		}
		// BlockedAddr holds details about calls to the BlockedAddr method.
		BlockedAddr []struct {
			// Addr is the addr argument value.
			Addr cosmossdktypes.AccAddress
		}
		// BurnCoins holds details about calls to the BurnCoins method.
		BurnCoins []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// ModuleName is the moduleName argument value.
			ModuleName string
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coins
		}
		// DelegateCoins holds details about calls to the DelegateCoins method.
		DelegateCoins []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// DelegatorAddr is the delegatorAddr argument value.
			DelegatorAddr cosmossdktypes.AccAddress
			// ModuleAccAddr is the moduleAccAddr argument value.
			ModuleAccAddr cosmossdktypes.AccAddress
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coins
		}
		// DelegateCoinsFromAccountToModule holds details about calls to the DelegateCoinsFromAccountToModule method.
		DelegateCoinsFromAccountToModule []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// SenderAddr is the senderAddr argument value.
			SenderAddr cosmossdktypes.AccAddress
			// RecipientModule is the recipientModule argument value.
			RecipientModule string
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coins
		}
		// DenomMetadata holds details about calls to the DenomMetadata method.
		DenomMetadata []struct {
			// ContextMoqParam is the contextMoqParam argument value.
			ContextMoqParam context.Context
			// QueryDenomMetadataRequest is the queryDenomMetadataRequest argument value.
			QueryDenomMetadataRequest *banktypes.QueryDenomMetadataRequest
		}
		// DenomsMetadata holds details about calls to the DenomsMetadata method.
		DenomsMetadata []struct {
			// ContextMoqParam is the contextMoqParam argument value.
			ContextMoqParam context.Context
			// QueryDenomsMetadataRequest is the queryDenomsMetadataRequest argument value.
			QueryDenomsMetadataRequest *banktypes.QueryDenomsMetadataRequest
		}
		// ExportGenesis holds details about calls to the ExportGenesis method.
		ExportGenesis []struct {
			// ContextMoqParam is the contextMoqParam argument value.
			ContextMoqParam cosmossdktypes.Context
		}
		// GetAccountsBalances holds details about calls to the GetAccountsBalances method.
		GetAccountsBalances []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
		}
		// GetAllBalances holds details about calls to the GetAllBalances method.
		GetAllBalances []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Addr is the addr argument value.
			Addr cosmossdktypes.AccAddress
		}
		// GetBalance holds details about calls to the GetBalance method.
		GetBalance []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Addr is the addr argument value.
			Addr cosmossdktypes.AccAddress
			// Denom is the denom argument value.
			Denom string
		}
		// GetDenomMetaData holds details about calls to the GetDenomMetaData method.
		GetDenomMetaData []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Denom is the denom argument value.
			Denom string
		}
		// GetPaginatedTotalSupply holds details about calls to the GetPaginatedTotalSupply method.
		GetPaginatedTotalSupply []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Pagination is the pagination argument value.
			Pagination *query.PageRequest
		}
		// GetParams holds details about calls to the GetParams method.
		GetParams []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
		}
		// GetSupply holds details about calls to the GetSupply method.
		GetSupply []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Denom is the denom argument value.
			Denom string
		}
		// HasBalance holds details about calls to the HasBalance method.
		HasBalance []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Addr is the addr argument value.
			Addr cosmossdktypes.AccAddress
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coin
		}
		// HasSupply holds details about calls to the HasSupply method.
		HasSupply []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Denom is the denom argument value.
			Denom string
		}
		// InitGenesis holds details about calls to the InitGenesis method.
		InitGenesis []struct {
			// ContextMoqParam is the contextMoqParam argument value.
			ContextMoqParam cosmossdktypes.Context
			// GenesisState is the genesisState argument value.
			GenesisState *banktypes.GenesisState
		}
		// InputOutputCoins holds details about calls to the InputOutputCoins method.
		InputOutputCoins []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Inputs is the inputs argument value.
			Inputs []banktypes.Input
			// Outputs is the outputs argument value.
			Outputs []banktypes.Output
		}
		// IsSendEnabledCoin holds details about calls to the IsSendEnabledCoin method.
		IsSendEnabledCoin []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Coin is the coin argument value.
			Coin cosmossdktypes.Coin
		}
		// IsSendEnabledCoins holds details about calls to the IsSendEnabledCoins method.
		IsSendEnabledCoins []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Coins is the coins argument value.
			Coins []cosmossdktypes.Coin
		}
		// IterateAccountBalances holds details about calls to the IterateAccountBalances method.
		IterateAccountBalances []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Addr is the addr argument value.
			Addr cosmossdktypes.AccAddress
			// Cb is the cb argument value.
			Cb func(coin cosmossdktypes.Coin) (stop bool)
		}
		// IterateAllBalances holds details about calls to the IterateAllBalances method.
		IterateAllBalances []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Cb is the cb argument value.
			Cb func(address cosmossdktypes.AccAddress, coin cosmossdktypes.Coin) (stop bool)
		}
		// IterateAllDenomMetaData holds details about calls to the IterateAllDenomMetaData method.
		IterateAllDenomMetaData []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Cb is the cb argument value.
			Cb func(banktypes.Metadata) bool
		}
		// IterateTotalSupply holds details about calls to the IterateTotalSupply method.
		IterateTotalSupply []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Cb is the cb argument value.
			Cb func(cosmossdktypes.Coin) bool
		}
		// LockedCoins holds details about calls to the LockedCoins method.
		LockedCoins []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Addr is the addr argument value.
			Addr cosmossdktypes.AccAddress
		}
		// MintCoins holds details about calls to the MintCoins method.
		MintCoins []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// ModuleName is the moduleName argument value.
			ModuleName string
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coins
		}
		// Params holds details about calls to the Params method.
		Params []struct {
			// ContextMoqParam is the contextMoqParam argument value.
			ContextMoqParam context.Context
			// QueryParamsRequest is the queryParamsRequest argument value.
			QueryParamsRequest *banktypes.QueryParamsRequest
		}
		// SendCoins holds details about calls to the SendCoins method.
		SendCoins []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// FromAddr is the fromAddr argument value.
			FromAddr cosmossdktypes.AccAddress
			// ToAddr is the toAddr argument value.
			ToAddr cosmossdktypes.AccAddress
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coins
		}
		// SendCoinsFromAccountToModule holds details about calls to the SendCoinsFromAccountToModule method.
		SendCoinsFromAccountToModule []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// SenderAddr is the senderAddr argument value.
			SenderAddr cosmossdktypes.AccAddress
			// RecipientModule is the recipientModule argument value.
			RecipientModule string
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coins
		}
		// SendCoinsFromModuleToAccount holds details about calls to the SendCoinsFromModuleToAccount method.
		SendCoinsFromModuleToAccount []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// SenderModule is the senderModule argument value.
			SenderModule string
			// RecipientAddr is the recipientAddr argument value.
			RecipientAddr cosmossdktypes.AccAddress
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coins
		}
		// SendCoinsFromModuleToModule holds details about calls to the SendCoinsFromModuleToModule method.
		SendCoinsFromModuleToModule []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// SenderModule is the senderModule argument value.
			SenderModule string
			// RecipientModule is the recipientModule argument value.
			RecipientModule string
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coins
		}
		// SetDenomMetaData holds details about calls to the SetDenomMetaData method.
		SetDenomMetaData []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// DenomMetaData is the denomMetaData argument value.
			DenomMetaData banktypes.Metadata
		}
		// SetParams holds details about calls to the SetParams method.
		SetParams []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Params is the params argument value.
			Params banktypes.Params
		}
		// SpendableBalances holds details about calls to the SpendableBalances method.
		SpendableBalances []struct {
			// ContextMoqParam is the contextMoqParam argument value.
			ContextMoqParam context.Context
			// QuerySpendableBalancesRequest is the querySpendableBalancesRequest argument value.
			QuerySpendableBalancesRequest *banktypes.QuerySpendableBalancesRequest
		}
		// SpendableCoins holds details about calls to the SpendableCoins method.
		SpendableCoins []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Addr is the addr argument value.
			Addr cosmossdktypes.AccAddress
		}
		// SupplyOf holds details about calls to the SupplyOf method.
		SupplyOf []struct {
			// ContextMoqParam is the contextMoqParam argument value.
			ContextMoqParam context.Context
			// QuerySupplyOfRequest is the querySupplyOfRequest argument value.
			QuerySupplyOfRequest *banktypes.QuerySupplyOfRequest
		}
		// TotalSupply holds details about calls to the TotalSupply method.
		TotalSupply []struct {
			// ContextMoqParam is the contextMoqParam argument value.
			ContextMoqParam context.Context
			// QueryTotalSupplyRequest is the queryTotalSupplyRequest argument value.
			QueryTotalSupplyRequest *banktypes.QueryTotalSupplyRequest
		}
		// UndelegateCoins holds details about calls to the UndelegateCoins method.
		UndelegateCoins []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// ModuleAccAddr is the moduleAccAddr argument value.
			ModuleAccAddr cosmossdktypes.AccAddress
			// DelegatorAddr is the delegatorAddr argument value.
			DelegatorAddr cosmossdktypes.AccAddress
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coins
		}
		// UndelegateCoinsFromModuleToAccount holds details about calls to the UndelegateCoinsFromModuleToAccount method.
		UndelegateCoinsFromModuleToAccount []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// SenderModule is the senderModule argument value.
			SenderModule string
			// RecipientAddr is the recipientAddr argument value.
			RecipientAddr cosmossdktypes.AccAddress
			// Amt is the amt argument value.
			Amt cosmossdktypes.Coins
		}
		// ValidateBalance holds details about calls to the ValidateBalance method.
		ValidateBalance []struct {
			// Ctx is the ctx argument value.
			Ctx cosmossdktypes.Context
			// Addr is the addr argument value.
			Addr cosmossdktypes.AccAddress
		}
	}
	lockAllBalances                        sync.RWMutex
	lockBalance                            sync.RWMutex
	lockBlockedAddr                        sync.RWMutex
	lockBurnCoins                          sync.RWMutex
	lockDelegateCoins                      sync.RWMutex
	lockDelegateCoinsFromAccountToModule   sync.RWMutex
	lockDenomMetadata                      sync.RWMutex
	lockDenomsMetadata                     sync.RWMutex
	lockExportGenesis                      sync.RWMutex
	lockGetAccountsBalances                sync.RWMutex
	lockGetAllBalances                     sync.RWMutex
	lockGetBalance                         sync.RWMutex
	lockGetDenomMetaData                   sync.RWMutex
	lockGetPaginatedTotalSupply            sync.RWMutex
	lockGetParams                          sync.RWMutex
	lockGetSupply                          sync.RWMutex
	lockHasBalance                         sync.RWMutex
	lockHasSupply                          sync.RWMutex
	lockInitGenesis                        sync.RWMutex
	lockInputOutputCoins                   sync.RWMutex
	lockIsSendEnabledCoin                  sync.RWMutex
	lockIsSendEnabledCoins                 sync.RWMutex
	lockIterateAccountBalances             sync.RWMutex
	lockIterateAllBalances                 sync.RWMutex
	lockIterateAllDenomMetaData            sync.RWMutex
	lockIterateTotalSupply                 sync.RWMutex
	lockLockedCoins                        sync.RWMutex
	lockMintCoins                          sync.RWMutex
	lockParams                             sync.RWMutex
	lockSendCoins                          sync.RWMutex
	lockSendCoinsFromAccountToModule       sync.RWMutex
	lockSendCoinsFromModuleToAccount       sync.RWMutex
	lockSendCoinsFromModuleToModule        sync.RWMutex
	lockSetDenomMetaData                   sync.RWMutex
	lockSetParams                          sync.RWMutex
	lockSpendableBalances                  sync.RWMutex
	lockSpendableCoins                     sync.RWMutex
	lockSupplyOf                           sync.RWMutex
	lockTotalSupply                        sync.RWMutex
	lockUndelegateCoins                    sync.RWMutex
	lockUndelegateCoinsFromModuleToAccount sync.RWMutex
	lockValidateBalance                    sync.RWMutex
}

// AllBalances calls AllBalancesFunc.
func (mock *BankKeeperMock) AllBalances(contextMoqParam context.Context, queryAllBalancesRequest *banktypes.QueryAllBalancesRequest) (*banktypes.QueryAllBalancesResponse, error) {
	if mock.AllBalancesFunc == nil {
		panic("BankKeeperMock.AllBalancesFunc: method is nil but BankKeeper.AllBalances was just called")
	}
	callInfo := struct {
		ContextMoqParam         context.Context
		QueryAllBalancesRequest *banktypes.QueryAllBalancesRequest
	}{
		ContextMoqParam:         contextMoqParam,
		QueryAllBalancesRequest: queryAllBalancesRequest,
	}
	mock.lockAllBalances.Lock()
	mock.calls.AllBalances = append(mock.calls.AllBalances, callInfo)
	mock.lockAllBalances.Unlock()
	return mock.AllBalancesFunc(contextMoqParam, queryAllBalancesRequest)
}

// AllBalancesCalls gets all the calls that were made to AllBalances.
// Check the length with:
//
//	len(mockedBankKeeper.AllBalancesCalls())
func (mock *BankKeeperMock) AllBalancesCalls() []struct {
	ContextMoqParam         context.Context
	QueryAllBalancesRequest *banktypes.QueryAllBalancesRequest
} {
	var calls []struct {
		ContextMoqParam         context.Context
		QueryAllBalancesRequest *banktypes.QueryAllBalancesRequest
	}
	mock.lockAllBalances.RLock()
	calls = mock.calls.AllBalances
	mock.lockAllBalances.RUnlock()
	return calls
}

// Balance calls BalanceFunc.
func (mock *BankKeeperMock) Balance(contextMoqParam context.Context, queryBalanceRequest *banktypes.QueryBalanceRequest) (*banktypes.QueryBalanceResponse, error) {
	if mock.BalanceFunc == nil {
		panic("BankKeeperMock.BalanceFunc: method is nil but BankKeeper.Balance was just called")
	}
	callInfo := struct {
		ContextMoqParam     context.Context
		QueryBalanceRequest *banktypes.QueryBalanceRequest
	}{
		ContextMoqParam:     contextMoqParam,
		QueryBalanceRequest: queryBalanceRequest,
	}
	mock.lockBalance.Lock()
	mock.calls.Balance = append(mock.calls.Balance, callInfo)
	mock.lockBalance.Unlock()
	return mock.BalanceFunc(contextMoqParam, queryBalanceRequest)
}

// BalanceCalls gets all the calls that were made to Balance.
// Check the length with:
//
//	len(mockedBankKeeper.BalanceCalls())
func (mock *BankKeeperMock) BalanceCalls() []struct {
	ContextMoqParam     context.Context
	QueryBalanceRequest *banktypes.QueryBalanceRequest
} {
	var calls []struct {
		ContextMoqParam     context.Context
		QueryBalanceRequest *banktypes.QueryBalanceRequest
	}
	mock.lockBalance.RLock()
	calls = mock.calls.Balance
	mock.lockBalance.RUnlock()
	return calls
}

// BlockedAddr calls BlockedAddrFunc.
func (mock *BankKeeperMock) BlockedAddr(addr cosmossdktypes.AccAddress) bool {
	if mock.BlockedAddrFunc == nil {
		panic("BankKeeperMock.BlockedAddrFunc: method is nil but BankKeeper.BlockedAddr was just called")
	}
	callInfo := struct {
		Addr cosmossdktypes.AccAddress
	}{
		Addr: addr,
	}
	mock.lockBlockedAddr.Lock()
	mock.calls.BlockedAddr = append(mock.calls.BlockedAddr, callInfo)
	mock.lockBlockedAddr.Unlock()
	return mock.BlockedAddrFunc(addr)
}

// BlockedAddrCalls gets all the calls that were made to BlockedAddr.
// Check the length with:
//
//	len(mockedBankKeeper.BlockedAddrCalls())
func (mock *BankKeeperMock) BlockedAddrCalls() []struct {
	Addr cosmossdktypes.AccAddress
} {
	var calls []struct {
		Addr cosmossdktypes.AccAddress
	}
	mock.lockBlockedAddr.RLock()
	calls = mock.calls.BlockedAddr
	mock.lockBlockedAddr.RUnlock()
	return calls
}

// BurnCoins calls BurnCoinsFunc.
func (mock *BankKeeperMock) BurnCoins(ctx cosmossdktypes.Context, moduleName string, amt cosmossdktypes.Coins) error {
	if mock.BurnCoinsFunc == nil {
		panic("BankKeeperMock.BurnCoinsFunc: method is nil but BankKeeper.BurnCoins was just called")
	}
	callInfo := struct {
		Ctx        cosmossdktypes.Context
		ModuleName string
		Amt        cosmossdktypes.Coins
	}{
		Ctx:        ctx,
		ModuleName: moduleName,
		Amt:        amt,
	}
	mock.lockBurnCoins.Lock()
	mock.calls.BurnCoins = append(mock.calls.BurnCoins, callInfo)
	mock.lockBurnCoins.Unlock()
	return mock.BurnCoinsFunc(ctx, moduleName, amt)
}

// BurnCoinsCalls gets all the calls that were made to BurnCoins.
// Check the length with:
//
//	len(mockedBankKeeper.BurnCoinsCalls())
func (mock *BankKeeperMock) BurnCoinsCalls() []struct {
	Ctx        cosmossdktypes.Context
	ModuleName string
	Amt        cosmossdktypes.Coins
} {
	var calls []struct {
		Ctx        cosmossdktypes.Context
		ModuleName string
		Amt        cosmossdktypes.Coins
	}
	mock.lockBurnCoins.RLock()
	calls = mock.calls.BurnCoins
	mock.lockBurnCoins.RUnlock()
	return calls
}

// DelegateCoins calls DelegateCoinsFunc.
func (mock *BankKeeperMock) DelegateCoins(ctx cosmossdktypes.Context, delegatorAddr cosmossdktypes.AccAddress, moduleAccAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error {
	if mock.DelegateCoinsFunc == nil {
		panic("BankKeeperMock.DelegateCoinsFunc: method is nil but BankKeeper.DelegateCoins was just called")
	}
	callInfo := struct {
		Ctx           cosmossdktypes.Context
		DelegatorAddr cosmossdktypes.AccAddress
		ModuleAccAddr cosmossdktypes.AccAddress
		Amt           cosmossdktypes.Coins
	}{
		Ctx:           ctx,
		DelegatorAddr: delegatorAddr,
		ModuleAccAddr: moduleAccAddr,
		Amt:           amt,
	}
	mock.lockDelegateCoins.Lock()
	mock.calls.DelegateCoins = append(mock.calls.DelegateCoins, callInfo)
	mock.lockDelegateCoins.Unlock()
	return mock.DelegateCoinsFunc(ctx, delegatorAddr, moduleAccAddr, amt)
}

// DelegateCoinsCalls gets all the calls that were made to DelegateCoins.
// Check the length with:
//
//	len(mockedBankKeeper.DelegateCoinsCalls())
func (mock *BankKeeperMock) DelegateCoinsCalls() []struct {
	Ctx           cosmossdktypes.Context
	DelegatorAddr cosmossdktypes.AccAddress
	ModuleAccAddr cosmossdktypes.AccAddress
	Amt           cosmossdktypes.Coins
} {
	var calls []struct {
		Ctx           cosmossdktypes.Context
		DelegatorAddr cosmossdktypes.AccAddress
		ModuleAccAddr cosmossdktypes.AccAddress
		Amt           cosmossdktypes.Coins
	}
	mock.lockDelegateCoins.RLock()
	calls = mock.calls.DelegateCoins
	mock.lockDelegateCoins.RUnlock()
	return calls
}

// DelegateCoinsFromAccountToModule calls DelegateCoinsFromAccountToModuleFunc.
func (mock *BankKeeperMock) DelegateCoinsFromAccountToModule(ctx cosmossdktypes.Context, senderAddr cosmossdktypes.AccAddress, recipientModule string, amt cosmossdktypes.Coins) error {
	if mock.DelegateCoinsFromAccountToModuleFunc == nil {
		panic("BankKeeperMock.DelegateCoinsFromAccountToModuleFunc: method is nil but BankKeeper.DelegateCoinsFromAccountToModule was just called")
	}
	callInfo := struct {
		Ctx             cosmossdktypes.Context
		SenderAddr      cosmossdktypes.AccAddress
		RecipientModule string
		Amt             cosmossdktypes.Coins
	}{
		Ctx:             ctx,
		SenderAddr:      senderAddr,
		RecipientModule: recipientModule,
		Amt:             amt,
	}
	mock.lockDelegateCoinsFromAccountToModule.Lock()
	mock.calls.DelegateCoinsFromAccountToModule = append(mock.calls.DelegateCoinsFromAccountToModule, callInfo)
	mock.lockDelegateCoinsFromAccountToModule.Unlock()
	return mock.DelegateCoinsFromAccountToModuleFunc(ctx, senderAddr, recipientModule, amt)
}

// DelegateCoinsFromAccountToModuleCalls gets all the calls that were made to DelegateCoinsFromAccountToModule.
// Check the length with:
//
//	len(mockedBankKeeper.DelegateCoinsFromAccountToModuleCalls())
func (mock *BankKeeperMock) DelegateCoinsFromAccountToModuleCalls() []struct {
	Ctx             cosmossdktypes.Context
	SenderAddr      cosmossdktypes.AccAddress
	RecipientModule string
	Amt             cosmossdktypes.Coins
} {
	var calls []struct {
		Ctx             cosmossdktypes.Context
		SenderAddr      cosmossdktypes.AccAddress
		RecipientModule string
		Amt             cosmossdktypes.Coins
	}
	mock.lockDelegateCoinsFromAccountToModule.RLock()
	calls = mock.calls.DelegateCoinsFromAccountToModule
	mock.lockDelegateCoinsFromAccountToModule.RUnlock()
	return calls
}

// DenomMetadata calls DenomMetadataFunc.
func (mock *BankKeeperMock) DenomMetadata(contextMoqParam context.Context, queryDenomMetadataRequest *banktypes.QueryDenomMetadataRequest) (*banktypes.QueryDenomMetadataResponse, error) {
	if mock.DenomMetadataFunc == nil {
		panic("BankKeeperMock.DenomMetadataFunc: method is nil but BankKeeper.DenomMetadata was just called")
	}
	callInfo := struct {
		ContextMoqParam           context.Context
		QueryDenomMetadataRequest *banktypes.QueryDenomMetadataRequest
	}{
		ContextMoqParam:           contextMoqParam,
		QueryDenomMetadataRequest: queryDenomMetadataRequest,
	}
	mock.lockDenomMetadata.Lock()
	mock.calls.DenomMetadata = append(mock.calls.DenomMetadata, callInfo)
	mock.lockDenomMetadata.Unlock()
	return mock.DenomMetadataFunc(contextMoqParam, queryDenomMetadataRequest)
}

// DenomMetadataCalls gets all the calls that were made to DenomMetadata.
// Check the length with:
//
//	len(mockedBankKeeper.DenomMetadataCalls())
func (mock *BankKeeperMock) DenomMetadataCalls() []struct {
	ContextMoqParam           context.Context
	QueryDenomMetadataRequest *banktypes.QueryDenomMetadataRequest
} {
	var calls []struct {
		ContextMoqParam           context.Context
		QueryDenomMetadataRequest *banktypes.QueryDenomMetadataRequest
	}
	mock.lockDenomMetadata.RLock()
	calls = mock.calls.DenomMetadata
	mock.lockDenomMetadata.RUnlock()
	return calls
}

// DenomsMetadata calls DenomsMetadataFunc.
func (mock *BankKeeperMock) DenomsMetadata(contextMoqParam context.Context, queryDenomsMetadataRequest *banktypes.QueryDenomsMetadataRequest) (*banktypes.QueryDenomsMetadataResponse, error) {
	if mock.DenomsMetadataFunc == nil {
		panic("BankKeeperMock.DenomsMetadataFunc: method is nil but BankKeeper.DenomsMetadata was just called")
	}
	callInfo := struct {
		ContextMoqParam            context.Context
		QueryDenomsMetadataRequest *banktypes.QueryDenomsMetadataRequest
	}{
		ContextMoqParam:            contextMoqParam,
		QueryDenomsMetadataRequest: queryDenomsMetadataRequest,
	}
	mock.lockDenomsMetadata.Lock()
	mock.calls.DenomsMetadata = append(mock.calls.DenomsMetadata, callInfo)
	mock.lockDenomsMetadata.Unlock()
	return mock.DenomsMetadataFunc(contextMoqParam, queryDenomsMetadataRequest)
}

// DenomsMetadataCalls gets all the calls that were made to DenomsMetadata.
// Check the length with:
//
//	len(mockedBankKeeper.DenomsMetadataCalls())
func (mock *BankKeeperMock) DenomsMetadataCalls() []struct {
	ContextMoqParam            context.Context
	QueryDenomsMetadataRequest *banktypes.QueryDenomsMetadataRequest
} {
	var calls []struct {
		ContextMoqParam            context.Context
		QueryDenomsMetadataRequest *banktypes.QueryDenomsMetadataRequest
	}
	mock.lockDenomsMetadata.RLock()
	calls = mock.calls.DenomsMetadata
	mock.lockDenomsMetadata.RUnlock()
	return calls
}

// ExportGenesis calls ExportGenesisFunc.
func (mock *BankKeeperMock) ExportGenesis(contextMoqParam cosmossdktypes.Context) *banktypes.GenesisState {
	if mock.ExportGenesisFunc == nil {
		panic("BankKeeperMock.ExportGenesisFunc: method is nil but BankKeeper.ExportGenesis was just called")
	}
	callInfo := struct {
		ContextMoqParam cosmossdktypes.Context
	}{
		ContextMoqParam: contextMoqParam,
	}
	mock.lockExportGenesis.Lock()
	mock.calls.ExportGenesis = append(mock.calls.ExportGenesis, callInfo)
	mock.lockExportGenesis.Unlock()
	return mock.ExportGenesisFunc(contextMoqParam)
}

// ExportGenesisCalls gets all the calls that were made to ExportGenesis.
// Check the length with:
//
//	len(mockedBankKeeper.ExportGenesisCalls())
func (mock *BankKeeperMock) ExportGenesisCalls() []struct {
	ContextMoqParam cosmossdktypes.Context
} {
	var calls []struct {
		ContextMoqParam cosmossdktypes.Context
	}
	mock.lockExportGenesis.RLock()
	calls = mock.calls.ExportGenesis
	mock.lockExportGenesis.RUnlock()
	return calls
}

// GetAccountsBalances calls GetAccountsBalancesFunc.
func (mock *BankKeeperMock) GetAccountsBalances(ctx cosmossdktypes.Context) []banktypes.Balance {
	if mock.GetAccountsBalancesFunc == nil {
		panic("BankKeeperMock.GetAccountsBalancesFunc: method is nil but BankKeeper.GetAccountsBalances was just called")
	}
	callInfo := struct {
		Ctx cosmossdktypes.Context
	}{
		Ctx: ctx,
	}
	mock.lockGetAccountsBalances.Lock()
	mock.calls.GetAccountsBalances = append(mock.calls.GetAccountsBalances, callInfo)
	mock.lockGetAccountsBalances.Unlock()
	return mock.GetAccountsBalancesFunc(ctx)
}

// GetAccountsBalancesCalls gets all the calls that were made to GetAccountsBalances.
// Check the length with:
//
//	len(mockedBankKeeper.GetAccountsBalancesCalls())
func (mock *BankKeeperMock) GetAccountsBalancesCalls() []struct {
	Ctx cosmossdktypes.Context
} {
	var calls []struct {
		Ctx cosmossdktypes.Context
	}
	mock.lockGetAccountsBalances.RLock()
	calls = mock.calls.GetAccountsBalances
	mock.lockGetAccountsBalances.RUnlock()
	return calls
}

// GetAllBalances calls GetAllBalancesFunc.
func (mock *BankKeeperMock) GetAllBalances(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) cosmossdktypes.Coins {
	if mock.GetAllBalancesFunc == nil {
		panic("BankKeeperMock.GetAllBalancesFunc: method is nil but BankKeeper.GetAllBalances was just called")
	}
	callInfo := struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
	}{
		Ctx:  ctx,
		Addr: addr,
	}
	mock.lockGetAllBalances.Lock()
	mock.calls.GetAllBalances = append(mock.calls.GetAllBalances, callInfo)
	mock.lockGetAllBalances.Unlock()
	return mock.GetAllBalancesFunc(ctx, addr)
}

// GetAllBalancesCalls gets all the calls that were made to GetAllBalances.
// Check the length with:
//
//	len(mockedBankKeeper.GetAllBalancesCalls())
func (mock *BankKeeperMock) GetAllBalancesCalls() []struct {
	Ctx  cosmossdktypes.Context
	Addr cosmossdktypes.AccAddress
} {
	var calls []struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
	}
	mock.lockGetAllBalances.RLock()
	calls = mock.calls.GetAllBalances
	mock.lockGetAllBalances.RUnlock()
	return calls
}

// GetBalance calls GetBalanceFunc.
func (mock *BankKeeperMock) GetBalance(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress, denom string) cosmossdktypes.Coin {
	if mock.GetBalanceFunc == nil {
		panic("BankKeeperMock.GetBalanceFunc: method is nil but BankKeeper.GetBalance was just called")
	}
	callInfo := struct {
		Ctx   cosmossdktypes.Context
		Addr  cosmossdktypes.AccAddress
		Denom string
	}{
		Ctx:   ctx,
		Addr:  addr,
		Denom: denom,
	}
	mock.lockGetBalance.Lock()
	mock.calls.GetBalance = append(mock.calls.GetBalance, callInfo)
	mock.lockGetBalance.Unlock()
	return mock.GetBalanceFunc(ctx, addr, denom)
}

// GetBalanceCalls gets all the calls that were made to GetBalance.
// Check the length with:
//
//	len(mockedBankKeeper.GetBalanceCalls())
func (mock *BankKeeperMock) GetBalanceCalls() []struct {
	Ctx   cosmossdktypes.Context
	Addr  cosmossdktypes.AccAddress
	Denom string
} {
	var calls []struct {
		Ctx   cosmossdktypes.Context
		Addr  cosmossdktypes.AccAddress
		Denom string
	}
	mock.lockGetBalance.RLock()
	calls = mock.calls.GetBalance
	mock.lockGetBalance.RUnlock()
	return calls
}

// GetDenomMetaData calls GetDenomMetaDataFunc.
func (mock *BankKeeperMock) GetDenomMetaData(ctx cosmossdktypes.Context, denom string) (banktypes.Metadata, bool) {
	if mock.GetDenomMetaDataFunc == nil {
		panic("BankKeeperMock.GetDenomMetaDataFunc: method is nil but BankKeeper.GetDenomMetaData was just called")
	}
	callInfo := struct {
		Ctx   cosmossdktypes.Context
		Denom string
	}{
		Ctx:   ctx,
		Denom: denom,
	}
	mock.lockGetDenomMetaData.Lock()
	mock.calls.GetDenomMetaData = append(mock.calls.GetDenomMetaData, callInfo)
	mock.lockGetDenomMetaData.Unlock()
	return mock.GetDenomMetaDataFunc(ctx, denom)
}

// GetDenomMetaDataCalls gets all the calls that were made to GetDenomMetaData.
// Check the length with:
//
//	len(mockedBankKeeper.GetDenomMetaDataCalls())
func (mock *BankKeeperMock) GetDenomMetaDataCalls() []struct {
	Ctx   cosmossdktypes.Context
	Denom string
} {
	var calls []struct {
		Ctx   cosmossdktypes.Context
		Denom string
	}
	mock.lockGetDenomMetaData.RLock()
	calls = mock.calls.GetDenomMetaData
	mock.lockGetDenomMetaData.RUnlock()
	return calls
}

// GetPaginatedTotalSupply calls GetPaginatedTotalSupplyFunc.
func (mock *BankKeeperMock) GetPaginatedTotalSupply(ctx cosmossdktypes.Context, pagination *query.PageRequest) (cosmossdktypes.Coins, *query.PageResponse, error) {
	if mock.GetPaginatedTotalSupplyFunc == nil {
		panic("BankKeeperMock.GetPaginatedTotalSupplyFunc: method is nil but BankKeeper.GetPaginatedTotalSupply was just called")
	}
	callInfo := struct {
		Ctx        cosmossdktypes.Context
		Pagination *query.PageRequest
	}{
		Ctx:        ctx,
		Pagination: pagination,
	}
	mock.lockGetPaginatedTotalSupply.Lock()
	mock.calls.GetPaginatedTotalSupply = append(mock.calls.GetPaginatedTotalSupply, callInfo)
	mock.lockGetPaginatedTotalSupply.Unlock()
	return mock.GetPaginatedTotalSupplyFunc(ctx, pagination)
}

// GetPaginatedTotalSupplyCalls gets all the calls that were made to GetPaginatedTotalSupply.
// Check the length with:
//
//	len(mockedBankKeeper.GetPaginatedTotalSupplyCalls())
func (mock *BankKeeperMock) GetPaginatedTotalSupplyCalls() []struct {
	Ctx        cosmossdktypes.Context
	Pagination *query.PageRequest
} {
	var calls []struct {
		Ctx        cosmossdktypes.Context
		Pagination *query.PageRequest
	}
	mock.lockGetPaginatedTotalSupply.RLock()
	calls = mock.calls.GetPaginatedTotalSupply
	mock.lockGetPaginatedTotalSupply.RUnlock()
	return calls
}

// GetParams calls GetParamsFunc.
func (mock *BankKeeperMock) GetParams(ctx cosmossdktypes.Context) banktypes.Params {
	if mock.GetParamsFunc == nil {
		panic("BankKeeperMock.GetParamsFunc: method is nil but BankKeeper.GetParams was just called")
	}
	callInfo := struct {
		Ctx cosmossdktypes.Context
	}{
		Ctx: ctx,
	}
	mock.lockGetParams.Lock()
	mock.calls.GetParams = append(mock.calls.GetParams, callInfo)
	mock.lockGetParams.Unlock()
	return mock.GetParamsFunc(ctx)
}

// GetParamsCalls gets all the calls that were made to GetParams.
// Check the length with:
//
//	len(mockedBankKeeper.GetParamsCalls())
func (mock *BankKeeperMock) GetParamsCalls() []struct {
	Ctx cosmossdktypes.Context
} {
	var calls []struct {
		Ctx cosmossdktypes.Context
	}
	mock.lockGetParams.RLock()
	calls = mock.calls.GetParams
	mock.lockGetParams.RUnlock()
	return calls
}

// GetSupply calls GetSupplyFunc.
func (mock *BankKeeperMock) GetSupply(ctx cosmossdktypes.Context, denom string) cosmossdktypes.Coin {
	if mock.GetSupplyFunc == nil {
		panic("BankKeeperMock.GetSupplyFunc: method is nil but BankKeeper.GetSupply was just called")
	}
	callInfo := struct {
		Ctx   cosmossdktypes.Context
		Denom string
	}{
		Ctx:   ctx,
		Denom: denom,
	}
	mock.lockGetSupply.Lock()
	mock.calls.GetSupply = append(mock.calls.GetSupply, callInfo)
	mock.lockGetSupply.Unlock()
	return mock.GetSupplyFunc(ctx, denom)
}

// GetSupplyCalls gets all the calls that were made to GetSupply.
// Check the length with:
//
//	len(mockedBankKeeper.GetSupplyCalls())
func (mock *BankKeeperMock) GetSupplyCalls() []struct {
	Ctx   cosmossdktypes.Context
	Denom string
} {
	var calls []struct {
		Ctx   cosmossdktypes.Context
		Denom string
	}
	mock.lockGetSupply.RLock()
	calls = mock.calls.GetSupply
	mock.lockGetSupply.RUnlock()
	return calls
}

// HasBalance calls HasBalanceFunc.
func (mock *BankKeeperMock) HasBalance(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress, amt cosmossdktypes.Coin) bool {
	if mock.HasBalanceFunc == nil {
		panic("BankKeeperMock.HasBalanceFunc: method is nil but BankKeeper.HasBalance was just called")
	}
	callInfo := struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
		Amt  cosmossdktypes.Coin
	}{
		Ctx:  ctx,
		Addr: addr,
		Amt:  amt,
	}
	mock.lockHasBalance.Lock()
	mock.calls.HasBalance = append(mock.calls.HasBalance, callInfo)
	mock.lockHasBalance.Unlock()
	return mock.HasBalanceFunc(ctx, addr, amt)
}

// HasBalanceCalls gets all the calls that were made to HasBalance.
// Check the length with:
//
//	len(mockedBankKeeper.HasBalanceCalls())
func (mock *BankKeeperMock) HasBalanceCalls() []struct {
	Ctx  cosmossdktypes.Context
	Addr cosmossdktypes.AccAddress
	Amt  cosmossdktypes.Coin
} {
	var calls []struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
		Amt  cosmossdktypes.Coin
	}
	mock.lockHasBalance.RLock()
	calls = mock.calls.HasBalance
	mock.lockHasBalance.RUnlock()
	return calls
}

// HasSupply calls HasSupplyFunc.
func (mock *BankKeeperMock) HasSupply(ctx cosmossdktypes.Context, denom string) bool {
	if mock.HasSupplyFunc == nil {
		panic("BankKeeperMock.HasSupplyFunc: method is nil but BankKeeper.HasSupply was just called")
	}
	callInfo := struct {
		Ctx   cosmossdktypes.Context
		Denom string
	}{
		Ctx:   ctx,
		Denom: denom,
	}
	mock.lockHasSupply.Lock()
	mock.calls.HasSupply = append(mock.calls.HasSupply, callInfo)
	mock.lockHasSupply.Unlock()
	return mock.HasSupplyFunc(ctx, denom)
}

// HasSupplyCalls gets all the calls that were made to HasSupply.
// Check the length with:
//
//	len(mockedBankKeeper.HasSupplyCalls())
func (mock *BankKeeperMock) HasSupplyCalls() []struct {
	Ctx   cosmossdktypes.Context
	Denom string
} {
	var calls []struct {
		Ctx   cosmossdktypes.Context
		Denom string
	}
	mock.lockHasSupply.RLock()
	calls = mock.calls.HasSupply
	mock.lockHasSupply.RUnlock()
	return calls
}

// InitGenesis calls InitGenesisFunc.
func (mock *BankKeeperMock) InitGenesis(contextMoqParam cosmossdktypes.Context, genesisState *banktypes.GenesisState) {
	if mock.InitGenesisFunc == nil {
		panic("BankKeeperMock.InitGenesisFunc: method is nil but BankKeeper.InitGenesis was just called")
	}
	callInfo := struct {
		ContextMoqParam cosmossdktypes.Context
		GenesisState    *banktypes.GenesisState
	}{
		ContextMoqParam: contextMoqParam,
		GenesisState:    genesisState,
	}
	mock.lockInitGenesis.Lock()
	mock.calls.InitGenesis = append(mock.calls.InitGenesis, callInfo)
	mock.lockInitGenesis.Unlock()
	mock.InitGenesisFunc(contextMoqParam, genesisState)
}

// InitGenesisCalls gets all the calls that were made to InitGenesis.
// Check the length with:
//
//	len(mockedBankKeeper.InitGenesisCalls())
func (mock *BankKeeperMock) InitGenesisCalls() []struct {
	ContextMoqParam cosmossdktypes.Context
	GenesisState    *banktypes.GenesisState
} {
	var calls []struct {
		ContextMoqParam cosmossdktypes.Context
		GenesisState    *banktypes.GenesisState
	}
	mock.lockInitGenesis.RLock()
	calls = mock.calls.InitGenesis
	mock.lockInitGenesis.RUnlock()
	return calls
}

// InputOutputCoins calls InputOutputCoinsFunc.
func (mock *BankKeeperMock) InputOutputCoins(ctx cosmossdktypes.Context, inputs []banktypes.Input, outputs []banktypes.Output) error {
	if mock.InputOutputCoinsFunc == nil {
		panic("BankKeeperMock.InputOutputCoinsFunc: method is nil but BankKeeper.InputOutputCoins was just called")
	}
	callInfo := struct {
		Ctx     cosmossdktypes.Context
		Inputs  []banktypes.Input
		Outputs []banktypes.Output
	}{
		Ctx:     ctx,
		Inputs:  inputs,
		Outputs: outputs,
	}
	mock.lockInputOutputCoins.Lock()
	mock.calls.InputOutputCoins = append(mock.calls.InputOutputCoins, callInfo)
	mock.lockInputOutputCoins.Unlock()
	return mock.InputOutputCoinsFunc(ctx, inputs, outputs)
}

// InputOutputCoinsCalls gets all the calls that were made to InputOutputCoins.
// Check the length with:
//
//	len(mockedBankKeeper.InputOutputCoinsCalls())
func (mock *BankKeeperMock) InputOutputCoinsCalls() []struct {
	Ctx     cosmossdktypes.Context
	Inputs  []banktypes.Input
	Outputs []banktypes.Output
} {
	var calls []struct {
		Ctx     cosmossdktypes.Context
		Inputs  []banktypes.Input
		Outputs []banktypes.Output
	}
	mock.lockInputOutputCoins.RLock()
	calls = mock.calls.InputOutputCoins
	mock.lockInputOutputCoins.RUnlock()
	return calls
}

// IsSendEnabledCoin calls IsSendEnabledCoinFunc.
func (mock *BankKeeperMock) IsSendEnabledCoin(ctx cosmossdktypes.Context, coin cosmossdktypes.Coin) bool {
	if mock.IsSendEnabledCoinFunc == nil {
		panic("BankKeeperMock.IsSendEnabledCoinFunc: method is nil but BankKeeper.IsSendEnabledCoin was just called")
	}
	callInfo := struct {
		Ctx  cosmossdktypes.Context
		Coin cosmossdktypes.Coin
	}{
		Ctx:  ctx,
		Coin: coin,
	}
	mock.lockIsSendEnabledCoin.Lock()
	mock.calls.IsSendEnabledCoin = append(mock.calls.IsSendEnabledCoin, callInfo)
	mock.lockIsSendEnabledCoin.Unlock()
	return mock.IsSendEnabledCoinFunc(ctx, coin)
}

// IsSendEnabledCoinCalls gets all the calls that were made to IsSendEnabledCoin.
// Check the length with:
//
//	len(mockedBankKeeper.IsSendEnabledCoinCalls())
func (mock *BankKeeperMock) IsSendEnabledCoinCalls() []struct {
	Ctx  cosmossdktypes.Context
	Coin cosmossdktypes.Coin
} {
	var calls []struct {
		Ctx  cosmossdktypes.Context
		Coin cosmossdktypes.Coin
	}
	mock.lockIsSendEnabledCoin.RLock()
	calls = mock.calls.IsSendEnabledCoin
	mock.lockIsSendEnabledCoin.RUnlock()
	return calls
}

// IsSendEnabledCoins calls IsSendEnabledCoinsFunc.
func (mock *BankKeeperMock) IsSendEnabledCoins(ctx cosmossdktypes.Context, coins ...cosmossdktypes.Coin) error {
	if mock.IsSendEnabledCoinsFunc == nil {
		panic("BankKeeperMock.IsSendEnabledCoinsFunc: method is nil but BankKeeper.IsSendEnabledCoins was just called")
	}
	callInfo := struct {
		Ctx   cosmossdktypes.Context
		Coins []cosmossdktypes.Coin
	}{
		Ctx:   ctx,
		Coins: coins,
	}
	mock.lockIsSendEnabledCoins.Lock()
	mock.calls.IsSendEnabledCoins = append(mock.calls.IsSendEnabledCoins, callInfo)
	mock.lockIsSendEnabledCoins.Unlock()
	return mock.IsSendEnabledCoinsFunc(ctx, coins...)
}

// IsSendEnabledCoinsCalls gets all the calls that were made to IsSendEnabledCoins.
// Check the length with:
//
//	len(mockedBankKeeper.IsSendEnabledCoinsCalls())
func (mock *BankKeeperMock) IsSendEnabledCoinsCalls() []struct {
	Ctx   cosmossdktypes.Context
	Coins []cosmossdktypes.Coin
} {
	var calls []struct {
		Ctx   cosmossdktypes.Context
		Coins []cosmossdktypes.Coin
	}
	mock.lockIsSendEnabledCoins.RLock()
	calls = mock.calls.IsSendEnabledCoins
	mock.lockIsSendEnabledCoins.RUnlock()
	return calls
}

// IterateAccountBalances calls IterateAccountBalancesFunc.
func (mock *BankKeeperMock) IterateAccountBalances(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress, cb func(coin cosmossdktypes.Coin) (stop bool)) {
	if mock.IterateAccountBalancesFunc == nil {
		panic("BankKeeperMock.IterateAccountBalancesFunc: method is nil but BankKeeper.IterateAccountBalances was just called")
	}
	callInfo := struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
		Cb   func(coin cosmossdktypes.Coin) (stop bool)
	}{
		Ctx:  ctx,
		Addr: addr,
		Cb:   cb,
	}
	mock.lockIterateAccountBalances.Lock()
	mock.calls.IterateAccountBalances = append(mock.calls.IterateAccountBalances, callInfo)
	mock.lockIterateAccountBalances.Unlock()
	mock.IterateAccountBalancesFunc(ctx, addr, cb)
}

// IterateAccountBalancesCalls gets all the calls that were made to IterateAccountBalances.
// Check the length with:
//
//	len(mockedBankKeeper.IterateAccountBalancesCalls())
func (mock *BankKeeperMock) IterateAccountBalancesCalls() []struct {
	Ctx  cosmossdktypes.Context
	Addr cosmossdktypes.AccAddress
	Cb   func(coin cosmossdktypes.Coin) (stop bool)
} {
	var calls []struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
		Cb   func(coin cosmossdktypes.Coin) (stop bool)
	}
	mock.lockIterateAccountBalances.RLock()
	calls = mock.calls.IterateAccountBalances
	mock.lockIterateAccountBalances.RUnlock()
	return calls
}

// IterateAllBalances calls IterateAllBalancesFunc.
func (mock *BankKeeperMock) IterateAllBalances(ctx cosmossdktypes.Context, cb func(address cosmossdktypes.AccAddress, coin cosmossdktypes.Coin) (stop bool)) {
	if mock.IterateAllBalancesFunc == nil {
		panic("BankKeeperMock.IterateAllBalancesFunc: method is nil but BankKeeper.IterateAllBalances was just called")
	}
	callInfo := struct {
		Ctx cosmossdktypes.Context
		Cb  func(address cosmossdktypes.AccAddress, coin cosmossdktypes.Coin) (stop bool)
	}{
		Ctx: ctx,
		Cb:  cb,
	}
	mock.lockIterateAllBalances.Lock()
	mock.calls.IterateAllBalances = append(mock.calls.IterateAllBalances, callInfo)
	mock.lockIterateAllBalances.Unlock()
	mock.IterateAllBalancesFunc(ctx, cb)
}

// IterateAllBalancesCalls gets all the calls that were made to IterateAllBalances.
// Check the length with:
//
//	len(mockedBankKeeper.IterateAllBalancesCalls())
func (mock *BankKeeperMock) IterateAllBalancesCalls() []struct {
	Ctx cosmossdktypes.Context
	Cb  func(address cosmossdktypes.AccAddress, coin cosmossdktypes.Coin) (stop bool)
} {
	var calls []struct {
		Ctx cosmossdktypes.Context
		Cb  func(address cosmossdktypes.AccAddress, coin cosmossdktypes.Coin) (stop bool)
	}
	mock.lockIterateAllBalances.RLock()
	calls = mock.calls.IterateAllBalances
	mock.lockIterateAllBalances.RUnlock()
	return calls
}

// IterateAllDenomMetaData calls IterateAllDenomMetaDataFunc.
func (mock *BankKeeperMock) IterateAllDenomMetaData(ctx cosmossdktypes.Context, cb func(banktypes.Metadata) bool) {
	if mock.IterateAllDenomMetaDataFunc == nil {
		panic("BankKeeperMock.IterateAllDenomMetaDataFunc: method is nil but BankKeeper.IterateAllDenomMetaData was just called")
	}
	callInfo := struct {
		Ctx cosmossdktypes.Context
		Cb  func(banktypes.Metadata) bool
	}{
		Ctx: ctx,
		Cb:  cb,
	}
	mock.lockIterateAllDenomMetaData.Lock()
	mock.calls.IterateAllDenomMetaData = append(mock.calls.IterateAllDenomMetaData, callInfo)
	mock.lockIterateAllDenomMetaData.Unlock()
	mock.IterateAllDenomMetaDataFunc(ctx, cb)
}

// IterateAllDenomMetaDataCalls gets all the calls that were made to IterateAllDenomMetaData.
// Check the length with:
//
//	len(mockedBankKeeper.IterateAllDenomMetaDataCalls())
func (mock *BankKeeperMock) IterateAllDenomMetaDataCalls() []struct {
	Ctx cosmossdktypes.Context
	Cb  func(banktypes.Metadata) bool
} {
	var calls []struct {
		Ctx cosmossdktypes.Context
		Cb  func(banktypes.Metadata) bool
	}
	mock.lockIterateAllDenomMetaData.RLock()
	calls = mock.calls.IterateAllDenomMetaData
	mock.lockIterateAllDenomMetaData.RUnlock()
	return calls
}

// IterateTotalSupply calls IterateTotalSupplyFunc.
func (mock *BankKeeperMock) IterateTotalSupply(ctx cosmossdktypes.Context, cb func(cosmossdktypes.Coin) bool) {
	if mock.IterateTotalSupplyFunc == nil {
		panic("BankKeeperMock.IterateTotalSupplyFunc: method is nil but BankKeeper.IterateTotalSupply was just called")
	}
	callInfo := struct {
		Ctx cosmossdktypes.Context
		Cb  func(cosmossdktypes.Coin) bool
	}{
		Ctx: ctx,
		Cb:  cb,
	}
	mock.lockIterateTotalSupply.Lock()
	mock.calls.IterateTotalSupply = append(mock.calls.IterateTotalSupply, callInfo)
	mock.lockIterateTotalSupply.Unlock()
	mock.IterateTotalSupplyFunc(ctx, cb)
}

// IterateTotalSupplyCalls gets all the calls that were made to IterateTotalSupply.
// Check the length with:
//
//	len(mockedBankKeeper.IterateTotalSupplyCalls())
func (mock *BankKeeperMock) IterateTotalSupplyCalls() []struct {
	Ctx cosmossdktypes.Context
	Cb  func(cosmossdktypes.Coin) bool
} {
	var calls []struct {
		Ctx cosmossdktypes.Context
		Cb  func(cosmossdktypes.Coin) bool
	}
	mock.lockIterateTotalSupply.RLock()
	calls = mock.calls.IterateTotalSupply
	mock.lockIterateTotalSupply.RUnlock()
	return calls
}

// LockedCoins calls LockedCoinsFunc.
func (mock *BankKeeperMock) LockedCoins(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) cosmossdktypes.Coins {
	if mock.LockedCoinsFunc == nil {
		panic("BankKeeperMock.LockedCoinsFunc: method is nil but BankKeeper.LockedCoins was just called")
	}
	callInfo := struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
	}{
		Ctx:  ctx,
		Addr: addr,
	}
	mock.lockLockedCoins.Lock()
	mock.calls.LockedCoins = append(mock.calls.LockedCoins, callInfo)
	mock.lockLockedCoins.Unlock()
	return mock.LockedCoinsFunc(ctx, addr)
}

// LockedCoinsCalls gets all the calls that were made to LockedCoins.
// Check the length with:
//
//	len(mockedBankKeeper.LockedCoinsCalls())
func (mock *BankKeeperMock) LockedCoinsCalls() []struct {
	Ctx  cosmossdktypes.Context
	Addr cosmossdktypes.AccAddress
} {
	var calls []struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
	}
	mock.lockLockedCoins.RLock()
	calls = mock.calls.LockedCoins
	mock.lockLockedCoins.RUnlock()
	return calls
}

// MintCoins calls MintCoinsFunc.
func (mock *BankKeeperMock) MintCoins(ctx cosmossdktypes.Context, moduleName string, amt cosmossdktypes.Coins) error {
	if mock.MintCoinsFunc == nil {
		panic("BankKeeperMock.MintCoinsFunc: method is nil but BankKeeper.MintCoins was just called")
	}
	callInfo := struct {
		Ctx        cosmossdktypes.Context
		ModuleName string
		Amt        cosmossdktypes.Coins
	}{
		Ctx:        ctx,
		ModuleName: moduleName,
		Amt:        amt,
	}
	mock.lockMintCoins.Lock()
	mock.calls.MintCoins = append(mock.calls.MintCoins, callInfo)
	mock.lockMintCoins.Unlock()
	return mock.MintCoinsFunc(ctx, moduleName, amt)
}

// MintCoinsCalls gets all the calls that were made to MintCoins.
// Check the length with:
//
//	len(mockedBankKeeper.MintCoinsCalls())
func (mock *BankKeeperMock) MintCoinsCalls() []struct {
	Ctx        cosmossdktypes.Context
	ModuleName string
	Amt        cosmossdktypes.Coins
} {
	var calls []struct {
		Ctx        cosmossdktypes.Context
		ModuleName string
		Amt        cosmossdktypes.Coins
	}
	mock.lockMintCoins.RLock()
	calls = mock.calls.MintCoins
	mock.lockMintCoins.RUnlock()
	return calls
}

// Params calls ParamsFunc.
func (mock *BankKeeperMock) Params(contextMoqParam context.Context, queryParamsRequest *banktypes.QueryParamsRequest) (*banktypes.QueryParamsResponse, error) {
	if mock.ParamsFunc == nil {
		panic("BankKeeperMock.ParamsFunc: method is nil but BankKeeper.Params was just called")
	}
	callInfo := struct {
		ContextMoqParam    context.Context
		QueryParamsRequest *banktypes.QueryParamsRequest
	}{
		ContextMoqParam:    contextMoqParam,
		QueryParamsRequest: queryParamsRequest,
	}
	mock.lockParams.Lock()
	mock.calls.Params = append(mock.calls.Params, callInfo)
	mock.lockParams.Unlock()
	return mock.ParamsFunc(contextMoqParam, queryParamsRequest)
}

// ParamsCalls gets all the calls that were made to Params.
// Check the length with:
//
//	len(mockedBankKeeper.ParamsCalls())
func (mock *BankKeeperMock) ParamsCalls() []struct {
	ContextMoqParam    context.Context
	QueryParamsRequest *banktypes.QueryParamsRequest
} {
	var calls []struct {
		ContextMoqParam    context.Context
		QueryParamsRequest *banktypes.QueryParamsRequest
	}
	mock.lockParams.RLock()
	calls = mock.calls.Params
	mock.lockParams.RUnlock()
	return calls
}

// SendCoins calls SendCoinsFunc.
func (mock *BankKeeperMock) SendCoins(ctx cosmossdktypes.Context, fromAddr cosmossdktypes.AccAddress, toAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error {
	if mock.SendCoinsFunc == nil {
		panic("BankKeeperMock.SendCoinsFunc: method is nil but BankKeeper.SendCoins was just called")
	}
	callInfo := struct {
		Ctx      cosmossdktypes.Context
		FromAddr cosmossdktypes.AccAddress
		ToAddr   cosmossdktypes.AccAddress
		Amt      cosmossdktypes.Coins
	}{
		Ctx:      ctx,
		FromAddr: fromAddr,
		ToAddr:   toAddr,
		Amt:      amt,
	}
	mock.lockSendCoins.Lock()
	mock.calls.SendCoins = append(mock.calls.SendCoins, callInfo)
	mock.lockSendCoins.Unlock()
	return mock.SendCoinsFunc(ctx, fromAddr, toAddr, amt)
}

// SendCoinsCalls gets all the calls that were made to SendCoins.
// Check the length with:
//
//	len(mockedBankKeeper.SendCoinsCalls())
func (mock *BankKeeperMock) SendCoinsCalls() []struct {
	Ctx      cosmossdktypes.Context
	FromAddr cosmossdktypes.AccAddress
	ToAddr   cosmossdktypes.AccAddress
	Amt      cosmossdktypes.Coins
} {
	var calls []struct {
		Ctx      cosmossdktypes.Context
		FromAddr cosmossdktypes.AccAddress
		ToAddr   cosmossdktypes.AccAddress
		Amt      cosmossdktypes.Coins
	}
	mock.lockSendCoins.RLock()
	calls = mock.calls.SendCoins
	mock.lockSendCoins.RUnlock()
	return calls
}

// SendCoinsFromAccountToModule calls SendCoinsFromAccountToModuleFunc.
func (mock *BankKeeperMock) SendCoinsFromAccountToModule(ctx cosmossdktypes.Context, senderAddr cosmossdktypes.AccAddress, recipientModule string, amt cosmossdktypes.Coins) error {
	if mock.SendCoinsFromAccountToModuleFunc == nil {
		panic("BankKeeperMock.SendCoinsFromAccountToModuleFunc: method is nil but BankKeeper.SendCoinsFromAccountToModule was just called")
	}
	callInfo := struct {
		Ctx             cosmossdktypes.Context
		SenderAddr      cosmossdktypes.AccAddress
		RecipientModule string
		Amt             cosmossdktypes.Coins
	}{
		Ctx:             ctx,
		SenderAddr:      senderAddr,
		RecipientModule: recipientModule,
		Amt:             amt,
	}
	mock.lockSendCoinsFromAccountToModule.Lock()
	mock.calls.SendCoinsFromAccountToModule = append(mock.calls.SendCoinsFromAccountToModule, callInfo)
	mock.lockSendCoinsFromAccountToModule.Unlock()
	return mock.SendCoinsFromAccountToModuleFunc(ctx, senderAddr, recipientModule, amt)
}

// SendCoinsFromAccountToModuleCalls gets all the calls that were made to SendCoinsFromAccountToModule.
// Check the length with:
//
//	len(mockedBankKeeper.SendCoinsFromAccountToModuleCalls())
func (mock *BankKeeperMock) SendCoinsFromAccountToModuleCalls() []struct {
	Ctx             cosmossdktypes.Context
	SenderAddr      cosmossdktypes.AccAddress
	RecipientModule string
	Amt             cosmossdktypes.Coins
} {
	var calls []struct {
		Ctx             cosmossdktypes.Context
		SenderAddr      cosmossdktypes.AccAddress
		RecipientModule string
		Amt             cosmossdktypes.Coins
	}
	mock.lockSendCoinsFromAccountToModule.RLock()
	calls = mock.calls.SendCoinsFromAccountToModule
	mock.lockSendCoinsFromAccountToModule.RUnlock()
	return calls
}

// SendCoinsFromModuleToAccount calls SendCoinsFromModuleToAccountFunc.
func (mock *BankKeeperMock) SendCoinsFromModuleToAccount(ctx cosmossdktypes.Context, senderModule string, recipientAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error {
	if mock.SendCoinsFromModuleToAccountFunc == nil {
		panic("BankKeeperMock.SendCoinsFromModuleToAccountFunc: method is nil but BankKeeper.SendCoinsFromModuleToAccount was just called")
	}
	callInfo := struct {
		Ctx           cosmossdktypes.Context
		SenderModule  string
		RecipientAddr cosmossdktypes.AccAddress
		Amt           cosmossdktypes.Coins
	}{
		Ctx:           ctx,
		SenderModule:  senderModule,
		RecipientAddr: recipientAddr,
		Amt:           amt,
	}
	mock.lockSendCoinsFromModuleToAccount.Lock()
	mock.calls.SendCoinsFromModuleToAccount = append(mock.calls.SendCoinsFromModuleToAccount, callInfo)
	mock.lockSendCoinsFromModuleToAccount.Unlock()
	return mock.SendCoinsFromModuleToAccountFunc(ctx, senderModule, recipientAddr, amt)
}

// SendCoinsFromModuleToAccountCalls gets all the calls that were made to SendCoinsFromModuleToAccount.
// Check the length with:
//
//	len(mockedBankKeeper.SendCoinsFromModuleToAccountCalls())
func (mock *BankKeeperMock) SendCoinsFromModuleToAccountCalls() []struct {
	Ctx           cosmossdktypes.Context
	SenderModule  string
	RecipientAddr cosmossdktypes.AccAddress
	Amt           cosmossdktypes.Coins
} {
	var calls []struct {
		Ctx           cosmossdktypes.Context
		SenderModule  string
		RecipientAddr cosmossdktypes.AccAddress
		Amt           cosmossdktypes.Coins
	}
	mock.lockSendCoinsFromModuleToAccount.RLock()
	calls = mock.calls.SendCoinsFromModuleToAccount
	mock.lockSendCoinsFromModuleToAccount.RUnlock()
	return calls
}

// SendCoinsFromModuleToModule calls SendCoinsFromModuleToModuleFunc.
func (mock *BankKeeperMock) SendCoinsFromModuleToModule(ctx cosmossdktypes.Context, senderModule string, recipientModule string, amt cosmossdktypes.Coins) error {
	if mock.SendCoinsFromModuleToModuleFunc == nil {
		panic("BankKeeperMock.SendCoinsFromModuleToModuleFunc: method is nil but BankKeeper.SendCoinsFromModuleToModule was just called")
	}
	callInfo := struct {
		Ctx             cosmossdktypes.Context
		SenderModule    string
		RecipientModule string
		Amt             cosmossdktypes.Coins
	}{
		Ctx:             ctx,
		SenderModule:    senderModule,
		RecipientModule: recipientModule,
		Amt:             amt,
	}
	mock.lockSendCoinsFromModuleToModule.Lock()
	mock.calls.SendCoinsFromModuleToModule = append(mock.calls.SendCoinsFromModuleToModule, callInfo)
	mock.lockSendCoinsFromModuleToModule.Unlock()
	return mock.SendCoinsFromModuleToModuleFunc(ctx, senderModule, recipientModule, amt)
}

// SendCoinsFromModuleToModuleCalls gets all the calls that were made to SendCoinsFromModuleToModule.
// Check the length with:
//
//	len(mockedBankKeeper.SendCoinsFromModuleToModuleCalls())
func (mock *BankKeeperMock) SendCoinsFromModuleToModuleCalls() []struct {
	Ctx             cosmossdktypes.Context
	SenderModule    string
	RecipientModule string
	Amt             cosmossdktypes.Coins
} {
	var calls []struct {
		Ctx             cosmossdktypes.Context
		SenderModule    string
		RecipientModule string
		Amt             cosmossdktypes.Coins
	}
	mock.lockSendCoinsFromModuleToModule.RLock()
	calls = mock.calls.SendCoinsFromModuleToModule
	mock.lockSendCoinsFromModuleToModule.RUnlock()
	return calls
}

// SetDenomMetaData calls SetDenomMetaDataFunc.
func (mock *BankKeeperMock) SetDenomMetaData(ctx cosmossdktypes.Context, denomMetaData banktypes.Metadata) {
	if mock.SetDenomMetaDataFunc == nil {
		panic("BankKeeperMock.SetDenomMetaDataFunc: method is nil but BankKeeper.SetDenomMetaData was just called")
	}
	callInfo := struct {
		Ctx           cosmossdktypes.Context
		DenomMetaData banktypes.Metadata
	}{
		Ctx:           ctx,
		DenomMetaData: denomMetaData,
	}
	mock.lockSetDenomMetaData.Lock()
	mock.calls.SetDenomMetaData = append(mock.calls.SetDenomMetaData, callInfo)
	mock.lockSetDenomMetaData.Unlock()
	mock.SetDenomMetaDataFunc(ctx, denomMetaData)
}

// SetDenomMetaDataCalls gets all the calls that were made to SetDenomMetaData.
// Check the length with:
//
//	len(mockedBankKeeper.SetDenomMetaDataCalls())
func (mock *BankKeeperMock) SetDenomMetaDataCalls() []struct {
	Ctx           cosmossdktypes.Context
	DenomMetaData banktypes.Metadata
} {
	var calls []struct {
		Ctx           cosmossdktypes.Context
		DenomMetaData banktypes.Metadata
	}
	mock.lockSetDenomMetaData.RLock()
	calls = mock.calls.SetDenomMetaData
	mock.lockSetDenomMetaData.RUnlock()
	return calls
}

// SetParams calls SetParamsFunc.
func (mock *BankKeeperMock) SetParams(ctx cosmossdktypes.Context, params banktypes.Params) {
	if mock.SetParamsFunc == nil {
		panic("BankKeeperMock.SetParamsFunc: method is nil but BankKeeper.SetParams was just called")
	}
	callInfo := struct {
		Ctx    cosmossdktypes.Context
		Params banktypes.Params
	}{
		Ctx:    ctx,
		Params: params,
	}
	mock.lockSetParams.Lock()
	mock.calls.SetParams = append(mock.calls.SetParams, callInfo)
	mock.lockSetParams.Unlock()
	mock.SetParamsFunc(ctx, params)
}

// SetParamsCalls gets all the calls that were made to SetParams.
// Check the length with:
//
//	len(mockedBankKeeper.SetParamsCalls())
func (mock *BankKeeperMock) SetParamsCalls() []struct {
	Ctx    cosmossdktypes.Context
	Params banktypes.Params
} {
	var calls []struct {
		Ctx    cosmossdktypes.Context
		Params banktypes.Params
	}
	mock.lockSetParams.RLock()
	calls = mock.calls.SetParams
	mock.lockSetParams.RUnlock()
	return calls
}

// SpendableBalances calls SpendableBalancesFunc.
func (mock *BankKeeperMock) SpendableBalances(contextMoqParam context.Context, querySpendableBalancesRequest *banktypes.QuerySpendableBalancesRequest) (*banktypes.QuerySpendableBalancesResponse, error) {
	if mock.SpendableBalancesFunc == nil {
		panic("BankKeeperMock.SpendableBalancesFunc: method is nil but BankKeeper.SpendableBalances was just called")
	}
	callInfo := struct {
		ContextMoqParam               context.Context
		QuerySpendableBalancesRequest *banktypes.QuerySpendableBalancesRequest
	}{
		ContextMoqParam:               contextMoqParam,
		QuerySpendableBalancesRequest: querySpendableBalancesRequest,
	}
	mock.lockSpendableBalances.Lock()
	mock.calls.SpendableBalances = append(mock.calls.SpendableBalances, callInfo)
	mock.lockSpendableBalances.Unlock()
	return mock.SpendableBalancesFunc(contextMoqParam, querySpendableBalancesRequest)
}

// SpendableBalancesCalls gets all the calls that were made to SpendableBalances.
// Check the length with:
//
//	len(mockedBankKeeper.SpendableBalancesCalls())
func (mock *BankKeeperMock) SpendableBalancesCalls() []struct {
	ContextMoqParam               context.Context
	QuerySpendableBalancesRequest *banktypes.QuerySpendableBalancesRequest
} {
	var calls []struct {
		ContextMoqParam               context.Context
		QuerySpendableBalancesRequest *banktypes.QuerySpendableBalancesRequest
	}
	mock.lockSpendableBalances.RLock()
	calls = mock.calls.SpendableBalances
	mock.lockSpendableBalances.RUnlock()
	return calls
}

// SpendableCoins calls SpendableCoinsFunc.
func (mock *BankKeeperMock) SpendableCoins(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) cosmossdktypes.Coins {
	if mock.SpendableCoinsFunc == nil {
		panic("BankKeeperMock.SpendableCoinsFunc: method is nil but BankKeeper.SpendableCoins was just called")
	}
	callInfo := struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
	}{
		Ctx:  ctx,
		Addr: addr,
	}
	mock.lockSpendableCoins.Lock()
	mock.calls.SpendableCoins = append(mock.calls.SpendableCoins, callInfo)
	mock.lockSpendableCoins.Unlock()
	return mock.SpendableCoinsFunc(ctx, addr)
}

// SpendableCoinsCalls gets all the calls that were made to SpendableCoins.
// Check the length with:
//
//	len(mockedBankKeeper.SpendableCoinsCalls())
func (mock *BankKeeperMock) SpendableCoinsCalls() []struct {
	Ctx  cosmossdktypes.Context
	Addr cosmossdktypes.AccAddress
} {
	var calls []struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
	}
	mock.lockSpendableCoins.RLock()
	calls = mock.calls.SpendableCoins
	mock.lockSpendableCoins.RUnlock()
	return calls
}

// SupplyOf calls SupplyOfFunc.
func (mock *BankKeeperMock) SupplyOf(contextMoqParam context.Context, querySupplyOfRequest *banktypes.QuerySupplyOfRequest) (*banktypes.QuerySupplyOfResponse, error) {
	if mock.SupplyOfFunc == nil {
		panic("BankKeeperMock.SupplyOfFunc: method is nil but BankKeeper.SupplyOf was just called")
	}
	callInfo := struct {
		ContextMoqParam      context.Context
		QuerySupplyOfRequest *banktypes.QuerySupplyOfRequest
	}{
		ContextMoqParam:      contextMoqParam,
		QuerySupplyOfRequest: querySupplyOfRequest,
	}
	mock.lockSupplyOf.Lock()
	mock.calls.SupplyOf = append(mock.calls.SupplyOf, callInfo)
	mock.lockSupplyOf.Unlock()
	return mock.SupplyOfFunc(contextMoqParam, querySupplyOfRequest)
}

// SupplyOfCalls gets all the calls that were made to SupplyOf.
// Check the length with:
//
//	len(mockedBankKeeper.SupplyOfCalls())
func (mock *BankKeeperMock) SupplyOfCalls() []struct {
	ContextMoqParam      context.Context
	QuerySupplyOfRequest *banktypes.QuerySupplyOfRequest
} {
	var calls []struct {
		ContextMoqParam      context.Context
		QuerySupplyOfRequest *banktypes.QuerySupplyOfRequest
	}
	mock.lockSupplyOf.RLock()
	calls = mock.calls.SupplyOf
	mock.lockSupplyOf.RUnlock()
	return calls
}

// TotalSupply calls TotalSupplyFunc.
func (mock *BankKeeperMock) TotalSupply(contextMoqParam context.Context, queryTotalSupplyRequest *banktypes.QueryTotalSupplyRequest) (*banktypes.QueryTotalSupplyResponse, error) {
	if mock.TotalSupplyFunc == nil {
		panic("BankKeeperMock.TotalSupplyFunc: method is nil but BankKeeper.TotalSupply was just called")
	}
	callInfo := struct {
		ContextMoqParam         context.Context
		QueryTotalSupplyRequest *banktypes.QueryTotalSupplyRequest
	}{
		ContextMoqParam:         contextMoqParam,
		QueryTotalSupplyRequest: queryTotalSupplyRequest,
	}
	mock.lockTotalSupply.Lock()
	mock.calls.TotalSupply = append(mock.calls.TotalSupply, callInfo)
	mock.lockTotalSupply.Unlock()
	return mock.TotalSupplyFunc(contextMoqParam, queryTotalSupplyRequest)
}

// TotalSupplyCalls gets all the calls that were made to TotalSupply.
// Check the length with:
//
//	len(mockedBankKeeper.TotalSupplyCalls())
func (mock *BankKeeperMock) TotalSupplyCalls() []struct {
	ContextMoqParam         context.Context
	QueryTotalSupplyRequest *banktypes.QueryTotalSupplyRequest
} {
	var calls []struct {
		ContextMoqParam         context.Context
		QueryTotalSupplyRequest *banktypes.QueryTotalSupplyRequest
	}
	mock.lockTotalSupply.RLock()
	calls = mock.calls.TotalSupply
	mock.lockTotalSupply.RUnlock()
	return calls
}

// UndelegateCoins calls UndelegateCoinsFunc.
func (mock *BankKeeperMock) UndelegateCoins(ctx cosmossdktypes.Context, moduleAccAddr cosmossdktypes.AccAddress, delegatorAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error {
	if mock.UndelegateCoinsFunc == nil {
		panic("BankKeeperMock.UndelegateCoinsFunc: method is nil but BankKeeper.UndelegateCoins was just called")
	}
	callInfo := struct {
		Ctx           cosmossdktypes.Context
		ModuleAccAddr cosmossdktypes.AccAddress
		DelegatorAddr cosmossdktypes.AccAddress
		Amt           cosmossdktypes.Coins
	}{
		Ctx:           ctx,
		ModuleAccAddr: moduleAccAddr,
		DelegatorAddr: delegatorAddr,
		Amt:           amt,
	}
	mock.lockUndelegateCoins.Lock()
	mock.calls.UndelegateCoins = append(mock.calls.UndelegateCoins, callInfo)
	mock.lockUndelegateCoins.Unlock()
	return mock.UndelegateCoinsFunc(ctx, moduleAccAddr, delegatorAddr, amt)
}

// UndelegateCoinsCalls gets all the calls that were made to UndelegateCoins.
// Check the length with:
//
//	len(mockedBankKeeper.UndelegateCoinsCalls())
func (mock *BankKeeperMock) UndelegateCoinsCalls() []struct {
	Ctx           cosmossdktypes.Context
	ModuleAccAddr cosmossdktypes.AccAddress
	DelegatorAddr cosmossdktypes.AccAddress
	Amt           cosmossdktypes.Coins
} {
	var calls []struct {
		Ctx           cosmossdktypes.Context
		ModuleAccAddr cosmossdktypes.AccAddress
		DelegatorAddr cosmossdktypes.AccAddress
		Amt           cosmossdktypes.Coins
	}
	mock.lockUndelegateCoins.RLock()
	calls = mock.calls.UndelegateCoins
	mock.lockUndelegateCoins.RUnlock()
	return calls
}

// UndelegateCoinsFromModuleToAccount calls UndelegateCoinsFromModuleToAccountFunc.
func (mock *BankKeeperMock) UndelegateCoinsFromModuleToAccount(ctx cosmossdktypes.Context, senderModule string, recipientAddr cosmossdktypes.AccAddress, amt cosmossdktypes.Coins) error {
	if mock.UndelegateCoinsFromModuleToAccountFunc == nil {
		panic("BankKeeperMock.UndelegateCoinsFromModuleToAccountFunc: method is nil but BankKeeper.UndelegateCoinsFromModuleToAccount was just called")
	}
	callInfo := struct {
		Ctx           cosmossdktypes.Context
		SenderModule  string
		RecipientAddr cosmossdktypes.AccAddress
		Amt           cosmossdktypes.Coins
	}{
		Ctx:           ctx,
		SenderModule:  senderModule,
		RecipientAddr: recipientAddr,
		Amt:           amt,
	}
	mock.lockUndelegateCoinsFromModuleToAccount.Lock()
	mock.calls.UndelegateCoinsFromModuleToAccount = append(mock.calls.UndelegateCoinsFromModuleToAccount, callInfo)
	mock.lockUndelegateCoinsFromModuleToAccount.Unlock()
	return mock.UndelegateCoinsFromModuleToAccountFunc(ctx, senderModule, recipientAddr, amt)
}

// UndelegateCoinsFromModuleToAccountCalls gets all the calls that were made to UndelegateCoinsFromModuleToAccount.
// Check the length with:
//
//	len(mockedBankKeeper.UndelegateCoinsFromModuleToAccountCalls())
func (mock *BankKeeperMock) UndelegateCoinsFromModuleToAccountCalls() []struct {
	Ctx           cosmossdktypes.Context
	SenderModule  string
	RecipientAddr cosmossdktypes.AccAddress
	Amt           cosmossdktypes.Coins
} {
	var calls []struct {
		Ctx           cosmossdktypes.Context
		SenderModule  string
		RecipientAddr cosmossdktypes.AccAddress
		Amt           cosmossdktypes.Coins
	}
	mock.lockUndelegateCoinsFromModuleToAccount.RLock()
	calls = mock.calls.UndelegateCoinsFromModuleToAccount
	mock.lockUndelegateCoinsFromModuleToAccount.RUnlock()
	return calls
}

// ValidateBalance calls ValidateBalanceFunc.
func (mock *BankKeeperMock) ValidateBalance(ctx cosmossdktypes.Context, addr cosmossdktypes.AccAddress) error {
	if mock.ValidateBalanceFunc == nil {
		panic("BankKeeperMock.ValidateBalanceFunc: method is nil but BankKeeper.ValidateBalance was just called")
	}
	callInfo := struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
	}{
		Ctx:  ctx,
		Addr: addr,
	}
	mock.lockValidateBalance.Lock()
	mock.calls.ValidateBalance = append(mock.calls.ValidateBalance, callInfo)
	mock.lockValidateBalance.Unlock()
	return mock.ValidateBalanceFunc(ctx, addr)
}

// ValidateBalanceCalls gets all the calls that were made to ValidateBalance.
// Check the length with:
//
//	len(mockedBankKeeper.ValidateBalanceCalls())
func (mock *BankKeeperMock) ValidateBalanceCalls() []struct {
	Ctx  cosmossdktypes.Context
	Addr cosmossdktypes.AccAddress
} {
	var calls []struct {
		Ctx  cosmossdktypes.Context
		Addr cosmossdktypes.AccAddress
	}
	mock.lockValidateBalance.RLock()
	calls = mock.calls.ValidateBalance
	mock.lockValidateBalance.RUnlock()
	return calls
}
