Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions lib/solana_rpc_ruby/methods_wrapper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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 = {})
Expand Down Expand Up @@ -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
Expand Down