Class: ShapeShiftRuby::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/shapeshift_ruby/client.rb

Constant Summary collapse

API_URL =
'https://shapeshift.io'.freeze

Instance Method Summary collapse

Instance Method Details

#cancel_pending(address:) ⇒ Object



80
81
82
# File 'lib/shapeshift_ruby/client.rb', line 80

def cancel_pending(address:)
  api_request(url: url('cancelpending'), method: 'post', params: { address: address })
end

#coinsObject



34
35
36
# File 'lib/shapeshift_ruby/client.rb', line 34

def coins
  api_request(url: url('getcoins'), method: 'get')
end

#fixed_amount_transaction(withdrawal:, pair:, amount:, return_address: '', dest_tag: '', rs_address: '', api_key: '') ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
# File 'lib/shapeshift_ruby/client.rb', line 68

def fixed_amount_transaction(withdrawal:, pair:, amount:, return_address: '', dest_tag: '', rs_address: '', api_key: '')
  api_request(url: url('sendamount'), method: 'post', params: {
      amount: amount,
      pair: pair,
      withdrawal: withdrawal,
      returnAddress: return_address,
      destTag: dest_tag,
      rsAddress: rs_address,
      apiKey: api_key
  })
end

#limit(pair:) ⇒ Object



14
15
16
# File 'lib/shapeshift_ruby/client.rb', line 14

def limit(pair:)
  api_request(url: url("limit/#{pair}"), method: 'get')
end

#mail(email:, transaction_id:) ⇒ Object



64
65
66
# File 'lib/shapeshift_ruby/client.rb', line 64

def mail(email:, transaction_id:)
  api_request(url: url('mail'), method: 'post', params: { email: email, txid: transaction_id })
end

#market_info(pair:) ⇒ Object



18
19
20
# File 'lib/shapeshift_ruby/client.rb', line 18

def market_info(pair:)
  api_request(url: url("marketinfo/#{pair}"), method: 'get')
end

#rate(pair:) ⇒ Object

GET Requests



10
11
12
# File 'lib/shapeshift_ruby/client.rb', line 10

def rate(pair:)
  api_request(url: url("rate/#{pair}"), method: 'get')
end

#recent_transactions(max:) ⇒ Object



22
23
24
# File 'lib/shapeshift_ruby/client.rb', line 22

def recent_transactions(max:)
  api_request(url: url("recenttx/#{max}"), method: 'get')
end

#shift(withdrawal:, pair:, return_address: '', dest_tag: '', rs_address: '', api_key: '') ⇒ Object

Post requests



52
53
54
55
56
57
58
59
60
61
# File 'lib/shapeshift_ruby/client.rb', line 52

def shift(withdrawal:, pair:, return_address: '', dest_tag: '', rs_address: '', api_key: '')
  api_request(url: url('shift'), method: 'post', params: {
      pair: pair,
      withdrawal: withdrawal,
      returnAddress: return_address,
      destTag: dest_tag,
      rsAddress: rs_address,
      apiKey: api_key
  })
end

#time_remaining(deposit_address:) ⇒ Object



30
31
32
# File 'lib/shapeshift_ruby/client.rb', line 30

def time_remaining(deposit_address:)
  api_request(url: url("timeremaining/#{deposit_address}"), method: 'get')
end

#transaction_by_address(address, api_key:) ⇒ Object



46
47
48
# File 'lib/shapeshift_ruby/client.rb', line 46

def transaction_by_address(address, api_key:)
  api_request(url: url("txbyaddress/#{address}/#{api_key}"), method: 'get')
end

#transaction_by_api_key(api_key:) ⇒ Object



42
43
44
# File 'lib/shapeshift_ruby/client.rb', line 42

def transaction_by_api_key(api_key:)
  api_request(url: url("txbyapikey/#{api_key}"), method: 'get')
end

#transaction_status(deposit_address:) ⇒ Object



26
27
28
# File 'lib/shapeshift_ruby/client.rb', line 26

def transaction_status(deposit_address:)
  api_request(url: url("txStat/#{deposit_address}"), method: 'get')
end

#validate_address(address:, coin_symbol:) ⇒ Object



38
39
40
# File 'lib/shapeshift_ruby/client.rb', line 38

def validate_address(address:, coin_symbol:)
  api_request(url: url("validateAddress/#{address}/#{coin_symbol}"), method: 'get')
end