@compendiumfi/pendax
Version:
connector for centralized cryptocurrency exchanges
1 lines • 8.33 kB
JavaScript
const a4_0x4f7f44=a4_0x5d5a;(function(_0x2c7948,_0x1c8261){const _0x6dbea4=a4_0x5d5a,_0xbe55ab=_0x2c7948();while(!![]){try{const _0x3f53ce=parseInt(_0x6dbea4(0x149))/0x1*(parseInt(_0x6dbea4(0x15a))/0x2)+-parseInt(_0x6dbea4(0x14e))/0x3+-parseInt(_0x6dbea4(0x148))/0x4+-parseInt(_0x6dbea4(0x175))/0x5*(parseInt(_0x6dbea4(0x156))/0x6)+parseInt(_0x6dbea4(0x17f))/0x7+parseInt(_0x6dbea4(0x15f))/0x8*(-parseInt(_0x6dbea4(0x151))/0x9)+parseInt(_0x6dbea4(0x16d))/0xa;if(_0x3f53ce===_0x1c8261)break;else _0xbe55ab['push'](_0xbe55ab['shift']());}catch(_0x55f082){_0xbe55ab['push'](_0xbe55ab['shift']());}}}(a4_0x1ca0,0x69e29));function a4_0x5d5a(_0xb0461a,_0x5b6bf8){const _0x1ca070=a4_0x1ca0();return a4_0x5d5a=function(_0x5d5a8f,_0x1b08b1){_0x5d5a8f=_0x5d5a8f-0x145;let _0x430501=_0x1ca070[_0x5d5a8f];return _0x430501;},a4_0x5d5a(_0xb0461a,_0x5b6bf8);}import{PendaxSocket}from'../common/pendaxsocket.js';import*as a4_0x35e28d from'crypto';import a4_0xc2c8dc from'lodash';const {_}=a4_0xc2c8dc;function a4_0x1ca0(){const _0x5a40ac=['subclassOnError','publicChannels','derived\x20onMessage','clientOnError','5546758HwRZuy','clientOnMessage','parse','unsubscribed','CuZdC','sha256','responseReceived','channel','args','now','send','stringify','XmEks','subaccount','login','isObject','CsAhh','derived\x20onError','orderbookGrouped','name','orderbook','subclassOnClose','privateChannels','loggedIn','toString','nKPKK','subclassOnOpen','2959828YkGrWx','1lwPaXn','DCctk','OUtUb','twFgY','Hmac','1606086GZBwBi','length','bytearray(b\x27','279PbHjkc','key','clientOnOpen','btmgO','sdTBE','12gPNCuJ','market','getSubscriptions','clientOnClose','67036xENrGd','indexOf','secret','fills','ticker','176680oYcLxe','name\x20required','wss://ftx.com/ws/','log','unsubscribe','trades','subscribe','ftxpay','removeSubscriptionHavingChannel','subclassOnMessage','update','gcXdB','getOptions','TVFkl','16709010LBGILQ','slice','sign','wQIbn','validateSubscription','url','IMbXB','derived\x20onOpen','257885dHfEyF','type','UtwQB','MSVXT','derived\x20onClose','markets'];a4_0x1ca0=function(){return _0x5a40ac;};return a4_0x1ca0();}export class FtxSocket extends PendaxSocket{[a4_0x4f7f44(0x195)]=[a4_0x4f7f44(0x15d),'orders',a4_0x4f7f44(0x166)];['publicChannels']=[a4_0x4f7f44(0x15e),a4_0x4f7f44(0x17a),a4_0x4f7f44(0x164),a4_0x4f7f44(0x193),a4_0x4f7f44(0x191)];constructor(_0x182b44){const _0x4a96cf=a4_0x4f7f44;let _0x573c60=_0x182b44||{};_0x573c60[_0x4a96cf(0x172)]=_0x4a96cf(0x161),super(_0x573c60),this[_0x4a96cf(0x16b)]()['subclassedSocket']=this,this['getOptions']()['subclassOnOpen']=this[_0x4a96cf(0x147)],this[_0x4a96cf(0x16b)]()['subclassOnMessage']=this['subclassOnMessage'],this[_0x4a96cf(0x16b)]()[_0x4a96cf(0x17b)]=this['subclassOnError'],this[_0x4a96cf(0x16b)]()[_0x4a96cf(0x194)]=this[_0x4a96cf(0x194)];}[a4_0x4f7f44(0x16f)](_0xf8c2b8){const _0x21e2e6=a4_0x4f7f44,_0x3abd2d=a4_0x35e28d[_0x21e2e6(0x14d)](_0x21e2e6(0x184),this['getOptions']()[_0x21e2e6(0x15c)])[_0x21e2e6(0x169)](_0xf8c2b8)['digest']('hex');return _0x3abd2d;}[a4_0x4f7f44(0x18d)](){const _0x1e9a15=a4_0x4f7f44;if(this[_0x1e9a15(0x196)]==!![]){if('rynGf'!==_0x1e9a15(0x16a))return;else _0x1244ef=_0x1920ac;}const _0x17f96a=Date[_0x1e9a15(0x188)]();let _0x203476=_0x17f96a['toString']()+'websocket_login';const _0x2db6ff=this[_0x1e9a15(0x16f)](_0x203476);let _0x36c58c=this[_0x1e9a15(0x16b)]();const _0x55cbf7={'op':_0x1e9a15(0x18d),'args':{'key':_0x36c58c[_0x1e9a15(0x152)],'sign':_0x2db6ff,'time':_0x17f96a}};_0x36c58c['subaccount']&&(_0x55cbf7[_0x1e9a15(0x187)]['subaccount']=_0x36c58c[_0x1e9a15(0x18c)]);this[_0x1e9a15(0x185)]=![];let _0x38444a=JSON[_0x1e9a15(0x18a)](_0x55cbf7);this['send'](_0x38444a),this[_0x1e9a15(0x196)]=!![],console['log']('logged\x20in');}[a4_0x4f7f44(0x165)](_0x4d92d8){const _0xd3675=a4_0x4f7f44;if(_0x4d92d8&&_0x4d92d8[_0xd3675(0x192)]&&_0x4d92d8['args']){if(_0xd3675(0x18f)===_0xd3675(0x18f)){let _0xb70e6a={'channel':_0x4d92d8[_0xd3675(0x187)][_0xd3675(0x186)],'market':_0x4d92d8[_0xd3675(0x187)][_0xd3675(0x157)],'op':'subscribe'};this[_0xd3675(0x171)](_0x4d92d8['name'],_0xb70e6a,this['publicChannels'],this['privateChannels']);try{this[_0xd3675(0x189)](JSON[_0xd3675(0x18a)](_0xb70e6a));}catch(_0x44aaf0){if(_0xd3675(0x173)===_0xd3675(0x146))_0x590124=!![],delete _0x9f4df2['type'],_0x206d20[_0xd3675(0x167)](_0x2171fb,_0x1cec3f[_0xd3675(0x186)]);else throw{'message':_0x44aaf0};}}else{let _0x3f3458={'channel':_0x2061f5[_0xd3675(0x187)]['channel'],'market':_0x562d1e[_0xd3675(0x187)][_0xd3675(0x157)],'op':_0xd3675(0x165)};this[_0xd3675(0x171)](_0x5d667a[_0xd3675(0x192)],_0x3f3458,this[_0xd3675(0x17c)],this[_0xd3675(0x195)]);try{this[_0xd3675(0x189)](_0xe39bbe[_0xd3675(0x18a)](_0x3f3458));}catch(_0x4d2926){throw{'message':_0x4d2926};}}}else throw{'message':'socket\x20subscription\x20requires:\x20name,\x20subscription\x20args\x20(see\x20ftx\x20api\x20doc)'};}['unsubscribe'](_0x321308){const _0x39b9f3=a4_0x4f7f44;if(!_0x321308)throw _0x39b9f3(0x160);let _0x2540f9=this[_0x39b9f3(0x158)]()[_0x321308];if(_0x2540f9){let _0x10540e={..._0x2540f9[_0x39b9f3(0x187)]};_0x10540e['op']=_0x39b9f3(0x163),this[_0x39b9f3(0x189)](JSON[_0x39b9f3(0x18a)](_0x10540e));}}[a4_0x4f7f44(0x147)](_0x56bf71){const _0x532d88=a4_0x4f7f44;_0x56bf71['clientOnOpen']?_0x56bf71['clientOnOpen'](_0x56bf71):_0x532d88(0x178)!==_0x532d88(0x14c)?console[_0x532d88(0x162)](msg||_0x532d88(0x174)):(_0x2b50ff==!![]&&(_0x3e793d={'type':_0x532d88(0x182),..._0x5e3e63}),_0x1f3fbc[_0x532d88(0x16b)]()['clientOnMessage'](_0x4776ff,_0x46d130));}[a4_0x4f7f44(0x168)](_0x4a19e4,_0x315c54,_0x76b1fb){const _0x325a5f=a4_0x4f7f44;let _0x284550,_0x22e736=![];_[_0x325a5f(0x18e)](_0x315c54)?(_0x284550=JSON[_0x325a5f(0x181)](_0x315c54),_0x284550[_0x325a5f(0x176)]&&_0x284550[_0x325a5f(0x176)]==_0x325a5f(0x182)&&(_0x22e736=!![],delete _0x284550[_0x325a5f(0x176)],_0x4a19e4['removeSubscriptionHavingChannel'](_0x4a19e4,_0x284550['channel']))):_0x284550=_0x315c54,_0x4a19e4[_0x325a5f(0x16b)]()['clientOnMessage']?'spWlJ'!==_0x325a5f(0x170)?(_0x22e736==!![]&&(_0x284550={'type':_0x325a5f(0x182),..._0x284550}),_0x4a19e4['getOptions']()[_0x325a5f(0x180)](_0x76b1fb,_0x284550)):_0x58b3c7=_0x506f09:_0x325a5f(0x154)!=='btmgO'?_0x281b7d[_0x325a5f(0x162)](_0x4c9b2f||_0x325a5f(0x190)):console[_0x325a5f(0x162)](_0x315c54||_0x325a5f(0x17d));}[a4_0x4f7f44(0x17b)](_0x6d07ef,_0x12129a){const _0x45ac82=a4_0x4f7f44;let _0x58dca4;if(_['isObject'](_0x6d07ef)){if(_0x45ac82(0x16c)===_0x45ac82(0x14a))_0x2a6031=_0x39170e[_0x45ac82(0x181)](_0x5a7420),_0x4b0c77[_0x45ac82(0x176)]&&_0x4bc573['type']=='unsubscribed'&&(_0x23dd27=!![],delete _0x109494[_0x45ac82(0x176)],_0xbde3fe[_0x45ac82(0x167)](_0x428bf7,_0x4ea7f2[_0x45ac82(0x186)]));else try{_0x58dca4=JSON['parse'](_0x6d07ef);}catch(_0x4362c6){if(_0x45ac82(0x155)!==_0x45ac82(0x183)){if(_0x6d07ef[_0x45ac82(0x145)]()[_0x45ac82(0x15b)](_0x45ac82(0x150))>-0x1){const _0x4014cd=_0x6d07ef[_0x45ac82(0x145)]()[_0x45ac82(0x16e)](_0x45ac82(0x150)['length']),_0x1b0d82=_0x4014cd[_0x45ac82(0x15b)]('\x27)');_0x58dca4=_0x1b0d82>-0x1?_0x4014cd[_0x45ac82(0x16e)](0x0,_0x1b0d82):_0x4014cd;}}else{if(!_0x22b2a1)throw _0x45ac82(0x160);let _0x1cf46b=this[_0x45ac82(0x158)]()[_0x3a94e7];if(_0x1cf46b){let _0x1dd5e0={..._0x1cf46b[_0x45ac82(0x187)]};_0x1dd5e0['op']='unsubscribe',this[_0x45ac82(0x189)](_0x17a6a7[_0x45ac82(0x18a)](_0x1dd5e0));}}}}else _0x58dca4=_0x6d07ef;_0x12129a[_0x45ac82(0x17e)]?_0x12129a['clientOnError'](_0x12129a,_0x58dca4):console['log'](_0x6d07ef||_0x45ac82(0x190));}[a4_0x4f7f44(0x194)](_0x448829,_0x24f473,_0x1035bb){const _0x1956af=a4_0x4f7f44;let _0x487a82;if(_[_0x1956af(0x18e)](_0x24f473)){if(_0x1956af(0x18b)!==_0x1956af(0x14b))try{_0x1956af(0x177)===_0x1956af(0x177)?_0x487a82=JSON[_0x1956af(0x181)](_0x24f473):_0x18d7c3=_0x4f2fd4;}catch(_0x78706d){if(_0x24f473[_0x1956af(0x145)]()[_0x1956af(0x15b)](_0x1956af(0x150))>-0x1){const _0x297e9e=_0x24f473[_0x1956af(0x145)]()['slice'](_0x1956af(0x150)[_0x1956af(0x14f)]),_0x1932d1=_0x297e9e[_0x1956af(0x15b)]('\x27)');_0x487a82=_0x1932d1>-0x1?_0x297e9e[_0x1956af(0x16e)](0x0,_0x1932d1):_0x297e9e;}}else _0x2f0386[_0x1956af(0x153)]?_0x3041aa[_0x1956af(0x153)](_0x49291d):_0x41d684[_0x1956af(0x162)](_0x1964c7||_0x1956af(0x174));}else _0x487a82=_0x24f473;_0x1035bb[_0x1956af(0x159)]?_0x1035bb['clientOnClose'](_0x448829,_0x487a82,_0x1035bb):console[_0x1956af(0x162)](_0x24f473||_0x1956af(0x179));}}