katapaty 0.5.1 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
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