quadrigacx 0.0.1 → 0.0.2

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
  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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
- mpT0HV+MMfzg/15/fv76+/ef77/+fX15kTI5sup8vb1+/Pzr9+vL168v1gFh
55
- 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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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
- at3NCDyrhMbJrasWS/Y3n30u56udgFmqUN5ceHQWTHLy0V3FcXUPQsZTdZxA
68
- 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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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
- 8370PdqSjE/8H3tCeH7owsjvV35qx73CZl8AQhhnY+pEj+YEREwoHgfXpQXZ
80
- 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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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
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