quadrigacx 0.0.1 → 0.0.2

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
  SHA1:
3
- metadata.gz: c9c4ae3390c768f6851a78775d7643dd5fed476b
4
- data.tar.gz: ba0ff32ec309a1f5fd3f1df64227da354adeca16
3
+ metadata.gz: 925de219273c259ca550c654e91d6b25d267caf5
4
+ data.tar.gz: ea01bf028a5c305d9228a0b34aaa5f007ddbb9df
5
5
  SHA512:
6
- metadata.gz: 76cf50473b9b8a03cbb036ea094cb62dd0606e231b777b2e029a8fcfea296cd560f7edeca13bfc676772bdeecaff6a7a4d11ed069fe1c1ac4d77ca6ce7eadb1a
7
- data.tar.gz: bee387808b2750c9460981e7e3609b87c7cb2dea22521cd08d4650970f7186083c5b27bb77db6619bd3b38a0347f6c1eba27758e554b3d0d1f0f9931256d43fc
6
+ metadata.gz: baa3e58c9ca733042d5ec6767164fa3f7a708f430a0fb6c4ca772e2bade9a04502ba082a9dcfe850d720011854387b061329de36adc301b324ffb506919d6c7c
7
+ data.tar.gz: c73b8c7b606dad5ee589de293e9e7ee239941beae11f8648d87a887ffc1e5592fdd0ae9b8b33ee76f4726d19d9d80190c520f60e6716c47b064eb42307922173
data/README.md CHANGED
@@ -2,4 +2,11 @@
2
2
 
3
3
  Ruby wrapper for the QuadrigaCX API
4
4
 
5
+ `gem install quadrigacx`
6
+
7
+ ```
8
+ client = QuadrigaCX::Client.new(api_key: 'API_KEY', api_secret: 'API_SECRET)
9
+ client.order_book
10
+ ```
11
+
5
12
  Heavily inspired by [localbitcoins](https://github.com/pemulis/localbitcoins).
@@ -1,6 +1,7 @@
1
- require 'quadrigacx/version'
2
1
  require 'quadrigacx/request'
3
2
  require 'quadrigacx/client'
3
+ require 'quadrigacx/version'
4
+ require 'quadrigacx/error'
4
5
 
5
6
  module QuadrigaCX
6
7
  @@options = {}
@@ -16,6 +17,7 @@ module QuadrigaCX
16
17
  end
17
18
 
18
19
  @@options[:use_hmac] = true
20
+ @@options[:client_id] = options[:client_id]
19
21
  @@options[:api_key] = options[:api_key]
20
22
  @@options[:api_secret] = options[:api_secret]
21
23
  @@options
@@ -7,7 +7,7 @@ module QuadrigaCX
7
7
  include QuadrigaCX::Public
8
8
  include QuadrigaCX::Private
9
9
 
10
- attr_reader :api_key, :api_secret
10
+ attr_reader :api_key, :api_secret, :client_id
11
11
 
12
12
  # Initialize a LocalBitcoins::Client instance
13
13
  #
@@ -20,6 +20,7 @@ module QuadrigaCX
20
20
  end
21
21
 
22
22
  @use_hmac = true
23
+ @client_id = options[:client_id]
23
24
  @api_key = options[:api_key]
24
25
  @api_secret = options[:api_secret]
25
26
  end
@@ -1,4 +1,9 @@
1
1
  module QuadrigaCX
2
2
  module Private
3
+ # List all account balances
4
+ #
5
+ def balance(params={})
6
+ request(:post, '/balance', params)
7
+ end
3
8
  end
4
9
  end
@@ -0,0 +1,6 @@
1
+ module QuadrigaCX
2
+ class Error < StandardError; end
3
+ class ConfigurationError < Error; end
4
+ class Unauthorized < Error; end
5
+ class NotFound < Error; end
6
+ end
@@ -1,10 +1,10 @@
1
1
  require 'rest-client'
2
- require 'active_support/core_ext'
3
2
  require 'json'
4
3
  require 'hashie'
5
4
  require 'openssl'
6
5
  require 'date'
7
6
  require 'uri'
7
+ require 'digest'
8
8
 
9
9
  module QuadrigaCX
10
10
  module Request
@@ -22,26 +22,25 @@ module QuadrigaCX
22
22
  end
23
23
 
24
24
  def hmac_request(http_method, path, body={})
25
- raise 'Client ID and secret required!' unless @api_key && @api_secret
25
+ raise 'API key, API secret and client ID required!' unless @api_key && @api_secret && @client_id
26
26
 
27
- digest = OpenSSL::Digest.new('sha256')
27
+ secret = Digest::MD5.hexdigest(@api_secret)
28
28
  nonce = DateTime.now.strftime('%Q')
29
- params = URI.encode_www_form(body)
30
- data = [nonce, @api_key, path, params].join
31
- signature = OpenSSL::HMAC.hexdigest(digest, @api_secret, data)
29
+ data = [nonce + @api_key + @client_id].join
30
+ digest = OpenSSL::Digest.new('sha256')
31
+ signature = OpenSSL::HMAC.hexdigest(digest, secret, data)
32
32
  url = "#{API_URL}#{path}"
33
33
 
34
- headers = {
35
- 'Apiauth-Key' => @api_key,
36
- 'Apiauth-Nonce' => nonce,
37
- 'Apiauth-Signature' => signature,
38
- }
34
+ body.merge!({
35
+ key: @api_key,
36
+ nonce: nonce,
37
+ signature: signature,
38
+ })
39
39
 
40
- # TODO(maros): Get the `RestClient::Request.execute` API to work.
41
- if http_method == :get
42
- RestClient.get("#{url}?#{params}", headers)
40
+ if http_method == :post
41
+ RestClient.post(url, body.to_json, :content_type => :json, :accept => :json)
43
42
  else
44
- RestClient.post(url, params, headers)
43
+ RestClient.send(http_method, url, body)
45
44
  end
46
45
  end
47
46
 
@@ -1,5 +1,5 @@
1
1
  module QuadrigaCX
2
2
  unless defined?(QuadrigaCX::VERSION)
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
4
4
  end
5
5
  end
@@ -2,18 +2,34 @@ require 'spec_helper'
2
2
 
3
3
  describe QuadrigaCX::Client do
4
4
  subject(:client) { QuadrigaCX::Client.new(
5
+ client_id: ENV['QUADRIGACX_CLIENT_ID'],
5
6
  api_key: ENV['QUADRIGACX_API_KEY'],
6
7
  api_secret: ENV['QUADRIGACX_API_SECRET'],
7
8
  )}
8
9
 
9
- describe '#order_book' do
10
- it 'returns a list of all open orders' do
11
- VCR.use_cassette('order_book') do
12
- order_book = client.order_book
10
+ describe 'public' do
11
+ describe '#order_book' do
12
+ it 'returns a list of all open orders' do
13
+ VCR.use_cassette('order_book') do
14
+ order_book = client.order_book
13
15
 
14
- expect(order_book.timestamp).to be_present
15
- expect(order_book.bids.first.length).to equal 2
16
- expect(order_book.asks.first.length).to equal 2
16
+ expect(order_book.timestamp).not_to be_nil
17
+ expect(order_book.bids.first.length).to equal 2
18
+ expect(order_book.asks.first.length).to equal 2
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ describe 'private' do
25
+ describe '#balance' do
26
+ it 'returns all account balances' do
27
+ VCR.use_cassette('balance') do
28
+ balance = client.balance
29
+
30
+ expect(balance.cad_balance).not_to be_nil
31
+ expect(balance.btc_balance).not_to be_nil
32
+ end
17
33
  end
18
34
  end
19
35
  end
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.quadrigacx.com/v2/balance
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"key":"kOnVDjfPPh","nonce":"1421609504253","signature":"8f8c068624b4980659f0a2d0eabbe756d38fa204a0a19f8dd4deedb1046aebc8"}'
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Type:
15
+ - application/json
16
+ Content-Length:
17
+ - '123'
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - cloudflare-nginx
27
+ Date:
28
+ - Sun, 18 Jan 2015 19:31:41 GMT
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Transfer-Encoding:
32
+ - chunked
33
+ Connection:
34
+ - keep-alive
35
+ Set-Cookie:
36
+ - __cfduid=d7e229ae5b37d969e7ef6ecc80f0c71041421609501; expires=Mon, 18-Jan-16
37
+ 19:31:41 GMT; path=/; domain=.quadrigacx.com; HttpOnly
38
+ - ci_session=DDUPO1I2VmwHKF0iBGFWZ1M3VmkMLl17A2ZRJg8tBDoBMlFuVApcOltnVnpUPlckDmAPMABtWmBRJwM%2BWDtSYgUzBTZWPwVkAWUAZQJgCT4MYQ85UjRWbgdnXWMEaVZnUz9WawxoXTADMVFjDz8EZQE%2BUWJUYVw3W2BWelQ%2BVyQOYA8yAG9aYFEnA29YKFJYBWQFZVZjBSABOAAiAnAJJAxvD3JSOVZnB2BdawR5VmdTMFZrDCJdPgMwUXsPbwRnAXNRMlRkXGVbIVZjVHZXbQ5rDzMAZVp4UXADdVg9UnUFWgVgVmAFNwEzACUCIQk9DCcPO1I3VmwHcV0DBC5WNFN%2BVnEMN117AzlRZA9tBGkBf1FsVDRcIFt3VgdUZFc0Di4PagApWjNRcQN%2FWHpSPAVsBTtWNgVmAW8AYAI1CTYMbQ80UjNWZwdoXSIEYVZvUz1WcQx5XXsDZlEnDwEENwE8UXRUNFxxWzhWK1Q%2FV2cOYA8hAH1aYVF4;
39
+ expires=Sun, 18-Jan-2015 21:31:41 GMT; Max-Age=7200; path=/
40
+ X-Frame-Options:
41
+ - SAMEORIGIN
42
+ Cf-Ray:
43
+ - 1aad36da0aac052e-YYZ
44
+ Content-Encoding:
45
+ - gzip
46
+ body:
47
+ encoding: ASCII-8BIT
48
+ string: !binary |-
49
+ H4sIAAAAAAAAA2yPQQqEMAxF79K1lGir1bmMpDWCUGahowzI3H1ojWjVLP/j
50
+ P35WYT+uxQUHj9aTeAmQStdFCQAii3CkicaFusiAj5lFj293qznsEmeuoZHG
51
+ MDkJC1Vqme+Vw6ZMpWQdCvOUqsIEji/DOD1PiuEX55uBXwjo4T0mqYlBT1sQ
52
+ P/39AQAA//8DAHDQhBY/AQAA
53
+ http_version:
54
+ recorded_at: Sun, 18 Jan 2015 19:31:45 GMT
55
+ recorded_with: VCR 2.9.2
@@ -11,12 +11,12 @@ http_interactions:
11
11
  - "*/*; q=0.5, application/xml"
12
12
  Accept-Encoding:
13
13
  - gzip, deflate
14
- Apiauth-Key:
14
+ Key:
15
15
  - kOnVDjfPPh
16
- Apiauth-Nonce:
17
- - '1421602450381'
18
- Apiauth-Signature:
19
- - 207bf067581aa94fecb7bafafc1c734679d066d6a71e2d92d1ab686421d980f9
16
+ Nonce:
17
+ - '1421609503025'
18
+ Signature:
19
+ - f4b99272602da944c9f44ad68b9f662c8ff9b1ec7b40a1a9f95aeb5b51547521
20
20
  User-Agent:
21
21
  - Ruby
22
22
  response:
@@ -27,7 +27,7 @@ http_interactions:
27
27
  Server:
28
28
  - cloudflare-nginx
29
29
  Date:
30
- - Sun, 18 Jan 2015 17:34:08 GMT
30
+ - Sun, 18 Jan 2015 19:31:40 GMT
31
31
  Content-Type:
32
32
  - text/html
33
33
  Transfer-Encoding:
@@ -35,62 +35,63 @@ http_interactions:
35
35
  Connection:
36
36
  - keep-alive
37
37
  Set-Cookie:
38
- - __cfduid=d16ff60a10a4799ad6dda5797f480be511421602448; expires=Mon, 18-Jan-16
39
- 17:34:08 GMT; path=/; domain=.quadrigacx.com; HttpOnly
40
- - ci_session=DDUCNlQwDTcEKw5xXjtaa1E1BjlbeQQiVjNXIAQmAD4NPl9gAV8MalxgAy8EblEiVjhaZVM%2BVG4GcFZnDzpVYVBpBGIPalA1ATtXMldgCGYMYgJoVDcNPQRgDjReZFprUTcGMFs%2BBDVWYFdnBDYAMw1gXzYBNgw1XDADLwRuUSJWOFpnUzxUbgZwVjoPf1VfUDEEZA86UHUBOFd1VyUIJQxvAn9UPw08BGMOOF4jWmtRMgY7W3UEZ1ZlV30EZABjDX9fPAExDDVcJgM2BCZRa1YzWmZTNlR2BidWIA9qVXJQDwRhDzlQYgEzV3JXdAg8DCcCNlQxDTcEcg5QXnRaOFF8BiFbYAQiVmxXYgRmAG0Nc19iAWEMcFxwA1IENFEyVnZaP1N6VD0GJlYqDy1VO1A5BDoPb1AzAW9XN1dgCDcMZgI4VDENNQRrDnFeO1pjUT8GIVsuBCJWM1chBAoAMw0wX3oBYQwhXD8DfgRvUWFWOFp0Uy5UbwYv;
41
- expires=Sun, 18-Jan-2015 19:34:08 GMT; Max-Age=7200; path=/
38
+ - __cfduid=d9d5f8cc700725a8702d711459207d2051421609500; expires=Mon, 18-Jan-16
39
+ 19:31:40 GMT; path=/; domain=.quadrigacx.com; HttpOnly
40
+ - ci_session=CzIBNQBkDDYCLQp1BWAAMVI2Um0BI1RyA2ZXIFZ0BjgPPAQ7AF4Jbw4yU38CaAR3VjgAP1I%2FUWtXIQ0%2BATFXNlQ1DT4BNQFjWjVfOgBjDDULMQE8ADUMPwI1CjIFbQA4UmVSZgFlVGcDO1dkVmQGYA9mBGcAZQkxDm5TfwJoBHdWOAA9Uj1Ra1chDWEBcVddVDUNbQE0ASRaY199AHIMIQtoAXwAaww9AmUKPAV4ADFSMVJvAS9UNwMwV31WNgZlD30EZwAwCTAOdFNmAiAEPlYzADxSN1FzV3YNewFkV3BUCw1oATcBM1poX3oAIww4CyABNQBlDDYCdApUBS8AYlJ%2FUnUBOlRyAzlXYlY0BmsPcQQ5AGAJdQ4iUwICMgRnVnYAZVJ7UThXdw1xASNXOVQ9DTMBYQFiWjRfPwA3DDMLagE6AGEMPAJtCnUFYAA5UjxSdQF0VHIDZlchVlgGNQ8yBCEAYAkkDm1TLgJpBDRWOAAuUi9Rald%2B;
41
+ expires=Sun, 18-Jan-2015 21:31:40 GMT; Max-Age=7200; path=/
42
42
  Vary:
43
43
  - Accept-Encoding
44
44
  X-Frame-Options:
45
45
  - SAMEORIGIN
46
46
  Cf-Ray:
47
- - 1aac8aa5a7d1052e-YYZ
47
+ - 1aad36d00984052e-YYZ
48
48
  Content-Encoding:
49
49
  - gzip
50
50
  body:
51
51
  encoding: ASCII-8BIT
52
52
  string: !binary |-
53
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- t2YOjTFnD0ViPbyln1NTnzb3Sglh4Rgtcwcv+7dmmryryaYR87ZPK0ePSfVc
76
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- nRehX7/N13nf8e7+j+e4zU/Wx8H/BwAA//90WFtyBCEIvNEW4o7AYXKU3D1F
85
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
93
- Vt309f0DAAD//wMAPMPYZvkXAAA=
53
+ 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
94
+ 5eXpgcvdzJxz0/d//gUAAP//AwDiiTPooRgAAA==
94
95
  http_version:
95
- recorded_at: Sun, 18 Jan 2015 17:34:12 GMT
96
+ recorded_at: Sun, 18 Jan 2015 19:31:44 GMT
96
97
  recorded_with: VCR 2.9.2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quadrigacx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maros Hluska
@@ -123,10 +123,12 @@ files:
123
123
  - lib/quadrigacx/client.rb
124
124
  - lib/quadrigacx/client/private.rb
125
125
  - lib/quadrigacx/client/public.rb
126
+ - lib/quadrigacx/error.rb
126
127
  - lib/quadrigacx/request.rb
127
128
  - lib/quadrigacx/version.rb
128
129
  - quadrigacx.gemspec
129
130
  - spec/client_spec.rb
131
+ - spec/fixtures/vcr_cassettes/balance.yml
130
132
  - spec/fixtures/vcr_cassettes/order_book.yml
131
133
  - spec/spec_helper.rb
132
134
  homepage: http://mhluska.com/
@@ -155,5 +157,6 @@ specification_version: 4
155
157
  summary: QuadrigaCX API wrapper
156
158
  test_files:
157
159
  - spec/client_spec.rb
160
+ - spec/fixtures/vcr_cassettes/balance.yml
158
161
  - spec/fixtures/vcr_cassettes/order_book.yml
159
162
  - spec/spec_helper.rb