Skip to content

Commit

Permalink
fix: nil gRPC queries
Browse files Browse the repository at this point in the history
  • Loading branch information
Reecepbcups committed Aug 22, 2024
1 parent 9ec32dd commit ea0b733
Showing 1 changed file with 48 additions and 13 deletions.
61 changes: 48 additions & 13 deletions chain/thorchain/module_bank.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,68 +25,103 @@ func (c *Thorchain) GetBalance(ctx context.Context, address string, denom string
// BankGetBalance is an alias for GetBalance
func (c *Thorchain) BankQueryBalance(ctx context.Context, address string, denom string) (sdkmath.Int, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).Balance(ctx, &banktypes.QueryBalanceRequest{Address: address, Denom: denom})
return res.Balance.Amount, err
if err != nil {
return sdkmath.ZeroInt(), err
}
return res.Balance.Amount, nil
}

// AllBalances fetches an account address's balance for all denoms it holds
func (c *Thorchain) BankQueryAllBalances(ctx context.Context, address string) (types.Coins, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).AllBalances(ctx, &banktypes.QueryAllBalancesRequest{Address: address})
return res.GetBalances(), err
if err != nil {
return nil, err
}
return res.GetBalances(), nil
}

// BankDenomMetadata fetches the metadata of a specific coin denomination
func (c *Thorchain) BankQueryDenomMetadata(ctx context.Context, denom string) (*banktypes.Metadata, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).DenomMetadata(ctx, &banktypes.QueryDenomMetadataRequest{Denom: denom})
return &res.Metadata, err
if err != nil {
return nil, err
}
return &res.Metadata, nil
}

func (c *Thorchain) BankQueryDenomMetadataByQueryString(ctx context.Context, denom string) (*banktypes.Metadata, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).DenomMetadataByQueryString(ctx, &banktypes.QueryDenomMetadataByQueryStringRequest{Denom: denom})
return &res.Metadata, err
if err != nil {
return nil, err
}
return &res.Metadata, nil
}

func (c *Thorchain) BankQueryDenomOwners(ctx context.Context, denom string) ([]*banktypes.DenomOwner, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).DenomOwners(ctx, &banktypes.QueryDenomOwnersRequest{Denom: denom})
return res.DenomOwners, err
if err != nil {
return nil, err
}
return res.DenomOwners, nil
}

func (c *Thorchain) BankQueryDenomsMetadata(ctx context.Context) ([]banktypes.Metadata, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).DenomsMetadata(ctx, &banktypes.QueryDenomsMetadataRequest{})
return res.Metadatas, err
if err != nil {
return nil, err
}
return res.Metadatas, nil
}

func (c *Thorchain) BankQueryParams(ctx context.Context) (*banktypes.Params, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).Params(ctx, &banktypes.QueryParamsRequest{})
return &res.Params, err
if err != nil {
return nil, err
}
return &res.Params, nil
}

func (c *Thorchain) BankQuerySendEnabled(ctx context.Context, denoms []string) ([]*banktypes.SendEnabled, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).SendEnabled(ctx, &banktypes.QuerySendEnabledRequest{
Denoms: denoms,
})
return res.SendEnabled, err
if err != nil {
return nil, err
}
return res.SendEnabled, nil
}

func (c *Thorchain) BankQuerySpendableBalance(ctx context.Context, address, denom string) (*types.Coin, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).SpendableBalanceByDenom(ctx, &banktypes.QuerySpendableBalanceByDenomRequest{
Address: address,
Denom: denom,
})
return res.Balance, err
if err != nil {
return nil, err
}
return res.Balance, nil
}

func (c *Thorchain) BankQuerySpendableBalances(ctx context.Context, address string) (*types.Coins, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).SpendableBalances(ctx, &banktypes.QuerySpendableBalancesRequest{Address: address})
return &res.Balances, err
if err != nil {
return nil, err
}
return &res.Balances, nil
}

func (c *Thorchain) BankQueryTotalSupply(ctx context.Context) (*types.Coins, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).TotalSupply(ctx, &banktypes.QueryTotalSupplyRequest{})
return &res.Supply, err
if err != nil {
return nil, err
}
return &res.Supply, nil
}

func (c *Thorchain) BankQueryTotalSupplyOf(ctx context.Context, address string) (*types.Coin, error) {
res, err := banktypes.NewQueryClient(c.GetNode().GrpcConn).SupplyOf(ctx, &banktypes.QuerySupplyOfRequest{Denom: address})

return &res.Amount, err
if err != nil {
return nil, err
}
return &res.Amount, nil
}

0 comments on commit ea0b733

Please sign in to comment.