coinrpc 3.0.0 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3493555e3ce9e403bbd0d884396b0c6ccf803f7757e8a6bbab45408df54dfc6
4
- data.tar.gz: 35e3547a5fe14792629730f271c0e6148bae8be395f82b76ff5a49994629d299
3
+ metadata.gz: 3f56b954d8a797f018a8451556d8b11cb4a84b62fcb91cc171aca6d542a5c3b8
4
+ data.tar.gz: 5f7d5e0b3cdfa3eebfaacc8cea3e287dd5087115e0a5587bb2a76a3345e32586
5
5
  SHA512:
6
- metadata.gz: 8849abd81ed97fadc7ce19778cef998b64536af4142cbf0e249d4eea777e386f565a5dc26ccb766cd78d670a627f8dc2b946880f8f24f122a474157b8d11b363
7
- data.tar.gz: db827e4d80c96fc4dddcc79e1fea46c2f69aab1aa6afbad68222616c5c91ac21651d39a60853cb85024f22a8c0fbeae56d56c18f9a362b38f653862e06be3b7d
6
+ metadata.gz: ffa84d42cc2dec647fdac362285d4238c1d8541e4bf224f27a2e8b1b32ea971ee5e6b929bf0ed7af049eaa4e42a5b42d5721fb02be41c49f8284c22e43892791
7
+ data.tar.gz: 9c78993f178ea81eadc004bd489e507856caa7de4c598001a950d4c76e2d2b55afab3d36473d7aba5cf5d5cbdc9dd88dff9345d98a886ec1cf4b14be7f76a25b
data/coinrpc.gemspec CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.required_ruby_version = ">= 2.6", "< 3.2"
20
+ spec.required_ruby_version = ">= 2.6", "< 3.3"
21
21
 
22
22
  spec.add_development_dependency "bundler", ">= 1.6", "< 3.0"
23
23
  spec.add_development_dependency "rake", ">= 13.0", "< 14.0"
@@ -1,3 +1,3 @@
1
1
  module CoinRPC
2
- VERSION = "3.0.0".freeze
2
+ VERSION = "3.0.2".freeze
3
3
  end
data/lib/coinrpc.rb CHANGED
@@ -4,6 +4,7 @@ require "oj"
4
4
  require "json"
5
5
  require "securerandom"
6
6
  require "coinrpc/version"
7
+ require "set"
7
8
 
8
9
  # let OJ mimic JSON
9
10
  Oj.mimic_JSON
@@ -19,12 +20,13 @@ module CoinRPC
19
20
  JSONRPC_V1_1 = "1.1".freeze
20
21
  JSONRPC_V2_0 = "2.0".freeze
21
22
  TIMEOUT = 60.freeze
23
+ ENDPOINTS_WITH_ARRAY_ARGS = ['testmempoolaccept'].to_set
22
24
 
23
25
  def initialize(url)
24
26
 
25
27
  urinfo = URI.parse(url)
26
28
 
27
- @options = {:timeout => TIMEOUT, :userpwd => "#{urinfo.user}:#{urinfo.password}", :headers => {"User-Agent" => "CoinRPC/#{CoinRPC::VERSION}"}}.freeze
29
+ @options = {:timeout => TIMEOUT, :userpwd => "#{urinfo.user}:#{urinfo.password}", :headers => {'User-Agent' => "CoinRPC/#{CoinRPC::VERSION}"}}.freeze
28
30
  @url = "http://#{urinfo.host}:#{urinfo.port}/".freeze
29
31
 
30
32
  end
@@ -35,10 +37,10 @@ module CoinRPC
35
37
 
36
38
  def method_missing(method, *args)
37
39
 
38
- fixed_method = method.to_s.gsub(/\_/,"").freeze
40
+ fixed_method = method.to_s.gsub(/\_/, '').freeze
39
41
  post_data = nil
40
42
 
41
- if args[0].is_a?(Array) and args[0].size > 0 then
43
+ if args[0].is_a?(Array) and args[0].size > 0 and !ENDPOINTS_WITH_ARRAY_ARGS.member?(fixed_method) then
42
44
  # batch request
43
45
  post_data = args.map{|arg| {:jsonrpc => JSONRPC_V2_0, :method => fixed_method, :params => arg, :id => random_id} }
44
46
  else
@@ -61,13 +63,13 @@ module CoinRPC
61
63
  # this won't work without Oj.mimic_JSON
62
64
  result = Oj.strict_load(response.body, :decimal_class => BigDecimal)
63
65
 
64
- raise result["error"]["message"] if result.is_a?(Hash) and !result["error"].nil?
66
+ raise result['error']['message'] if result.is_a?(Hash) and !result['error'].nil?
65
67
 
66
68
  if result.is_a?(Hash) then
67
- result["result"]
69
+ result['result']
68
70
  else
69
71
  # batch call
70
- result.map{|r| r["result"] || r["error"]}
72
+ result.map!{|r| r['result'] || r['error']}
71
73
  end
72
74
 
73
75
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coinrpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Atif Nazir
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-12 00:00:00.000000000 Z
11
+ date: 2023-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -148,14 +148,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
148
148
  version: '2.6'
149
149
  - - "<"
150
150
  - !ruby/object:Gem::Version
151
- version: '3.2'
151
+ version: '3.3'
152
152
  required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  requirements:
154
154
  - - ">="
155
155
  - !ruby/object:Gem::Version
156
156
  version: '0'
157
157
  requirements: []
158
- rubygems_version: 3.3.7
158
+ rubygems_version: 3.4.1
159
159
  signing_key:
160
160
  specification_version: 4
161
161
  summary: A fast RPC client for Bitcoin Core style software.