katapaty 1.0.1 → 1.0.6
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/README.md +4 -0
- data/katapaty.gemspec +1 -1
- data/lib/katapaty/block.rb +23 -7
- data/lib/katapaty/configuration.rb +18 -9
- data/lib/katapaty/party.rb +16 -7
- data/lib/katapaty/version.rb +1 -1
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8eb028f176c05a743d9cc340132c736b4a99a846244c07dc11c2807d484675b3
|
4
|
+
data.tar.gz: b59262cd1ee71fd0726a541cff262b4dba2e8fbb898da029bf0c0fb99a309c2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29a27392bdd0688ef8a2461c3378e15d408a22e6df1ca6fbc42d8f9b5a946347c3d65af4e4416ab67f79fb9f789e0f45e61af7b338f70eb014daba862be06fe4
|
7
|
+
data.tar.gz: e8f70a0877121a2f923a6b5fe396991a84274e3532fd6ae88077e4f97f2343e7d44bf72738315553785f3f37e5704aeee557b1b428d0aa5946f040fdda5938de
|
data/README.md
CHANGED
@@ -33,6 +33,8 @@ Katapaty.configure do |config|
|
|
33
33
|
config.block_password = '1234'
|
34
34
|
config.block_host = 'public.coindaddy.io'
|
35
35
|
config.block_port = 14100
|
36
|
+
|
37
|
+
config.ssl = true
|
36
38
|
end
|
37
39
|
```
|
38
40
|
|
@@ -45,6 +47,8 @@ Katapaty::Party.create_send(
|
|
45
47
|
asset: "LONGDD",
|
46
48
|
quantity: 50000
|
47
49
|
)
|
50
|
+
|
51
|
+
Katapaty::Block.proxy_to_cp(method: :get_running_info)
|
48
52
|
```
|
49
53
|
|
50
54
|
Check methods here: https://counterparty.io/docs/api/#read-api-function-reference
|
data/katapaty.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
23
|
spec.add_development_dependency 'bundler', "~> 1.16"
|
24
|
-
spec.add_development_dependency 'rake'
|
24
|
+
spec.add_development_dependency 'rake'
|
25
25
|
spec.add_development_dependency 'rspec', "~> 3.0"
|
26
26
|
spec.add_development_dependency 'pry-rails'
|
27
27
|
spec.add_development_dependency 'fakeweb'
|
data/lib/katapaty/block.rb
CHANGED
@@ -1,24 +1,40 @@
|
|
1
1
|
#
|
2
2
|
# Counterblock APIs
|
3
3
|
#
|
4
|
+
#
|
4
5
|
module Katapaty
|
5
6
|
class Block
|
6
7
|
class << self
|
7
8
|
|
8
|
-
def request(method_name,
|
9
|
+
def request(method_name, params={})
|
9
10
|
client = RestClient::Resource.new Katapaty.configuration.counterblock_url
|
10
|
-
request = { method: method_name, params:
|
11
|
-
response = JSON.parse client.post(
|
12
|
-
|
13
|
-
|
11
|
+
request = { method: method_name, params: params, jsonrpc: '2.0', id: '0' }.to_json
|
12
|
+
response = JSON.parse client.post(
|
13
|
+
request,
|
14
|
+
accept: 'json',
|
15
|
+
content_type: 'json'
|
16
|
+
)
|
14
17
|
raise JsonResponseError.new response if response.has_key? 'code'
|
15
18
|
raise ResponseError.new response['error'] if response.has_key? 'error'
|
16
19
|
response['result']
|
17
20
|
end
|
18
21
|
|
19
22
|
def method_missing(name, *args)
|
20
|
-
|
21
|
-
request(name,
|
23
|
+
params = args.nil? ? {} : args.first
|
24
|
+
request(name, params)
|
25
|
+
end
|
26
|
+
|
27
|
+
def proxy_to_cp(method:, params: {})
|
28
|
+
client = RestClient::Resource.new Katapaty.configuration.counterblock_url
|
29
|
+
request = { method: :proxy_to_counterpartyd, params: { method: method, params: params }, jsonrpc: '2.0', id: '0' }.to_json
|
30
|
+
response = JSON.parse client.post(
|
31
|
+
request,
|
32
|
+
accept: 'json',
|
33
|
+
content_type: 'json'
|
34
|
+
)
|
35
|
+
raise JsonResponseError.new response if response.has_key? 'code'
|
36
|
+
raise ResponseError.new response['error'] if response.has_key? 'error'
|
37
|
+
response['result']
|
22
38
|
end
|
23
39
|
end
|
24
40
|
end
|
@@ -1,22 +1,31 @@
|
|
1
1
|
module Katapaty
|
2
2
|
class Configuration
|
3
3
|
attr_accessor :username,
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
4
|
+
:password,
|
5
|
+
:host,
|
6
|
+
:port,
|
7
|
+
:block_username,
|
8
|
+
:block_password,
|
9
|
+
:block_host,
|
10
|
+
:block_port,
|
11
|
+
:ssl
|
11
12
|
|
12
13
|
def counterparty_url
|
13
14
|
return 'http://rpc:1234@public.coindaddy.io:14000/api/' unless @host
|
14
|
-
"
|
15
|
+
"#{protocol}://#{@username}:#{CGI.escape(@password)}@#{@host}:#{@port}/api/"
|
15
16
|
end
|
16
17
|
|
17
18
|
def counterblock_url
|
18
19
|
return 'http://rpc:1234@public.coindaddy.io:14100/api/' unless @block_host
|
19
|
-
|
20
|
+
authen = ''
|
21
|
+
authen = "#{@block_username}:#{CGI.escape(@block_password)}@" if @block_username
|
22
|
+
"#{protocol}://#{authen}#{@block_host}:#{@block_port}/api/"
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def protocol
|
28
|
+
@ssl ? 'https' : 'http'
|
20
29
|
end
|
21
30
|
end
|
22
31
|
end
|
data/lib/katapaty/party.rb
CHANGED
@@ -9,11 +9,20 @@ module Katapaty
|
|
9
9
|
request('get_running_info')
|
10
10
|
end
|
11
11
|
|
12
|
-
def address_token_balance(address
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
def address_token_balance(address:, token:, proxy: false)
|
13
|
+
filters_params = {
|
14
|
+
"filters": [
|
15
|
+
{ "field": 'address', "op": '==', "value": address },
|
16
|
+
{ "field": 'asset', "op": '==', "value": token }
|
17
|
+
]
|
18
|
+
}
|
19
|
+
if proxy
|
20
|
+
response = Katapaty::Block.proxy_to_cp(method: :get_balances, params: filters_params)
|
21
|
+
else
|
22
|
+
response = request('get_balances', filters_params)
|
23
|
+
end
|
24
|
+
return 0 if response.blank?
|
25
|
+
response.first['quantity'].to_i
|
17
26
|
end
|
18
27
|
|
19
28
|
def get_asset_info(assets)
|
@@ -48,8 +57,8 @@ module Katapaty
|
|
48
57
|
client = RestClient::Resource.new Katapaty.configuration.counterparty_url
|
49
58
|
request = { method: method_name.to_s, params: payload, jsonrpc: '2.0', id: '0' }.to_json
|
50
59
|
response = JSON.parse client.post(request,
|
51
|
-
|
52
|
-
|
60
|
+
accept: 'json',
|
61
|
+
content_type: 'json' )
|
53
62
|
raise Katapaty::JsonResponseError.new response if response.has_key? 'code'
|
54
63
|
raise Katapaty::ResponseError.new response['error'] if response.has_key? 'error'
|
55
64
|
response['result']
|
data/lib/katapaty/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: katapaty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- longhoang.wkm
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-10-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,7 +150,7 @@ dependencies:
|
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
|
-
description:
|
153
|
+
description:
|
154
154
|
email:
|
155
155
|
- longhoang@wakumo.vn
|
156
156
|
executables: []
|
@@ -178,7 +178,7 @@ homepage: https://github.com/longhoangwkm/katapaty
|
|
178
178
|
licenses:
|
179
179
|
- MIT
|
180
180
|
metadata: {}
|
181
|
-
post_install_message:
|
181
|
+
post_install_message:
|
182
182
|
rdoc_options: []
|
183
183
|
require_paths:
|
184
184
|
- lib
|
@@ -193,8 +193,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: '0'
|
195
195
|
requirements: []
|
196
|
-
rubygems_version: 3.
|
197
|
-
signing_key:
|
196
|
+
rubygems_version: 3.1.3
|
197
|
+
signing_key:
|
198
198
|
specification_version: 4
|
199
199
|
summary: A ruby gem for communicating with a Counterparty (Bitcoin / XCP) API server
|
200
200
|
test_files: []
|