binance_client 1.1.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/CHANGELOG.md +27 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +10 -7
- data/README.md +25 -0
- data/binance_client.gemspec +1 -1
- data/lib/binance_client/client.rb +12 -1
- data/lib/binance_client/factories.rb +13 -0
- data/lib/binance_client/models/asset_balance.rb +21 -0
- data/lib/binance_client/models/deposit_address.rb +28 -0
- data/lib/binance_client/requests/account_request.rb +10 -0
- data/lib/binance_client/requests/account_snapshot_request.rb +3 -17
- data/lib/binance_client/requests/authenticated_base_request.rb +39 -0
- data/lib/binance_client/requests/base_request.rb +0 -12
- data/lib/binance_client/requests/get_all_request.rb +1 -16
- data/lib/binance_client/requests/sub_account_assets_request.rb +15 -0
- data/lib/binance_client/requests/sub_account_deposit_address_request.rb +25 -0
- data/lib/binance_client/responses/account_response.rb +29 -0
- data/lib/binance_client/responses/base_response.rb +20 -1
- data/lib/binance_client/responses/sub_account_assets_response.rb +16 -0
- data/lib/binance_client/responses/sub_account_deposit_address_response.rb +14 -0
- data/lib/binance_client/version.rb +1 -1
- data/lib/binance_client.rb +12 -0
- metadata +16 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16763512a190393e8a071e5e0840de77416ec615e91edf8f86cc1b897ca40c4b
|
4
|
+
data.tar.gz: e30373d8442ad67cd59a43bd5e4c1c97b8bf93724d2a1d0820d02363ae7387d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a92884dc017a7a2ae3b868acd953eb7c89e95f08e537176e7298fff4112f5acb6c4582f73156fb7b4a99b9c7523b0e57a5219a423e4903ea38052f1a03ba8186
|
7
|
+
data.tar.gz: cf6a0272acc771014477ed8946a293c688a5a5679814f4f96d24cdf09fbd605843d0bfce113a2ae819f4d969f85e5331f758b72299fccbd08f32bb1c57f26672
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,33 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
|
+
## [1.5.0]
|
8
|
+
### Changed
|
9
|
+
- Remove `used_weight` from responses
|
10
|
+
|
11
|
+
### Added
|
12
|
+
- `recv_window` configuration to set `recvWindow`
|
13
|
+
- `#account` call to get the `/api/v3/account` info
|
14
|
+
|
15
|
+
### Added
|
16
|
+
- `used_weights` to responses
|
17
|
+
|
18
|
+
## [1.4.0] - 2021-12-09
|
19
|
+
### Added
|
20
|
+
- Add factories for use in app development
|
21
|
+
- Add `#sub_account_deposit_address`
|
22
|
+
|
23
|
+
## [1.3.0] - 2021-11-29
|
24
|
+
### Added
|
25
|
+
- Add proxy support
|
26
|
+
|
27
|
+
## [1.2.0] - 2021-11-26
|
28
|
+
### Added
|
29
|
+
- Allow easy access to the `used_weight` header in a response by calling `#used_weight(interval)`
|
30
|
+
- `#sub_account_assets` to get the assets of a sub-account
|
31
|
+
- `#body_code` to return the value of "code" in the body, if it exists
|
32
|
+
- `#message` to return the value of "message" in the body, if it exists
|
33
|
+
|
7
34
|
## [1.1.0]
|
8
35
|
### Added
|
9
36
|
- `order_book_depth` (`/api/v3/depth`) to get a snapshot of the order book
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
binance_client (
|
4
|
+
binance_client (2.0.0)
|
5
5
|
activesupport
|
6
|
-
api_client_base
|
6
|
+
api_client_base (~> 1.11)
|
7
7
|
typhoeus
|
8
8
|
|
9
9
|
GEM
|
@@ -17,7 +17,7 @@ GEM
|
|
17
17
|
zeitwerk (~> 2.3)
|
18
18
|
addressable (2.7.0)
|
19
19
|
public_suffix (>= 2.0.2, < 5.0)
|
20
|
-
api_client_base (1.
|
20
|
+
api_client_base (1.11.0)
|
21
21
|
activesupport (>= 3.0)
|
22
22
|
gem_config (>= 0.3.1)
|
23
23
|
virtus (>= 1.0)
|
@@ -35,12 +35,14 @@ GEM
|
|
35
35
|
descendants_tracker (0.0.4)
|
36
36
|
thread_safe (~> 0.3, >= 0.3.1)
|
37
37
|
diff-lcs (1.4.4)
|
38
|
-
ethon (0.
|
38
|
+
ethon (0.15.0)
|
39
39
|
ffi (>= 1.15.0)
|
40
|
+
factory_bot (6.2.0)
|
41
|
+
activesupport (>= 5.0.0)
|
40
42
|
ffi (1.15.4)
|
41
43
|
gem_config (0.3.2)
|
42
44
|
hashdiff (1.0.1)
|
43
|
-
i18n (1.8.
|
45
|
+
i18n (1.8.11)
|
44
46
|
concurrent-ruby (~> 1.0)
|
45
47
|
ice_nine (0.11.2)
|
46
48
|
method_source (1.0.0)
|
@@ -84,13 +86,14 @@ GEM
|
|
84
86
|
addressable (>= 2.3.6)
|
85
87
|
crack (>= 0.3.2)
|
86
88
|
hashdiff (>= 0.4.0, < 2.0.0)
|
87
|
-
zeitwerk (2.
|
89
|
+
zeitwerk (2.5.1)
|
88
90
|
|
89
91
|
PLATFORMS
|
90
92
|
ruby
|
91
93
|
|
92
94
|
DEPENDENCIES
|
93
95
|
binance_client!
|
96
|
+
factory_bot
|
94
97
|
pry-byebug
|
95
98
|
rake (~> 12.0)
|
96
99
|
rspec (~> 3.0)
|
@@ -99,4 +102,4 @@ DEPENDENCIES
|
|
99
102
|
webmock
|
100
103
|
|
101
104
|
BUNDLED WITH
|
102
|
-
2.2.
|
105
|
+
2.2.28
|
data/README.md
CHANGED
@@ -42,10 +42,35 @@ client.order_book_depth(symbol: "BTCUSDT", limit: 100)
|
|
42
42
|
## Responses
|
43
43
|
The default representation of response data is a JSON hash
|
44
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
|
+
```
|
45
66
|
|
46
67
|
## Development
|
47
68
|
Edit the `config.yml.sample` with your own credentials for testing
|
48
69
|
|
70
|
+
## Factories
|
71
|
+
|
72
|
+
To make testing easier in your app, `require "binance_client/factories"` to get access to factories of the models.
|
73
|
+
|
49
74
|
## Contributing
|
50
75
|
|
51
76
|
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).
|
data/binance_client.gemspec
CHANGED
@@ -25,7 +25,7 @@ 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
31
|
|
@@ -2,20 +2,31 @@ module BinanceClient
|
|
2
2
|
class Client
|
3
3
|
include APIClientBase::Client.module(default_opts: :default_opts)
|
4
4
|
|
5
|
+
api_action :account
|
5
6
|
api_action :system_status
|
6
7
|
api_action :account_snapshot
|
7
8
|
api_action :get_all
|
8
9
|
api_action :book_ticker
|
9
10
|
api_action :order_book_depth
|
11
|
+
api_action :sub_account_assets, args: [:email]
|
12
|
+
api_action :sub_account_deposit_address, args: [:email, :coin]
|
10
13
|
|
11
14
|
attribute :host
|
12
15
|
attribute :api_key
|
13
16
|
attribute :api_secret
|
17
|
+
attribute :proxy
|
18
|
+
attribute :recv_window
|
14
19
|
|
15
20
|
private
|
16
21
|
|
17
22
|
def default_opts
|
18
|
-
{
|
23
|
+
{
|
24
|
+
host: host,
|
25
|
+
api_key: api_key,
|
26
|
+
api_secret: api_secret,
|
27
|
+
proxy: proxy,
|
28
|
+
recv_window: recv_window,
|
29
|
+
}
|
19
30
|
end
|
20
31
|
end
|
21
32
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
|
3
|
+
factory :binance_client_asset_balance, class: "BinanceClient::AssetBalance" do
|
4
|
+
sequence(:asset) { |n| "ASSET#{n}" }
|
5
|
+
free { rand(10_000) }
|
6
|
+
locked { rand(1_000) }
|
7
|
+
|
8
|
+
initialize_with do
|
9
|
+
new(asset: asset, free: free, locked: locked)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
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,28 @@
|
|
1
|
+
module BinanceClient
|
2
|
+
class DepositAddress
|
3
|
+
|
4
|
+
def self.new_from_raw(raw_hash)
|
5
|
+
args = raw_hash.each_with_object({}) do |(k, v), h|
|
6
|
+
h[k.underscore] = v
|
7
|
+
end
|
8
|
+
|
9
|
+
self.new(**args)
|
10
|
+
end
|
11
|
+
|
12
|
+
ATTRS = [
|
13
|
+
:address,
|
14
|
+
:coin,
|
15
|
+
:tag,
|
16
|
+
:url,
|
17
|
+
]
|
18
|
+
|
19
|
+
attr_accessor(*ATTRS)
|
20
|
+
|
21
|
+
def initialize(**kwargs)
|
22
|
+
kwargs.each do |attr, value|
|
23
|
+
self.send("#{attr}=", value)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -1,28 +1,14 @@
|
|
1
1
|
module BinanceClient
|
2
|
-
class AccountSnapshotRequest <
|
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
|
10
|
-
type
|
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,39 @@
|
|
1
|
+
module BinanceClient
|
2
|
+
class AuthenticatedBaseRequest < BaseRequest
|
3
|
+
include APIClientBase::Request.module
|
4
|
+
|
5
|
+
attribute :recv_window, Integer
|
6
|
+
|
7
|
+
def signature
|
8
|
+
OpenSSL::HMAC.hexdigest(
|
9
|
+
OpenSSL::Digest.new("sha256"),
|
10
|
+
api_secret,
|
11
|
+
params_without_signature_with_timestamp_and_recv_window.to_query,
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
def signature_hash
|
16
|
+
{ signature: signature }
|
17
|
+
end
|
18
|
+
|
19
|
+
def timestamp
|
20
|
+
@timestamp ||= DateTime.now.strftime("%Q")
|
21
|
+
end
|
22
|
+
|
23
|
+
def params
|
24
|
+
params_without_signature_with_timestamp_and_recv_window.
|
25
|
+
merge(signature_hash).to_query
|
26
|
+
end
|
27
|
+
|
28
|
+
def params_without_signature_with_timestamp_and_recv_window
|
29
|
+
attrs_to_merge = { timestamp: timestamp }
|
30
|
+
attrs_to_merge[:recvWindow] = recv_window if recv_window.present?
|
31
|
+
params_without_signature.merge(attrs_to_merge)
|
32
|
+
end
|
33
|
+
|
34
|
+
def params_without_signature
|
35
|
+
{}
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
@@ -4,7 +4,6 @@ module BinanceClient
|
|
4
4
|
|
5
5
|
attribute :api_key, String
|
6
6
|
attribute :api_secret, String
|
7
|
-
attribute :timestamp, Integer, lazy: true, default: :default_timestamp
|
8
7
|
|
9
8
|
def headers
|
10
9
|
{
|
@@ -13,16 +12,5 @@ module BinanceClient
|
|
13
12
|
}
|
14
13
|
end
|
15
14
|
|
16
|
-
def signature(query)
|
17
|
-
OpenSSL::HMAC.hexdigest(
|
18
|
-
OpenSSL::Digest.new("sha256"),
|
19
|
-
api_secret,
|
20
|
-
query,
|
21
|
-
)
|
22
|
-
end
|
23
|
-
|
24
|
-
def default_timestamp
|
25
|
-
DateTime.now.strftime("%Q")
|
26
|
-
end
|
27
15
|
end
|
28
16
|
end
|
@@ -1,25 +1,10 @@
|
|
1
1
|
module BinanceClient
|
2
|
-
class GetAllRequest <
|
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
|
-
uri = Addressable::URI.new(query_values: {
|
11
|
-
timestamp: timestamp,
|
12
|
-
})
|
13
|
-
uri.normalized_query
|
14
|
-
end
|
15
|
-
|
16
|
-
def params
|
17
|
-
uri = Addressable::URI.new(query: query)
|
18
|
-
uri.query_values = [
|
19
|
-
uri.query,
|
20
|
-
["signature", signature(query)],
|
21
|
-
]
|
22
|
-
uri.normalized_query
|
23
|
-
end
|
24
9
|
end
|
25
10
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module BinanceClient
|
2
|
+
class SubAccountDepositAddressRequest < AuthenticatedBaseRequest
|
3
|
+
|
4
|
+
attribute :email, String
|
5
|
+
attribute :coin, String
|
6
|
+
attribute :network, String
|
7
|
+
|
8
|
+
private
|
9
|
+
|
10
|
+
def path
|
11
|
+
"/sapi/v1/capital/deposit/subAddress"
|
12
|
+
end
|
13
|
+
|
14
|
+
def params_without_signature
|
15
|
+
{
|
16
|
+
email: email,
|
17
|
+
coin: coin,
|
18
|
+
network: network,
|
19
|
+
}.reject do |key, value|
|
20
|
+
value.nil?
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module BinanceClient
|
2
|
+
class AccountResponse < BaseResponse
|
3
|
+
|
4
|
+
[
|
5
|
+
:maker_commission,
|
6
|
+
:taker_commission,
|
7
|
+
:buyer_commission,
|
8
|
+
:seller_commission,
|
9
|
+
:can_trade,
|
10
|
+
:can_withdraw,
|
11
|
+
:can_deposit,
|
12
|
+
:update_time,
|
13
|
+
:account_type,
|
14
|
+
:permissions,
|
15
|
+
].each do |method_name|
|
16
|
+
define_method method_name do
|
17
|
+
key = method_name.to_s.camelcase(:lower)
|
18
|
+
body[key]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def balances
|
23
|
+
body["balances"].map do |balance_hash|
|
24
|
+
AssetBalance.new(**balance_hash.symbolize_keys)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -2,12 +2,31 @@ 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_weights
|
8
|
+
@used_weights ||= headers.each_with_object({}) do |(key, value), hash|
|
9
|
+
next if not key.include?("USED")
|
10
|
+
next if not key.include?("WEIGHT")
|
11
|
+
hash[key] = value
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def message
|
16
|
+
body["message"]
|
17
|
+
end
|
18
|
+
|
19
|
+
def body_code
|
20
|
+
val = body["code"]
|
21
|
+
return nil if val.nil?
|
22
|
+
val.to_i
|
23
|
+
end
|
6
24
|
|
7
25
|
private
|
8
26
|
|
9
27
|
def default_body
|
10
28
|
JSON.parse(raw_response.body)
|
11
29
|
end
|
30
|
+
|
12
31
|
end
|
13
32
|
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
|
data/lib/binance_client.rb
CHANGED
@@ -2,6 +2,7 @@ require "binance_client/version"
|
|
2
2
|
require "api_client_base"
|
3
3
|
require "active_support/core_ext/hash/indifferent_access"
|
4
4
|
require "active_support/core_ext/object/to_query"
|
5
|
+
require "active_support/core_ext/string/inflections"
|
5
6
|
require "json"
|
6
7
|
require "openssl"
|
7
8
|
|
@@ -10,19 +11,28 @@ require "binance_client/client"
|
|
10
11
|
require "binance_client/models/base_model"
|
11
12
|
require "binance_client/models/order_book_entry"
|
12
13
|
require "binance_client/models/order_book"
|
14
|
+
require "binance_client/models/asset_balance"
|
15
|
+
require "binance_client/models/deposit_address"
|
13
16
|
|
14
17
|
require "binance_client/requests/base_request"
|
18
|
+
require "binance_client/requests/authenticated_base_request"
|
15
19
|
require "binance_client/responses/base_response"
|
16
20
|
require "binance_client/requests/system_status_request"
|
17
21
|
require "binance_client/requests/account_snapshot_request"
|
18
22
|
require "binance_client/requests/get_all_request"
|
19
23
|
require "binance_client/requests/book_ticker_request"
|
20
24
|
require "binance_client/requests/order_book_depth_request"
|
25
|
+
require "binance_client/requests/sub_account_assets_request"
|
26
|
+
require "binance_client/requests/sub_account_deposit_address_request"
|
27
|
+
require "binance_client/requests/account_request"
|
21
28
|
require "binance_client/responses/system_status_response"
|
22
29
|
require "binance_client/responses/account_snapshot_response"
|
23
30
|
require "binance_client/responses/get_all_response"
|
24
31
|
require "binance_client/responses/book_ticker_response"
|
25
32
|
require "binance_client/responses/order_book_depth_response"
|
33
|
+
require "binance_client/responses/sub_account_assets_response"
|
34
|
+
require "binance_client/responses/sub_account_deposit_address_response"
|
35
|
+
require "binance_client/responses/account_response"
|
26
36
|
|
27
37
|
module BinanceClient
|
28
38
|
class Error < StandardError; end
|
@@ -35,5 +45,7 @@ module BinanceClient
|
|
35
45
|
has :host, classes: String, default: DEFAULT_HOST
|
36
46
|
has :api_key, classes: String
|
37
47
|
has :api_secret, classes: String
|
48
|
+
has :recv_window, classes: [NilClass, Integer]
|
49
|
+
has :proxy
|
38
50
|
end
|
39
51
|
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:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AJ Villalobos
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10
|
11
|
+
date: 2021-12-10 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: '
|
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: '
|
26
|
+
version: '1.11'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -116,20 +116,30 @@ files:
|
|
116
116
|
- binance_client.gemspec
|
117
117
|
- lib/binance_client.rb
|
118
118
|
- lib/binance_client/client.rb
|
119
|
+
- lib/binance_client/factories.rb
|
120
|
+
- lib/binance_client/models/asset_balance.rb
|
119
121
|
- lib/binance_client/models/base_model.rb
|
122
|
+
- lib/binance_client/models/deposit_address.rb
|
120
123
|
- lib/binance_client/models/order_book.rb
|
121
124
|
- lib/binance_client/models/order_book_entry.rb
|
125
|
+
- lib/binance_client/requests/account_request.rb
|
122
126
|
- lib/binance_client/requests/account_snapshot_request.rb
|
127
|
+
- lib/binance_client/requests/authenticated_base_request.rb
|
123
128
|
- lib/binance_client/requests/base_request.rb
|
124
129
|
- lib/binance_client/requests/book_ticker_request.rb
|
125
130
|
- lib/binance_client/requests/get_all_request.rb
|
126
131
|
- lib/binance_client/requests/order_book_depth_request.rb
|
132
|
+
- lib/binance_client/requests/sub_account_assets_request.rb
|
133
|
+
- lib/binance_client/requests/sub_account_deposit_address_request.rb
|
127
134
|
- lib/binance_client/requests/system_status_request.rb
|
135
|
+
- lib/binance_client/responses/account_response.rb
|
128
136
|
- lib/binance_client/responses/account_snapshot_response.rb
|
129
137
|
- lib/binance_client/responses/base_response.rb
|
130
138
|
- lib/binance_client/responses/book_ticker_response.rb
|
131
139
|
- lib/binance_client/responses/get_all_response.rb
|
132
140
|
- lib/binance_client/responses/order_book_depth_response.rb
|
141
|
+
- lib/binance_client/responses/sub_account_assets_response.rb
|
142
|
+
- lib/binance_client/responses/sub_account_deposit_address_response.rb
|
133
143
|
- lib/binance_client/responses/system_status_response.rb
|
134
144
|
- lib/binance_client/version.rb
|
135
145
|
homepage: https://github.com/bloom-solutions/binance_client-ruby
|