onchain 2.23 → 3.00

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 681a68a488bc3ad8cf9c20646418ff62ded0d732
4
- data.tar.gz: c9b8821853faedf4dbe55f643f545301083a6469
3
+ metadata.gz: 0c7e9b92e6b645c709f1c5bbf2cfc22eebbd7c37
4
+ data.tar.gz: bc3b2e62455912eef0238b55cc84ea75338ffffb
5
5
  SHA512:
6
- metadata.gz: 6215a5533be791075f77859df51ee3451a509fa920ee969347ccdb7ea854f44f8cb1c50a261bfb7d3a8b39c5d457fa37f0af97d2b344da51edc8c0a5a6996b25
7
- data.tar.gz: 452a022cad34ea5425c5fcfbb724c596a5278ca4dc0985f9b63dd8cf2fa01758e9f849534cc5d19dde00f2e9b35e917dabc84dfacbda045edc75108673ba5edb
6
+ metadata.gz: 20b36da1e5060053b06751bf6b770d813850ff9e0a2015d25f5ad7e063dcf22743ce711984a287bf4c52cf71cfaa5a307edb4de80fac0b84f02ba9d20098bd44
7
+ data.tar.gz: 7835ddfe5e983f7ebd74a87d85b42a12336c66f2c9b305141278e5b73df6503e22283f34a5543b5e8f7fb589833687205c00bdabaeab2c2c8514d3a25c2bcac4
@@ -1,4 +1,5 @@
1
1
  require 'net/http'
2
+ require 'net/ssh'
2
3
  require 'json'
3
4
 
4
5
  # We support a number of blockchain API providers,
@@ -27,13 +28,14 @@ end
27
28
  class OnChain::BlockChain
28
29
  class << self
29
30
 
30
- ALL_SUPPLIERS = [ :blockinfo, :insight, :blockr ]
31
+ ALL_SUPPLIERS = [ :blockinfo, :insight, :blockr, :bitcoind ]
31
32
 
32
33
  def method_missing (method_name, *args, &block)
33
34
 
34
35
  network = :bitcoin
36
+ # List of allowable networks.
35
37
  if args.length > 0
36
- if args[args.length - 1] == :testnet3 or args[args.length - 1] == :zcash_testnet
38
+ if [:testnet3, :zcash_testnet, :zcash, :zclassic].include? args[args.length - 1]
37
39
  network = args[args.length - 1]
38
40
  end
39
41
  end
@@ -124,15 +126,19 @@ class OnChain::BlockChain
124
126
  ALL_SUPPLIERS.each do |supplier|
125
127
  if cache_read(supplier.to_s) == nil
126
128
 
127
- if supplier == :blockinfo and network == :testnet3
129
+ if supplier == :blockinfo and ! [:bitcoin].include? network
128
130
  next
129
131
  end
130
132
 
131
- if supplier == :blockinfo and network == :zcash_testnet
133
+ if supplier == :blockr and ! [:bitcoin, :testnet3].include? network
132
134
  next
133
135
  end
134
136
 
135
- if supplier == :blockr and network == :zcash_testnet
137
+ if supplier == :insight and ! [:bitcoin, :testnet3].include? network
138
+ next
139
+ end
140
+
141
+ if supplier == :bitcoind and ENV[network.to_s.upcase + '_HOST'] == nil
136
142
  next
137
143
  end
138
144
 
data/lib/onchain.rb CHANGED
@@ -2,8 +2,30 @@ require 'onchain/block_chain.rb'
2
2
  require 'onchain/providers/blockchaininfo_api.rb'
3
3
  require 'onchain/providers/blockr_api.rb'
4
4
  require 'onchain/providers/insight_api.rb'
5
+ require 'onchain/providers/bitcoind_api.rb'
5
6
  require 'onchain/sweeper.rb'
6
7
  require 'onchain/payments.rb'
7
8
  require 'onchain/transaction.rb'
8
9
  require 'money-tree'
9
10
  require 'bitcoin'
11
+
12
+
13
+ # Setup the bitcoin gem for zcash
14
+ module Bitcoin
15
+
16
+ NETWORKS[:zcash_testnet] = NETWORKS[:testnet3].merge({
17
+ address_version: "1D25",
18
+ p2sh_version: "1CBA"
19
+ })
20
+
21
+ NETWORKS[:zcash] = NETWORKS[:bitcoin].merge({
22
+ address_version: "1CB8",
23
+ p2sh_version: "1CBD"
24
+ })
25
+
26
+ NETWORKS[:zclassic] = NETWORKS[:bitcoin].merge({
27
+ address_version: "1CB8",
28
+ p2sh_version: "1CBD"
29
+ })
30
+
31
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onchain
3
3
  version: !ruby/object:Gem::Version
4
- version: '2.23'
4
+ version: '3.00'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Number 6
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-14 00:00:00.000000000 Z
11
+ date: 2016-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: net-ssh
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: Call 3rd party API's but also switch API's if a 3rd party is down
84
98
  email:
85
99
  - support@onchain.io