bittrex-enterprise 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/.rspec +3 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +67 -0
- data/LICENSE +21 -0
- data/README.md +118 -0
- data/bin/console +19 -0
- data/bin/setup +8 -0
- data/bittrex-enterprise.gemspec +34 -0
- data/lib/bittrex-enterprise/account.rb +19 -0
- data/lib/bittrex-enterprise/addresses.rb +41 -0
- data/lib/bittrex-enterprise/api_helpers.rb +122 -0
- data/lib/bittrex-enterprise/balances.rb +31 -0
- data/lib/bittrex-enterprise/currencies.rb +28 -0
- data/lib/bittrex-enterprise/deposits.rb +78 -0
- data/lib/bittrex-enterprise/markets.rb +92 -0
- data/lib/bittrex-enterprise/orders.rb +98 -0
- data/lib/bittrex-enterprise/ping.rb +17 -0
- data/lib/bittrex-enterprise/sub_accounts.rb +55 -0
- data/lib/bittrex-enterprise/transfers.rb +111 -0
- data/lib/bittrex-enterprise/version.rb +3 -0
- data/lib/bittrex-enterprise/withdrawals.rb +115 -0
- data/lib/bittrex_enterprise.rb +46 -0
- data/lib/deep_symbolize.rb +68 -0
- metadata +193 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e2e5017cf52aae7b40cdfd73476a59ed0fbfee048946c5bf66556570c3927d6a
|
4
|
+
data.tar.gz: e608bcab6dc763b91395e9a4109c391a0ac616dab7af48b8eb028f55fcf6b3a8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 10f6f44bbcdac296519b2306232ae954892af23c7399b1876ca63b14bddb5babc4e86659e5909ada494b4408d2056ac769fceb87698e8277f7a12af9216aa745
|
7
|
+
data.tar.gz: 3c9194e3f28433f3f1ad9674ef6c11c5ff4e969e34c20bb08cc9ba307abdd63891c546e00da0b97f16de8e5cbdd2ede8919cd95104548f44655b1e7e1531cefc
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
bittrex-enterprise (0.1.0)
|
5
|
+
addressable (~> 2.6)
|
6
|
+
httparty (~> 0.17)
|
7
|
+
json (~> 2.2)
|
8
|
+
openssl (~> 2.1)
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: https://rubygems.org/
|
12
|
+
specs:
|
13
|
+
addressable (2.6.0)
|
14
|
+
public_suffix (>= 2.0.2, < 4.0)
|
15
|
+
ansi (1.5.0)
|
16
|
+
diff-lcs (1.3)
|
17
|
+
docile (1.3.2)
|
18
|
+
httparty (0.17.0)
|
19
|
+
mime-types (~> 3.0)
|
20
|
+
multi_xml (>= 0.5.2)
|
21
|
+
json (2.2.0)
|
22
|
+
mime-types (3.2.2)
|
23
|
+
mime-types-data (~> 3.2015)
|
24
|
+
mime-types-data (3.2019.0331)
|
25
|
+
multi_xml (0.6.0)
|
26
|
+
openssl (2.1.2)
|
27
|
+
public_suffix (3.1.0)
|
28
|
+
rake (10.5.0)
|
29
|
+
rspec (3.8.0)
|
30
|
+
rspec-core (~> 3.8.0)
|
31
|
+
rspec-expectations (~> 3.8.0)
|
32
|
+
rspec-mocks (~> 3.8.0)
|
33
|
+
rspec-core (3.8.1)
|
34
|
+
rspec-support (~> 3.8.0)
|
35
|
+
rspec-expectations (3.8.4)
|
36
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
37
|
+
rspec-support (~> 3.8.0)
|
38
|
+
rspec-mocks (3.8.1)
|
39
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
40
|
+
rspec-support (~> 3.8.0)
|
41
|
+
rspec-support (3.8.2)
|
42
|
+
simplecov (0.16.1)
|
43
|
+
docile (~> 1.1)
|
44
|
+
json (>= 1.8, < 3)
|
45
|
+
simplecov-html (~> 0.10.0)
|
46
|
+
simplecov-console (0.5.0)
|
47
|
+
ansi
|
48
|
+
simplecov
|
49
|
+
terminal-table
|
50
|
+
simplecov-html (0.10.2)
|
51
|
+
terminal-table (1.8.0)
|
52
|
+
unicode-display_width (~> 1.1, >= 1.1.1)
|
53
|
+
unicode-display_width (1.6.0)
|
54
|
+
|
55
|
+
PLATFORMS
|
56
|
+
ruby
|
57
|
+
|
58
|
+
DEPENDENCIES
|
59
|
+
bittrex-enterprise!
|
60
|
+
bundler (~> 1.16)
|
61
|
+
rake (~> 10.0)
|
62
|
+
rspec (~> 3.0)
|
63
|
+
simplecov (~> 0.16.0)
|
64
|
+
simplecov-console (~> 0.5.0)
|
65
|
+
|
66
|
+
BUNDLED WITH
|
67
|
+
1.16.6
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2019 Vertbase
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
# BittrexEnterprise
|
2
|
+
|
3
|
+
A simple Ruby gem for the Bittrex.com v3 API protocol.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'bittrex-enterprise'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install bittrex-enterprise
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
### Load the gem
|
24
|
+
```
|
25
|
+
require 'bittrex-enterprise'
|
26
|
+
```
|
27
|
+
|
28
|
+
### Setup your Bittrex API key
|
29
|
+
|
30
|
+
```
|
31
|
+
BittrexEnterprise.setup do |config|
|
32
|
+
config.key = 'BITTREX_KEY'
|
33
|
+
config.secret = 'BITTREX_SECRET'
|
34
|
+
end
|
35
|
+
```
|
36
|
+
|
37
|
+
### Use the gem
|
38
|
+
|
39
|
+
This gem methods are named after the official Bittrex v3 Beta API Documentation: https://bittrex.github.io/api/v3
|
40
|
+
|
41
|
+
```
|
42
|
+
# NO AUTH REQUIRED
|
43
|
+
|
44
|
+
## Currencies
|
45
|
+
|
46
|
+
BittrexEnterprise::Currencies.list
|
47
|
+
BittrexEnterprise::Currencies.info
|
48
|
+
|
49
|
+
## Markets
|
50
|
+
|
51
|
+
BittrexEnterprise::Markets.list
|
52
|
+
BittrexEnterprise::Markets.summaries
|
53
|
+
BittrexEnterprise::Markets.info
|
54
|
+
BittrexEnterprise::Markets.summary
|
55
|
+
BittrexEnterprise::Markets.order_book
|
56
|
+
BittrexEnterprise::Markets.trades
|
57
|
+
BittrexEnterprise::Markets.ticker
|
58
|
+
BittrexEnterprise::Markets.candles
|
59
|
+
|
60
|
+
## Ping
|
61
|
+
|
62
|
+
BittrexEnterprise::Ping.send
|
63
|
+
|
64
|
+
# AUTH REQUIRED
|
65
|
+
|
66
|
+
## Account
|
67
|
+
|
68
|
+
BittrexEnterprise::Account.retrieve
|
69
|
+
|
70
|
+
## Addresses
|
71
|
+
|
72
|
+
BittrexEnterprise::Addresses.list
|
73
|
+
BittrexEnterprise::Addresses.create
|
74
|
+
BittrexEnterprise::Addresses.status
|
75
|
+
|
76
|
+
## Balances
|
77
|
+
|
78
|
+
BittrexEnterprise::Balances.list
|
79
|
+
BittrexEnterprise::Balances.info
|
80
|
+
|
81
|
+
## Deposits
|
82
|
+
|
83
|
+
BittrexEnterprise::Deposits.open
|
84
|
+
BittrexEnterprise::Deposits.closed
|
85
|
+
BittrexEnterprise::Deposits.by_tx_id
|
86
|
+
BittrexEnterprise::Deposits.retrieve
|
87
|
+
|
88
|
+
## Orders
|
89
|
+
|
90
|
+
BittrexEnterprise::Orders.open
|
91
|
+
BittrexEnterprise::Orders.closed
|
92
|
+
BittrexEnterprise::Orders.retrieve
|
93
|
+
BittrexEnterprise::Orders.cancel
|
94
|
+
BittrexEnterprise::Orders.create
|
95
|
+
|
96
|
+
## SubAccounts
|
97
|
+
|
98
|
+
BittrexEnterprise::SubAccounts.list
|
99
|
+
BittrexEnterprise::SubAccounts.create
|
100
|
+
BittrexEnterprise::SubAccounts.retrieve
|
101
|
+
|
102
|
+
## Transfers
|
103
|
+
|
104
|
+
BittrexEnterprise::Transfers.sent
|
105
|
+
BittrexEnterprise::Transfers.received
|
106
|
+
BittrexEnterprise::Transfers.retrieve
|
107
|
+
BittrexEnterprise::Transfers.create
|
108
|
+
|
109
|
+
## Withdrawals
|
110
|
+
|
111
|
+
BittrexEnterprise::Withdrawals.open
|
112
|
+
BittrexEnterprise::Withdrawals.closed
|
113
|
+
BittrexEnterprise::Withdrawals.by_tx_id
|
114
|
+
BittrexEnterprise::Withdrawals.retrieve
|
115
|
+
BittrexEnterprise::Withdrawals.cancel
|
116
|
+
BittrexEnterprise::Withdrawals.create
|
117
|
+
|
118
|
+
```
|
data/bin/console
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'bittrex_enterprise'
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
# BittrexEnterprise.setup do |config|
|
14
|
+
# config.key = ENV['BITTREX_KEY']
|
15
|
+
# config.secret = ENV['BITTREX_SECRET']
|
16
|
+
# end
|
17
|
+
|
18
|
+
require 'irb'
|
19
|
+
IRB.start(__FILE__)
|
data/bin/setup
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
|
2
|
+
lib = File.expand_path('lib', __dir__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'bittrex-enterprise/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'bittrex-enterprise'
|
8
|
+
spec.version = BittrexEnterprise::VERSION
|
9
|
+
spec.licenses = ['MIT']
|
10
|
+
spec.authors = ['Vertbase']
|
11
|
+
spec.email = ['dev@vertbase.com']
|
12
|
+
|
13
|
+
spec.summary = 'Ruby implementation of the Bittrex v3 API'
|
14
|
+
spec.description = 'Ruby implementation of the Bittrex v3 API'
|
15
|
+
spec.homepage = 'https://github.com/vertbase/bittrex-enterprise'
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
|
+
f.match(%r{^(test|spec|features)/})
|
19
|
+
end
|
20
|
+
spec.bindir = 'exe'
|
21
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
|
+
spec.require_paths = ['lib']
|
23
|
+
|
24
|
+
spec.add_dependency 'addressable', '~> 2.6'
|
25
|
+
spec.add_dependency 'json', '~> 2.2'
|
26
|
+
spec.add_dependency 'openssl', '~> 2.1'
|
27
|
+
spec.add_dependency 'httparty', '~> 0.17'
|
28
|
+
|
29
|
+
spec.add_development_dependency 'bundler', '~> 1.16'
|
30
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
31
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
32
|
+
spec.add_development_dependency 'simplecov', '~> 0.16.0'
|
33
|
+
spec.add_development_dependency 'simplecov-console', '~> 0.5.0'
|
34
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module BittrexEnterprise
|
2
|
+
class Account
|
3
|
+
include ApiHelpers
|
4
|
+
|
5
|
+
# ==============================================================================================
|
6
|
+
# AUTH REQUIRED ================================================================================
|
7
|
+
# ==============================================================================================
|
8
|
+
|
9
|
+
# ----------------------------------------- RETRIEVE -----------------------------------------
|
10
|
+
# Retrieve information for the account associated with the request. For now, it only echoes
|
11
|
+
# the subaccount if one was specified in the header, which can be used to verify that one is
|
12
|
+
# operating on the intended account. More fields will be added later.
|
13
|
+
# --------------------------------------------------------------------------------------------
|
14
|
+
def self.retrieve
|
15
|
+
get_signed 'account'
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module BittrexEnterprise
|
2
|
+
class Addresses
|
3
|
+
include ApiHelpers
|
4
|
+
|
5
|
+
# ==============================================================================================
|
6
|
+
# AUTH REQUIRED ================================================================================
|
7
|
+
# ==============================================================================================
|
8
|
+
|
9
|
+
# -------------------------------------- LIST ------------------------------------------------
|
10
|
+
# List deposit addresses that have been requested or provisioned.
|
11
|
+
# --------------------------------------------------------------------------------------------
|
12
|
+
def self.list
|
13
|
+
get_signed 'addresses'
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
# -------------------------------------- CREATE ----------------------------------------------
|
18
|
+
# Request provisioning of a deposit address for a currency for which no address has been
|
19
|
+
# requested or provisioned.
|
20
|
+
#
|
21
|
+
# ------ PARAMS ------
|
22
|
+
# currency_symbol - string - required - the currency ID to provision a new address for
|
23
|
+
# --------------------------------------------------------------------------------------------
|
24
|
+
def self.create(currency_symbol)
|
25
|
+
post_signed 'addresses', currencySymbol: currency_symbol
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
# -------------------------------------- STATUS ----------------------------------------------
|
30
|
+
# Retrieve the status of the deposit address for a particular currency for which one has
|
31
|
+
# been requested or provisioned.
|
32
|
+
# ------ PARAMS ------
|
33
|
+
# currency_symbol - string - required - symbol of the currency to retrieve the deposit
|
34
|
+
# address for
|
35
|
+
# --------------------------------------------------------------------------------------------
|
36
|
+
def self.status(currency_symbol)
|
37
|
+
get_signed 'addresses/{currencySymbol}', currencySymbol: currency_symbol
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,122 @@
|
|
1
|
+
module ApiHelpers
|
2
|
+
def self.included(base)
|
3
|
+
base.extend(ClassMethods)
|
4
|
+
end
|
5
|
+
|
6
|
+
module ClassMethods
|
7
|
+
def base_uri
|
8
|
+
'https://api.bittrex.com/v3/'
|
9
|
+
end
|
10
|
+
|
11
|
+
def get(api_group, params = {})
|
12
|
+
params.compact!
|
13
|
+
api_group, params = setup_params(api_group, params)
|
14
|
+
|
15
|
+
begin
|
16
|
+
response = HTTParty.get(base_uri + api_group, query: params)
|
17
|
+
res_hash response
|
18
|
+
rescue => e
|
19
|
+
res_hash e.response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def get_signed(api_group, params = {})
|
24
|
+
params.compact!
|
25
|
+
api_group, params = setup_params(api_group, params)
|
26
|
+
|
27
|
+
url = base_uri + api_group
|
28
|
+
|
29
|
+
headers = setup_headers(url)
|
30
|
+
|
31
|
+
begin
|
32
|
+
response = HTTParty.get(url, {query: params, headers: headers})
|
33
|
+
res_hash response
|
34
|
+
rescue => e
|
35
|
+
res_hash e.response
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def post_signed(api_group, params = {})
|
40
|
+
params.compact!
|
41
|
+
api_group, params = setup_params(api_group, params)
|
42
|
+
|
43
|
+
url = base_uri + api_group
|
44
|
+
|
45
|
+
headers = setup_headers(url)
|
46
|
+
|
47
|
+
begin
|
48
|
+
response = HTTParty.post(url, {body: params, headers: headers})
|
49
|
+
res_hash response
|
50
|
+
rescue => e
|
51
|
+
res_hash e.response
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def delete_signed(api_group)
|
56
|
+
params.compact!
|
57
|
+
api_group, params = setup_params(api_group, params)
|
58
|
+
|
59
|
+
url = base_uri + api_group
|
60
|
+
|
61
|
+
headers = setup_headers(url)
|
62
|
+
|
63
|
+
begin
|
64
|
+
response = HTTParty.delete(url, {body: params, headers: headers})
|
65
|
+
res_hash response
|
66
|
+
rescue => e
|
67
|
+
res_hash e.response
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def setup_params(api_group, params)
|
72
|
+
matchArr = api_group.match(/{(\D*)}/)&.captures
|
73
|
+
if matchArr
|
74
|
+
matchArr.each do |m|
|
75
|
+
api_group.gsub!("{#{m}}", params.delete(m.to_sym))
|
76
|
+
end
|
77
|
+
end
|
78
|
+
[api_group, params]
|
79
|
+
end
|
80
|
+
|
81
|
+
def setup_headers(uri, content='')
|
82
|
+
api_key = BittrexEnterprise.configuration.key
|
83
|
+
api_timestamp = DateTime.now.strftime('%Q')
|
84
|
+
api_content_hash = create_content_sign(content)
|
85
|
+
puts "CONTENT HASH: #{api_content_hash.inspect}"
|
86
|
+
api_subaccount_id = '' # TODO: make this work with Subaccounts
|
87
|
+
pre_sign = [api_timestamp, uri, 'GET', api_content_hash, api_subaccount_id].join('')
|
88
|
+
puts "PRE_SIGN: #{pre_sign.inspect}"
|
89
|
+
api_signature = create_sign_hmac(pre_sign)
|
90
|
+
puts "SIGNED SIG: #{api_signature.inspect}"
|
91
|
+
|
92
|
+
headers = {
|
93
|
+
"Content-Type": 'application/json',
|
94
|
+
"Api-Key": api_key,
|
95
|
+
"Api-Timestamp": api_timestamp,
|
96
|
+
"Api-Content-Hash": api_content_hash,
|
97
|
+
"Api-Signature": api_signature
|
98
|
+
}
|
99
|
+
|
100
|
+
# headers['Api-Subaccount-Id'] = api_subaccount_id if api_subaccount_id
|
101
|
+
|
102
|
+
headers
|
103
|
+
end
|
104
|
+
|
105
|
+
def create_sign_hmac(pre_sign)
|
106
|
+
OpenSSL::HMAC.hexdigest('sha512', BittrexEnterprise.configuration.secret, pre_sign) #.to_s
|
107
|
+
end
|
108
|
+
|
109
|
+
def create_content_sign(content)
|
110
|
+
Digest::SHA512.hexdigest(content.to_s)
|
111
|
+
end
|
112
|
+
|
113
|
+
def res_hash(res)
|
114
|
+
data = JSON.parse(res.body)
|
115
|
+
data.extend DeepSymbolizable
|
116
|
+
#### IF YOU WANT THE RAW RESPONSE IN ADDITION TO THE DATA USE THIS
|
117
|
+
#### { data: data.deep_symbolize, res: res }
|
118
|
+
#### INSTEAD OF THE FOLLOWING LINE
|
119
|
+
{ data: data.deep_symbolize }
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module BittrexEnterprise
|
2
|
+
class Balances
|
3
|
+
include ApiHelpers
|
4
|
+
|
5
|
+
# ==============================================================================================
|
6
|
+
# AUTH REQUIRED ================================================================================
|
7
|
+
# ==============================================================================================
|
8
|
+
|
9
|
+
# ---------------------------------------- LIST ----------------------------------------------
|
10
|
+
# List account balances across available currencies. Returns a Balance entry for each
|
11
|
+
# currency for which there is either a balance or an address.
|
12
|
+
# --------------------------------------------------------------------------------------------
|
13
|
+
def self.list
|
14
|
+
get_signed 'balances'
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
# --------------------------------------- INFO -----------------------------------------------
|
19
|
+
# Retrieve account balance for a specific currency. Request will always succeed when the
|
20
|
+
# currency exists, regardless of whether there is a balance or address.
|
21
|
+
#
|
22
|
+
# ------ PARAMS ------
|
23
|
+
# currency_symbol: string - required - unique symbol of the currency to retrieve the
|
24
|
+
# account balance for
|
25
|
+
# --------------------------------------------------------------------------------------------
|
26
|
+
def self.info(currency_symbol)
|
27
|
+
get_signed 'currencies/{currencySymbol}', currencySymbol: currency_symbol
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module BittrexEnterprise
|
2
|
+
class Currencies
|
3
|
+
include ApiHelpers
|
4
|
+
|
5
|
+
# ==============================================================================================
|
6
|
+
# PUBLIC METHODS - NO AUTH REQUIRED ============================================================
|
7
|
+
# ==============================================================================================
|
8
|
+
|
9
|
+
# ------------------------------------- LIST -------------------------------------------------
|
10
|
+
# List currencies
|
11
|
+
# --------------------------------------------------------------------------------------------
|
12
|
+
def self.list
|
13
|
+
get 'currencies'
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
# ------------------------------------ INFO --------------------------------------------------
|
18
|
+
# Retrieve info on a specified currency.
|
19
|
+
#
|
20
|
+
# ------ PARAMS ------
|
21
|
+
# symbol: string - required - symbol of the currency to retrieve
|
22
|
+
# --------------------------------------------------------------------------------------------
|
23
|
+
def self.info(symbol)
|
24
|
+
get 'currencies/{symbol}', symbol: symbol
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
module BittrexEnterprise
|
2
|
+
class Deposits
|
3
|
+
include ApiHelpers
|
4
|
+
|
5
|
+
# ==============================================================================================
|
6
|
+
# AUTH REQUIRED ================================================================================
|
7
|
+
# ==============================================================================================
|
8
|
+
|
9
|
+
# ------------------------------------------ OPEN --------------------------------------------
|
10
|
+
# List open deposits. Results are sorted in inverse order of UpdatedAt, and are limited to
|
11
|
+
# the first 1000.
|
12
|
+
#
|
13
|
+
# ------ PARAMS ------ PARAMS MUST BE PASSED AS KEY VALUE PAIRS
|
14
|
+
# status - string enum [PENDING] - optional - filter by an open deposit status
|
15
|
+
# currencySymbol - string - optional - filter by currency
|
16
|
+
# --------------------------------------------------------------------------------------------
|
17
|
+
def self.open(params={})
|
18
|
+
get_signed 'deposits/open', params
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
# ----------------------------------------- CLOSED -------------------------------------------
|
23
|
+
# List closed deposits. StartDate and EndDate filters apply to the CompletedAt field.
|
24
|
+
# Pagination and the sort order of the results are in inverse order of the CompletedAt field.
|
25
|
+
#
|
26
|
+
# ------ PARAMS ------ PARAMS MUST BE PASSED AS KEY VALUE PAIRS
|
27
|
+
# status - string enum [COMPLETED, ORPHANED, INVALIDATED] - optional - filter by deposit status
|
28
|
+
#
|
29
|
+
# currencySymbol - string - optional - filter by currency
|
30
|
+
#
|
31
|
+
# nextPageToken - string - The unique identifier of the item that the resulting query result
|
32
|
+
# should start after, in the sort order of the given endpoint. Used for traversing
|
33
|
+
# a paginated set in the forward direction. (May only be specified if PreviousPageToken
|
34
|
+
# is not specified.)
|
35
|
+
#
|
36
|
+
# previousPageToken - string - The unique identifier of the item that the resulting query
|
37
|
+
# result should end before, in the sort order of the given endpoint. Used for traversing
|
38
|
+
# a paginated set in the reverse direction. (May only be specified if NextPageToken is
|
39
|
+
# not specified.)
|
40
|
+
#
|
41
|
+
# pageSize - integer - maximum number of items to retrieve -- default 100, minimum 1, maximum 200
|
42
|
+
#
|
43
|
+
# startDate - string(date-time) - Filters out results before this timestamp. In ISO 8601 format
|
44
|
+
# (e.g., "2019-01-02T16:23:45Z"). Precision beyond one second is not supported. Use
|
45
|
+
# pagination parameters for more precise filtering.
|
46
|
+
#
|
47
|
+
# endDate - string(date-time) - Filters out result after this timestamp. Uses the same format
|
48
|
+
# as StartDate. Either, both, or neither of StartDate and EndDate can be set. The only
|
49
|
+
# constraint on the pair is that, if both are set, then EndDate cannot be before StartDate.
|
50
|
+
# --------------------------------------------------------------------------------------------
|
51
|
+
def self.closed(params={})
|
52
|
+
get_signed 'deposits/closed', params
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
# ---------------------------------- BY TRANSACTION ID ---------------------------------------
|
57
|
+
# Retrieves all deposits for this account with the given TxId
|
58
|
+
#
|
59
|
+
# ------ PARAMS ------
|
60
|
+
# tx_id - string - required - the transaction id to lookup
|
61
|
+
# --------------------------------------------------------------------------------------------
|
62
|
+
def self.by_tx_id(tx_id)
|
63
|
+
get_signed 'deposits/ByTxId/{tdId}', txId: tx_id
|
64
|
+
end
|
65
|
+
|
66
|
+
|
67
|
+
# --------------------------------------- RETRIEVE -------------------------------------------
|
68
|
+
# Retrieve information for a specific deposit.
|
69
|
+
#
|
70
|
+
# ------ PARAMS ------
|
71
|
+
# deposit_id - string - required - (guid-formatted string) - ID of the deposit to retrieve
|
72
|
+
# --------------------------------------------------------------------------------------------
|
73
|
+
def self.retrieve(deposit_id)
|
74
|
+
get_signed 'deposits/{depositId}', depositId: deposit_id
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
end
|