onchain 2.9 → 2.10
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 +4 -4
- data/lib/onchain/providers/blockchaininfo_api.rb +1 -0
- data/lib/onchain.rb +0 -1
- metadata +3 -18
- data/lib/onchain/providers/chaincom_api.rb +0 -134
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13193d3a144ac9f25ab2341bdd0496595fc0b5e5
|
4
|
+
data.tar.gz: 68630a1e6e14f3dfeb114059251b8298ab451f31
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b900108f3ca41817c0b017f384ccc5d8f73c2214683e83d6b9d0b7f9a5f9f59d281c57e74b7927fafa20e2f93e5b60591060db9a61bdbdce238c3febe7176a6b
|
7
|
+
data.tar.gz: bfe293fc99c30563e381f8969c0db4e994c367f3a28b3876c702610668efccaa116c761b689e78161de50117765f56876e8c20ff412b77031b36e96a29306cf3
|
data/lib/onchain.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'onchain/block_chain.rb'
|
2
2
|
require 'onchain/providers/blockchaininfo_api.rb'
|
3
3
|
require 'onchain/providers/blockr_api.rb'
|
4
|
-
require 'onchain/providers/chaincom_api.rb'
|
5
4
|
require 'onchain/sweeper.rb'
|
6
5
|
require 'onchain/payments.rb'
|
7
6
|
require 'onchain/transaction.rb'
|
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.
|
4
|
+
version: '2.10'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian Purton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: chain-ruby
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 2.0.1
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 2.0.1
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: httparty
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,7 +92,6 @@ files:
|
|
106
92
|
- lib/onchain/payments.rb
|
107
93
|
- lib/onchain/providers/blockchaininfo_api.rb
|
108
94
|
- lib/onchain/providers/blockr_api.rb
|
109
|
-
- lib/onchain/providers/chaincom_api.rb
|
110
95
|
- lib/onchain/sweeper.rb
|
111
96
|
- lib/onchain/transaction.rb
|
112
97
|
homepage: https://github.com/onchain/onchain-gem
|
@@ -128,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
113
|
version: '0'
|
129
114
|
requirements: []
|
130
115
|
rubyforge_project:
|
131
|
-
rubygems_version: 2.
|
116
|
+
rubygems_version: 2.5.1
|
132
117
|
signing_key:
|
133
118
|
specification_version: 4
|
134
119
|
summary: Ruby wrapper for various 3rd-party bitcoin APIs
|
@@ -1,134 +0,0 @@
|
|
1
|
-
require 'chain'
|
2
|
-
require 'time'
|
3
|
-
|
4
|
-
# No longer works as Chain.com pivoted into a blockchain company.
|
5
|
-
class OnChain::BlockChain
|
6
|
-
class << self
|
7
|
-
|
8
|
-
|
9
|
-
def chaincom_get_history_for_addresses(addresses)
|
10
|
-
txs = Chain.get_addresses_transactions(addresses)
|
11
|
-
|
12
|
-
return chaincom_parse_address_tx(addresses, txs)
|
13
|
-
end
|
14
|
-
|
15
|
-
def chaincom_address_history(address)
|
16
|
-
|
17
|
-
txs = Chain.get_address_transactions(address)
|
18
|
-
|
19
|
-
return chaincom_parse_address_tx([address], txs)
|
20
|
-
end
|
21
|
-
|
22
|
-
def chaincom_parse_address_tx(addresses, txs)
|
23
|
-
hist = []
|
24
|
-
txs.each do |tx|
|
25
|
-
row = {}
|
26
|
-
row[:time] = Time.parse(tx["block_time"]).to_i
|
27
|
-
row[:addr] = {}
|
28
|
-
row[:outs] = {}
|
29
|
-
|
30
|
-
inputs = tx['inputs']
|
31
|
-
val = 0
|
32
|
-
recv = "Y"
|
33
|
-
inputs.each do |input|
|
34
|
-
row[:addr][input["addresses"][0]] = input["addresses"][0]
|
35
|
-
if addresses.include? input["addresses"][0]
|
36
|
-
recv = "N"
|
37
|
-
end
|
38
|
-
end
|
39
|
-
tx["outputs"].each do |out|
|
40
|
-
row[:outs][out["addresses"][0] ] = out["addresses"][0]
|
41
|
-
if recv == "Y" and addresses.include? out["addresses"][0]
|
42
|
-
val = val + out["value"].to_f / 100000000.0
|
43
|
-
elsif recv == "N" and addresses.include? out["addresses"][0]
|
44
|
-
val = val + out["value"].to_f / 100000000.0
|
45
|
-
end
|
46
|
-
end
|
47
|
-
row[:total] = val
|
48
|
-
row[:recv] = recv
|
49
|
-
hist << row
|
50
|
-
end
|
51
|
-
return hist
|
52
|
-
end
|
53
|
-
|
54
|
-
def chaincom_send_tx(tx_hex)
|
55
|
-
|
56
|
-
begin
|
57
|
-
tx = Chain.send_transaction(tx_hex)
|
58
|
-
tx_hash = tx["transaction_hash"]
|
59
|
-
ret = "{\"status\":\"success\",\"data\":\"#{tx_hash}\",\"code\":200,\"message\":\"\"}"
|
60
|
-
return JSON.parse(ret)
|
61
|
-
rescue => e
|
62
|
-
ret = "{\"status\":\"failure\",\"data\":\"#{tx_hash}\",\"code\":200,\"message\":\"#{e.to_s}\"}"
|
63
|
-
return JSON.parse(ret)
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
def chaincom_get_balance(address)
|
68
|
-
if cache_read(address) == nil
|
69
|
-
|
70
|
-
addr = Chain.get_address(address)
|
71
|
-
if addr.count > 0
|
72
|
-
bal = addr[0]["total"]["balance"].to_i / 100000000.0
|
73
|
-
cache_write(address, bal, BALANCE_CACHE_FOR)
|
74
|
-
end
|
75
|
-
|
76
|
-
end
|
77
|
-
return cache_read(address)
|
78
|
-
end
|
79
|
-
|
80
|
-
def chaincom_get_transactions(address)
|
81
|
-
|
82
|
-
txs = Chain.get_address_transactions(address)
|
83
|
-
|
84
|
-
unspent = []
|
85
|
-
|
86
|
-
txs.each do |data|
|
87
|
-
line = []
|
88
|
-
line << data['hash']
|
89
|
-
line << data["outputs"][0]["value"] / 100000000.0
|
90
|
-
unspent << line
|
91
|
-
end
|
92
|
-
|
93
|
-
return unspent
|
94
|
-
end
|
95
|
-
|
96
|
-
def chaincom_get_unspent_outs(address)
|
97
|
-
|
98
|
-
uns = Chain.get_address_unspents(address)
|
99
|
-
|
100
|
-
unspent = []
|
101
|
-
|
102
|
-
uns.each do |data|
|
103
|
-
line = []
|
104
|
-
line << data['transaction_hash']
|
105
|
-
line << data['output_index']
|
106
|
-
line << data['script_hex']
|
107
|
-
line << data['value']
|
108
|
-
unspent << line
|
109
|
-
end
|
110
|
-
|
111
|
-
return unspent
|
112
|
-
end
|
113
|
-
|
114
|
-
def chaincom_get_all_balances(addresses)
|
115
|
-
|
116
|
-
addr = get_uncached_addresses(addresses)
|
117
|
-
|
118
|
-
if addr.length == 0
|
119
|
-
return
|
120
|
-
end
|
121
|
-
|
122
|
-
res = Chain.get_addresses(addr)
|
123
|
-
|
124
|
-
if ! res.kind_of?(Array)
|
125
|
-
res = [res]
|
126
|
-
end
|
127
|
-
|
128
|
-
res.each do |address|
|
129
|
-
bal = address["total"]["balance"] / 100000000.0
|
130
|
-
cache_write(address["address"], bal, BALANCE_CACHE_FOR)
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|