Advertisement
Guest User

FTX compounder

a guest
Mar 14th, 2022
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.44 KB | None | 0 0
  1. /*
  2. First execute this function once with your apikey and apisecret to set them as script property. You can delete the value after it.
  3. */
  4. function myFunction() {
  5.   var keys = {apikey: 'xxx', apisecret: 'xxx'};  
  6.   PropertiesService.getScriptProperties().setProperties(keys);
  7. }
  8.  
  9.  
  10. var uri = 'https://ftx.com'
  11. var basepath = '/api'
  12. var keys = PropertiesService.getScriptProperties().getProperties();
  13.  
  14.  
  15. function KeepLending(){
  16.   var coin = "BNB";
  17.   var subaccount = "xx";
  18.  
  19.   var target = GetBalance().find((v) => v.coin === coin)
  20.  
  21.   var size = Math.floor(target.total*1000000)/1000000;
  22.   var rate = 1e-6;
  23.   var data = {"coin": coin, "size": size, "rate": rate};
  24.   var payload =JSON.stringify(data);
  25.  
  26.   var ts = String(Date.now());
  27.   var method = "POST";
  28.   var command = basepath + "/spot_margin/offers";
  29.   var sign = toHexString(Utilities.computeHmacSha256Signature(ts + method + command + payload, keys.apisecret));
  30.  
  31.   function toHexString(byteArray) {
  32.     return Array.from(byteArray, function(byte) {
  33.       return ('0' + (byte & 0xFF).toString(16)).slice(-2);
  34.     }).join('')
  35.   }
  36.   var header = {
  37.     'FTX-KEY' : keys.apikey,
  38.     'FTX-TS' : ts,
  39.     'FTX-SIGN' : sign,
  40.     'FTX-SUBACCOUNT' : subaccount
  41.   };
  42.   var options = {
  43.     'method' : method,
  44.     'headers' : header,
  45.     'contentType': 'application/json',
  46.     'payload' : payload
  47.   };
  48.  
  49.  
  50. var result = UrlFetchApp.fetch(uri + command, options);
  51.  
  52.   Logger.log(result);
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement