katapaty 0.5.1 → 1.0.4

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
  SHA256:
3
- metadata.gz: 33e2bf0a7e8356c1ea7e146a2db1334b0c9233030eb16c0cc930ebae078be0f6
4
- data.tar.gz: 5b3191918907aee151c1278f00a45f8f83eff5cb291f7eb0591ad6bd5dd4136f
3
+ metadata.gz: ca01613f7f978972eb79fd28ab143d744301ad35928eb4564301e09f6d8f9b3c
4
+ data.tar.gz: 7484b9a34d49be5b0801fc135073874643fee20f40530a240b62105e789c7b61
5
5
  SHA512:
6
- metadata.gz: 3eb284668c42e9bc581364233e06c3d9ba860871eacb63164c1132e3281691698e513af4f33a536cf5b33ecf653f05fcad15ed698e59d2625755af49af19084f
7
- data.tar.gz: f6a664610aab2b42107089efce6959bae487f97cfcdc6275ee0ba4957d5a052d146e43a9198a71b14ebc104d5f4079ba3768f6fe564b4905b0911f52a92e1ec8
6
+ metadata.gz: 2b08ef5dc3c1e32f06edf3068904d7a44cc03185047a6dc70ca7720f2bbca89ea0ec2368df027db5cfe3b6ad785b3789f56ecf12ef526bb0e0b7ac50aacac1d6
7
+ data.tar.gz: 4e63a259b497f68233bd8a4f73cd01f3ac36240f42357631d47ad64997e76226de723d0463853f9149f9eba21d584853fc1702cc16aa580801ecb08ae88493f2
data/.gitignore CHANGED
@@ -12,4 +12,5 @@
12
12
  /vendor/
13
13
  # rspec failure tracking
14
14
  .rspec_status
15
- Gemfile.lock
15
+ Gemfile.lock
16
+ tags
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
@@ -20,10 +20,11 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.16"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "rspec", "~> 3.0"
26
- spec.add_development_dependency "pry-rails"
23
+ spec.add_development_dependency 'bundler', "~> 1.16"
24
+ spec.add_development_dependency 'rake'
25
+ spec.add_development_dependency 'rspec', "~> 3.0"
26
+ spec.add_development_dependency 'pry-rails'
27
+ spec.add_development_dependency 'fakeweb'
27
28
 
28
29
  spec.add_dependency "json"
29
30
  spec.add_dependency "rest-client"
@@ -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, payload={})
9
+ def request(method_name, params={})
9
10
  client = RestClient::Resource.new Katapaty.configuration.counterblock_url
10
- request = { method: method_name, params: payload, jsonrpc: '2.0', id: '0' }.to_json
11
- response = JSON.parse client.post(request,
12
- accept: 'json',
13
- content_type: 'json' )
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
- args = args.nil? ? {} : args.first
21
- request(name, args)
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
- :password,
5
- :host,
6
- :port,
7
- :block_username,
8
- :block_password,
9
- :block_host,
10
- :block_port
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
- "http://#{@username}:#{@password}@#{@host}:#{@port}/api/"
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
- "http://#{@block_username}:#{@block_password}@#{@block_host}:#{@block_port}/api/"
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
@@ -6,7 +6,7 @@ module Katapaty
6
6
  class Party
7
7
  class << self
8
8
  def get_running_info
9
- request(__method__.to_s)
9
+ request('get_running_info')
10
10
  end
11
11
 
12
12
  def address_token_balance(address, token_name)
@@ -17,19 +17,23 @@ module Katapaty
17
17
  end
18
18
 
19
19
  def get_asset_info(assets)
20
- request(__method__, { assets: assets })
20
+ request('get_asset_info', { assets: assets })
21
21
  end
22
22
 
23
23
  def get_blocks(block_indexes)
24
- request(__method__, { block_indexes: block_indexes })
24
+ request('get_blocks', { block_indexes: block_indexes })
25
25
  end
26
26
 
27
27
  def getrawtransaction(tx_hash)
28
- request(__method__, { tx_hash: tx_hash })
28
+ request('getrawtransaction', { tx_hash: tx_hash })
29
29
  end
30
30
 
31
31
  def create_send(payload)
32
- request(__method__, payload)
32
+ request('create_send', payload)
33
+ end
34
+
35
+ def create_order(payload)
36
+ request('create_order', payload)
33
37
  end
34
38
 
35
39
  def btc_unconfirm_balance(address)
@@ -1,3 +1,3 @@
1
1
  module Katapaty
2
- VERSION = "0.5.1"
2
+ VERSION = "1.0.4"
3
3
  end
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: 0.5.1
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - longhoang.wkm
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-28 00:00:00.000000000 Z
11
+ date: 2020-08-19 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: '10.0'
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: '10.0'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: fakeweb
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: json
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -179,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
193
  - !ruby/object:Gem::Version
180
194
  version: '0'
181
195
  requirements: []
182
- rubygems_version: 3.0.3
196
+ rubygems_version: 3.1.3
183
197
  signing_key:
184
198
  specification_version: 4
185
199
  summary: A ruby gem for communicating with a Counterparty (Bitcoin / XCP) API server