@compendiumfi/pendax
Version:
connector for centralized cryptocurrency exchanges
1 lines • 14.6 kB
JavaScript
const a2_0x1ff91c=a2_0x5b00;(function(_0x2e2279,_0x5a202c){const _0x58132b=a2_0x5b00,_0x4187a4=_0x2e2279();while(!![]){try{const _0xabde7c=parseInt(_0x58132b(0xb8))/0x1*(parseInt(_0x58132b(0x111))/0x2)+-parseInt(_0x58132b(0xd1))/0x3*(parseInt(_0x58132b(0xff))/0x4)+parseInt(_0x58132b(0x127))/0x5+parseInt(_0x58132b(0x154))/0x6*(parseInt(_0x58132b(0xb3))/0x7)+-parseInt(_0x58132b(0x13a))/0x8*(-parseInt(_0x58132b(0xc6))/0x9)+parseInt(_0x58132b(0xec))/0xa*(parseInt(_0x58132b(0x125))/0xb)+-parseInt(_0x58132b(0x128))/0xc;if(_0xabde7c===_0x5a202c)break;else _0x4187a4['push'](_0x4187a4['shift']());}catch(_0x506951){_0x4187a4['push'](_0x4187a4['shift']());}}}(a2_0x3742,0x8aa82));import a2_0x6cd9b1 from'axios';function a2_0x5b00(_0xef49db,_0x5f36a4){const _0x374237=a2_0x3742();return a2_0x5b00=function(_0x5b00d4,_0x45b14c){_0x5b00d4=_0x5b00d4-0xae;let _0x1bac36=_0x374237[_0x5b00d4];return _0x1bac36;},a2_0x5b00(_0xef49db,_0x5f36a4);}import a2_0x14be19 from'crypto';import a2_0x56ac22 from'short-unique-id';import a2_0x10154e from'crypto-js';function a2_0x3742(){const _0x2e9499=['proxyPort','url','margintype','getCandleSticks','/api/v1/user/query-apikey','/api/v1/account/balance','proxyUser','addProxyObject','SleJs','getApiKeyInfo','Iehqp','cancelMultipleOrders','setPositionMode','vEXWY','21712FyPEQc','No\x20response\x20from\x20exchange\x20-\x20double\x20check\x20parameters','/api/v1/market/trades','SXnrS','statusText','cancelOrder','/api/v1/asset/transfer','proxyPass','exchangename','https','Utf8','/api/v1/trade/order-tpsl','toAccount','getInstruments','getTradeHistory','getTrades','rWYhU','usdt','2026668hjbMre','/api/v1/trade/cancel-batch-orders','status','logDeletes','nHlPg','/api/v1/asset/withdrawal-history','name','/api/v1/account/set-leverage','label','doLog','/api/v1/account/position-mode','custom-value','/api/v1/asset/bills','stringify','/api/v1/account/positions','getOrderHistory','orderId','createAuthHeader','data','LqbqM','22LDZZPl','getMarginMode','5079440mKWUrR','42241152TqAssl','decrypt','useProxy','amount','/api/v1/account/set-margin-mode','testnet','leverage','apiKey','hHvkW','auth','Proxy\x20port\x20required','getSubAffiliates','xKKkZ','getSubInvitees','getActiveTPSLOrders','/api/v1/affiliate/sub-affiliates','/api/v1/trade/fills-history','createSignature','24mqFXxu','getMarkPrice','side','/api/v1/trade/cancel-tpsl','parse','AES','authenticate\x20option\x20requires\x20valid\x20api\x20key\x20and\x20api\x20secret','Missing\x20params:\x20','setMarginMode','key','/api/v1/market/instruments','/api/v1/affiliate/invitees','subaccount','/api/v1/trade/close-position','code','futuresMarginType','https://openapi.blofin.com','TSOWH','isMain','brokerId','getTickers','proxyAuth','keys','proxy','marginMode','/api/v1/trade/orders-history','6IKpdsS','GET','iPZqP','nrtKs','getTPSLOrderHistory','authenticate','default','4437937ffHFSb','/api/v1/market/funding-rate-history','/api/v1/trade/orders-tpsl-history','enc','getPositions','1UBsDWd','xLxXY','closePositions','instId','length','/api/v1/asset/balances','QVJAy','join','/api/v1/market/candles','positionMode','getFundingRate','currency','/api/v1/market/books','getDirectInvites','2608461hdikCw','UbYII','dec','logGets','/api/v1/affiliate/referral-code','getWithdrawHistory','POST','publicApis','getBalance','tpTriggerPrice','executeCall','129iikiHN','blofin','/api/v1/affiliate/sub-invitees','/api/v1/market/tickers','/api/v1/market/mark-price','getFundingRateHistory','RwhsN','/api/v1/trade/orders-pending','/api/v1/account/batch-leverage-info','fzjZZ','passphrase','size','accountType','gLVfM','/api/v1/market/funding-rate','exchange','fundsTransfer','testnet\x20option\x20set\x20to\x20true,\x20Blofin\x20currently\x20does\x20not\x20include\x20a\x20testnet\x20festure','toString','push','/api/v1/trade/orders-tpsl-pending','getFuturesAccountBalance','apiSecret','Base64','getOrderBook','/api/v1/trade/cancel-order','checkParams','3943690uSeKKp','sockets','fromAccount','placeOrder','secret'];a2_0x3742=function(){return _0x2e9499;};return a2_0x3742();}import{midnight,dateDifferenceInMonths}from'../utils/date_utils.js';export class Blofin{[a2_0x1ff91c(0xcd)]=new Array();['ky']='auystrAAS2iW85#s2@jdDC';['i']='dhsyTW5!ysh8IuysQKcG45';[a2_0x1ff91c(0xed)]={};[a2_0x1ff91c(0xc9)]=![];['logPosts']=![];[a2_0x1ff91c(0x114)]=![];constructor(_0x1cc21b){const _0x95ed45=a2_0x1ff91c;this[_0x95ed45(0xf2)]=_0x95ed45(0x14a);if(!(_0x1cc21b[_0x95ed45(0x12d)]===null)&&_0x1cc21b[_0x95ed45(0x12d)]===!![]){if(_0x95ed45(0xfe)!==_0x95ed45(0xfe))return _0x1e5927;else throw _0x95ed45(0xe2);}this[_0x95ed45(0xb1)]=_0x1cc21b['authenticate']===null?!![]:_0x1cc21b['authenticate'],this[_0x95ed45(0x117)]=_0x1cc21b['exchange'][_0x95ed45(0x107)]==undefined?_0x95ed45(0xd2):_0x1cc21b[_0x95ed45(0xe0)][_0x95ed45(0x107)],this['exchangeid']=_0x1cc21b[_0x95ed45(0xe0)]['id'],this[_0x95ed45(0x119)]=_0x1cc21b[_0x95ed45(0x119)];if(this['authenticate']===!![]){if(!_0x1cc21b[_0x95ed45(0x143)]||!_0x1cc21b['secret']||_0x1cc21b[_0x95ed45(0x143)]==''||_0x1cc21b[_0x95ed45(0xf0)]=='')throw _0x95ed45(0x140);this[_0x95ed45(0x12f)]=_0x1cc21b[_0x95ed45(0x143)],this[_0x95ed45(0xe7)]=_0x1cc21b[_0x95ed45(0xf0)],this[_0x95ed45(0x14c)]=_0x1cc21b[_0x95ed45(0x146)]==undefined,this[_0x95ed45(0x146)]=this[_0x95ed45(0x14c)]?'':_0x1cc21b[_0x95ed45(0x146)],this[_0x95ed45(0xdb)]=_0x1cc21b[_0x95ed45(0xdb)];}this[_0x95ed45(0x149)]=_0x1cc21b[_0x95ed45(0xf3)]?_0x1cc21b[_0x95ed45(0xf3)]:_0x95ed45(0x110),this[_0x95ed45(0x12a)]=![];if(_0x1cc21b[_0x95ed45(0x12a)]){if(_0x95ed45(0xde)!==_0x95ed45(0xde))throw _0x95ed45(0x132);else{if(_0x1cc21b[_0x95ed45(0x151)]&&_0x1cc21b[_0x95ed45(0x151)]!=''){if(_0x95ed45(0x134)===_0x95ed45(0x134)){this[_0x95ed45(0x12a)]=!![],this['proxy']=this[_0x95ed45(0xf2)],this[_0x95ed45(0x151)]=_0x1cc21b['proxy'];if(_0x1cc21b[_0x95ed45(0xf1)])_0x95ed45(0xbe)==='ENNfx'?_0x12463f=_0x2c674f[_0x95ed45(0x11e)](_0x2b7117):this['proxyPort']=_0x1cc21b['proxyPort'];else{if(_0x95ed45(0x14b)!==_0x95ed45(0x14b))throw{'message':'Missing\x20params:\x20'+_0x5e953a[_0x95ed45(0xbf)](',')};else throw _0x95ed45(0x132);}}else throw _0x95ed45(0xe2);}_0x1cc21b[_0x95ed45(0xf7)]&&(this[_0x95ed45(0xf7)]=_0x1cc21b[_0x95ed45(0xf7)]);_0x1cc21b['proxyPass']&&(this['proxyPass']=_0x1cc21b[_0x95ed45(0x106)]);if(_0x1cc21b['proxyAuth']===!![]){if(_0x95ed45(0xda)!==_0x95ed45(0xfb))this[_0x95ed45(0x14f)]=!![];else{this[_0x95ed45(0x12a)]=!![],this['proxy']=this[_0x95ed45(0xf2)],this['proxy']=_0x5d1560['proxy'];if(_0x2bc188[_0x95ed45(0xf1)])this[_0x95ed45(0xf1)]=_0x2c8c0b['proxyPort'];else throw _0x95ed45(0x132);}}else _0x95ed45(0x10f)===_0x95ed45(0xae)?_0xd03765(_0x95ed45(0x100)):this[_0x95ed45(0x14f)]=![];}}this[_0x95ed45(0xcd)][_0x95ed45(0xe4)](_0x95ed45(0x10c),_0x95ed45(0x14e),'getOrderBook',_0x95ed45(0x10e),'getMarkPrice',_0x95ed45(0xc2),'getFundingRateHistory','getCandleSticks');const _0x3677e9=[[_0x95ed45(0x10c),_0x95ed45(0x155),_0x95ed45(0x144),[]],[_0x95ed45(0x14e),_0x95ed45(0x155),_0x95ed45(0xd4),[]],[_0x95ed45(0xe9),_0x95ed45(0x155),_0x95ed45(0xc4),[]],['getTrades',_0x95ed45(0x155),_0x95ed45(0x101),[_0x95ed45(0xbb)]],[_0x95ed45(0x13b),_0x95ed45(0x155),_0x95ed45(0xd5),[_0x95ed45(0xbb)]],[_0x95ed45(0xc2),_0x95ed45(0x155),_0x95ed45(0xdf),['instId']],[_0x95ed45(0xd6),'GET',_0x95ed45(0xb4),[_0x95ed45(0xbb)]],[_0x95ed45(0xf4),_0x95ed45(0x155),_0x95ed45(0xc0),[_0x95ed45(0xbb)]],[_0x95ed45(0xce),'GET',_0x95ed45(0xbd),[_0x95ed45(0xdd)]],[_0x95ed45(0xe1),_0x95ed45(0xcc),_0x95ed45(0x105),[_0x95ed45(0xc3),_0x95ed45(0xee),_0x95ed45(0x10b),_0x95ed45(0x12b)]],['getFundsTranferHistory',_0x95ed45(0x155),_0x95ed45(0x11d),[]],[_0x95ed45(0xcb),'GET',_0x95ed45(0x116),[]],['getDepositHistory',_0x95ed45(0x155),'/api/v1/asset/deposit-history',[]],[_0x95ed45(0xe6),'GET',_0x95ed45(0xf6),[]],[_0x95ed45(0xb7),_0x95ed45(0x155),_0x95ed45(0x11f),[]],[_0x95ed45(0x126),_0x95ed45(0x155),'/api/v1/account/margin-mode',[]],[_0x95ed45(0x142),_0x95ed45(0xcc),_0x95ed45(0x12c),['marginMode']],['getPositionMode',_0x95ed45(0x155),_0x95ed45(0x11b),[]],[_0x95ed45(0xfd),_0x95ed45(0xcc),'/api/v1/account/position-mode',[_0x95ed45(0xc1)]],['getMultipleLeverage',_0x95ed45(0x155),_0x95ed45(0xd9),[]],['setLeverage','POST',_0x95ed45(0x118),[_0x95ed45(0xbb),_0x95ed45(0x12e)]],[_0x95ed45(0x104),'POST',_0x95ed45(0xea),[_0x95ed45(0x121)]],[_0x95ed45(0xfc),_0x95ed45(0xcc),_0x95ed45(0x112),[]],['cancelTPSLOrder',_0x95ed45(0xcc),_0x95ed45(0x13d),[]],['getActiveOrders',_0x95ed45(0x155),_0x95ed45(0xd8),[]],[_0x95ed45(0x136),'GET',_0x95ed45(0xe5),[]],[_0x95ed45(0xba),'POST',_0x95ed45(0x147),[_0x95ed45(0xbb),'marginMode']],[_0x95ed45(0x120),_0x95ed45(0x155),_0x95ed45(0x153),[]],[_0x95ed45(0xb0),'GET',_0x95ed45(0xb5),[]],[_0x95ed45(0x10d),_0x95ed45(0x155),_0x95ed45(0x138),[]],['getAffiliateInfo',_0x95ed45(0x155),'/api/v1/affiliate/basic',[]],['getReferralCode',_0x95ed45(0x155),_0x95ed45(0xca),[]],[_0x95ed45(0xc5),'GET',_0x95ed45(0x145),[]],[_0x95ed45(0x135),'GET',_0x95ed45(0xd3),[]],[_0x95ed45(0x133),'GET',_0x95ed45(0x137),[]],[_0x95ed45(0xfa),_0x95ed45(0x155),_0x95ed45(0xf5),[]]],_0x48a3ce=[[_0x95ed45(0xef),_0x95ed45(0xcc),'/api/v1/trade/order',[_0x95ed45(0xbb),'marginMode',_0x95ed45(0x13c),'orderType',_0x95ed45(0xdc)]],['placeMultipleOrders','POST','/api/v1/trade/batch-orders',[]],['placeTPSLOrder',_0x95ed45(0xcc),_0x95ed45(0x10a),[_0x95ed45(0xbb),_0x95ed45(0x152),'positionSide',_0x95ed45(0x13c),_0x95ed45(0xcf)]]];for(const _0x308264 in _0x3677e9){if('RwhsN'===_0x95ed45(0xd7))this[_0x3677e9[_0x308264][0x0]]=async _0x3a32d1=>{const _0x4de98a=_0x95ed45;let _0x4d8ac4=await this[_0x4de98a(0xd0)](_0x3a32d1,_0x3677e9[_0x308264][0x1],_0x3677e9[_0x308264][0x2],_0x3677e9[_0x308264][0x3]);return _0x4d8ac4;};else{if(_0xfe0c13==null)return _0x2f5260;const _0x3f335b=_0x4704f3[_0x95ed45(0xb6)]['Base64'][_0x95ed45(0x13e)](this['ky']),_0x36099a=_0x21dade[_0x95ed45(0xb6)][_0x95ed45(0xe8)][_0x95ed45(0x13e)](this['i']);return _0x5391bc[_0x95ed45(0x13f)]['decrypt'](_0x17e6b7,_0x3f335b,{'iv':_0x36099a})[_0x95ed45(0xe3)](_0x2d3072['enc'][_0x95ed45(0x109)]);}}for(const _0x1dac30 in _0x48a3ce){this[_0x48a3ce[_0x1dac30][0x0]]=async _0x55f427=>{const _0x3f7945=_0x95ed45;_0x55f427[_0x3f7945(0x14d)]='5388cb1f51cec2e3';let _0x23f9d2=await this[_0x3f7945(0xd0)](_0x55f427,_0x48a3ce[_0x1dac30][0x1],_0x48a3ce[_0x1dac30][0x2],_0x48a3ce[_0x1dac30][0x3]);return _0x23f9d2;};}}[a2_0x1ff91c(0xc8)]=_0x50aae4=>{const _0x4141f4=a2_0x1ff91c;if(_0x50aae4==null){if(_0x4141f4(0xb9)!==_0x4141f4(0x115))return undefined;else{this['logGets']==!![]&&_0x56b4f4('No\x20response\x20from\x20exchange\x20-\x20double\x20check\x20parameters');throw'No\x20response\x20from\x20exchange\x20-\x20double\x20check\x20parameters';}}const _0x2fc9a7=a2_0x10154e[_0x4141f4(0xb6)]['Base64'][_0x4141f4(0x13e)](this['ky']),_0x26a751=a2_0x10154e[_0x4141f4(0xb6)]['Base64'][_0x4141f4(0x13e)](this['i']);return a2_0x10154e[_0x4141f4(0x13f)][_0x4141f4(0x129)](_0x50aae4,_0x2fc9a7,{'iv':_0x26a751})['toString'](a2_0x10154e[_0x4141f4(0xb6)][_0x4141f4(0x109)]);};async[a2_0x1ff91c(0x122)](_0x165139,_0x5ed1f6,_0x56c7c7,_0x4e929a){const _0x1cf56d=a2_0x1ff91c;let _0xc7d5be=Date['now']();const {randomUUID:_0x71269c}=new a2_0x56ac22({'length':0x14});let _0x35e5d4=_0x71269c(),_0x237236=await this[_0x1cf56d(0x139)](_0x165139,_0x5ed1f6,_0xc7d5be,_0x35e5d4,_0x4e929a,_0x56c7c7),_0x338ab8={'ACCESS-KEY':this[_0x1cf56d(0x12f)],'ACCESS-PASSPHRASE':this[_0x1cf56d(0xdb)],'ACCESS-NONCE':_0x35e5d4,'ACCESS-TIMESTAMP':String(_0xc7d5be),'ACCESS-SIGN':_0x237236};return _0x338ab8;}async['createSignature'](_0x18a165,_0x2283df,_0x278622,_0x2d3b9b,_0x36739f,_0x55815e){const _0x2509c1=a2_0x1ff91c;let _0x41afe8=_0x18a165+_0x2283df+_0x36739f+_0x278622+_0x2d3b9b+_0x55815e,_0x2897a6=a2_0x10154e[_0x2509c1(0xb6)][_0x2509c1(0xe8)][_0x2509c1(0x11e)](a2_0x10154e[_0x2509c1(0xb6)][_0x2509c1(0x109)][_0x2509c1(0x13e)](a2_0x10154e['HmacSHA256'](_0x41afe8,this[_0x2509c1(0xe7)])));return _0x2897a6;}[a2_0x1ff91c(0xf8)](_0x423130){const _0x5c53ba=a2_0x1ff91c;if(this[_0x5c53ba(0x12a)]){let _0x31cde5={'protocol':_0x5c53ba(0x108),'host':this[_0x5c53ba(0x151)],'port':this[_0x5c53ba(0xf1)]};this[_0x5c53ba(0x14f)]===!![]&&(_0x31cde5[_0x5c53ba(0x131)]={'username':this['proxyUser'],'password':this[_0x5c53ba(0x106)]}),_0x423130[_0x5c53ba(0x151)]=_0x31cde5;}return _0x423130;}async[a2_0x1ff91c(0xeb)](_0x3ba82c,_0x2f60d0){const _0x342d0a=a2_0x1ff91c;let _0xace308=_0x3ba82c!=null?_0x2f60d0['filter'](_0x248947=>!Object[_0x342d0a(0x150)](_0x3ba82c)['includes'](_0x248947)):_0x2f60d0;if(_0xace308[_0x342d0a(0xbc)]!=0x0){if(_0x342d0a(0xf9)===_0x342d0a(0x124))_0x5cb9cc[_0x342d0a(0xe4)](_0x4eba09+'='+_0x4db4a3[_0x330bb9]);else throw{'message':_0x342d0a(0x141)+_0xace308[_0x342d0a(0xbf)](',')};}}async[a2_0x1ff91c(0xd0)](_0x558318,_0x45c0e2,_0x3cbf03,_0x4c26e1){const _0x156547=a2_0x1ff91c;await this['checkParams'](_0x558318,_0x4c26e1);let _0x20ce37='',_0x59a7e8='';if(_0x45c0e2==_0x156547(0x155)){let _0x1aadf4=[];for(let _0x365ed0 in _0x558318){if('xZIpV'!==_0x156547(0x102))_0x1aadf4['push'](_0x365ed0+'='+_0x558318[_0x365ed0]);else{let _0x2d58c2={'protocol':'https','host':this[_0x156547(0x151)],'port':this['proxyPort']};this['proxyAuth']===!![]&&(_0x2d58c2[_0x156547(0x131)]={'username':this[_0x156547(0xf7)],'password':this[_0x156547(0x106)]}),_0x1c707b[_0x156547(0x151)]=_0x2d58c2;}}_0x20ce37=_0x1aadf4[_0x156547(0xbf)]('&'),_0x20ce37!=''&&('vkQte'==='jUKzH'?this[_0x156547(0x14f)]=![]:_0x20ce37='?'+_0x20ce37);}else _0x59a7e8=JSON[_0x156547(0x11e)](_0x558318);let _0xad79cf={};this[_0x156547(0xb1)]===!![]&&('nrtKs'!==_0x156547(0xaf)?this[_0x156547(0x14f)]=!![]:_0xad79cf=await this['createAuthHeader'](_0x3cbf03,_0x20ce37,_0x59a7e8,_0x45c0e2));Object['keys'](_0xad79cf)['length']==0x0&&(_0xad79cf={'X-Custom-Header':_0x156547(0x11c)});let _0x13de26={'baseURL':this[_0x156547(0xf2)],'url':_0x3cbf03+_0x20ce37,'method':_0x45c0e2,'headers':_0xad79cf,'data':_0x45c0e2==_0x156547(0x155)?{}:_0x558318};_0x13de26=this[_0x156547(0xf8)](_0x13de26);try{const _0xb5c1fd=await a2_0x6cd9b1(_0x13de26);if(!_0xb5c1fd){this[_0x156547(0xc9)]==!![]&&(_0x156547(0xc7)!=='UbYII'?_0x594923={'X-Custom-Header':_0x156547(0x11c)}:doLog(_0x156547(0x100)));throw _0x156547(0x100);}return this[_0x156547(0xc9)]==!![]&&this[_0x156547(0x11a)]({'send':_0x13de26,'level':_0x156547(0xb2),'receive':{'code':_0xb5c1fd[_0x156547(0x123)][_0x156547(0x148)],'data':JSON[_0x156547(0x11e)](_0xb5c1fd[_0x156547(0x123)]['data']),'msg':_0xb5c1fd[_0x156547(0x123)]['msg']}}),{'code':_0xb5c1fd[_0x156547(0x113)],'data':_0xb5c1fd['data'],'msg':_0xb5c1fd[_0x156547(0x103)]};}catch(_0x472f90){if('gOgDn'!==_0x156547(0x130))return _0x472f90;else this['proxyPort']=_0xf7afb0[_0x156547(0xf1)];}}}