From 00b605985cbd677ceff710ab654b43a14cfd4bb0 Mon Sep 17 00:00:00 2001 From: coingecko-dan <98454728+coingecko-dan@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:36:17 +0800 Subject: [PATCH] add maxSupportedTransactionVersion param for get_transaction - https://beta.docs.solana.com/integrations/exchange#versioned-transaction-migration --- lib/solana_rpc_ruby/methods_wrapper.rb | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/lib/solana_rpc_ruby/methods_wrapper.rb b/lib/solana_rpc_ruby/methods_wrapper.rb index 8bd3e72..56f5558 100644 --- a/lib/solana_rpc_ruby/methods_wrapper.rb +++ b/lib/solana_rpc_ruby/methods_wrapper.rb @@ -106,6 +106,7 @@ def get_balance(account_pubkey, commitment: nil) # @param transaction_details [String] # @param rewards [Boolean] # @param commitment [String] + # @param max_supported_transaction_version [Integer] # # @return [Response, ApiError] Response when success, ApiError on failure. def get_block(slot, params = {}) @@ -1111,22 +1112,24 @@ def get_token_supply( # @param transaction_signature [String] # @param encoding [String] # @param commitment [String] + # @param max_supported_transaction_version [Integer] # # @return [Response, ApiError] Response when success, ApiError on failure. - def get_transaction(transaction_signature, encoding: '', commitment: nil) + def get_transaction(transaction_signature, params = {}) http_method = :post method = create_method_name(__method__) - params = [] - params_hash = {} - - params_hash['commitment'] = commitment unless blank?(commitment) - params_hash['encoding'] = encoding unless blank?(encoding) + params_build = {} + params_build['encoding'] = params[:encoding] unless blank?(params[:encoding]) + params_build['commitment'] = params[:commitment] unless blank?(params[:commitment]) + params_build['maxSupportedTransactionVersion'] = + params[:max_supported_transaction_version] unless blank?(params[:max_supported_transaction_version]) - params << transaction_signature - params << params_hash unless params_hash.empty? + params_request = [] + params_request << transaction_signature + params_request << params_build unless params_build.empty? - body = create_json_body(method, method_params: params) + body = create_json_body(method, method_params: params_request) send_request(body, http_method) end