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 +4 -4
- data/README.md +7 -0
- data/lib/quadrigacx.rb +3 -1
- data/lib/quadrigacx/client.rb +2 -1
- data/lib/quadrigacx/client/private.rb +5 -0
- data/lib/quadrigacx/error.rb +6 -0
- data/lib/quadrigacx/request.rb +14 -15
- data/lib/quadrigacx/version.rb +1 -1
- data/spec/client_spec.rb +23 -7
- data/spec/fixtures/vcr_cassettes/balance.yml +55 -0
- data/spec/fixtures/vcr_cassettes/order_book.yml +54 -53
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 925de219273c259ca550c654e91d6b25d267caf5
|
4
|
+
data.tar.gz: ea01bf028a5c305d9228a0b34aaa5f007ddbb9df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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).
|
data/lib/quadrigacx.rb
CHANGED
@@ -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
|
data/lib/quadrigacx/client.rb
CHANGED
@@ -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
|
data/lib/quadrigacx/request.rb
CHANGED
@@ -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 '
|
25
|
+
raise 'API key, API secret and client ID required!' unless @api_key && @api_secret && @client_id
|
26
26
|
|
27
|
-
|
27
|
+
secret = Digest::MD5.hexdigest(@api_secret)
|
28
28
|
nonce = DateTime.now.strftime('%Q')
|
29
|
-
|
30
|
-
|
31
|
-
signature = OpenSSL::HMAC.hexdigest(digest,
|
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
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
}
|
34
|
+
body.merge!({
|
35
|
+
key: @api_key,
|
36
|
+
nonce: nonce,
|
37
|
+
signature: signature,
|
38
|
+
})
|
39
39
|
|
40
|
-
|
41
|
-
|
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.
|
43
|
+
RestClient.send(http_method, url, body)
|
45
44
|
end
|
46
45
|
end
|
47
46
|
|
data/lib/quadrigacx/version.rb
CHANGED
data/spec/client_spec.rb
CHANGED
@@ -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 '
|
10
|
-
|
11
|
-
|
12
|
-
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
|
-
|
15
|
-
|
16
|
-
|
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
|
-
|
14
|
+
Key:
|
15
15
|
- kOnVDjfPPh
|
16
|
-
|
17
|
-
- '
|
18
|
-
|
19
|
-
-
|
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
|
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=
|
39
|
-
|
40
|
-
- ci_session=
|
41
|
-
expires=Sun, 18-Jan-2015
|
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
|
-
-
|
47
|
+
- 1aad36d00984052e-YYZ
|
48
48
|
Content-Encoding:
|
49
49
|
- gzip
|
50
50
|
body:
|
51
51
|
encoding: ASCII-8BIT
|
52
52
|
string: !binary |-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
/
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
53
|
+
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
|
94
|
+
5eXpgcvdzJxz0/d//gUAAP//AwDiiTPooRgAAA==
|
94
95
|
http_version:
|
95
|
-
recorded_at: Sun, 18 Jan 2015
|
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.
|
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
|