kraken_ruby 0.2.0 → 0.2.1

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: 0ffb806d88019bc391138ea85eb78acf492209f6
4
- data.tar.gz: 0025cc093da95c4bc0feffdc9a01417db570fab5
3
+ metadata.gz: ec8b50b8dc92dd736d696e55e0c5a6d9d053afc0
4
+ data.tar.gz: 93cd06c2b0f5985a6322290d4500238e27103a42
5
5
  SHA512:
6
- metadata.gz: ddeaf904124a47f3c3b8d01ef4563e2af9f7b338d5f9358b7e669006a83027b9206c2686b9a0fd441983e8d43a6cb2b83925416d0ac8a0b641437163880a395a
7
- data.tar.gz: 363d2daa1af9fe2ff36ce681fffd7a9ad670b364392352c31bd441b54cfe73449e9000764968fd10f4844ee151ccfe15f3bc7075af828dd97e645b16b1e9fcb6
6
+ metadata.gz: 076941c2f85cf77902c745bea8555bae9f5a607167038ffe6aabb1b3ccb6d0e168f707ff1c554296c316734ecddd942bb57e2946e4bbf9618154786c48b69f40
7
+ data.tar.gz: 3ed194a84dddc2319d67dc509a84a6fc03c6e667f9a3fa9f6b20022f2247c01e0545bb492d182629f833bc50181331d74ad4d5b9303df809b904f5a55ddaaa20
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in kraken_ruby.gemspec
4
4
  gemspec
5
+ gem 'httparty'
6
+ gem 'hashie'
data/Gemfile.lock CHANGED
@@ -2,12 +2,14 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  kraken_ruby (0.2.0)
5
+ addressable
5
6
  hashie
6
7
  httparty
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
10
11
  specs:
12
+ addressable (2.3.5)
11
13
  diff-lcs (1.2.5)
12
14
  hashie (2.0.5)
13
15
  httparty (0.12.0)
@@ -30,6 +32,8 @@ PLATFORMS
30
32
 
31
33
  DEPENDENCIES
32
34
  bundler (~> 1.3)
35
+ hashie
36
+ httparty
33
37
  kraken_ruby!
34
38
  rake
35
39
  rspec
data/LICENSE.txt CHANGED
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
19
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
20
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
21
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,6 +1,22 @@
1
1
  # KrakenRuby
2
2
 
3
- TODO: Write a gem description
3
+ ### IMPORTANT
4
+
5
+ This gem is currently built to only query data. There is an experimental ```add_order``` trading method that can be used at **your own risk**. Please thoroughly vet everything in the code for yourself before using this gem to buy, sell, or move any of your assets.
6
+
7
+ PLEASE submit an issue or pull request if you notice any bugs, security holes, or potential improvements.
8
+
9
+ ### Description
10
+
11
+ This gem is a wrapper for the [Kraken Digital Asset Trading Platform](https://www.kraken.com) API. Official documentation from Kraken can be found [here](https://www.kraken.com/help/api).
12
+
13
+ The current version (0.2.0) can be used to query public and private market data. Private data queries require use of your account API keys.
14
+
15
+ ### Pending Future Updates
16
+
17
+ - Solid trade execution functionality
18
+ - More comprehensive test suite for methods requiring authentication (using VCR perhaps)
19
+ - More comprehensive documentation
4
20
 
5
21
  ## Installation
6
22
 
@@ -18,7 +34,154 @@ Or install it yourself as:
18
34
 
19
35
  ## Usage
20
36
 
21
- TODO: Write usage instructions here
37
+ Create a Kraken client:
38
+
39
+ ```ruby
40
+ API_KEY = '3bH+M/nLp......'
41
+ API_SECRET = 'wQG+7Lr9b.....'
42
+
43
+ kraken = Kraken::Client.new(API_KEY, API_SECRET)
44
+
45
+ time = kraken.server_time
46
+ time.unixtime #=> 1393056191
47
+ ```
48
+
49
+ ### Public Data Methods
50
+
51
+ #### Server Time
52
+
53
+ This functionality is provided by Kraken to to aid in approximating the skew time between the server and client.
54
+
55
+ ```ruby
56
+ time = kraken.server_time
57
+
58
+ time.unixtime #=> 1393056191
59
+ time.rfc1123 #=> "Sat, 22 Feb 2014 08:28:04 GMT"
60
+ ```
61
+
62
+ #### Asset Info
63
+
64
+ Returns the assets that can be traded on the exchange. This method can be passed ```info```, ```aclass``` (asset class), and ```asset``` options. An example below is given for each:
65
+
66
+ ```ruby
67
+ kraken.assets
68
+ ```
69
+
70
+ #### Asset Pairs
71
+
72
+ ```ruby
73
+ pairs = kraken.asset_pairs
74
+ ```
75
+
76
+ #### Ticker Information
77
+
78
+ ```ruby
79
+ ticker_data = kraken.ticker('XLTCXXDG, ZUSDXXVN')
80
+ ```
81
+
82
+ #### Order Book
83
+
84
+ Get market depth information for given asset pairs
85
+
86
+ ```ruby
87
+ depth_data = kraken.order_book('LTCXRP')
88
+ ```
89
+
90
+ #### Trades
91
+
92
+ Get recent trades
93
+
94
+ ```ruby
95
+ trades = kraken.trades('LTCXRP')
96
+ ```
97
+
98
+ #### Spread
99
+
100
+ Get spread data for a given asset pair
101
+
102
+ ```ruby
103
+ spread = kraken.spread('LTCXRP')
104
+ ```
105
+
106
+ ### Private Data Methods
107
+
108
+ #### Balance
109
+
110
+ Get account balance for each asset
111
+ Note: Rates used for the floating valuation is the midpoint of the best bid and ask prices
112
+
113
+ ```ruby
114
+ balance = kraken.balance
115
+ ```
116
+
117
+ #### Trade Balance
118
+
119
+ Get account trade balance
120
+
121
+ ```ruby
122
+ trade_balance = kraken.trade_balance
123
+ ```
124
+
125
+ #### Open Orders
126
+
127
+ ```ruby
128
+ open_orders = kraken.open_orders
129
+ ```
130
+
131
+ #### Query Orders
132
+
133
+ See all orders
134
+
135
+ ```ruby
136
+ orders = kraken.query_orders
137
+ ```
138
+
139
+ #### Trades History
140
+
141
+ Get array of all trades
142
+
143
+ ```ruby
144
+ trades = kraken.trade_history
145
+ ```
146
+
147
+ #### Query Trades
148
+
149
+ **Input:** Comma delimited list of transaction (tx) ids
150
+
151
+ ```ruby
152
+ trades = kraken.query_trades(tx_ids)
153
+ ```
154
+
155
+ #### Open Positions
156
+
157
+ **Input:** Comma delimited list of transaction (tx) ids
158
+
159
+ ```ruby
160
+ positions = kraken.open_positions(tx_ids)
161
+ ```
162
+
163
+ #### Ledgers Info
164
+
165
+ ```ruby
166
+ ledgers = kraken.ledgers_info
167
+ ```
168
+
169
+ #### Ledgers Info
170
+
171
+ **Input:** Comma delimited list of ledger ids
172
+
173
+ ```ruby
174
+ ledgers = kraken.query_ledgers(ledger_ids)
175
+ ```
176
+
177
+ #### Trade Volume
178
+
179
+ **Input:** Comma delimited list of asset pairs
180
+
181
+ ```ruby
182
+ asset_pairs = 'XLTCXXDG, ZEURXXDG'
183
+ volume = kraken.query_ledgers(asset_pairs)
184
+ ```
22
185
 
23
186
  ## Contributing
24
187
 
@@ -26,4 +189,4 @@ TODO: Write usage instructions here
26
189
  2. Create your feature branch (`git checkout -b my-new-feature`)
27
190
  3. Commit your changes (`git commit -am 'Add some feature'`)
28
191
  4. Push to the branch (`git push origin my-new-feature`)
29
- 5. Create new Pull Request
192
+ 5. Create new Pull Request
Binary file
Binary file
@@ -161,7 +161,7 @@ module Kraken
161
161
  end
162
162
 
163
163
  def generate_hmac(key, message)
164
- Base64.encode64(OpenSSL::HMAC.digest('sha512', key, message)).split.join # to remove '/n' inserted into signature by HMAc
164
+ Base64.strict_encode64(OpenSSL::HMAC.digest('sha512', key, message))
165
165
  end
166
166
 
167
167
  def url_path(method)
@@ -1,3 +1,3 @@
1
1
  module KrakenRuby
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kraken_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Leishman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-26 00:00:00.000000000 Z
11
+ date: 2014-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -101,7 +101,6 @@ executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
- - .gitignore
105
104
  - Gemfile
106
105
  - Gemfile.lock
107
106
  - LICENSE.txt
@@ -109,6 +108,7 @@ files:
109
108
  - Rakefile
110
109
  - kraken_ruby-0.1.0.gem
111
110
  - kraken_ruby-0.2.0.gem
111
+ - kraken_ruby-0.2.1.gem
112
112
  - kraken_ruby.gemspec
113
113
  - lib/kraken_ruby.rb
114
114
  - lib/kraken_ruby/client.rb
data/.gitignore DELETED
@@ -1 +0,0 @@
1
- kraken.key