@compendiumfi/pendax
Version:
connector for centralized cryptocurrency exchanges
1 lines • 9.15 kB
JavaScript
const a5_0x1473d5=a5_0x42a4;function a5_0x2667(){const _0x1b9ab6=['SqaWE','subclassOnError','clientOnMessage','derived\x20onOpen','channel','unsubscribe','send','sJpWt','update','isObject','subaccount','indexOf','log','privateChannels','MZnfk','hex','name\x20required','clientOnOpen','login','ticker','aCjAV','unsubscribed','removeSubscriptionHavingChannel','subclassOnOpen','websocket_login','market','args','48UGYyqP','sign','logged\x20in','10WIZZJJ','dgeCk','subclassOnClose','markets','dbobI','Hmac','yPuQN','orderbookGrouped','responseReceived','name','ZCMhF','469203ZsxrFB','length','digest','stringify','subclassOnMessage','1026426tYQBEP','secret','orderbook','derived\x20onMessage','385445SFNPqe','now','xmdWY','socket\x20subscription\x20requires:\x20name,\x20subscription\x20args\x20(see\x20ftx\x20api\x20doc)','trades','pfHIP','3WzSsSt','publicChannels','getOptions','toString','slice','IGzOp','url','52679aHlpGv','validateSubscription','sha256','CJVNz','getSubscriptions','zxLII','802684OPHbdf','1060jwpjhP','maImt','1298028VeuCGp','loggedIn','parse','derived\x20onError','clientOnClose','derived\x20onClose','type','bytearray(b\x27','ftxpay','subscribe','subclassedSocket','clientOnError','1305486LWvqRe','key','orders'];a5_0x2667=function(){return _0x1b9ab6;};return a5_0x2667();}(function(_0x29c117,_0x52a1f0){const _0x30308f=a5_0x42a4,_0x377075=_0x29c117();while(!![]){try{const _0x4ce4e4=parseInt(_0x30308f(0x16a))/0x1+parseInt(_0x30308f(0x17d))/0x2*(-parseInt(_0x30308f(0x170))/0x3)+-parseInt(_0x30308f(0x180))/0x4+-parseInt(_0x30308f(0x1ad))/0x5*(-parseInt(_0x30308f(0x166))/0x6)+parseInt(_0x30308f(0x161))/0x7*(-parseInt(_0x30308f(0x1aa))/0x8)+parseInt(_0x30308f(0x18c))/0x9+-parseInt(_0x30308f(0x17e))/0xa*(-parseInt(_0x30308f(0x177))/0xb);if(_0x4ce4e4===_0x52a1f0)break;else _0x377075['push'](_0x377075['shift']());}catch(_0x207ee7){_0x377075['push'](_0x377075['shift']());}}}(a5_0x2667,0x3d95c));import{PendaxSocket}from'../common/pendaxsocket.js';import*as a5_0x351ede from'crypto';import a5_0x3388e9 from'lodash';function a5_0x42a4(_0x357269,_0x41b3c6){const _0x2667e4=a5_0x2667();return a5_0x42a4=function(_0x42a48d,_0x2656fd){_0x42a48d=_0x42a48d-0x161;let _0x4c97ff=_0x2667e4[_0x42a48d];return _0x4c97ff;},a5_0x42a4(_0x357269,_0x41b3c6);}const {_}=a5_0x3388e9;export class FtxUsSocket extends PendaxSocket{[a5_0x1473d5(0x19c)]=['fills',a5_0x1473d5(0x18e),a5_0x1473d5(0x188)];[a5_0x1473d5(0x171)]=[a5_0x1473d5(0x1a2),a5_0x1473d5(0x1b0),a5_0x1473d5(0x16e),a5_0x1473d5(0x168),a5_0x1473d5(0x1b4)];constructor(_0x3a925a){const _0x3b1a25=a5_0x1473d5;let _0x1abf55=_0x3a925a||{};_0x1abf55[_0x3b1a25(0x176)]='wss://ftx.us/ws/',super(_0x1abf55),this[_0x3b1a25(0x172)]()[_0x3b1a25(0x18a)]=this,this[_0x3b1a25(0x172)]()['subclassOnOpen']=this[_0x3b1a25(0x1a6)],this['getOptions']()[_0x3b1a25(0x165)]=this[_0x3b1a25(0x165)],this[_0x3b1a25(0x172)]()[_0x3b1a25(0x190)]=this['subclassOnError'],this[_0x3b1a25(0x172)]()[_0x3b1a25(0x1af)]=this['subclassOnClose'];}[a5_0x1473d5(0x1ab)](_0x1077a1){const _0x129c62=a5_0x1473d5,_0x55d0c4=a5_0x351ede[_0x129c62(0x1b2)](_0x129c62(0x179),this[_0x129c62(0x172)]()[_0x129c62(0x167)])[_0x129c62(0x197)](_0x1077a1)[_0x129c62(0x163)](_0x129c62(0x19e));return _0x55d0c4;}[a5_0x1473d5(0x1a1)](){const _0x1082cb=a5_0x1473d5;if(this[_0x1082cb(0x181)]==!![])return;const _0x1b7558=Date[_0x1082cb(0x16b)]();let _0x345dd6=_0x1b7558[_0x1082cb(0x173)]()+_0x1082cb(0x1a7);const _0x5e7b55=this[_0x1082cb(0x1ab)](_0x345dd6);let _0x23fbd6=this['getOptions']();const _0x18e4ea={'op':_0x1082cb(0x1a1),'args':{'key':_0x23fbd6['key'],'sign':_0x5e7b55,'time':_0x1b7558}};_0x23fbd6[_0x1082cb(0x199)]&&(_0x18e4ea[_0x1082cb(0x1a9)]['subaccount']=_0x23fbd6[_0x1082cb(0x199)]);this[_0x1082cb(0x1b5)]=![];let _0x46240e=JSON[_0x1082cb(0x164)](_0x18e4ea);this[_0x1082cb(0x195)](_0x46240e),this['loggedIn']=!![],console[_0x1082cb(0x19b)](_0x1082cb(0x1ac));}[a5_0x1473d5(0x189)](_0x3fffb0){const _0x128656=a5_0x1473d5;if(_0x3fffb0&&_0x3fffb0[_0x128656(0x1b6)]&&_0x3fffb0['args']){if('ZnxVC'!==_0x128656(0x1b1)){let _0x457b9a={'channel':_0x3fffb0[_0x128656(0x1a9)][_0x128656(0x193)],'market':_0x3fffb0[_0x128656(0x1a9)][_0x128656(0x1a8)],'op':_0x128656(0x189)};this[_0x128656(0x178)](_0x3fffb0[_0x128656(0x1b6)],_0x457b9a,this['publicChannels'],this[_0x128656(0x19c)]);try{this[_0x128656(0x195)](JSON[_0x128656(0x164)](_0x457b9a));}catch(_0x3a74cb){throw{'message':_0x3a74cb};}}else _0x1dc165[_0x128656(0x18b)](_0x41c351,_0x59dc2a);}else{if(_0x128656(0x17c)===_0x128656(0x17c))throw{'message':'socket\x20subscription\x20requires:\x20name,\x20subscription\x20args\x20(see\x20ftx\x20api\x20doc)'};else _0x116329[_0x128656(0x19b)](_0x1ab105||_0x128656(0x183));}}['unsubscribe'](_0x362926){const _0x5d4541=a5_0x1473d5;if(!_0x362926){if(_0x5d4541(0x1a3)!==_0x5d4541(0x1a3)){let _0x2ced1e={..._0x14feb8[_0x5d4541(0x1a9)]};_0x2ced1e['op']=_0x5d4541(0x194),this[_0x5d4541(0x195)](_0x151b51['stringify'](_0x2ced1e));}else throw _0x5d4541(0x19f);}let _0xc9bca8=this[_0x5d4541(0x17b)]()[_0x362926];if(_0xc9bca8){let _0x519de7={..._0xc9bca8[_0x5d4541(0x1a9)]};_0x519de7['op']=_0x5d4541(0x194),this[_0x5d4541(0x195)](JSON[_0x5d4541(0x164)](_0x519de7));}}[a5_0x1473d5(0x1a6)](_0x4e5cf2){const _0x2c777a=a5_0x1473d5;_0x4e5cf2['clientOnOpen']?_0x4e5cf2[_0x2c777a(0x1a0)](_0x4e5cf2):console[_0x2c777a(0x19b)](msg||_0x2c777a(0x192));}[a5_0x1473d5(0x165)](_0x35b87b,_0x3f8b85,_0x197d0b){const _0x4e48f3=a5_0x1473d5;let _0x562fe4,_0x1b4b99=![];if(_[_0x4e48f3(0x198)](_0x3f8b85)){if('wQFXl'===_0x4e48f3(0x175)){const _0x2d735d=_0x3ee5fd[_0x4e48f3(0x173)]()[_0x4e48f3(0x174)](_0x4e48f3(0x187)['length']),_0x4ab438=_0x2d735d[_0x4e48f3(0x19a)]('\x27)');_0x11f171=_0x4ab438>-0x1?_0x2d735d[_0x4e48f3(0x174)](0x0,_0x4ab438):_0x2d735d;}else _0x562fe4=JSON[_0x4e48f3(0x182)](_0x3f8b85),_0x562fe4[_0x4e48f3(0x186)]&&_0x562fe4[_0x4e48f3(0x186)]=='unsubscribed'&&(_0x4e48f3(0x17a)!=='CJVNz'?_0x240e0f=_0x1bf36a[_0x4e48f3(0x182)](_0x2ca661):(_0x1b4b99=!![],delete _0x562fe4[_0x4e48f3(0x186)],_0x35b87b[_0x4e48f3(0x1a5)](_0x35b87b,_0x562fe4['channel'])));}else'smugo'!==_0x4e48f3(0x196)?_0x562fe4=_0x3f8b85:(_0x44c221==!![]&&(_0x5971cf={'type':_0x4e48f3(0x1a4),..._0x311b2a}),_0x328faf[_0x4e48f3(0x172)]()['clientOnMessage'](_0x2d95b0,_0x39acfa));if(_0x35b87b['getOptions']()['clientOnMessage']){if(_0x4e48f3(0x18f)!==_0x4e48f3(0x18f))throw{'message':_0x4e48f3(0x16d)};else _0x1b4b99==!![]&&(_0x562fe4={'type':_0x4e48f3(0x1a4),..._0x562fe4}),_0x35b87b[_0x4e48f3(0x172)]()[_0x4e48f3(0x191)](_0x197d0b,_0x562fe4);}else console[_0x4e48f3(0x19b)](_0x3f8b85||_0x4e48f3(0x169));}[a5_0x1473d5(0x190)](_0x3e20f9,_0x9a430a){const _0x2e20fe=a5_0x1473d5;let _0x531854;if(_['isObject'](_0x3e20f9))try{_0x2e20fe(0x1b7)===_0x2e20fe(0x1b7)?_0x531854=JSON[_0x2e20fe(0x182)](_0x3e20f9):this[_0x2e20fe(0x195)](_0x14aee3[_0x2e20fe(0x164)](_0x1b259c));}catch(_0x14eb53){if('OMfvD'!==_0x2e20fe(0x1ae)){if(_0x3e20f9[_0x2e20fe(0x173)]()[_0x2e20fe(0x19a)](_0x2e20fe(0x187))>-0x1){const _0x3a65bc=_0x3e20f9[_0x2e20fe(0x173)]()[_0x2e20fe(0x174)](_0x2e20fe(0x187)['length']),_0x183276=_0x3a65bc[_0x2e20fe(0x19a)]('\x27)');_0x531854=_0x183276>-0x1?_0x3a65bc[_0x2e20fe(0x174)](0x0,_0x183276):_0x3a65bc;}}else _0x2a581a=_0x51805f[_0x2e20fe(0x182)](_0x6f74d8);}else _0x531854=_0x3e20f9;_0x9a430a[_0x2e20fe(0x18b)]?_0x9a430a['clientOnError'](_0x9a430a,_0x531854):console[_0x2e20fe(0x19b)](_0x3e20f9||_0x2e20fe(0x183));}[a5_0x1473d5(0x1af)](_0x15e413,_0x769ae9,_0x37dbf7){const _0x32e08d=a5_0x1473d5;let _0x1074a0;if(_[_0x32e08d(0x198)](_0x769ae9))try{if(_0x32e08d(0x16f)===_0x32e08d(0x16c)){if(this[_0x32e08d(0x181)]==!![])return;const _0x23b134=_0x59cc14[_0x32e08d(0x16b)]();let _0x2f9873=_0x23b134[_0x32e08d(0x173)]()+'websocket_login';const _0x8f6276=this[_0x32e08d(0x1ab)](_0x2f9873);let _0x4a1096=this[_0x32e08d(0x172)]();const _0x52f43e={'op':'login','args':{'key':_0x4a1096[_0x32e08d(0x18d)],'sign':_0x8f6276,'time':_0x23b134}};_0x4a1096[_0x32e08d(0x199)]&&(_0x52f43e[_0x32e08d(0x1a9)]['subaccount']=_0x4a1096['subaccount']);this[_0x32e08d(0x1b5)]=![];let _0xbe91bf=_0x9c5cb8['stringify'](_0x52f43e);this[_0x32e08d(0x195)](_0xbe91bf),this[_0x32e08d(0x181)]=!![],_0x398339[_0x32e08d(0x19b)](_0x32e08d(0x1ac));}else _0x1074a0=JSON['parse'](_0x769ae9);}catch(_0x5c2b90){if(_0x32e08d(0x1b3)!==_0x32e08d(0x19d)){if(_0x769ae9[_0x32e08d(0x173)]()[_0x32e08d(0x19a)](_0x32e08d(0x187))>-0x1){if(_0x32e08d(0x17f)==='maImt'){const _0x1d934f=_0x769ae9[_0x32e08d(0x173)]()[_0x32e08d(0x174)](_0x32e08d(0x187)[_0x32e08d(0x162)]),_0x544226=_0x1d934f[_0x32e08d(0x19a)]('\x27)');_0x1074a0=_0x544226>-0x1?_0x1d934f[_0x32e08d(0x174)](0x0,_0x544226):_0x1d934f;}else throw _0x32e08d(0x19f);}}else try{_0x3c9075=_0x2c9ccc[_0x32e08d(0x182)](_0x1aecdb);}catch(_0x268464){if(_0x13c242['toString']()[_0x32e08d(0x19a)](_0x32e08d(0x187))>-0x1){const _0x51eacc=_0x1c69ad[_0x32e08d(0x173)]()[_0x32e08d(0x174)](_0x32e08d(0x187)['length']),_0x80cd86=_0x51eacc['indexOf']('\x27)');_0x522849=_0x80cd86>-0x1?_0x51eacc[_0x32e08d(0x174)](0x0,_0x80cd86):_0x51eacc;}}}else _0x1074a0=_0x769ae9;_0x37dbf7['clientOnClose']?_0x37dbf7[_0x32e08d(0x184)](_0x15e413,_0x1074a0,_0x37dbf7):console[_0x32e08d(0x19b)](_0x769ae9||_0x32e08d(0x185));}}