binance_client 0.2.0 → 1.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1979b92bdf48a6a492d2c5f5c27647ff62de6b9fc76b0660aca4dba66883b4f2
4
- data.tar.gz: 269d45355ff17b2aaca147f291a21d4020ebdfabca11320984431c1f28590a76
3
+ metadata.gz: 52c8b1596a4976bc9b6e2743fad40d6e33d050f6a614bcb550128ce29bb97d00
4
+ data.tar.gz: 2cb12b4ad491d438303a745e357793f4c2d9df97d66c05fd59226f2649e7b492
5
5
  SHA512:
6
- metadata.gz: c0d171109402441c2090aa2bd4f44d339cd95d1205ef5e0af0ed5365aa5f577a5b0ed8ba2647c84fc19c223b3404635dc147494f142844f2d0eff7f4418aea00
7
- data.tar.gz: 528e987310452cf0b2d06d4313c2fb99170a9eb6f1cf35b087aa0c821b91cae8d8d150274f48f41fd9a734480c27acaa2caa8f21fde95991e3dad1679cd58cd1
6
+ metadata.gz: cd519eeaff647220d99d6abea75054cc1eae2fd2dea9f6733d44afb4c40977957aeb74e8720bda35f5d159fff28d4092a0bb1c6fcddc3995bdc8bb84d5a4ccda
7
+ data.tar.gz: 0d4570d268372084d100619469064d6ae5f364e63b99d6c0063f6bb4b68f1b6dad84a94bccd15d1308361a7bfe72371791e2a27f5f3a97465217f200f076a931
@@ -0,0 +1,31 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Ruby
9
+
10
+ on:
11
+ push:
12
+ branches: [ master ]
13
+ pull_request:
14
+ branches: [ master ]
15
+
16
+ jobs:
17
+ test:
18
+
19
+ runs-on: ubuntu-latest
20
+
21
+ steps:
22
+ - uses: actions/checkout@v2
23
+ - uses: actions/setup-ruby@v1
24
+ with:
25
+ ruby-version: '2.7'
26
+ - name: Install dependencies
27
+ run: bundle install
28
+ - name: Setup config
29
+ run: cp spec/config.yml{.sample,}
30
+ - name: Run tests
31
+ run: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -1,18 +1,37 @@
1
- <a name="v0.2.0"></a>
2
- ### v0.2.0 (2020-09-14)
3
-
4
-
5
- #### Features
6
-
7
- * enable vcr for other tests ([aaf2fbb](/../../commit/aaf2fbb))
8
- * add book_ticker endpoint ([bc7c896](/../../commit/bc7c896))
9
- * added get_all endpoint ([b22fa3f](/../../commit/b22fa3f))
10
- * add account_snapshot endpoint ([e64826a](/../../commit/e64826a))
11
- * add system_status endpoint ([fbc3c36](/../../commit/fbc3c36))
12
-
13
-
14
- #### Bug Fixes
15
-
16
- * ignore non deterministic part of the url ([647a822](/../../commit/647a822))
17
-
18
-
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [1.3.0] - 2021-11-29
8
+ ### Added
9
+ - Add proxy support
10
+
11
+ ## [1.2.0] - 2021-11-26
12
+ ### Added
13
+ - Allow easy access to the `used_weight` header in a response by calling `#used_weight(interval)`
14
+ - `#sub_account_assets` to get the assets of a sub-account
15
+ - `#body_code` to return the value of "code" in the body, if it exists
16
+ - `#message` to return the value of "message" in the body, if it exists
17
+
18
+ ## [1.1.0]
19
+ ### Added
20
+ - `order_book_depth` (`/api/v3/depth`) to get a snapshot of the order book
21
+
22
+ ## [1.0.0]
23
+ ### Fixed
24
+ - Avoid "Signature for this request is not valid" errors by using the same timestamp
25
+ - Remove pry as a development dependency
26
+
27
+ ## [0.2.0] - 2020-09-14
28
+ ### Added
29
+
30
+ - [enable vcr for other tests](/../../commit/aaf2fbb))
31
+ - [add book_ticker endpoint](/../../commit/bc7c896))
32
+ - [added get_all endpoint](/../../commit/b22fa3f))
33
+ - [add account_snapshot endpoint](/../../commit/e64826a))
34
+ - [add system_status endpoint](/../../commit/fbc3c36))
35
+
36
+ ### Fixed
37
+ - [ignore non deterministic part of the url](/../../commit/647a822))
data/Gemfile CHANGED
@@ -5,3 +5,4 @@ gemspec
5
5
 
6
6
  gem "rake", "~> 12.0"
7
7
  gem "rspec", "~> 3.0"
8
+ gem "pry-byebug"
data/Gemfile.lock CHANGED
@@ -1,23 +1,23 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- binance_client (0.1.0)
4
+ binance_client (1.3.0)
5
5
  activesupport
6
- api_client_base
6
+ api_client_base (~> 1.11)
7
7
  typhoeus
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (6.0.3.3)
12
+ activesupport (6.1.4.1)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (>= 0.7, < 2)
15
- minitest (~> 5.1)
16
- tzinfo (~> 1.1)
17
- zeitwerk (~> 2.2, >= 2.2.2)
14
+ i18n (>= 1.6, < 2)
15
+ minitest (>= 5.1)
16
+ tzinfo (~> 2.0)
17
+ zeitwerk (~> 2.3)
18
18
  addressable (2.7.0)
19
19
  public_suffix (>= 2.0.2, < 5.0)
20
- api_client_base (1.9.0)
20
+ api_client_base (1.11.0)
21
21
  activesupport (>= 3.0)
22
22
  gem_config (>= 0.3.1)
23
23
  virtus (>= 1.0)
@@ -25,29 +25,32 @@ GEM
25
25
  descendants_tracker (~> 0.0.4)
26
26
  ice_nine (~> 0.11.0)
27
27
  thread_safe (~> 0.3, >= 0.3.1)
28
+ byebug (11.1.3)
28
29
  coderay (1.1.3)
29
30
  coercible (1.0.0)
30
31
  descendants_tracker (~> 0.0.1)
31
- concurrent-ruby (1.1.7)
32
+ concurrent-ruby (1.1.9)
32
33
  crack (0.4.3)
33
34
  safe_yaml (~> 1.0.0)
34
35
  descendants_tracker (0.0.4)
35
36
  thread_safe (~> 0.3, >= 0.3.1)
36
37
  diff-lcs (1.4.4)
37
- equalizer (0.0.11)
38
- ethon (0.12.0)
39
- ffi (>= 1.3.0)
40
- ffi (1.13.1)
38
+ ethon (0.15.0)
39
+ ffi (>= 1.15.0)
40
+ ffi (1.15.4)
41
41
  gem_config (0.3.2)
42
42
  hashdiff (1.0.1)
43
- i18n (1.8.5)
43
+ i18n (1.8.11)
44
44
  concurrent-ruby (~> 1.0)
45
45
  ice_nine (0.11.2)
46
46
  method_source (1.0.0)
47
- minitest (5.14.2)
47
+ minitest (5.14.4)
48
48
  pry (0.13.1)
49
49
  coderay (~> 1.1)
50
50
  method_source (~> 1.0)
51
+ pry-byebug (3.9.0)
52
+ byebug (~> 11.0)
53
+ pry (~> 0.13.0)
51
54
  public_suffix (4.0.6)
52
55
  rake (12.3.3)
53
56
  rspec (3.9.0)
@@ -59,6 +62,9 @@ GEM
59
62
  rspec-expectations (3.9.2)
60
63
  diff-lcs (>= 1.2.0, < 2.0)
61
64
  rspec-support (~> 3.9.0)
65
+ rspec-its (1.3.0)
66
+ rspec-core (>= 3.0.0)
67
+ rspec-expectations (>= 3.0.0)
62
68
  rspec-mocks (3.9.1)
63
69
  diff-lcs (>= 1.2.0, < 2.0)
64
70
  rspec-support (~> 3.9.0)
@@ -67,30 +73,30 @@ GEM
67
73
  thread_safe (0.3.6)
68
74
  typhoeus (1.4.0)
69
75
  ethon (>= 0.9.0)
70
- tzinfo (1.2.7)
71
- thread_safe (~> 0.1)
76
+ tzinfo (2.0.4)
77
+ concurrent-ruby (~> 1.0)
72
78
  vcr (6.0.0)
73
- virtus (1.0.5)
79
+ virtus (2.0.0)
74
80
  axiom-types (~> 0.1)
75
81
  coercible (~> 1.0)
76
82
  descendants_tracker (~> 0.0, >= 0.0.3)
77
- equalizer (~> 0.0, >= 0.0.9)
78
83
  webmock (3.9.1)
79
84
  addressable (>= 2.3.6)
80
85
  crack (>= 0.3.2)
81
86
  hashdiff (>= 0.4.0, < 2.0.0)
82
- zeitwerk (2.4.0)
87
+ zeitwerk (2.5.1)
83
88
 
84
89
  PLATFORMS
85
90
  ruby
86
91
 
87
92
  DEPENDENCIES
88
93
  binance_client!
89
- pry
94
+ pry-byebug
90
95
  rake (~> 12.0)
91
96
  rspec (~> 3.0)
97
+ rspec-its
92
98
  vcr
93
99
  webmock
94
100
 
95
101
  BUNDLED WITH
96
- 2.1.4
102
+ 2.2.28
data/README.md CHANGED
@@ -21,8 +21,8 @@ Or install it yourself as:
21
21
  ## Authenticate
22
22
  ```
23
23
  client = BinanceClient.new(
24
- api_key: "your-api-key",
25
- api_secret: "your-api-secret"
24
+ api_key: "your-api-key",
25
+ api_secret: "your-api-secret"
26
26
  )
27
27
  ```
28
28
 
@@ -36,18 +36,40 @@ client.system_status
36
36
  client.account_snapshot
37
37
  client.get_all
38
38
  client.book_ticker(symbol: "BTCETH")
39
+ client.order_book_depth(symbol: "BTCUSDT", limit: 100)
39
40
  ```
40
41
 
41
42
  ## Responses
42
43
  The default representation of response data is a JSON hash
43
44
 
45
+ ## Hooks
46
+ You can set a hook to do application-specific things per request. This is useful when monitoring the rate limits:
47
+
48
+ ```ruby
49
+ BinanceClient.configuration.after_response = DoSomethingAfterBinanceResponse
50
+ ```
51
+
52
+ What you assign can be a proc -- it just needs to respond to `call` and accept the `BinanceClient` response object:
53
+
54
+ ```ruby
55
+ class DoSomethingAfterBinanceResponse
56
+
57
+ def self.call(request, response)
58
+ one_minute_weight = response.used_weight("1m")
59
+ if one_minute_weight > 1200
60
+ Rails.logger.info "Looks like we've hit the request limit!"
61
+ end
62
+ end
63
+
64
+ end
65
+ ```
44
66
 
45
67
  ## Development
46
68
  Edit the `config.yml.sample` with your own credentials for testing
47
69
 
48
70
  ## Contributing
49
71
 
50
- Bug reports and pull requests are welcome on GitHub at https://github.com/iamajvillalobos/binance_client. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/iamajvillalobos/binance_client/blob/master/CODE_OF_CONDUCT.md).
72
+ Bug reports and pull requests are welcome on GitHub at https://github.com/bloom-solutions/binance_client. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/bloom-solutions/binance_client/blob/master/CODE_OF_CONDUCT.md).
51
73
 
52
74
 
53
75
  ## License
@@ -56,4 +78,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
56
78
 
57
79
  ## Code of Conduct
58
80
 
59
- Everyone interacting in the BinanceClient project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/iamajvillalobos/binance_client/blob/master/CODE_OF_CONDUCT.md).
81
+ Everyone interacting in the BinanceClient project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/bloom-solutions/binance_client/blob/master/CODE_OF_CONDUCT.md).
@@ -8,13 +8,13 @@ Gem::Specification.new do |spec|
8
8
 
9
9
  spec.summary = "Ruby wrapper for Binance API"
10
10
  spec.description = "Ruby wrapper for Binance API"
11
- spec.homepage = "https://github.com/iamajvillalobos/binance_client-ruby"
11
+ spec.homepage = "https://github.com/bloom-solutions/binance_client-ruby"
12
12
  spec.license = "MIT"
13
13
  spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
14
14
 
15
15
  spec.metadata["homepage_uri"] = spec.homepage
16
- spec.metadata["source_code_uri"] = "https://github.com/iamajvillalobos/binance_client-ruby"
17
- spec.metadata["changelog_uri"] = "https://github.com/iamajvillalobos/binance_client-ruby/CHANGELOG.md"
16
+ spec.metadata["source_code_uri"] = "https://github.com/bloom-solutions/binance_client-ruby"
17
+ spec.metadata["changelog_uri"] = "https://github.com/bloom-solutions/binance_client-ruby/CHANGELOG.md"
18
18
 
19
19
  # Specify which files should be added to the gem when it is released.
20
20
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -25,11 +25,11 @@ Gem::Specification.new do |spec|
25
25
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
26
  spec.require_paths = ["lib"]
27
27
 
28
- spec.add_dependency "api_client_base"
28
+ spec.add_dependency "api_client_base", "~> 1.11"
29
29
  spec.add_dependency "activesupport"
30
30
  spec.add_dependency "typhoeus"
31
-
32
- spec.add_development_dependency "pry"
31
+
33
32
  spec.add_development_dependency "vcr"
34
33
  spec.add_development_dependency "webmock"
34
+ spec.add_development_dependency "rspec-its"
35
35
  end
@@ -6,15 +6,18 @@ module BinanceClient
6
6
  api_action :account_snapshot
7
7
  api_action :get_all
8
8
  api_action :book_ticker
9
+ api_action :order_book_depth
10
+ api_action :sub_account_assets, args: [:email]
9
11
 
10
12
  attribute :host
11
13
  attribute :api_key
12
14
  attribute :api_secret
15
+ attribute :proxy
13
16
 
14
17
  private
15
18
 
16
19
  def default_opts
17
- {host: host, api_key: api_key, api_secret: api_secret}
20
+ {host: host, api_key: api_key, api_secret: api_secret, proxy: proxy}
18
21
  end
19
22
  end
20
23
  end
@@ -0,0 +1,21 @@
1
+ module BinanceClient
2
+ class AssetBalance
3
+
4
+ attr_reader :asset
5
+
6
+ def initialize(asset:, free:, locked:)
7
+ @asset = asset
8
+ @free = free
9
+ @locked = locked
10
+ end
11
+
12
+ def free
13
+ @free.to_d
14
+ end
15
+
16
+ def locked
17
+ @locked.to_d
18
+ end
19
+
20
+ end
21
+ end
@@ -0,0 +1,7 @@
1
+ module BinanceClient
2
+ class BaseModel
3
+
4
+ include Virtus.model
5
+
6
+ end
7
+ end
@@ -0,0 +1,40 @@
1
+ module BinanceClient
2
+ class OrderBook < BaseModel
3
+
4
+ attribute :body, Hash
5
+ attribute(:last_update_id, Integer, {
6
+ lazy: true,
7
+ default: :default_last_update_id,
8
+ })
9
+ attribute(:bids, Array[BinanceClient::OrderBookEntry], {
10
+ lazy: true,
11
+ default: :default_bids,
12
+ })
13
+ attribute(:asks, Array[BinanceClient::OrderBookEntry], {
14
+ lazy: true,
15
+ default: :default_asks,
16
+ })
17
+
18
+ def default_last_update_id
19
+ body["lastUpdateId"]
20
+ end
21
+
22
+ def default_bids
23
+ _entries_from body["bids"]
24
+ end
25
+
26
+ def default_asks
27
+ _entries_from body["asks"]
28
+ end
29
+
30
+ private
31
+
32
+ def _entries_from(array)
33
+ array.map do |raw_entry|
34
+ price, quantity = raw_entry
35
+ OrderBookEntry.new(price: price, quantity: quantity)
36
+ end
37
+ end
38
+
39
+ end
40
+ end
@@ -0,0 +1,8 @@
1
+ module BinanceClient
2
+ class OrderBookEntry < BaseModel
3
+
4
+ attribute :price, BigDecimal
5
+ attribute :quantity, BigDecimal
6
+
7
+ end
8
+ end
@@ -1,28 +1,14 @@
1
1
  module BinanceClient
2
- class AccountSnapshotRequest < BaseRequest
2
+ class AccountSnapshotRequest < AuthenticatedBaseRequest
3
3
  private
4
4
 
5
5
  def path
6
6
  "/sapi/v1/accountSnapshot"
7
7
  end
8
8
 
9
- def params
10
- type = "SPOT"
11
- limit = 30
12
- query = query(type: type, limit: limit)
13
-
14
- [
15
- query,
16
- "signature=#{signature(query)}"
17
- ].join("&")
9
+ def params_without_signature
10
+ { type: "SPOT", limit: 30 }
18
11
  end
19
12
 
20
- def query(options={})
21
- [
22
- "type=#{options[:type]}",
23
- "timestamp=#{timestamp}",
24
- "limit=#{options[:limit]}",
25
- ].join("&")
26
- end
27
13
  end
28
14
  end
@@ -0,0 +1,34 @@
1
+ module BinanceClient
2
+ class AuthenticatedBaseRequest < BaseRequest
3
+ include APIClientBase::Request.module
4
+
5
+ def signature
6
+ OpenSSL::HMAC.hexdigest(
7
+ OpenSSL::Digest.new("sha256"),
8
+ api_secret,
9
+ params_without_signature_with_timestamp.to_query,
10
+ )
11
+ end
12
+
13
+ def signature_hash
14
+ { signature: signature }
15
+ end
16
+
17
+ def timestamp
18
+ @timestamp ||= DateTime.now.strftime("%Q")
19
+ end
20
+
21
+ def params
22
+ params_without_signature_with_timestamp.merge(signature_hash).to_query
23
+ end
24
+
25
+ def params_without_signature_with_timestamp
26
+ params_without_signature.merge(timestamp: timestamp)
27
+ end
28
+
29
+ def params_without_signature
30
+ {}
31
+ end
32
+
33
+ end
34
+ end
@@ -12,16 +12,5 @@ module BinanceClient
12
12
  }
13
13
  end
14
14
 
15
- def signature(query)
16
- OpenSSL::HMAC.hexdigest(
17
- OpenSSL::Digest.new("sha256"),
18
- api_secret,
19
- query,
20
- )
21
- end
22
-
23
- def timestamp
24
- DateTime.now.strftime("%Q")
25
- end
26
15
  end
27
16
  end
@@ -1,20 +1,10 @@
1
1
  module BinanceClient
2
- class GetAllRequest < BaseRequest
2
+ class GetAllRequest < AuthenticatedBaseRequest
3
3
  private
4
4
 
5
5
  def path
6
6
  "/sapi/v1/capital/config/getall"
7
7
  end
8
8
 
9
- def query
10
- "timestamp=#{timestamp}"
11
- end
12
-
13
- def params
14
- [
15
- query,
16
- "signature=#{signature(query)}"
17
- ].join("&")
18
- end
19
9
  end
20
- end
10
+ end
@@ -0,0 +1,18 @@
1
+ module BinanceClient
2
+ class OrderBookDepthRequest < BaseRequest
3
+
4
+ attribute :symbol, String
5
+ attribute :limit, Integer
6
+
7
+ def path
8
+ "/api/v3/depth"
9
+ end
10
+
11
+ def params
12
+ h = {symbol: symbol}
13
+ h[:limit] = limit if not limit.nil?
14
+ h.to_query
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ module BinanceClient
2
+ class SubAccountAssetsRequest < AuthenticatedBaseRequest
3
+ attribute :email
4
+
5
+ private
6
+
7
+ def path
8
+ "/sapi/v3/sub-account/assets"
9
+ end
10
+
11
+ def params_without_signature
12
+ {email: email}
13
+ end
14
+ end
15
+ end
@@ -2,12 +2,29 @@ module BinanceClient
2
2
  class BaseResponse
3
3
  include APIClientBase::Response.module
4
4
 
5
- attribute :body, Object, default: :default_body
5
+ attribute :body, Object, lazy: true, default: :default_body
6
+
7
+ def used_weight(interval)
8
+ val = header("X-MBX-USED-WEIGHT-#{interval}")
9
+ return nil if val.nil?
10
+ val.to_i
11
+ end
12
+
13
+ def message
14
+ body["message"]
15
+ end
16
+
17
+ def body_code
18
+ val = body["code"]
19
+ return nil if val.nil?
20
+ val.to_i
21
+ end
6
22
 
7
23
  private
8
24
 
9
25
  def default_body
10
26
  JSON.parse(raw_response.body)
11
27
  end
28
+
12
29
  end
13
30
  end
@@ -0,0 +1,14 @@
1
+ module BinanceClient
2
+ class OrderBookDepthResponse < BaseResponse
3
+
4
+ attribute(:order_book, BinanceClient::OrderBook, {
5
+ lazy: true,
6
+ default: :default_order_book,
7
+ })
8
+
9
+ def default_order_book
10
+ OrderBook.new(body: body)
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ module BinanceClient
2
+ class SubAccountAssetsResponse < BaseResponse
3
+
4
+ attribute(:balances, Array[BinanceClient::AssetBalance], {
5
+ lazy: true,
6
+ default: :default_balances,
7
+ })
8
+
9
+ def default_balances
10
+ body["balances"].map do |balance_hash|
11
+ AssetBalance.new(**balance_hash.symbolize_keys)
12
+ end
13
+ end
14
+
15
+ end
16
+ end
@@ -1,3 +1,3 @@
1
1
  module BinanceClient
2
- VERSION = "0.2.0"
2
+ VERSION = "1.3.0"
3
3
  end
@@ -7,16 +7,26 @@ require "openssl"
7
7
 
8
8
  require "binance_client/client"
9
9
 
10
+ require "binance_client/models/base_model"
11
+ require "binance_client/models/order_book_entry"
12
+ require "binance_client/models/order_book"
13
+ require "binance_client/models/asset_balance"
14
+
10
15
  require "binance_client/requests/base_request"
16
+ require "binance_client/requests/authenticated_base_request"
11
17
  require "binance_client/responses/base_response"
12
18
  require "binance_client/requests/system_status_request"
13
19
  require "binance_client/requests/account_snapshot_request"
14
20
  require "binance_client/requests/get_all_request"
15
21
  require "binance_client/requests/book_ticker_request"
22
+ require "binance_client/requests/order_book_depth_request"
23
+ require "binance_client/requests/sub_account_assets_request"
16
24
  require "binance_client/responses/system_status_response"
17
25
  require "binance_client/responses/account_snapshot_response"
18
26
  require "binance_client/responses/get_all_response"
19
27
  require "binance_client/responses/book_ticker_response"
28
+ require "binance_client/responses/order_book_depth_response"
29
+ require "binance_client/responses/sub_account_assets_response"
20
30
 
21
31
  module BinanceClient
22
32
  class Error < StandardError; end
@@ -29,5 +39,6 @@ module BinanceClient
29
39
  has :host, classes: String, default: DEFAULT_HOST
30
40
  has :api_key, classes: String
31
41
  has :api_secret, classes: String
42
+ has :proxy
32
43
  end
33
44
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: binance_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - AJ Villalobos
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-14 00:00:00.000000000 Z
11
+ date: 2021-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: api_client_base
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '1.11'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '1.11'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: pry
56
+ name: vcr
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: vcr
70
+ name: webmock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: webmock
84
+ name: rspec-its
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -101,9 +101,9 @@ executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
+ - ".github/workflows/ruby.yml"
104
105
  - ".gitignore"
105
106
  - ".rspec"
106
- - ".travis.yml"
107
107
  - CHANGELOG.md
108
108
  - CODE_OF_CONDUCT.md
109
109
  - Gemfile
@@ -116,25 +116,34 @@ files:
116
116
  - binance_client.gemspec
117
117
  - lib/binance_client.rb
118
118
  - lib/binance_client/client.rb
119
+ - lib/binance_client/models/asset_balance.rb
120
+ - lib/binance_client/models/base_model.rb
121
+ - lib/binance_client/models/order_book.rb
122
+ - lib/binance_client/models/order_book_entry.rb
119
123
  - lib/binance_client/requests/account_snapshot_request.rb
124
+ - lib/binance_client/requests/authenticated_base_request.rb
120
125
  - lib/binance_client/requests/base_request.rb
121
126
  - lib/binance_client/requests/book_ticker_request.rb
122
127
  - lib/binance_client/requests/get_all_request.rb
128
+ - lib/binance_client/requests/order_book_depth_request.rb
129
+ - lib/binance_client/requests/sub_account_assets_request.rb
123
130
  - lib/binance_client/requests/system_status_request.rb
124
131
  - lib/binance_client/responses/account_snapshot_response.rb
125
132
  - lib/binance_client/responses/base_response.rb
126
133
  - lib/binance_client/responses/book_ticker_response.rb
127
134
  - lib/binance_client/responses/get_all_response.rb
135
+ - lib/binance_client/responses/order_book_depth_response.rb
136
+ - lib/binance_client/responses/sub_account_assets_response.rb
128
137
  - lib/binance_client/responses/system_status_response.rb
129
138
  - lib/binance_client/version.rb
130
- homepage: https://github.com/iamajvillalobos/binance_client-ruby
139
+ homepage: https://github.com/bloom-solutions/binance_client-ruby
131
140
  licenses:
132
141
  - MIT
133
142
  metadata:
134
- homepage_uri: https://github.com/iamajvillalobos/binance_client-ruby
135
- source_code_uri: https://github.com/iamajvillalobos/binance_client-ruby
136
- changelog_uri: https://github.com/iamajvillalobos/binance_client-ruby/CHANGELOG.md
137
- post_install_message:
143
+ homepage_uri: https://github.com/bloom-solutions/binance_client-ruby
144
+ source_code_uri: https://github.com/bloom-solutions/binance_client-ruby
145
+ changelog_uri: https://github.com/bloom-solutions/binance_client-ruby/CHANGELOG.md
146
+ post_install_message:
138
147
  rdoc_options: []
139
148
  require_paths:
140
149
  - lib
@@ -149,8 +158,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
158
  - !ruby/object:Gem::Version
150
159
  version: '0'
151
160
  requirements: []
152
- rubygems_version: 3.1.2
153
- signing_key:
161
+ rubygems_version: 3.1.6
162
+ signing_key:
154
163
  specification_version: 4
155
164
  summary: Ruby wrapper for Binance API
156
165
  test_files: []
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.7.1
6
- before_install: gem install bundler -v 2.1.4