Module: Solana::Ruby::Kit::Rpc::Api::GetTokenAccountBalance

Extended by:
T::Sig
Included in:
Client
Defined in:
lib/solana/ruby/kit/rpc/api/get_token_account_balance.rb

Overview

Fetch the token balance of an SPL Token account. Mirrors TypeScript’s GetTokenAccountBalanceApi.getTokenAccountBalance.

Instance Method Summary collapse

Instance Method Details

#get_token_account_balance(token_account, commitment: nil) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/solana/ruby/kit/rpc/api/get_token_account_balance.rb', line 18

def (, commitment: nil)
  config = {}
  config['commitment'] = commitment.to_s if commitment

  result = transport.request('getTokenAccountBalance', [, config].tap { |a| a.pop if a.last.empty? })
  slot   = Kernel.Integer(result['context']['slot'])
  raw    = result['value']

  value = {
    amount:           raw['amount'],
    decimals:         Kernel.Integer(raw['decimals']),
    ui_amount:        raw['uiAmount'],
    ui_amount_string: raw['uiAmountString']
  }

  RpcTypes::RpcContextualValue.new(slot: slot, value: value)
end