bingx 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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