cryptomarket-sdk 3.1.0 → 3.2.0

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: 57f75bd527cd0e65734a08b244ca66c9b7911fdf23209f0e6521a52046fb91ce
4
- data.tar.gz: 7a05fe882f6aa4de73229565b409b11b347997fd45b317e9e2613903c72f0e70
3
+ metadata.gz: 3544bff57f393e4033ac3b721e140d369916e83483cf03f4aac7b730ab7a8792
4
+ data.tar.gz: 2a60685afc64ec389c9f0b9c04623de5ebb4984fd627d258c802f9907df48e0f
5
5
  SHA512:
6
- metadata.gz: 15a1b8b5cb5f2b10a49b99de60e47c65a44d298139695ed38abbaa49d81ba9cd310f13f1d77fecada5515536dca0385a373a5c55d4cb5a480c82f9afaa30e640
7
- data.tar.gz: aa3a6f24469f5ec11484df474b576500e8271c843a83710c922da9ce61f1a53d0f7c2e086ef62179b7989517c495b6f7af4f5015c9a6dcddea8e00368f9c783c
6
+ metadata.gz: c75f1e68a8dc113eb7e9fd6889bbffe3027dbea4d271a554206d591b5e8b273bebc27f0e3d201d03ece6fc8b53a474009f422e39154cd0585fa4e6c5a50a7baa
7
+ data.tar.gz: ddab1680d4cf031c72ae645e2fbc0824b608e904779e8fe2b4aad795a069ea29839c271b2aacc25a3350ca88a118e2520005a3b712cb800711e3ff21d7a59af2
data/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  To install Cryptomarket use gem
10
10
 
11
11
  ```
12
- gem install cryptomarket-sdk
12
+ gem install cryptomarket-sdk -v 3.2.0
13
13
  ```
14
14
 
15
15
  # Documentation
@@ -39,36 +39,24 @@ module Cryptomarket
39
39
  @http_manager.make_request(method: 'delete', endpoint: endpoint, params: params)
40
40
  end
41
41
 
42
- ###########
43
- # aliases #
44
- ###########
42
+ # Changes the user credentials used for authentication in calls
43
+ #
44
+ # ==== Params
45
+ # +String+ +api_key+:: The user public key used in new calls
46
+ # +String+ +api_secret+:: The user secret key used in new calls
45
47
 
46
- # market data
48
+ def change_credentials(api_key:, api_secret:)
49
+ @http_manager.change_credentials(api_key: api_key, api_secret: api_secret)
50
+ end
47
51
 
48
- # alias of get ticker
49
- alias get_ticker_by_symbol get_ticker
50
- alias get_ticker_of_symbol get_ticker
51
- alias get_ticker_price_by_symbol get_ticker_price
52
- alias get_ticker_price_of_symbol get_ticker_price
53
- alias get_trades_of_symbol get_trades_by_symbol
54
- alias get_orderbook_by_symbol get_orderbook
55
- alias get_orderbook_of_symbol get_orderbook
56
- alias get_orderbook_volume_by_symbol get_orderbook_volume
57
- alias get_orderbook_volume_of_symbol get_orderbook_volume
58
- alias get_candles_of_symbol get_candles_by_symbol
59
- alias get_converted_candles_of_symbol get_converted_candles_by_symbol
60
- # spot trading
61
- alias get_spot_trading_balance_of_currency get_spot_trading_balance
62
- alias get_spot_trading_balance_by_currency get_spot_trading_balance
63
- alias get_all_trading_commissions get_all_trading_commission
64
- alias get_trading_commission get_all_trading_commission
65
- alias get_trading_commission_of_symbol get_trading_commission
66
- alias get_trading_commission_by_symbol get_trading_commission
67
- # wallet management
68
- alias get_wallet_balance_of_currency get_wallet_balance
69
- alias get_wallet_balance_by_currency get_wallet_balance
70
- alias get_deposit_crypto_address_of_cyrrency get_deposit_crypto_address
71
- alias get_deposit_crypto_address_by_cyrrency get_deposit_crypto_address
52
+ # Changes the window used in authenticated calls
53
+ #
54
+ # ==== Params
55
+ # +Integer+ +window+:: Acceptable time between request and server execution in millis
56
+
57
+ def change_window(window:)
58
+ @http_manager.change_window(window: window)
59
+ end
72
60
 
73
61
  ################
74
62
  # public calls #
@@ -863,11 +851,25 @@ module Cryptomarket
863
851
  # ==== Params
864
852
  # +Array[]+ +fee_requests+:: the list of fee requests, each request is a Hash in the form {currency:"string", amount:"string", network_code:"optional string"}
865
853
 
866
- def get_estimate_withdrawal_fees(fee_requests)
854
+ def get_estimate_withdrawal_fees(fee_requests:)
867
855
  params = fee_requests
868
856
  post('wallet/crypto/fees/estimate', params)
869
857
  end
870
858
 
859
+ # Get an estimates for withdrawal fees of currencies
860
+ #
861
+ # Requires the "Payment information" API key Access Right
862
+ #
863
+ # https://api.exchange.cryptomkt.com/#bulk-estimate-withdrawal-fee
864
+ #
865
+ # ==== Params
866
+ # +Array[]+ +fee_requests+:: the list of fee requests, each request is a Hash in the form {currency:"string", amount:"string", network_code:"optional string"}
867
+
868
+ def get_bulk_estimate_withdrawal_fees(fee_requests:)
869
+ params = fee_requests
870
+ post('wallet/crypto/fee/estimate/bulk', params)
871
+ end
872
+
871
873
  # Get an estimate of the withdrawal fee
872
874
  #
873
875
  # Requires the "Payment information" API key Access Right
@@ -883,6 +885,34 @@ module Cryptomarket
883
885
  get('wallet/crypto/fee/estimate', params)['fee']
884
886
  end
885
887
 
888
+ # # Get an estimates for deposit fees of currencies
889
+ # #
890
+ # # Requires the "Payment information" API key Access Right
891
+ # #
892
+ # # https://api.exchange.cryptomkt.com/#bulk-estimate-deposit-fee
893
+ # #
894
+ # # ==== Params
895
+ # # +Array[]+ +fee_requests+:: the list of fee requests, each request is a Hash in the form {currency:"string", amount:"string", network_code:"optional string"}
896
+ # def get_bulk_estimate_deposit_fees(fee_requests:)
897
+ # params = fee_requests
898
+ # post('wallet/crypto/fee/deposit/estimate/bulk', params)
899
+ # end
900
+
901
+ # # Get an estimate of the deposit fee
902
+ # #
903
+ # # Requires the "Payment information" API key Access Right
904
+ # #
905
+ # # https://api.exchange.cryptomkt.com/#estimate-deposit-fee
906
+ # #
907
+ # # ==== Params
908
+ # # +String+ +currency+:: the currency code for deposit
909
+ # # +float+ +amount+:: the expected deposit amount
910
+
911
+ # def get_estimate_deposit_fee(currency:, amount:, network_code: nil)
912
+ # params = { amount: amount, currency: currency, network_code: network_code }
913
+ # get('wallet/crypto/fee/deposit/estimate', params)['fee']
914
+ # end
915
+
886
916
  # Converts between currencies
887
917
  # Successful response to the request does not necessarily mean the resulting transaction got executed immediately. It has to be processed first and may eventually be rolled back
888
918
  # To see whether a transaction has been finalized, call #get_transaction
@@ -986,9 +1016,9 @@ module Cryptomarket
986
1016
  # +Array[String]+ +statuses+:: Optional. List of statuses to query. valid subtypes are: 'CREATED', 'PENDING', 'FAILED', 'SUCCESS' and 'ROLLED_BACK'
987
1017
  # +Array[String]+ +currencies+:: Optional. Currency codes of the transactions to fetch
988
1018
  # +Array[String]+ +networks+:: Optional. Network codes of the transactions to fetch
989
- # +String+ +order_by+:: Optional. sorting parameter.'created_at' or 'id'. Default is 'created_at'
990
- # +String+ +from+:: Optional. Interval initial value when ordering by 'created_at'. As Datetime
991
- # +String+ +till+:: Optional. Interval end value when ordering by 'created_at'. As Datetime
1019
+ # +String+ +order_by+:: Optional. sorting parameter.'created_at', 'updated_at', 'last_activity_at' 'or 'id'.
1020
+ # +String+ +from+:: Optional. Optional. Interval initial value (inclusive). The value type depends on order_by
1021
+ # +String+ +till+:: Optional. Interval end value (inclusive). The value type depends on order_BY
992
1022
  # +String+ +id_from+:: Optional. Interval initial value when ordering by id. Min is 0
993
1023
  # +String+ +id_till+:: Optional. Interval end value when ordering by id. Min is 0
994
1024
  # +String+ +sort+:: Optional. Sort direction. 'ASC' or 'DESC'. Default is 'DESC'
@@ -1238,5 +1268,38 @@ module Cryptomarket
1238
1268
  "sub-account/crypto/address/#{sub_account_id}/#{currency}"
1239
1269
  )['result']['address']
1240
1270
  end
1271
+
1272
+ ###########
1273
+ # aliases #
1274
+ ###########
1275
+
1276
+ # market data
1277
+ alias get_ticker_by_symbol get_ticker
1278
+ alias get_ticker_of_symbol get_ticker
1279
+ alias get_ticker_price_by_symbol get_ticker_price
1280
+ alias get_ticker_price_of_symbol get_ticker_price
1281
+ alias get_trades_of_symbol get_trades_by_symbol
1282
+ alias get_orderbook_by_symbol get_orderbook
1283
+ alias get_orderbook_of_symbol get_orderbook
1284
+ alias get_orderbook_volume_by_symbol get_orderbook_volume
1285
+ alias get_orderbook_volume_of_symbol get_orderbook_volume
1286
+ alias get_candles_of_symbol get_candles_by_symbol
1287
+ alias get_converted_candles_of_symbol get_converted_candles_by_symbol
1288
+
1289
+ # spot trading
1290
+ alias get_spot_trading_balance_of_currency get_spot_trading_balance
1291
+ alias get_spot_trading_balance_by_currency get_spot_trading_balance
1292
+ alias get_all_trading_commissions get_all_trading_commission
1293
+ alias get_trading_commissions get_all_trading_commission
1294
+ alias get_trading_commission_of_symbol get_trading_commission
1295
+ alias get_trading_commission_by_symbol get_trading_commission
1296
+
1297
+ # wallet management
1298
+ alias get_wallet_balance_of_currency get_wallet_balance
1299
+ alias get_wallet_balance_by_currency get_wallet_balance
1300
+ alias get_deposit_crypto_address_of_cyrrency get_deposit_crypto_address
1301
+ alias get_deposit_crypto_address_by_cyrrency get_deposit_crypto_address
1241
1302
  end
1242
1303
  end
1304
+
1305
+ # rubocop:enable Layout/LineLength
@@ -18,6 +18,15 @@ module Cryptomarket
18
18
  @window = window
19
19
  end
20
20
 
21
+ def change_credentials(api_key:, api_secret:)
22
+ @api_key = api_key
23
+ @api_secret = api_secret
24
+ end
25
+
26
+ def change_window(window:)
27
+ @window = window
28
+ end
29
+
21
30
  def get_credential(http_method, method, params)
22
31
  timestamp = DateTime.now.strftime('%Q')
23
32
  msg = build_credential_message(http_method, method, timestamp, params)
@@ -37,7 +46,7 @@ module Cryptomarket
37
46
  not_post_params(http_method, params)
38
47
  end
39
48
  msg += timestamp
40
- msg += @window unless @window.nil?
49
+ msg += @window.to_s unless @window.nil?
41
50
  msg
42
51
  end
43
52
 
@@ -37,6 +37,14 @@ module Cryptomarket
37
37
  )
38
38
  end
39
39
 
40
+ def change_credentials(api_key:, api_secret:)
41
+ @credential_factory.change_credentials(api_key: api_key, api_secret: api_secret)
42
+ end
43
+
44
+ def change_window(window:)
45
+ @credential_factory.change_window(window: window)
46
+ end
47
+
40
48
  def make_request(method:, endpoint:, params: nil, public: false)
41
49
  uri = URI(@@API_URL + @@API_VERSION + endpoint)
42
50
  payload = build_payload(params)
@@ -35,11 +35,6 @@ module Cryptomarket
35
35
  'spot_balance' => [balances, Args::NotificationType::SNAPSHOT] }
36
36
  end
37
37
 
38
- alias get_spot_trading_balance_of_currency get_spot_trading_balance
39
- alias get_spot_trading_balance_by_currency get_spot_trading_balance
40
- alias get_spot_commission_of_symbol get_spot_commission
41
- alias get_spot_commission_by_symbol get_spot_commission
42
-
43
38
  # subscribe to a feed of execution reports of the user's orders
44
39
  #
45
40
  # https://api.exchange.cryptomkt.com/#socket-spot-trading
@@ -274,6 +269,11 @@ module Cryptomarket
274
269
  def get_spot_commission(symbol:, callback:)
275
270
  request('spot_fee', callback, { symbol: symbol })
276
271
  end
272
+
273
+ alias get_spot_trading_balance_of_currency get_spot_trading_balance
274
+ alias get_spot_trading_balance_by_currency get_spot_trading_balance
275
+ alias get_spot_commission_of_symbol get_spot_commission
276
+ alias get_spot_commission_by_symbol get_spot_commission
277
277
  end
278
278
  end
279
279
  end
@@ -37,9 +37,6 @@ module Cryptomarket
37
37
  'wallet_balance_update' => [balance, Args::NotificationType::UPDATE] }
38
38
  end
39
39
 
40
- alias get_wallet_balance_of_currency get_wallet_balance
41
- alias get_wallet_balance_by_currency get_wallet_balance
42
-
43
40
  # A transaction notification occurs each time a transaction has been changed, such as creating a transaction, updating the pending state (e.g., the hash assigned) or completing a transaction
44
41
  #
45
42
  # https://api.exchange.cryptomkt.com/#subscribe-to-transactions
@@ -148,11 +145,11 @@ module Cryptomarket
148
145
  # +Array[String]+ +subtyes+:: Optional. List of subtypes to query. valid subtypes are: 'UNCLASSIFIED', 'BLOCKCHAIN', 'AIRDROP', 'AFFILIATE', 'STAKING', 'BUY_CRYPTO', 'OFFCHAIN', 'FIAT', 'SUB_ACCOUNT', 'WALLET_TO_SPOT', 'SPOT_TO_WALLET', 'WALLET_TO_DERIVATIVES', 'DERIVATIVES_TO_WALLET', 'CHAIN_SWITCH_FROM', 'CHAIN_SWITCH_TO' and 'INSTANT_EXCHANGE'
149
146
  # +Array[String]+ +statuses+:: Optional. List of statuses to query. valid subtypes are: 'CREATED', 'PENDING', 'FAILED', 'SUCCESS' and 'ROLLED_BACK'
150
147
  # +Array[String] +currencies+:: Optional. List of currencies ids.
151
- # +String+ +from+:: Optional. Interval initial value when ordering by 'created_at'. As Datetime
152
- # +String+ +till+:: Optional. Interval end value when ordering by 'created_at'. As Datetime
148
+ # +String+ +from+:: Optional. Optional. Interval initial value (inclusive). The value type depends on order_by
149
+ # +String+ +till+:: Optional. Interval end value (inclusive). The value type depends on order_by
153
150
  # +String+ +id_from+:: Optional. Interval initial value when ordering by id. Min is 0
154
151
  # +String+ +id_till+:: Optional. Interval end value when ordering by id. Min is 0
155
- # +String+ +order_by+:: Optional. sorting parameter.'created_at' or 'id'. Default is 'created_at'
152
+ # +String+ +order_by+:: Optional. sorting parameter.'created_at', 'updated_at', 'last_activity_at' 'or 'id'.
156
153
  # +String+ +sort+:: Optional. Sort direction. 'ASC' or 'DESC'. Default is 'DESC'
157
154
  # +Integer+ +limit+:: Optional. Transactions per query. Defaul is 100. Max is 1_000
158
155
  # +Integer+ +offset+:: Optional. Default is 0. Max is 100_000
@@ -168,6 +165,9 @@ module Cryptomarket
168
165
  limit: limit, offset: offset, group_transactions: group_transactions
169
166
  })
170
167
  end
168
+
169
+ alias get_wallet_balance_of_currency get_wallet_balance
170
+ alias get_wallet_balance_by_currency get_wallet_balance
171
171
  end
172
172
  end
173
173
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptomarket-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - T. Ismael Verdugo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-13 00:00:00.000000000 Z
11
+ date: 2024-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client