bcoin-client 0.1.0
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 +7 -0
- data/.env +2 -0
- data/.gitignore +13 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +6 -0
- data/Guardfile +1 -0
- data/LICENSE.txt +21 -0
- data/README.md +292 -0
- data/Rakefile +6 -0
- data/bcoin-client.gemspec +40 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/config/Guardfile +42 -0
- data/config/containers/bcoin/Dockerfile +19 -0
- data/config/containers/bcoin/bcoin.conf +123 -0
- data/config/containers/bcoin/package-lock.json +981 -0
- data/config/containers/bcoin/package.json +14 -0
- data/config/containers/ruby/Dockerfile +18 -0
- data/docker-compose.yml +19 -0
- data/lib/bcoin/client.rb +81 -0
- data/lib/bcoin/client/account.rb +21 -0
- data/lib/bcoin/client/accounts.rb +31 -0
- data/lib/bcoin/client/balance.rb +17 -0
- data/lib/bcoin/client/base.rb +69 -0
- data/lib/bcoin/client/collection.rb +47 -0
- data/lib/bcoin/client/http_methods.rb +53 -0
- data/lib/bcoin/client/master.rb +21 -0
- data/lib/bcoin/client/version.rb +5 -0
- data/lib/bcoin/client/wallet.rb +109 -0
- data/lib/bcoin/client/wallets.rb +52 -0
- metadata +174 -0
@@ -0,0 +1,52 @@
|
|
1
|
+
require "bcoin/client/collection"
|
2
|
+
require "bcoin/client/wallet"
|
3
|
+
|
4
|
+
module Bcoin
|
5
|
+
class Client
|
6
|
+
class Wallets < Collection
|
7
|
+
|
8
|
+
attr_reader :client
|
9
|
+
|
10
|
+
# The base path for the wallets collection must be
|
11
|
+
# set to '/' since the bcoin API breaks from the
|
12
|
+
# RESTful standard for the retrieval of the wallet
|
13
|
+
# collection. The list of wallets is located at
|
14
|
+
# '/wallets/_admin/wallets'. The base path for all
|
15
|
+
# other wallet operations is the expected '/wallet'.
|
16
|
+
def base_path
|
17
|
+
'/'
|
18
|
+
end
|
19
|
+
|
20
|
+
def refresh!
|
21
|
+
# Preceeding slash in the GET operation intentionally omitted
|
22
|
+
# due to wonkiness with the wallets base path. See the
|
23
|
+
# Wallets#base_path comment above.
|
24
|
+
@collection = super('wallet/_admin/wallets').collect { |w|
|
25
|
+
Wallet.new(client, id: w).refresh!
|
26
|
+
}
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
30
|
+
def find attr
|
31
|
+
Wallet.new(client, attr).refresh!
|
32
|
+
end
|
33
|
+
|
34
|
+
# Create a new Wallet.
|
35
|
+
# @params [Hash] opts The options for creating the wallet.
|
36
|
+
# @option opts [String] :id The ID for the new wallet.
|
37
|
+
# @option opts [String] :type The type for the wallet.
|
38
|
+
# :pubkeyhash, :witness etc...
|
39
|
+
# @options opts [String] :mnemonic The wallet mnemonic.
|
40
|
+
# @return [Bcoin::Client::Wallet] The new wallet object.
|
41
|
+
def create options = {}
|
42
|
+
# The path in this post operation intentionally omits
|
43
|
+
# the preceeding slash due to wonkiness with the wallets
|
44
|
+
# base path breaking standards. See Wallets#base_path
|
45
|
+
# comment above.
|
46
|
+
response = post 'wallet/', options
|
47
|
+
Wallet.new(client, response)
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
metadata
ADDED
@@ -0,0 +1,174 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: bcoin-client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dan Knox
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-08-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.15'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.15'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: guard-rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '4.7'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '4.7'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.10'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.10'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry-doc
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.11'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.11'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: httparty
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.15'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.15'
|
111
|
+
description: Client for the bcoin.io bitcoin node including their wallet API.
|
112
|
+
email:
|
113
|
+
- dknox@threedotloft.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".env"
|
119
|
+
- ".gitignore"
|
120
|
+
- ".rspec"
|
121
|
+
- ".travis.yml"
|
122
|
+
- CODE_OF_CONDUCT.md
|
123
|
+
- Gemfile
|
124
|
+
- Guardfile
|
125
|
+
- LICENSE.txt
|
126
|
+
- README.md
|
127
|
+
- Rakefile
|
128
|
+
- bcoin-client.gemspec
|
129
|
+
- bin/console
|
130
|
+
- bin/setup
|
131
|
+
- config/Guardfile
|
132
|
+
- config/containers/bcoin/Dockerfile
|
133
|
+
- config/containers/bcoin/bcoin.conf
|
134
|
+
- config/containers/bcoin/package-lock.json
|
135
|
+
- config/containers/bcoin/package.json
|
136
|
+
- config/containers/ruby/Dockerfile
|
137
|
+
- docker-compose.yml
|
138
|
+
- lib/bcoin/client.rb
|
139
|
+
- lib/bcoin/client/account.rb
|
140
|
+
- lib/bcoin/client/accounts.rb
|
141
|
+
- lib/bcoin/client/balance.rb
|
142
|
+
- lib/bcoin/client/base.rb
|
143
|
+
- lib/bcoin/client/collection.rb
|
144
|
+
- lib/bcoin/client/http_methods.rb
|
145
|
+
- lib/bcoin/client/master.rb
|
146
|
+
- lib/bcoin/client/version.rb
|
147
|
+
- lib/bcoin/client/wallet.rb
|
148
|
+
- lib/bcoin/client/wallets.rb
|
149
|
+
homepage: http://github.com/DanKnox-BitFS/bcoin-ruby
|
150
|
+
licenses:
|
151
|
+
- MIT
|
152
|
+
metadata:
|
153
|
+
allowed_push_host: https://rubygems.org
|
154
|
+
post_install_message:
|
155
|
+
rdoc_options: []
|
156
|
+
require_paths:
|
157
|
+
- lib
|
158
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: '0'
|
163
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '0'
|
168
|
+
requirements: []
|
169
|
+
rubyforge_project:
|
170
|
+
rubygems_version: 2.6.11
|
171
|
+
signing_key:
|
172
|
+
specification_version: 4
|
173
|
+
summary: Client for the bcoin.io bitcoin node.
|
174
|
+
test_files: []
|