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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +43 -46
  3. data/.gitignore +62 -62
  4. data/.rubocop.yml +1227 -1227
  5. data/CHANGELOG.md +5 -0
  6. data/CODE_OF_CONDUCT.md +49 -49
  7. data/LICENSE +21 -21
  8. data/README.md +993 -368
  9. data/Rakefile +10 -10
  10. data/bin/console +14 -14
  11. data/bin/setup +0 -0
  12. data/gemfiles/2.2.gemfile +11 -0
  13. data/gemfiles/Gemfile +10 -10
  14. data/lib/max_exchange_api/base_api.rb +52 -52
  15. data/lib/max_exchange_api/config.rb +26 -26
  16. data/lib/max_exchange_api/helper.rb +9 -2
  17. data/lib/max_exchange_api/private_api.rb +4 -218
  18. data/lib/max_exchange_api/private_v2/account_api.rb +15 -0
  19. data/lib/max_exchange_api/private_v2/deposit_api.rb +75 -0
  20. data/lib/max_exchange_api/private_v2/internal_transfer_api.rb +26 -0
  21. data/lib/max_exchange_api/private_v2/order_api.rb +55 -0
  22. data/lib/max_exchange_api/private_v2/reward_api.rb +40 -0
  23. data/lib/max_exchange_api/private_v2/trade_api.rb +28 -0
  24. data/lib/max_exchange_api/private_v2/user_api.rb +19 -0
  25. data/lib/max_exchange_api/private_v2/withdraw_api.rb +42 -0
  26. data/lib/max_exchange_api/private_v2_api.rb +26 -0
  27. data/lib/max_exchange_api/private_v3/account_api.rb +15 -0
  28. data/lib/max_exchange_api/private_v3/convert_api.rb +29 -0
  29. data/lib/max_exchange_api/private_v3/deposit_api.rb +26 -0
  30. data/lib/max_exchange_api/private_v3/internal_transfer_api.rb +19 -0
  31. data/lib/max_exchange_api/private_v3/m_wallet_api.rb +76 -0
  32. data/lib/max_exchange_api/private_v3/order_api.rb +82 -0
  33. data/lib/max_exchange_api/private_v3/reward_api.rb +19 -0
  34. data/lib/max_exchange_api/private_v3/sub_account_api.rb +31 -0
  35. data/lib/max_exchange_api/private_v3/trade_api.rb +27 -0
  36. data/lib/max_exchange_api/private_v3/user_api.rb +11 -0
  37. data/lib/max_exchange_api/private_v3/withdraw_api.rb +35 -0
  38. data/lib/max_exchange_api/private_v3_api.rb +32 -0
  39. data/lib/max_exchange_api/public_api.rb +13 -72
  40. data/lib/max_exchange_api/public_v2_api.rb +65 -0
  41. data/lib/max_exchange_api/public_v3_api.rb +69 -0
  42. data/lib/max_exchange_api/version.rb +3 -3
  43. data/lib/max_exchange_api.rb +4 -2
  44. data/max_exchange_api.gemspec +42 -43
  45. 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 = '1.3.0'
3
- end
1
+ module MaxExchangeApi
2
+ VERSION = '2.0.0'
3
+ end
@@ -1,4 +1,6 @@
1
1
  require 'max_exchange_api/version'
2
2
  require 'max_exchange_api/config'
3
- require 'max_exchange_api/public_api'
4
- require 'max_exchange_api/private_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'
@@ -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 = ['mrtmrt15xn@yahoo.com.tw']
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
- spec.add_development_dependency 'minitest-color', '~> 0.0.2'
41
-
42
- spec.add_dependency 'httparty', '>= 0.18.1'
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: 1.3.0
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: 2021-11-29 00:00:00.000000000 Z
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
- - mrtmrt15xn@yahoo.com.tw
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: 3.2.14
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: []