quadrigacx 0.10.1 → 0.12.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +10 -30
  3. data/Gemfile.lock +4 -3
  4. data/LICENSE.txt +22 -0
  5. data/README.md +144 -9
  6. data/Rakefile +2 -1
  7. data/lib/quadrigacx.rb +11 -28
  8. data/lib/quadrigacx/client.rb +6 -6
  9. data/lib/quadrigacx/client/private.rb +18 -9
  10. data/lib/quadrigacx/client/public.rb +2 -2
  11. data/lib/quadrigacx/request.rb +38 -36
  12. data/lib/quadrigacx/version.rb +1 -3
  13. data/quadrigacx.gemspec +27 -24
  14. data/spec/client_spec.rb +125 -114
  15. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_balance/returns_all_account_balances.yml +56 -0
  16. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_cancel/cancels_an_order.yml +196 -0
  17. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_limit_buy/errors/throws_an_error_when_exceeding_available_balance.yml +440 -0
  18. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_limit_buy/errors/throws_an_error_when_exceeding_balance.yml +440 -0
  19. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_limit_buy/errors/throws_an_error_when_no_price_is_provided.yml +386 -0
  20. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_limit_buy/errors/throws_an_error_when_the_amount_is_too_small.yml +440 -0
  21. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_limit_buy/places_a_USD_limit_buy_order.yml +385 -0
  22. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_limit_buy/places_a_limit_buy_order.yml +338 -0
  23. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_limit_buy/places_a_limit_buy_order_cad.yml +384 -0
  24. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_limit_sell/errors/throws_an_error_when_no_price_is_provided.yml +387 -0
  25. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_limit_sell/places_a_USD_limit_sell_order.yml +385 -0
  26. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_limit_sell/places_a_limit_sell_order.yml +385 -0
  27. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_market_buy/places_a_USD_market_buy_order.yml +107 -0
  28. data/spec/fixtures/vcr_cassettes/{limit_buy_below_minimum_order_value.yml → QuadrigaCX_Client/private/_market_buy/places_a_market_buy_order.yml} +11 -11
  29. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_market_sell/places_a_USD_market_sell_order.yml +107 -0
  30. data/spec/fixtures/vcr_cassettes/{limit_buy_exceeds_available_balance.yml → QuadrigaCX_Client/private/_market_sell/places_a_market_sell_order.yml} +12 -13
  31. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_open_orders/lists_USD_open_orders.yml +495 -0
  32. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_open_orders/lists_open_orders.yml +690 -0
  33. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_user_transactions/returns_a_list_of_USD_transactions.yml +391 -0
  34. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_user_transactions/returns_a_list_of_limited_transactions.yml +64 -0
  35. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_user_transactions/returns_a_list_of_transactions.yml +197 -0
  36. data/spec/fixtures/vcr_cassettes/{limit_buy_above_maximum_order_value.yml → QuadrigaCX_Client/private/_wallet_address/returns_a_wallet_address.yml} +12 -13
  37. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/private/_withdraw/withdraws_bitcoins.yml +54 -0
  38. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/public/_order_book/returns_a_USD_order_book.yml +156 -0
  39. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/public/_order_book/returns_a_list_of_all_open_orders.yml +91 -0
  40. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/public/_order_book/when_using_the_group_option/does_not_group_same_price_orders.yml +286 -0
  41. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/public/_order_book/when_using_the_ungrouped_option/does_not_group_same_price_orders.yml +286 -0
  42. data/spec/fixtures/vcr_cassettes/{ticker.yml → QuadrigaCX_Client/public/_ticker/returns_trading_information.yml} +11 -11
  43. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/public/_transactions/returns_a_list_of_USD_trades.yml +162 -0
  44. data/spec/fixtures/vcr_cassettes/QuadrigaCX_Client/public/_transactions/returns_a_list_of_recent_trades.yml +57 -0
  45. data/spec/spec_helper.rb +8 -1
  46. metadata +99 -67
  47. data/spec/fixtures/vcr_cassettes/balance.yml +0 -55
  48. data/spec/fixtures/vcr_cassettes/cancel.yml +0 -189
  49. data/spec/fixtures/vcr_cassettes/limit_buy.yml +0 -140
  50. data/spec/fixtures/vcr_cassettes/limit_buy_cancel_order.yml +0 -49
  51. data/spec/fixtures/vcr_cassettes/limit_sell_cancel_order.yml +0 -49
  52. data/spec/fixtures/vcr_cassettes/market_buy.yml +0 -53
  53. data/spec/fixtures/vcr_cassettes/open_orders.yml +0 -55
  54. data/spec/fixtures/vcr_cassettes/order_book.yml +0 -123
  55. data/spec/fixtures/vcr_cassettes/order_book_ungrouped.yml +0 -127
  56. data/spec/fixtures/vcr_cassettes/order_book_ungrouped_cancel_order.yml +0 -49
  57. data/spec/fixtures/vcr_cassettes/safe_limit_buy.yml +0 -176
  58. data/spec/fixtures/vcr_cassettes/safe_limit_sell.yml +0 -176
  59. data/spec/fixtures/vcr_cassettes/transactions.yml +0 -55
  60. data/spec/fixtures/vcr_cassettes/user_transactions.yml +0 -208
  61. data/spec/fixtures/vcr_cassettes/user_transactions_limited.yml +0 -57
  62. data/spec/fixtures/vcr_cassettes/wallet_address.yml +0 -49
  63. data/spec/fixtures/vcr_cassettes/withdraw.yml +0 -49
@@ -5,7 +5,7 @@ http_interactions:
5
5
  uri: https://api.quadrigacx.com/v2/buy
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"price":100,"amount":1.0e-08,"key":"kOnVDjfPPh","nonce":"1436134814405","signature":"021c293df298e506a10a662d18deb6aa81f0be90ff9d770a3abc44bdf045415f"}'
8
+ string: '{"amount":5.0,"key":"kOnVDjfPPh","nonce":"1438615964223","signature":"cd3dbe908c3a4383610345358b271fd9016323a35140eb51221418f6ad8f5cfb"}'
9
9
  headers:
10
10
  Accept:
11
11
  - application/json
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Content-Type:
15
15
  - application/json
16
16
  Content-Length:
17
- - '152'
17
+ - '136'
18
18
  User-Agent:
19
19
  - Ruby
20
20
  response:
@@ -25,17 +25,17 @@ http_interactions:
25
25
  Server:
26
26
  - cloudflare-nginx
27
27
  Date:
28
- - Sun, 05 Jul 2015 22:20:14 GMT
28
+ - Mon, 03 Aug 2015 15:32:46 GMT
29
29
  Content-Type:
30
30
  - application/json
31
31
  Content-Length:
32
- - '75'
32
+ - '77'
33
33
  Connection:
34
34
  - keep-alive
35
35
  Set-Cookie:
36
- - __cfduid=d35efbfc1bfd0e98c5f4642689836fea91436134814; expires=Mon, 04-Jul-16
37
- 22:20:14 GMT; path=/; domain=.quadrigacx.com; HttpOnly
38
- - ci_session=5b530dab54071514991afb20690f4a78; expires=Mon, 06-Jul-2015 22:20:14
36
+ - __cfduid=d67f91a4da6ac0de075e49e2af6df5f041438615965; expires=Tue, 02-Aug-16
37
+ 15:32:45 GMT; path=/; domain=.quadrigacx.com; HttpOnly
38
+ - ci_session=feed32ad6a1c6b9b71a3315fc2c4616b; expires=Tue, 04-Aug-2015 15:32:45
39
39
  GMT; Max-Age=86400; path=/
40
40
  Content-Encoding:
41
41
  - gzip
@@ -44,12 +44,12 @@ http_interactions:
44
44
  X-Powered-By:
45
45
  - PHP/5.5.9-1ubuntu4.9
46
46
  Cf-Ray:
47
- - 201674bf2f2d21e0-EWR
47
+ - 210313b89ea227da-YYZ
48
48
  body:
49
49
  encoding: ASCII-8BIT
50
50
  string: !binary |-
51
- H4sIAAAAAAAAA6tWSi0qyi9SsqpWSs5PSVWyMjLSUcpNLS5OTAdylDzzkvOL
52
- ilKTSxQSc/NL80oUDPUMXHUtlGprAeoB5yg5AAAA
51
+ H4sIAAAAAAAAA6tWSszNL80rUbJSMtAzMDQGAyUdpfyilNSi4vjcxJLkjNQU
52
+ JavoahwKC4oyk1OBgsbmpnoGBkq1sbUA09kPSVMAAAA=
53
53
  http_version:
54
- recorded_at: Sun, 05 Jul 2015 22:20:14 GMT
54
+ recorded_at: Mon, 03 Aug 2015 15:32:44 GMT
55
55
  recorded_with: VCR 2.9.3
@@ -0,0 +1,107 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.quadrigacx.com/v2/sell
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"amount":0.01,"key":"kOnVDjfPPh","nonce":"1438616082050","signature":"d50d9e593df41e3b2997831ba24c16182d31ead665b66fcd91709e9406becc6a"}'
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Type:
15
+ - application/json
16
+ Content-Length:
17
+ - '137'
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
+ - Mon, 03 Aug 2015 15:34:44 GMT
29
+ Content-Type:
30
+ - application/json
31
+ Content-Length:
32
+ - '79'
33
+ Connection:
34
+ - keep-alive
35
+ Set-Cookie:
36
+ - __cfduid=ddf1c31ec3ea2b36e2a0ce0c26605e7071438616083; expires=Tue, 02-Aug-16
37
+ 15:34:43 GMT; path=/; domain=.quadrigacx.com; HttpOnly
38
+ - ci_session=ba76047fe41d6a63273c68ba8750376f; expires=Tue, 04-Aug-2015 15:34:43
39
+ GMT; Max-Age=86400; path=/
40
+ Content-Encoding:
41
+ - gzip
42
+ Vary:
43
+ - Accept-Encoding
44
+ X-Powered-By:
45
+ - PHP/5.5.9-1ubuntu4.9
46
+ Cf-Ray:
47
+ - 210316990833052e-YYZ
48
+ body:
49
+ encoding: ASCII-8BIT
50
+ string: !binary |-
51
+ H4sIAAAAAAAAA6tWSszNL80rUbJSMtYzN1bSUcovSkktKo7PTSxJzkhNUbKK
52
+ roYrMdAzMNRRKijKTE4FqTcH6jBQqo2tBQBMIombRQAAAA==
53
+ http_version:
54
+ recorded_at: Mon, 03 Aug 2015 15:34:42 GMT
55
+ - request:
56
+ method: post
57
+ uri: https://api.quadrigacx.com/v2/sell
58
+ body:
59
+ encoding: UTF-8
60
+ string: '{"amount":0.01,"book":"btc_usd","key":"kOnVDjfPPh","nonce":"1438616082960","signature":"ed4354c3b548d4ab88959f9d2a35a64243aa2165b376f965a29407617365f2c3"}'
61
+ headers:
62
+ Accept:
63
+ - application/json
64
+ Accept-Encoding:
65
+ - gzip, deflate
66
+ Content-Type:
67
+ - application/json
68
+ Content-Length:
69
+ - '154'
70
+ User-Agent:
71
+ - Ruby
72
+ response:
73
+ status:
74
+ code: 200
75
+ message: OK
76
+ headers:
77
+ Server:
78
+ - cloudflare-nginx
79
+ Date:
80
+ - Mon, 03 Aug 2015 15:34:44 GMT
81
+ Content-Type:
82
+ - application/json
83
+ Content-Length:
84
+ - '80'
85
+ Connection:
86
+ - keep-alive
87
+ Set-Cookie:
88
+ - __cfduid=d2bcee32d434dbd1607b9be68df9b70061438616084; expires=Tue, 02-Aug-16
89
+ 15:34:44 GMT; path=/; domain=.quadrigacx.com; HttpOnly
90
+ - ci_session=6bb0aa89b2b3486d252e03b112becf04; expires=Tue, 04-Aug-2015 15:34:44
91
+ GMT; Max-Age=86400; path=/
92
+ Content-Encoding:
93
+ - gzip
94
+ Vary:
95
+ - Accept-Encoding
96
+ X-Powered-By:
97
+ - PHP/5.5.9-1ubuntu4.9
98
+ Cf-Ray:
99
+ - 2103169eb59e0f99-YYZ
100
+ body:
101
+ encoding: ASCII-8BIT
102
+ string: !binary |-
103
+ H4sIAAAAAAAAA6tWSszNL80rUbJSMtKzMFDSUcovSkktKo7PTSxJzkhNUbKK
104
+ roYrMdAzMNRRKijKTE4Fqbcw0DM3VKqNrQUAzpediEUAAAA=
105
+ http_version:
106
+ recorded_at: Mon, 03 Aug 2015 15:34:43 GMT
107
+ recorded_with: VCR 2.9.3
@@ -2,10 +2,10 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://api.quadrigacx.com/v2/buy
5
+ uri: https://api.quadrigacx.com/v2/sell
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"price":4999,"amount":1,"key":"kOnVDjfPPh","nonce":"1436134814778","signature":"246305d318a717ac373310b7175910f973b4fe39ba52eadc0c3db8841d740f6e"}'
8
+ string: '{"amount":0.01,"key":"kOnVDjfPPh","nonce":"1438616081424","signature":"540b462e2149765f11bffc4d1afb9cbd2e0d5ba460dac3136119b16527e6fae9"}'
9
9
  headers:
10
10
  Accept:
11
11
  - application/json
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Content-Type:
15
15
  - application/json
16
16
  Content-Length:
17
- - '147'
17
+ - '137'
18
18
  User-Agent:
19
19
  - Ruby
20
20
  response:
@@ -25,17 +25,17 @@ http_interactions:
25
25
  Server:
26
26
  - cloudflare-nginx
27
27
  Date:
28
- - Sun, 05 Jul 2015 22:20:15 GMT
28
+ - Mon, 03 Aug 2015 15:34:43 GMT
29
29
  Content-Type:
30
30
  - application/json
31
31
  Content-Length:
32
- - '103'
32
+ - '79'
33
33
  Connection:
34
34
  - keep-alive
35
35
  Set-Cookie:
36
- - __cfduid=d5bb9c9c4d1d088e64cfafc3043de58701436134814; expires=Mon, 04-Jul-16
37
- 22:20:14 GMT; path=/; domain=.quadrigacx.com; HttpOnly
38
- - ci_session=19acf8226619ccc168dc931e16994281; expires=Mon, 06-Jul-2015 22:20:15
36
+ - __cfduid=dbebe7559d1673477033d6f4d06a009561438616082; expires=Tue, 02-Aug-16
37
+ 15:34:42 GMT; path=/; domain=.quadrigacx.com; HttpOnly
38
+ - ci_session=b5457846e2d4bee55c6f9096ba11973b; expires=Tue, 04-Aug-2015 15:34:42
39
39
  GMT; Max-Age=86400; path=/
40
40
  Content-Encoding:
41
41
  - gzip
@@ -44,13 +44,12 @@ http_interactions:
44
44
  X-Powered-By:
45
45
  - PHP/5.5.9-1ubuntu4.9
46
46
  Cf-Ray:
47
- - 201674c16332219e-EWR
47
+ - 210316951d2b27e0-YYZ
48
48
  body:
49
49
  encoding: ASCII-8BIT
50
50
  string: !binary |-
51
- H4sIAAAAAAAAAxXIwQpAQBAG4FeZJkcJuezexMVjjPEntWzNSkr77jh+38Mw
52
- i8b+YY0L2LdNyTtSkvUDT4dGM+hJnoqudM5VdT30I+FWYEkkl2xB5gD6d5Yg
53
- h4JzfgFV7vSrWAAAAA==
51
+ H4sIAAAAAAAAA6tWSszNL80rUbJSMtYzN1bSUcovSkktKo7PTSxJzkhNUbKK
52
+ roYrMdAzMNRRKijKTE4FqTcH6jBQqo2tBQBMIombRQAAAA==
54
53
  http_version:
55
- recorded_at: Sun, 05 Jul 2015 22:20:15 GMT
54
+ recorded_at: Mon, 03 Aug 2015 15:34:42 GMT
56
55
  recorded_with: VCR 2.9.3
@@ -0,0 +1,495 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.quadrigacx.com/v2/order_book
6
+ body:
7
+ encoding: UTF-8
8
+ string: "{}"
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Type:
15
+ - application/json
16
+ Content-Length:
17
+ - '2'
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
+ - Mon, 03 Aug 2015 14:55:13 GMT
29
+ Content-Type:
30
+ - application/json
31
+ Content-Length:
32
+ - '1654'
33
+ Connection:
34
+ - keep-alive
35
+ Set-Cookie:
36
+ - __cfduid=d393b686426cf9779b9962ca96945c8471438613712; expires=Tue, 02-Aug-16
37
+ 14:55:12 GMT; path=/; domain=.quadrigacx.com; HttpOnly
38
+ - ci_session=42594bb3e60fb70160217c78bafc9901; expires=Tue, 04-Aug-2015 14:55:13
39
+ GMT; Max-Age=86400; path=/
40
+ Content-Encoding:
41
+ - gzip
42
+ Vary:
43
+ - Accept-Encoding
44
+ X-Powered-By:
45
+ - PHP/5.5.9-1ubuntu4.9
46
+ Cf-Ray:
47
+ - 2102dcb803000fa5-YYZ
48
+ body:
49
+ encoding: ASCII-8BIT
50
+ string: !binary |-
51
+ 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
88
+ http_version:
89
+ recorded_at: Mon, 03 Aug 2015 14:55:11 GMT
90
+ - request:
91
+ method: post
92
+ uri: https://api.quadrigacx.com/v2/buy
93
+ body:
94
+ encoding: UTF-8
95
+ string: '{"price":"10.00","amount":1,"book":"btc_cad","key":"kOnVDjfPPh","nonce":"1438613711892","signature":"c991791237990f3df9ef699352ffdd815e52c52c679e5b94a81e8d5bc49b88d8"}'
96
+ headers:
97
+ Accept:
98
+ - application/json
99
+ Accept-Encoding:
100
+ - gzip, deflate
101
+ Content-Type:
102
+ - application/json
103
+ Content-Length:
104
+ - '167'
105
+ User-Agent:
106
+ - Ruby
107
+ response:
108
+ status:
109
+ code: 200
110
+ message: OK
111
+ headers:
112
+ Server:
113
+ - cloudflare-nginx
114
+ Date:
115
+ - Mon, 03 Aug 2015 14:55:13 GMT
116
+ Content-Type:
117
+ - application/json
118
+ Content-Length:
119
+ - '165'
120
+ Connection:
121
+ - keep-alive
122
+ Set-Cookie:
123
+ - __cfduid=dd91f3108d094649af185997279a3b0fa1438613713; expires=Tue, 02-Aug-16
124
+ 14:55:13 GMT; path=/; domain=.quadrigacx.com; HttpOnly
125
+ - ci_session=e8b4497cadec5a0f24dddf7a69b59e1b; expires=Tue, 04-Aug-2015 14:55:13
126
+ GMT; Max-Age=86400; path=/
127
+ Content-Encoding:
128
+ - gzip
129
+ Vary:
130
+ - Accept-Encoding
131
+ X-Powered-By:
132
+ - PHP/5.5.9-1ubuntu4.9
133
+ Cf-Ray:
134
+ - 2102dcbbaf170540-YYZ
135
+ body:
136
+ encoding: ASCII-8BIT
137
+ string: !binary |-
138
+ H4sIAAAAAAAAAy2OXQ6CMBCEr2L6LKQFaYTLmO22QstfpVsUjXe3EPdp95vN
139
+ zHwYjHOciDVM5Pw/7MzUPPeJKcIbgk5AAxmyo0mw4KLK+DXj5UnIpqoaUaYH
140
+ q5NENT5XZetZQNEp06O6P9owRbG6zknUra+RL4MPawApo+sAtuJFF8IB3ebf
141
+ yccvFvcUwfOjSSCgGBLYD9q8OdbvDxqif1W5AAAA
142
+ http_version:
143
+ recorded_at: Mon, 03 Aug 2015 14:55:12 GMT
144
+ - request:
145
+ method: get
146
+ uri: https://api.quadrigacx.com/v2/order_book
147
+ body:
148
+ encoding: UTF-8
149
+ string: "{}"
150
+ headers:
151
+ Accept:
152
+ - application/json
153
+ Accept-Encoding:
154
+ - gzip, deflate
155
+ Content-Type:
156
+ - application/json
157
+ Content-Length:
158
+ - '2'
159
+ User-Agent:
160
+ - Ruby
161
+ response:
162
+ status:
163
+ code: 200
164
+ message: OK
165
+ headers:
166
+ Server:
167
+ - cloudflare-nginx
168
+ Date:
169
+ - Mon, 03 Aug 2015 14:55:13 GMT
170
+ Content-Type:
171
+ - application/json
172
+ Content-Length:
173
+ - '1654'
174
+ Connection:
175
+ - keep-alive
176
+ Set-Cookie:
177
+ - __cfduid=dcdf96d01164cb879ee48b531f4e453831438613713; expires=Tue, 02-Aug-16
178
+ 14:55:13 GMT; path=/; domain=.quadrigacx.com; HttpOnly
179
+ - ci_session=0dd0258ce104cb7967cba435171d75a1; expires=Tue, 04-Aug-2015 14:55:13
180
+ GMT; Max-Age=86400; path=/
181
+ Content-Encoding:
182
+ - gzip
183
+ Vary:
184
+ - Accept-Encoding
185
+ X-Powered-By:
186
+ - PHP/5.5.9-1ubuntu4.9
187
+ Cf-Ray:
188
+ - 2102dcbdd9c827ec-YYZ
189
+ body:
190
+ encoding: ASCII-8BIT
191
+ string: !binary |-
192
+ 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
229
+ http_version:
230
+ recorded_at: Mon, 03 Aug 2015 14:55:12 GMT
231
+ - request:
232
+ method: post
233
+ uri: https://api.quadrigacx.com/v2/buy
234
+ body:
235
+ encoding: UTF-8
236
+ string: '{"price":"10.00","amount":1,"book":"btc_usd","key":"kOnVDjfPPh","nonce":"1438613712490","signature":"56193d0a3adae8753a9562203a34faf90486e66d2e95fbc0fa637f9fdd15bd30"}'
237
+ headers:
238
+ Accept:
239
+ - application/json
240
+ Accept-Encoding:
241
+ - gzip, deflate
242
+ Content-Type:
243
+ - application/json
244
+ Content-Length:
245
+ - '167'
246
+ User-Agent:
247
+ - Ruby
248
+ response:
249
+ status:
250
+ code: 200
251
+ message: OK
252
+ headers:
253
+ Server:
254
+ - cloudflare-nginx
255
+ Date:
256
+ - Mon, 03 Aug 2015 14:55:14 GMT
257
+ Content-Type:
258
+ - application/json
259
+ Content-Length:
260
+ - '164'
261
+ Connection:
262
+ - keep-alive
263
+ Set-Cookie:
264
+ - __cfduid=d3a79e19fb65552c71d0cb90458176bac1438613713; expires=Tue, 02-Aug-16
265
+ 14:55:13 GMT; path=/; domain=.quadrigacx.com; HttpOnly
266
+ - ci_session=37b99bdde5b302e7b6772441ee1b1907; expires=Tue, 04-Aug-2015 14:55:13
267
+ GMT; Max-Age=86400; path=/
268
+ Content-Encoding:
269
+ - gzip
270
+ Vary:
271
+ - Accept-Encoding
272
+ X-Powered-By:
273
+ - PHP/5.5.9-1ubuntu4.9
274
+ Cf-Ray:
275
+ - 2102dcbf42aa27da-YYZ
276
+ body:
277
+ encoding: ASCII-8BIT
278
+ string: !binary |-
279
+ H4sIAAAAAAAAAy2O4Q6DIAyEX2Xh9zSFiZm+zKICyphApEzNsndfNeuv69fL
280
+ XT+sm0P2yFrGS/gPu7I+BEesx+GRkyKgOtRoZ01QAJcF3Au4XXjdStnyigxW
281
+ 0Qma2qWmEi5M2TaodqgjGjOK/JokjlL4+F7zNlnT81BpLx1ZkhEenglhWykn
282
+ LnY4WjiU5ycJO8zpyKYF96hP+f0BC1OUI7kAAAA=
283
+ http_version:
284
+ recorded_at: Mon, 03 Aug 2015 14:55:13 GMT
285
+ - request:
286
+ method: post
287
+ uri: https://api.quadrigacx.com/v2/open_orders
288
+ body:
289
+ encoding: UTF-8
290
+ string: '{"key":"kOnVDjfPPh","nonce":"1438613713101","signature":"b0a64192ee0da3e6cea3b37d33f414900595be4f5e521d19565b6df4c873d434"}'
291
+ headers:
292
+ Accept:
293
+ - application/json
294
+ Accept-Encoding:
295
+ - gzip, deflate
296
+ Content-Type:
297
+ - application/json
298
+ Content-Length:
299
+ - '123'
300
+ User-Agent:
301
+ - Ruby
302
+ response:
303
+ status:
304
+ code: 200
305
+ message: OK
306
+ headers:
307
+ Server:
308
+ - cloudflare-nginx
309
+ Date:
310
+ - Mon, 03 Aug 2015 14:55:14 GMT
311
+ Content-Type:
312
+ - application/json
313
+ Content-Length:
314
+ - '156'
315
+ Connection:
316
+ - keep-alive
317
+ Set-Cookie:
318
+ - __cfduid=d272eedd81fad0074a64bc7278d4953ce1438613714; expires=Tue, 02-Aug-16
319
+ 14:55:14 GMT; path=/; domain=.quadrigacx.com; HttpOnly
320
+ - ci_session=eb689fc4e5cef637ce2ac9d94e1484de; expires=Tue, 04-Aug-2015 14:55:14
321
+ GMT; Max-Age=86400; path=/
322
+ Content-Encoding:
323
+ - gzip
324
+ Vary:
325
+ - Accept-Encoding
326
+ X-Powered-By:
327
+ - PHP/5.5.9-1ubuntu4.9
328
+ Cf-Ray:
329
+ - 2102dcc319d527c2-YYZ
330
+ body:
331
+ encoding: ASCII-8BIT
332
+ string: !binary |-
333
+ H4sIAAAAAAAAAy1Nyw6CMBD8FdOzkC5II/yK8bAsFVp5VLpF0fjvFuKc5pWZ
334
+ y0fgMIWRRSUglX+Io2iQNZtBRz+TUCTynMj8AKoqigryWDBNjLik51KbcgLM
335
+ ulrfqb49Wj8GWGxnFTWtK0nOvfOLR6WC7RDX7MUnpp7s6t5xx82GtheQ6X7s
336
+ GTn4aGyCV6d3+r3+AF9Jmx6qAAAA
337
+ http_version:
338
+ recorded_at: Mon, 03 Aug 2015 14:55:13 GMT
339
+ - request:
340
+ method: post
341
+ uri: https://api.quadrigacx.com/v2/open_orders
342
+ body:
343
+ encoding: UTF-8
344
+ string: '{"book":"btc_usd","key":"kOnVDjfPPh","nonce":"1438613713327","signature":"6abf97b04a591cada2b5203d9e565bee21bd14f73d0321e5da4198cb6a8029be"}'
345
+ headers:
346
+ Accept:
347
+ - application/json
348
+ Accept-Encoding:
349
+ - gzip, deflate
350
+ Content-Type:
351
+ - application/json
352
+ Content-Length:
353
+ - '140'
354
+ User-Agent:
355
+ - Ruby
356
+ response:
357
+ status:
358
+ code: 200
359
+ message: OK
360
+ headers:
361
+ Server:
362
+ - cloudflare-nginx
363
+ Date:
364
+ - Mon, 03 Aug 2015 14:55:15 GMT
365
+ Content-Type:
366
+ - application/json
367
+ Content-Length:
368
+ - '154'
369
+ Connection:
370
+ - keep-alive
371
+ Set-Cookie:
372
+ - __cfduid=de6011c4f194d4f8ca75c6eb1acc234d31438613714; expires=Tue, 02-Aug-16
373
+ 14:55:14 GMT; path=/; domain=.quadrigacx.com; HttpOnly
374
+ - ci_session=b69aae3daa38113fcd0174dd566bab10; expires=Tue, 04-Aug-2015 14:55:15
375
+ GMT; Max-Age=86400; path=/
376
+ Content-Encoding:
377
+ - gzip
378
+ Vary:
379
+ - Accept-Encoding
380
+ X-Powered-By:
381
+ - PHP/5.5.9-1ubuntu4.9
382
+ Cf-Ray:
383
+ - 2102dcc47fd40540-YYZ
384
+ body:
385
+ encoding: ASCII-8BIT
386
+ string: !binary |-
387
+ H4sIAAAAAAAAAy1NSw7CIBS8imFtmwdCY3sV4wIFCmKByMO2Md5d2jir+WXm
388
+ 8iFyiiUgGQht4Q9yJEqiRjfp6jOgooFzA6cD7QYhBsprwakaQd/53HPmoy2u
389
+ R7VCl9CYkZWnFTgKFtJ7Lot15kYj10H4WsmGBXhkhGWuO+nl7tsLhXY/ziix
390
+ 5G27ClyT3un3+gO8YVNEqgAAAA==
391
+ http_version:
392
+ recorded_at: Mon, 03 Aug 2015 14:55:13 GMT
393
+ - request:
394
+ method: post
395
+ uri: https://api.quadrigacx.com/v2/cancel_order
396
+ body:
397
+ encoding: UTF-8
398
+ string: '{"id":"t9cwvbi9o1a2hbekcbfqgsnu1vjhj6cdgp9c0rlpsvsa66ujhaay2xt4tclcjypz","key":"kOnVDjfPPh","nonce":"1438613713921","signature":"2cdd1fc703d8ba3f88ea6b7d4819414a72b440a685fd06313ee7b2778c60b0b4"}'
399
+ headers:
400
+ Accept:
401
+ - application/json
402
+ Accept-Encoding:
403
+ - gzip, deflate
404
+ Content-Type:
405
+ - application/json
406
+ Content-Length:
407
+ - '195'
408
+ User-Agent:
409
+ - Ruby
410
+ response:
411
+ status:
412
+ code: 200
413
+ message: OK
414
+ headers:
415
+ Server:
416
+ - cloudflare-nginx
417
+ Date:
418
+ - Mon, 03 Aug 2015 14:55:15 GMT
419
+ Content-Type:
420
+ - application/json
421
+ Content-Length:
422
+ - '26'
423
+ Connection:
424
+ - keep-alive
425
+ Set-Cookie:
426
+ - __cfduid=d24f741065567c010de553d287eecec0e1438613715; expires=Tue, 02-Aug-16
427
+ 14:55:15 GMT; path=/; domain=.quadrigacx.com; HttpOnly
428
+ - ci_session=b988e91b37a32dda6295b6f82fd6b903; expires=Tue, 04-Aug-2015 14:55:15
429
+ GMT; Max-Age=86400; path=/
430
+ Content-Encoding:
431
+ - gzip
432
+ Vary:
433
+ - Accept-Encoding
434
+ X-Powered-By:
435
+ - PHP/5.5.9-1ubuntu4.9
436
+ Cf-Ray:
437
+ - 2102dcc8340a27e6-YYZ
438
+ body:
439
+ encoding: ASCII-8BIT
440
+ string: !binary |-
441
+ H4sIAAAAAAAAA1MqKSpNVQIAO18SqQYAAAA=
442
+ http_version:
443
+ recorded_at: Mon, 03 Aug 2015 14:55:14 GMT
444
+ - request:
445
+ method: post
446
+ uri: https://api.quadrigacx.com/v2/cancel_order
447
+ body:
448
+ encoding: UTF-8
449
+ string: '{"id":"096ks942kohui9tdy06ptffg2ulh5tg52npvwuxhifb1o4en5kdy0sf2n0jst0xw","key":"kOnVDjfPPh","nonce":"1438613714534","signature":"967ef2c8403a62370d0e29e7744fe4087f40e8f4d130cbf9b4ce4369ffaf6b1e"}'
450
+ headers:
451
+ Accept:
452
+ - application/json
453
+ Accept-Encoding:
454
+ - gzip, deflate
455
+ Content-Type:
456
+ - application/json
457
+ Content-Length:
458
+ - '195'
459
+ User-Agent:
460
+ - Ruby
461
+ response:
462
+ status:
463
+ code: 200
464
+ message: OK
465
+ headers:
466
+ Server:
467
+ - cloudflare-nginx
468
+ Date:
469
+ - Mon, 03 Aug 2015 14:55:16 GMT
470
+ Content-Type:
471
+ - application/json
472
+ Content-Length:
473
+ - '26'
474
+ Connection:
475
+ - keep-alive
476
+ Set-Cookie:
477
+ - __cfduid=d3bd6ff8eb1d6a9c7dccf1c6615a77ef11438613715; expires=Tue, 02-Aug-16
478
+ 14:55:15 GMT; path=/; domain=.quadrigacx.com; HttpOnly
479
+ - ci_session=9fa8260bf6216150e57bb33c1586c1df; expires=Tue, 04-Aug-2015 14:55:16
480
+ GMT; Max-Age=86400; path=/
481
+ Content-Encoding:
482
+ - gzip
483
+ Vary:
484
+ - Accept-Encoding
485
+ X-Powered-By:
486
+ - PHP/5.5.9-1ubuntu4.9
487
+ Cf-Ray:
488
+ - 2102dccc1d9c0528-YYZ
489
+ body:
490
+ encoding: ASCII-8BIT
491
+ string: !binary |-
492
+ H4sIAAAAAAAAA1MqKSpNVQIAO18SqQYAAAA=
493
+ http_version:
494
+ recorded_at: Mon, 03 Aug 2015 14:55:15 GMT
495
+ recorded_with: VCR 2.9.3