diff --git a/lib/kraken_ruby/client.rb b/lib/kraken_ruby/client.rb index 4f2f37c..02b7c71 100644 --- a/lib/kraken_ruby/client.rb +++ b/lib/kraken_ruby/client.rb @@ -110,6 +110,19 @@ def trade_volume(asset_pairs) post_private 'TradeVolume', opts end + def deposit_methods(asset, opts={}) + opts['asset'] = asset + post_private 'DepositMethods', opts + end + + def deposit_status(opts={}) + post_private 'DepositStatus', opts + end + + def withdraw_status(opts={}) + post_private 'WithdrawStatus', opts + end + #### Private User Trading #### def add_order(opts={}) diff --git a/spec/client_spec.rb b/spec/client_spec.rb index a189beb..f21586c 100644 --- a/spec/client_spec.rb +++ b/spec/client_spec.rb @@ -62,6 +62,45 @@ nonce = kraken.send :nonce expect(nonce.to_i.size).to eq(8) end - end + it "gets deposit methods" do + result = kraken.deposit_methods("XXBT").first + expect(result).to have_key 'method' + expect(result).to have_key 'limit' + expect(result).to have_key 'fee' + end + + it "gets deposit status" do + results = kraken.deposit_status(asset: "XXBT") + expect(results).to be_instance_of(Array) + if result = results.first + expect(result).to have_key 'method' + expect(result).to have_key 'aclass' + expect(result).to have_key 'refid' + expect(result).to have_key 'txid' + expect(result).to have_key 'info' + expect(result).to have_key 'amount' + expect(result).to have_key 'fee' + expect(result).to have_key 'status' + expect(result).to have_key 'time' + end + end + + it "gets withdraw status" do + results = kraken.withdraw_status(asset: "XXBT") + pp results + expect(results).to be_instance_of(Array) + if result = results.first + expect(result).to have_key 'method' + expect(result).to have_key 'aclass' + expect(result).to have_key 'refid' + expect(result).to have_key 'txid' + expect(result).to have_key 'info' + expect(result).to have_key 'amount' + expect(result).to have_key 'fee' + expect(result).to have_key 'status' + expect(result).to have_key 'time' + end + end + end end