bingx 0.1.0 → 0.1.1

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: 3c5f9f5e5d95dfd8b6999867b03fbd057b93da5c56ed6913f72edd86969add04
4
- data.tar.gz: 57b431f53642b71e7286db794a01a24d35e25df15624fcc1569e5a40ffa2a7a1
3
+ metadata.gz: b318376a28249f40b8cd5c36b18f018272b4382d59abed51c6164f8758fb9e88
4
+ data.tar.gz: fa7a6093ecf7c9315a1fc6ebe85569b993ef67fb56d203fb08d24bd3508ff315
5
5
  SHA512:
6
- metadata.gz: 66a80adb26d1d7e6bf0367aef9b77417ce87324c3a307e1d1839a0d271749ae4867c49ecaa8ec18da361c895e827f912098dc50cc7c50fae1f31d99b33163f67
7
- data.tar.gz: d481de18a642c57d04d6b21e2ce187818a06cd6ff789f466bfb2d469796904c7900517bc28b197360f4d01ac8eaad88a0f70f3d83fc13ead06f0572e453a84a9
6
+ metadata.gz: 70a6a3aa3c3c5c7849dd592506704785a69b75fdf409d770c98c3f1bcc36c89a2bd6c1677a492b20f655aa120679641600a60df178786dec89d8a48c426190d4
7
+ data.tar.gz: e0bc5a2c379c408faaebbc56f6a7e5d889a4d3be3ef9e557e15bd085409c293358b7a2fc193bdd751ec77c40feac0260619e03b28cf3879df2840c32e67d4ade
data/README.md CHANGED
@@ -15,6 +15,8 @@ client = Bingx::Client.new(
15
15
  api_key: '<your API KEY>',
16
16
  secret_key: '<your SECRET KEY>'
17
17
  )
18
+
19
+ client.get_user_balance
18
20
  ```
19
21
 
20
22
  ## Development
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bingx
4
+ class Client
5
+ include HTTParty
6
+ include Requests::Account
7
+
8
+ attr_accessor :api_key, :secret_key, :recv_window
9
+
10
+ base_uri 'https://open-api.bingx.com'
11
+ debug_output $stdout
12
+
13
+ def initialize(api_key:, secret_key:, recv_window: '5000')
14
+ @api_key = api_key
15
+ @secret_key = secret_key
16
+ @recv_window = recv_window
17
+ end
18
+
19
+ def request(method, endpoint, payload = {})
20
+ headers = { 'X-BX-APIKEY': api_key }
21
+ params = build_params(payload)
22
+ response = self.class.send(method, endpoint, query: params, headers: headers)
23
+ response.body
24
+ end
25
+
26
+ private
27
+
28
+ def build_params(payload)
29
+ payload.merge!(
30
+ recv_window: recv_window,
31
+ timestamp: DateTime.now.strftime('%Q')
32
+ )
33
+ payload = HTTParty::HashConversions.to_params(payload)
34
+ payload + "&signature=#{signature(payload)}"
35
+ end
36
+
37
+ def signature(payload)
38
+ OpenSSL::HMAC.hexdigest('sha256', secret_key, payload)
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bingx
4
+ module Requests
5
+ module Account
6
+ def get_user_balance
7
+ request(:get, '/openApi/swap/v2/user/balance')
8
+ end
9
+ end
10
+ end
11
+ end
data/lib/bingx/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bingx
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.1'
5
5
  end
data/lib/bingx.rb CHANGED
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'bingx/version'
3
+ require 'httparty'
4
4
 
5
- module Bingx
6
- class Error < StandardError; end
7
- # Your code goes here...
8
- end
5
+ require_relative 'bingx/version'
6
+ require_relative 'bingx/requests/account'
7
+ require_relative 'bingx/client'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bingx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Georgy Yuriev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-07 00:00:00.000000000 Z
11
+ date: 2023-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -37,6 +37,8 @@ files:
37
37
  - README.md
38
38
  - Rakefile
39
39
  - lib/bingx.rb
40
+ - lib/bingx/client.rb
41
+ - lib/bingx/requests/account.rb
40
42
  - lib/bingx/version.rb
41
43
  - sig/bingx.rbs
42
44
  homepage: https://rubygems.org/gems/bingx