max_exchange_api 1.3.0 → 2.0.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 +4 -4
- data/.github/workflows/ruby.yml +43 -46
- data/.gitignore +62 -62
- data/.rubocop.yml +1227 -1227
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +49 -49
- data/LICENSE +21 -21
- data/README.md +993 -368
- data/Rakefile +10 -10
- data/bin/console +14 -14
- data/bin/setup +0 -0
- data/gemfiles/2.2.gemfile +11 -0
- data/gemfiles/Gemfile +10 -10
- data/lib/max_exchange_api/base_api.rb +52 -52
- data/lib/max_exchange_api/config.rb +26 -26
- data/lib/max_exchange_api/helper.rb +9 -2
- data/lib/max_exchange_api/private_api.rb +4 -218
- data/lib/max_exchange_api/private_v2/account_api.rb +15 -0
- data/lib/max_exchange_api/private_v2/deposit_api.rb +75 -0
- data/lib/max_exchange_api/private_v2/internal_transfer_api.rb +26 -0
- data/lib/max_exchange_api/private_v2/order_api.rb +55 -0
- data/lib/max_exchange_api/private_v2/reward_api.rb +40 -0
- data/lib/max_exchange_api/private_v2/trade_api.rb +28 -0
- data/lib/max_exchange_api/private_v2/user_api.rb +19 -0
- data/lib/max_exchange_api/private_v2/withdraw_api.rb +42 -0
- data/lib/max_exchange_api/private_v2_api.rb +26 -0
- data/lib/max_exchange_api/private_v3/account_api.rb +15 -0
- data/lib/max_exchange_api/private_v3/convert_api.rb +29 -0
- data/lib/max_exchange_api/private_v3/deposit_api.rb +26 -0
- data/lib/max_exchange_api/private_v3/internal_transfer_api.rb +19 -0
- data/lib/max_exchange_api/private_v3/m_wallet_api.rb +76 -0
- data/lib/max_exchange_api/private_v3/order_api.rb +82 -0
- data/lib/max_exchange_api/private_v3/reward_api.rb +19 -0
- data/lib/max_exchange_api/private_v3/sub_account_api.rb +31 -0
- data/lib/max_exchange_api/private_v3/trade_api.rb +27 -0
- data/lib/max_exchange_api/private_v3/user_api.rb +11 -0
- data/lib/max_exchange_api/private_v3/withdraw_api.rb +35 -0
- data/lib/max_exchange_api/private_v3_api.rb +32 -0
- data/lib/max_exchange_api/public_api.rb +13 -72
- data/lib/max_exchange_api/public_v2_api.rb +65 -0
- data/lib/max_exchange_api/public_v3_api.rb +69 -0
- data/lib/max_exchange_api/version.rb +3 -3
- data/lib/max_exchange_api.rb +4 -2
- data/max_exchange_api.gemspec +42 -43
- metadata +28 -21
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'max_exchange_api/public_api'
|
|
4
|
+
|
|
5
|
+
module MaxExchangeApi
|
|
6
|
+
class PublicV2Api < PublicApi
|
|
7
|
+
base_uri 'https://max-api.maicoin.com/api/v2'
|
|
8
|
+
|
|
9
|
+
def vip_levels(level = nil)
|
|
10
|
+
if level
|
|
11
|
+
send_request(:get, "/vip_levels/#{level}", {})
|
|
12
|
+
else
|
|
13
|
+
send_request(:get, '/vip_levels', {})
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def currencies
|
|
18
|
+
send_request(:get, '/currencies', {})
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def k(market, limit: 30, period: 1, timestamp: nil)
|
|
22
|
+
send_request(:get, '/k', market: market, limit: limit, period: period, timestamp: timestamp)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def depth(market, limit: 10, sort_by_price: true)
|
|
26
|
+
send_request(:get, '/depth', market: market, limit: limit, sort_by_price: sort_by_price)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def trades(market, timestamp: nil, from: nil, to: nil, order_by: 'desc', pagination: true, page: 1, limit: 50, offset: 0)
|
|
30
|
+
send_request(
|
|
31
|
+
:get,
|
|
32
|
+
'/trades',
|
|
33
|
+
market: market,
|
|
34
|
+
timestamp: timestamp,
|
|
35
|
+
from: from,
|
|
36
|
+
to: to,
|
|
37
|
+
order_by: order_by,
|
|
38
|
+
pagination: pagination,
|
|
39
|
+
page: page,
|
|
40
|
+
limit: limit,
|
|
41
|
+
offset: offset,
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def markets
|
|
46
|
+
send_request(:get, '/markets', {})
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def summary
|
|
50
|
+
send_request(:get, '/summary', {})
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def tickers(market = nil)
|
|
54
|
+
if market
|
|
55
|
+
send_request(:get, "/tickers/#{market}", {})
|
|
56
|
+
else
|
|
57
|
+
send_request(:get, '/tickers', {})
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def timestamp
|
|
62
|
+
send_request(:get, '/timestamp', {})
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'max_exchange_api/public_api'
|
|
4
|
+
|
|
5
|
+
module MaxExchangeApi
|
|
6
|
+
class PublicV3Api < PublicApi
|
|
7
|
+
base_uri 'https://max-api.maicoin.com/api/v3'
|
|
8
|
+
|
|
9
|
+
def index_prices
|
|
10
|
+
send_request(:get, '/wallet/m/index_prices', {})
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def index_prices_histories(market, start_time, end_time)
|
|
14
|
+
send_request(
|
|
15
|
+
:get,
|
|
16
|
+
'/wallet/m/historical_index_prices',
|
|
17
|
+
market: market,
|
|
18
|
+
start_time: start_time,
|
|
19
|
+
end_time: end_time,
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def available_loan_amount
|
|
24
|
+
send_request(:get, '/wallet/m/limits', {})
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def loan_interest_rates
|
|
28
|
+
send_request(:get, '/wallet/m/interest_rates', {})
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def markets
|
|
32
|
+
send_request(:get, '/markets', {})
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def currencies
|
|
36
|
+
send_request(:get, '/currencies', {})
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def timestamp
|
|
40
|
+
send_request(:get, '/timestamp', {})
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def k(market, limit: 30, period: 1, timestamp: nil)
|
|
44
|
+
send_request(:get, '/k', market: market, limit: limit, period: period, timestamp: timestamp)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def depth(market, limit: 10, sort_by_price: true)
|
|
48
|
+
send_request(:get, '/depth', market: market, limit: limit, sort_by_price: sort_by_price)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def trades(market, timestamp: nil, limit: 50)
|
|
52
|
+
send_request(
|
|
53
|
+
:get,
|
|
54
|
+
'/trades',
|
|
55
|
+
market: market,
|
|
56
|
+
timestamp: timestamp,
|
|
57
|
+
limit: limit,
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def tickers
|
|
62
|
+
send_request(:get, '/tickers', {})
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def ticker(market)
|
|
66
|
+
send_request(:get, '/ticker', market: market)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module MaxExchangeApi
|
|
2
|
-
VERSION = '
|
|
3
|
-
end
|
|
1
|
+
module MaxExchangeApi
|
|
2
|
+
VERSION = '2.0.0'
|
|
3
|
+
end
|
data/lib/max_exchange_api.rb
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
require 'max_exchange_api/version'
|
|
2
2
|
require 'max_exchange_api/config'
|
|
3
|
-
require 'max_exchange_api/
|
|
4
|
-
require 'max_exchange_api/
|
|
3
|
+
require 'max_exchange_api/public_v2_api'
|
|
4
|
+
require 'max_exchange_api/public_v3_api'
|
|
5
|
+
require 'max_exchange_api/private_v2_api'
|
|
6
|
+
require 'max_exchange_api/private_v3_api'
|
data/max_exchange_api.gemspec
CHANGED
|
@@ -1,43 +1,42 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
-
require 'max_exchange_api/version'
|
|
5
|
-
|
|
6
|
-
Gem::Specification.new do |spec|
|
|
7
|
-
spec.name = 'max_exchange_api'
|
|
8
|
-
spec.version = MaxExchangeApi::VERSION
|
|
9
|
-
spec.authors = ['khiav reoy']
|
|
10
|
-
spec.email = ['
|
|
11
|
-
|
|
12
|
-
spec.summary = 'MAX Exchange API Ruby SDK'
|
|
13
|
-
spec.description = 'MAX Exchange API Ruby SDK'
|
|
14
|
-
spec.homepage = 'https://github.com/khiav223577/max_exchange_api'
|
|
15
|
-
spec.license = 'MIT'
|
|
16
|
-
|
|
17
|
-
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
|
18
|
-
# delete this section to allow pushing this gem to any host.
|
|
19
|
-
# if spec.respond_to?(:metadata)
|
|
20
|
-
# spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
|
|
21
|
-
# else
|
|
22
|
-
# raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
|
23
|
-
# end
|
|
24
|
-
|
|
25
|
-
spec.files = `git ls-files -z`.split("\x0").reject{|f| f.match(%r{^(test|spec|features)/}) }
|
|
26
|
-
spec.bindir = 'exe'
|
|
27
|
-
spec.executables = spec.files.grep(%r{^exe/}){|f| File.basename(f) }
|
|
28
|
-
spec.require_paths = ['lib']
|
|
29
|
-
spec.metadata = {
|
|
30
|
-
'homepage_uri' => 'https://github.com/khiav223577/max_exchange_api',
|
|
31
|
-
'changelog_uri' => 'https://github.com/khiav223577/max_exchange_api/blob/master/CHANGELOG.md',
|
|
32
|
-
'source_code_uri' => 'https://github.com/khiav223577/max_exchange_api',
|
|
33
|
-
'documentation_uri' => 'https://www.rubydoc.info/gems/max_exchange_api',
|
|
34
|
-
'bug_tracker_uri' => 'https://github.com/khiav223577/max_exchange_api/issues',
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
spec.add_development_dependency 'bundler', '>= 1.17', '< 3.x'
|
|
38
|
-
spec.add_development_dependency 'rake', '~> 12.0'
|
|
39
|
-
spec.add_development_dependency 'minitest', '~> 5.0'
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
end
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'max_exchange_api/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |spec|
|
|
7
|
+
spec.name = 'max_exchange_api'
|
|
8
|
+
spec.version = MaxExchangeApi::VERSION
|
|
9
|
+
spec.authors = ['khiav reoy']
|
|
10
|
+
spec.email = ['khiav223577@gmail.com']
|
|
11
|
+
|
|
12
|
+
spec.summary = 'MAX Exchange API Ruby SDK'
|
|
13
|
+
spec.description = 'MAX Exchange API Ruby SDK'
|
|
14
|
+
spec.homepage = 'https://github.com/khiav223577/max_exchange_api'
|
|
15
|
+
spec.license = 'MIT'
|
|
16
|
+
|
|
17
|
+
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
|
18
|
+
# delete this section to allow pushing this gem to any host.
|
|
19
|
+
# if spec.respond_to?(:metadata)
|
|
20
|
+
# spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
|
|
21
|
+
# else
|
|
22
|
+
# raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
|
23
|
+
# end
|
|
24
|
+
|
|
25
|
+
spec.files = `git ls-files -z`.split("\x0").reject{|f| f.match(%r{^(test|spec|features)/}) }
|
|
26
|
+
spec.bindir = 'exe'
|
|
27
|
+
spec.executables = spec.files.grep(%r{^exe/}){|f| File.basename(f) }
|
|
28
|
+
spec.require_paths = ['lib']
|
|
29
|
+
spec.metadata = {
|
|
30
|
+
'homepage_uri' => 'https://github.com/khiav223577/max_exchange_api',
|
|
31
|
+
'changelog_uri' => 'https://github.com/khiav223577/max_exchange_api/blob/master/CHANGELOG.md',
|
|
32
|
+
'source_code_uri' => 'https://github.com/khiav223577/max_exchange_api',
|
|
33
|
+
'documentation_uri' => 'https://www.rubydoc.info/gems/max_exchange_api',
|
|
34
|
+
'bug_tracker_uri' => 'https://github.com/khiav223577/max_exchange_api/issues',
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
spec.add_development_dependency 'bundler', '>= 1.17', '< 3.x'
|
|
38
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
|
39
|
+
spec.add_development_dependency 'minitest', '~> 5.0'
|
|
40
|
+
|
|
41
|
+
spec.add_dependency 'httparty', '>= 0.18.1'
|
|
42
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: max_exchange_api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- khiav reoy
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: bundler
|
|
@@ -58,20 +57,6 @@ dependencies:
|
|
|
58
57
|
- - "~>"
|
|
59
58
|
- !ruby/object:Gem::Version
|
|
60
59
|
version: '5.0'
|
|
61
|
-
- !ruby/object:Gem::Dependency
|
|
62
|
-
name: minitest-color
|
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - "~>"
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: 0.0.2
|
|
68
|
-
type: :development
|
|
69
|
-
prerelease: false
|
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
-
requirements:
|
|
72
|
-
- - "~>"
|
|
73
|
-
- !ruby/object:Gem::Version
|
|
74
|
-
version: 0.0.2
|
|
75
60
|
- !ruby/object:Gem::Dependency
|
|
76
61
|
name: httparty
|
|
77
62
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -88,7 +73,7 @@ dependencies:
|
|
|
88
73
|
version: 0.18.1
|
|
89
74
|
description: MAX Exchange API Ruby SDK
|
|
90
75
|
email:
|
|
91
|
-
-
|
|
76
|
+
- khiav223577@gmail.com
|
|
92
77
|
executables: []
|
|
93
78
|
extensions: []
|
|
94
79
|
extra_rdoc_files: []
|
|
@@ -103,13 +88,37 @@ files:
|
|
|
103
88
|
- Rakefile
|
|
104
89
|
- bin/console
|
|
105
90
|
- bin/setup
|
|
91
|
+
- gemfiles/2.2.gemfile
|
|
106
92
|
- gemfiles/Gemfile
|
|
107
93
|
- lib/max_exchange_api.rb
|
|
108
94
|
- lib/max_exchange_api/base_api.rb
|
|
109
95
|
- lib/max_exchange_api/config.rb
|
|
110
96
|
- lib/max_exchange_api/helper.rb
|
|
111
97
|
- lib/max_exchange_api/private_api.rb
|
|
98
|
+
- lib/max_exchange_api/private_v2/account_api.rb
|
|
99
|
+
- lib/max_exchange_api/private_v2/deposit_api.rb
|
|
100
|
+
- lib/max_exchange_api/private_v2/internal_transfer_api.rb
|
|
101
|
+
- lib/max_exchange_api/private_v2/order_api.rb
|
|
102
|
+
- lib/max_exchange_api/private_v2/reward_api.rb
|
|
103
|
+
- lib/max_exchange_api/private_v2/trade_api.rb
|
|
104
|
+
- lib/max_exchange_api/private_v2/user_api.rb
|
|
105
|
+
- lib/max_exchange_api/private_v2/withdraw_api.rb
|
|
106
|
+
- lib/max_exchange_api/private_v2_api.rb
|
|
107
|
+
- lib/max_exchange_api/private_v3/account_api.rb
|
|
108
|
+
- lib/max_exchange_api/private_v3/convert_api.rb
|
|
109
|
+
- lib/max_exchange_api/private_v3/deposit_api.rb
|
|
110
|
+
- lib/max_exchange_api/private_v3/internal_transfer_api.rb
|
|
111
|
+
- lib/max_exchange_api/private_v3/m_wallet_api.rb
|
|
112
|
+
- lib/max_exchange_api/private_v3/order_api.rb
|
|
113
|
+
- lib/max_exchange_api/private_v3/reward_api.rb
|
|
114
|
+
- lib/max_exchange_api/private_v3/sub_account_api.rb
|
|
115
|
+
- lib/max_exchange_api/private_v3/trade_api.rb
|
|
116
|
+
- lib/max_exchange_api/private_v3/user_api.rb
|
|
117
|
+
- lib/max_exchange_api/private_v3/withdraw_api.rb
|
|
118
|
+
- lib/max_exchange_api/private_v3_api.rb
|
|
112
119
|
- lib/max_exchange_api/public_api.rb
|
|
120
|
+
- lib/max_exchange_api/public_v2_api.rb
|
|
121
|
+
- lib/max_exchange_api/public_v3_api.rb
|
|
113
122
|
- lib/max_exchange_api/version.rb
|
|
114
123
|
- max_exchange_api.gemspec
|
|
115
124
|
homepage: https://github.com/khiav223577/max_exchange_api
|
|
@@ -121,7 +130,6 @@ metadata:
|
|
|
121
130
|
source_code_uri: https://github.com/khiav223577/max_exchange_api
|
|
122
131
|
documentation_uri: https://www.rubydoc.info/gems/max_exchange_api
|
|
123
132
|
bug_tracker_uri: https://github.com/khiav223577/max_exchange_api/issues
|
|
124
|
-
post_install_message:
|
|
125
133
|
rdoc_options: []
|
|
126
134
|
require_paths:
|
|
127
135
|
- lib
|
|
@@ -136,8 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
136
144
|
- !ruby/object:Gem::Version
|
|
137
145
|
version: '0'
|
|
138
146
|
requirements: []
|
|
139
|
-
rubygems_version:
|
|
140
|
-
signing_key:
|
|
147
|
+
rubygems_version: 4.0.8
|
|
141
148
|
specification_version: 4
|
|
142
149
|
summary: MAX Exchange API Ruby SDK
|
|
143
150
|
test_files: []
|