Module: Solana::Ruby::Kit::Rpc::Api::GetInflationReward
- Extended by:
- T::Sig
- Included in:
- Client
- Defined in:
- lib/solana/ruby/kit/rpc/api/get_inflation_reward.rb
Overview
Returns the inflation/staking reward for a list of addresses for an epoch. Mirrors TypeScript’s GetInflationRewardApi.getInflationReward.
Instance Method Summary collapse
Instance Method Details
#get_inflation_reward(addresses, commitment: nil, epoch: nil, min_context_slot: nil) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/solana/ruby/kit/rpc/api/get_inflation_reward.rb', line 34 def get_inflation_reward(addresses, commitment: nil, epoch: nil, min_context_slot: nil) addr_strings = addresses.map { |a| a.respond_to?(:value) ? a.value : a.to_s } config = {} config['commitment'] = commitment.to_s if commitment config['epoch'] = epoch if epoch config['minContextSlot'] = min_context_slot if min_context_slot params = config.empty? ? [addr_strings] : [addr_strings, config] raw_list = transport.request('getInflationReward', params) raw_list.map do |entry| next nil if entry.nil? InflationReward.new( amount: Kernel.Integer(entry['amount']), commission: Kernel.Integer(entry['commission']), effective_slot: Kernel.Integer(entry['effectiveSlot']), epoch: Kernel.Integer(entry['epoch']), post_balance: Kernel.Integer(entry['postBalance']) ) end end |