@compendiumfi/pendax
Version:
connector for centralized cryptocurrency exchanges
1 lines • 13.8 kB
JavaScript
function a2_0x1e28(_0x1073d8,_0x2d63f9){const _0xca1e03=a2_0xca1e();return a2_0x1e28=function(_0x1e2807,_0x295e3b){_0x1e2807=_0x1e2807-0xd7;let _0x3427e9=_0xca1e03[_0x1e2807];return _0x3427e9;},a2_0x1e28(_0x1073d8,_0x2d63f9);}const a2_0x45c138=a2_0x1e28;(function(_0x42be0a,_0xb27667){const _0x750c51=a2_0x1e28,_0x1b2e71=_0x42be0a();while(!![]){try{const _0x522f56=parseInt(_0x750c51(0xf9))/0x1+-parseInt(_0x750c51(0x142))/0x2*(parseInt(_0x750c51(0x116))/0x3)+parseInt(_0x750c51(0x121))/0x4*(parseInt(_0x750c51(0x144))/0x5)+parseInt(_0x750c51(0x111))/0x6*(parseInt(_0x750c51(0x135))/0x7)+-parseInt(_0x750c51(0xf6))/0x8+-parseInt(_0x750c51(0x102))/0x9*(parseInt(_0x750c51(0x139))/0xa)+parseInt(_0x750c51(0x108))/0xb*(parseInt(_0x750c51(0xf5))/0xc);if(_0x522f56===_0xb27667)break;else _0x1b2e71['push'](_0x1b2e71['shift']());}catch(_0x3fbd97){_0x1b2e71['push'](_0x1b2e71['shift']());}}}(a2_0xca1e,0x4a400));import{PendaxSocket}from'../common/pendaxsocket.js';import a2_0x299242 from'short-unique-id';import*as a2_0x44056e from'crypto';import a2_0x6c57c9 from'crypto-js';import a2_0xa69904 from'lodash';function a2_0xca1e(){const _0x926e42=['event','args','Ixppt','orders-algo','oYVBs','MvoIQ','parse','unsubscribed','798758ghtNcD','\x20requires\x20instId','654905XpxKVO','candle3D','candle1m','secret','toString','LxMrI','isObject','subArgsHash','interval','subclassOnOpen','NtCBI','clientOnError','includes','push','loggedIn','clientOnOpen','books','account','AKrsK','length','KQWJy','validateSubscriptionTypes','bytearray(b\x27','passphrase','subscription\x20name\x20already\x20used\x20','\x20channel:\x20','NECgr','/users/self/verify','constructor','VgDVi','derived\x20onMessage','books5','already\x20subscribed\x20to\x20','EYMcw','log','key','candle1W','lifetimeMs','validateSubscription','JTGML','responseReceived','socket\x20subscriptions\x20must\x20not\x20mix\x20private\x20with\x20public\x20channels','candle2H','depth','zGsju','subclassOnClose','orders','candle30m','CaYPt','36rMmQyA','3161824TsbhQY','Utf8','clientOnMessage','592382ZDIYPQ','candle5m','socket\x20subscription\x20requires:\x20array\x20of\x20subscriptions\x20args\x20(see\x20blofin\x20api\x20doc)','dZoAB','getOptions','subclassOnMessage','wss://openapi.blofin.com/ws/public','CLuEN','WQeOD','972DppoAO','channel','subclassedSocket','derived\x20onError','subscribe','ShomN','65714eHGiLN','instId','send','stringify','unsubscribe','candle6H','lifetime','one\x20or\x20more\x20requested\x20channels\x20requires\x20login.\x20Please\x20perform\x20socket\x20login\x20then\x20retry','Xxmur','50136qurCVa','candle1H','GBaKj','entries','Base64','3ySbIuh','url','indexOf','logged\x20in','XVPOP','vlWxM','candle15m','clientOnClose','subclassOnError','HmacSHA256','candle4H','12aiaqDu','op:\x20','candle8H','derived\x20onClose','doPing','sign','tickers','sYjqg','customPing','login','enc','subscriptions','gFUjF','removeSubscription','slice','AlzyZ','symbol','wss://openapi.blofin.com/ws/private','isPrivate','positions','343bZcARf','BRhwk','privateChannels','RivwG','29070zQqevz'];a2_0xca1e=function(){return _0x926e42;};return a2_0xca1e();}const {toLower}=a2_0xa69904;import a2_0x64d721 from'lodash';const {_}=a2_0x64d721;export class BlofinSocket extends PendaxSocket{[a2_0x45c138(0x137)]=[a2_0x45c138(0x134),a2_0x45c138(0xf2),a2_0x45c138(0x155),a2_0x45c138(0x13d)];['publicChannels']=['trades',a2_0x45c138(0x154),a2_0x45c138(0xe3),a2_0x45c138(0x127),'funding-rate',a2_0x45c138(0x146),'candle3m',a2_0x45c138(0xfa),a2_0x45c138(0x11c),a2_0x45c138(0xf3),a2_0x45c138(0x112),a2_0x45c138(0xee),a2_0x45c138(0x120),a2_0x45c138(0x10d),a2_0x45c138(0x123),'candle12H','candle1D',a2_0x45c138(0x145),a2_0x45c138(0xe8),'candle1M'];[a2_0x45c138(0xe9)]=0x989680;constructor(_0x2fccdc){const _0x5cb297=a2_0x45c138;let _0x55459b=_0x2fccdc||{};_0x2fccdc[_0x5cb297(0x10e)]&&(lifetimeMs=_0x2fccdc[_0x5cb297(0x10e)]),_0x2fccdc['testnet']===!![]?_0x2fccdc['isPrivate']&&_0x2fccdc[_0x5cb297(0x133)]==!![]?_0x5cb297(0x136)===_0x5cb297(0x136)?_0x55459b['url']='wss://openapi.blofin.com/ws/private':(_0x1ae5e1=_0x45e780[_0x5cb297(0x140)](_0x6ad05f),_0x236064[_0x5cb297(0x13a)]&&_0x1c6a0b[_0x5cb297(0x13a)]==_0x5cb297(0x141)&&(_0x37ee99=!![],delete _0x20fda5['event'],this['removeSubscriptionHavingChannel'](_0x3f5b14[_0x5cb297(0x103)]))):_0x5cb297(0x149)!==_0x5cb297(0x149)?(this[_0x5cb297(0x152)]=!![],_0x4e4520[_0x5cb297(0xe6)](_0x136d60||'logged\x20in')):_0x55459b[_0x5cb297(0x117)]=_0x5cb297(0xff):_0x2fccdc['isPrivate']&&_0x2fccdc[_0x5cb297(0x133)]===!![]?_0x55459b[_0x5cb297(0x117)]='wss://openapi.blofin.com/ws/private':_0x55459b[_0x5cb297(0x117)]=_0x5cb297(0xff),super(_0x55459b),this[_0x5cb297(0xfd)]()[_0x5cb297(0x104)]=this,this[_0x5cb297(0xfd)]()['subclassOnOpen']=this[_0x5cb297(0x14d)],this['getOptions']()['subclassOnMessage']=this[_0x5cb297(0xfe)],this['getOptions']()[_0x5cb297(0x11e)]=this['subclassOnError'],this[_0x5cb297(0xfd)]()[_0x5cb297(0xf1)]=this[_0x5cb297(0xf1)],this[_0x5cb297(0xfd)]()[_0x5cb297(0x129)]=this[_0x5cb297(0x125)];}['sign'](_0x1a2a16){const _0x58a7f0=a2_0x45c138;let _0x2ebb14=a2_0x6c57c9[_0x58a7f0(0x12b)][_0x58a7f0(0x115)][_0x58a7f0(0x10b)](a2_0x6c57c9[_0x58a7f0(0x12b)][_0x58a7f0(0xf7)][_0x58a7f0(0x140)](a2_0x6c57c9[_0x58a7f0(0x11f)](_0x1a2a16,this[_0x58a7f0(0xfd)]()[_0x58a7f0(0x147)])));return _0x2ebb14;}[a2_0x45c138(0x12a)](){const _0x31e1e4=a2_0x45c138;if(this[_0x31e1e4(0x152)]==!![])return;const {randomUUID:_0x9ac780}=new a2_0x299242({'length':0x14});let _0x2cc6d3=_0x9ac780();const _0x11efb6=new Date()['getTime'](),_0x22958b='GET',_0x427ce5=_0x31e1e4(0xdf);let _0x5c8742=_0x427ce5+_0x22958b+_0x11efb6+_0x2cc6d3;const _0x2f68e0=this[_0x31e1e4(0x126)](_0x5c8742);let _0x10107c=this['getOptions']();const _0x161fd0={'op':'login','args':[{'apiKey':_0x10107c[_0x31e1e4(0xe7)],'timestamp':_0x11efb6,'sign':_0x2f68e0,'nonce':_0x2cc6d3,'passphrase':_0x10107c[_0x31e1e4(0xdb)]}]};this[_0x31e1e4(0xec)]=![];let _0x320a25=JSON[_0x31e1e4(0x10b)](_0x161fd0);this[_0x31e1e4(0x10a)](_0x320a25,_0x5d0a41=>{const _0x16348e=_0x31e1e4;this[_0x16348e(0x152)]=!![],console[_0x16348e(0xe6)](_0x5d0a41||_0x16348e(0x119));});}[a2_0x45c138(0x106)](_0x66d1cf){const _0xa59b82=a2_0x45c138;let _0x2fce52='subscribe';if(_0x66d1cf&&_0x66d1cf['args']&&_0x66d1cf[_0xa59b82(0x13b)]['constructor']==Array){const _0x57f18b=this[_0xa59b82(0xd9)](_0x66d1cf);for(const _0x353483 of _0x66d1cf[_0xa59b82(0x13b)]){let _0x5f27be=_0x353483[_0xa59b82(0x103)];_0x353483[_0xa59b82(0xef)]&&(_0xa59b82(0x113)===_0xa59b82(0x113)?_0x5f27be=_0x5f27be+'.'+_0x353483[_0xa59b82(0xef)]:_0x3f9246=_0x25a842+'.'+_0x12da92[_0xa59b82(0x131)]),_0x353483[_0xa59b82(0x14c)]&&(_0x5f27be=_0x5f27be+'.'+_0x353483['interval']),_0x353483[_0xa59b82(0x131)]&&(_0xa59b82(0xfc)!=='vQlWt'?_0x5f27be=_0x5f27be+'.'+_0x353483[_0xa59b82(0x131)]:(_0x80258d[_0xa59b82(0x151)](_0x4fd8f6),this[_0xa59b82(0x12e)](_0x366ef0))),this[_0xa59b82(0xea)](_0x5f27be,_0x353483,_0x57f18b,_0x2fce52);}try{const _0x2b3233=this['prepareSubscription'](_0x66d1cf);this[_0xa59b82(0x10a)](_0x2b3233);}catch(_0x3c8811){if(_0xa59b82(0x130)===_0xa59b82(0x130))throw{'message':_0x3c8811};else{const _0x374027=this['prepareSubscription'](_0xc93625);this[_0xa59b82(0x10a)](_0x374027);}}}else{if(_0xa59b82(0x13e)!==_0xa59b82(0x13e))throw{'message':_0x6b6348};else throw{'message':_0xa59b82(0xfb)};}}['validateSubscription'](_0x2f1fef,_0x227d60,_0x4d4692,_0x587b46){const _0x4d3ac9=a2_0x45c138;if(_0x4d4692===![]){let _0x3cdb1e=_0x227d60[_0x4d3ac9(0x103)];if(!_0x227d60[_0x4d3ac9(0x109)])throw{'message':_0x4d3ac9(0x122)+_0x587b46+_0x4d3ac9(0xdd)+_0x3cdb1e+'\x20requires\x20instId'};}if(_0x4d4692&&!this[_0x4d3ac9(0x152)])throw{'message':_0x4d3ac9(0x10f)};let _0x1b6cd5=this['getSubscriptionArgsHash'](_0x227d60);if(!this[_0x4d3ac9(0x12c)][_0x2f1fef]){for(const [_0x58d3ba,_0x252068]of Object[_0x4d3ac9(0x114)](this['subscriptions'])){let _0x67335b=_0x252068[_0x4d3ac9(0x14b)];if(_0x67335b==_0x1b6cd5){if(_0x4d3ac9(0x11b)!==_0x4d3ac9(0xe1))throw _0x4d3ac9(0xe4)+JSON[_0x4d3ac9(0x10b)](_0x2f1fef);else{let _0x1b09de=_0x50181e[_0x4d3ac9(0x14b)];if(_0x1b09de==_0x47893a)throw _0x4d3ac9(0xe4)+_0x7fd85b[_0x4d3ac9(0x10b)](_0x129512);}}}this[_0x4d3ac9(0x12c)][_0x2f1fef]={'args':_0x227d60,'subArgsHash':_0x1b6cd5};}else throw _0x4d3ac9(0xdc);}[a2_0x45c138(0x12e)](_0x40fb66){const _0x41f010=a2_0x45c138;delete this[_0x41f010(0x12c)][_0x40fb66];}[a2_0x45c138(0x10c)](_0x1e52a7){const _0x31a533=a2_0x45c138;let _0x5d1dc1=[];if(_0x1e52a7&&_0x1e52a7[_0x31a533(0xe0)]==Array)for(const _0x32aede of _0x1e52a7){let _0x32a23f=_0x32aede[_0x31a533(0x103)],_0x5e41bd=this['getSubscriptions']()[_0x32a23f];_0x5e41bd&&(_0x5d1dc1['push'](_0x32aede),this[_0x31a533(0x12e)](_0x32a23f));}if(_0x5d1dc1[_0x31a533(0xd7)]>0x0){const _0x2a6fcc={'op':_0x31a533(0x10c),'args':_0x5d1dc1},_0x18a1e7=JSON[_0x31a533(0x10b)](_0x2a6fcc);this['send'](_0x18a1e7);}}['prepareSubscription'](_0x44f312){const _0x597b7c=a2_0x45c138;let _0x4975eb={'op':'subscribe','args':[]};for(const _0x2a06ca in _0x44f312[_0x597b7c(0x13b)]){if(_0x597b7c(0x13f)==='MvoIQ'){let _0x50236a=_0x44f312[_0x597b7c(0x13b)][_0x2a06ca];_0x4975eb['args'][_0x597b7c(0x151)](_0x50236a);}else _0x309341[_0x597b7c(0x133)]&&_0x11a32a[_0x597b7c(0x133)]===!![]?_0x26c680['url']=_0x597b7c(0x132):_0x207d64[_0x597b7c(0x117)]=_0x597b7c(0xff);}return JSON['stringify'](_0x4975eb);}[a2_0x45c138(0x14d)](_0x468a36){const _0x5170d3=a2_0x45c138;_0x468a36[_0x5170d3(0x153)]?_0x468a36[_0x5170d3(0x153)](_0x468a36):console[_0x5170d3(0xe6)]('derived\x20onOpen');}['subclassOnMessage'](_0x3506d7,_0x2d4467,_0xe2ce4){const _0x3c0eea=a2_0x45c138;let _0x1967f6,_0x26f387=![];if(_['isObject'](_0x2d4467))_0x1967f6=JSON[_0x3c0eea(0x140)](_0x2d4467),_0x1967f6['event']&&_0x1967f6[_0x3c0eea(0x13a)]=='unsubscribed'&&(_0x3c0eea(0x110)===_0x3c0eea(0xf4)?delete this[_0x3c0eea(0x12c)][_0xc316fe]:(_0x26f387=!![],delete _0x1967f6['event'],this['removeSubscriptionHavingChannel'](_0x1967f6['channel'])));else{if('nNNRA'!=='DocrF')_0x1967f6=_0x2d4467;else throw{'message':_0x3c0eea(0x122)+_0x3e98af+'\x20channel:\x20'+_0x2878ea+_0x3c0eea(0x143)};}_0x3506d7['getOptions']()[_0x3c0eea(0xf8)]?(_0x26f387==!![]&&(_0x1967f6={'event':'unsubscribed',..._0x1967f6}),_0x3506d7['getOptions']()[_0x3c0eea(0xf8)](_0xe2ce4,_0x1967f6)):console[_0x3c0eea(0xe6)](_0x2d4467[_0x3c0eea(0x148)]()||_0x3c0eea(0xe2));}[a2_0x45c138(0x11e)](_0x17ac3e,_0x5d51fe){const _0x5e9868=a2_0x45c138;let _0x129825;if(_[_0x5e9868(0x14a)](_0x17ac3e)){if(_0x5e9868(0x138)==='RivwG')try{if('OtGOh'!==_0x5e9868(0xeb))_0x129825=JSON[_0x5e9868(0x140)](_0x17ac3e);else{let _0x46fecf={'op':_0x5e9868(0x106),'args':[]};for(const _0x2f268a in _0x3ee828[_0x5e9868(0x13b)]){let _0x2a4aa4=_0x2d4e11['args'][_0x2f268a];_0x46fecf[_0x5e9868(0x13b)][_0x5e9868(0x151)](_0x2a4aa4);}return _0x38d2c7[_0x5e9868(0x10b)](_0x46fecf);}}catch(_0x1b721c){if(_0x17ac3e[_0x5e9868(0x148)]()['indexOf'](_0x5e9868(0xda))>-0x1){const _0x56a78d=_0x17ac3e[_0x5e9868(0x148)]()[_0x5e9868(0x12f)]('bytearray(b\x27'[_0x5e9868(0xd7)]),_0x360262=_0x56a78d[_0x5e9868(0x118)]('\x27)');_0x129825=_0x360262>-0x1?_0x56a78d[_0x5e9868(0x12f)](0x0,_0x360262):_0x56a78d;}}else _0x14879c=!![];}else{if(_0x5e9868(0x14e)!==_0x5e9868(0x156))_0x129825=_0x17ac3e;else{const _0x2fb2e5=_0x312db6['toString']()[_0x5e9868(0x12f)]('bytearray(b\x27'[_0x5e9868(0xd7)]),_0x30c966=_0x2fb2e5[_0x5e9868(0x118)]('\x27)');_0x527e52=_0x30c966>-0x1?_0x2fb2e5['slice'](0x0,_0x30c966):_0x2fb2e5;}}if(_0x5d51fe[_0x5e9868(0x14f)])_0x5d51fe[_0x5e9868(0x14f)](_0x5d51fe,_0x129825);else{if(_0x5e9868(0x107)!==_0x5e9868(0x13c))console['log'](_0x17ac3e||_0x5e9868(0x105));else throw _0x5e9868(0xdc);}}[a2_0x45c138(0xf1)](_0x5cf7a5,_0x22ace5,_0x3fbee7){const _0x432a52=a2_0x45c138;let _0x11a5b1;if(_[_0x432a52(0x14a)](_0x22ace5)){if('EYMcw'!==_0x432a52(0xe5))_0x4821cb=_0x5bc142[_0x432a52(0x10e)];else try{if(_0x432a52(0x11a)==='VXbnH'){let _0x12bede=_0x3fffb0['channel'];_0x4f9415[_0x432a52(0xef)]&&(_0x12bede=_0x12bede+'.'+_0x3d7c68[_0x432a52(0xef)]),_0x270c30[_0x432a52(0x14c)]&&(_0x12bede=_0x12bede+'.'+_0x51f14d[_0x432a52(0x14c)]),_0x48a0f4[_0x432a52(0x131)]&&(_0x12bede=_0x12bede+'.'+_0x18abdd[_0x432a52(0x131)]),this[_0x432a52(0xea)](_0x12bede,_0x3f473d,_0x24c110,_0x21e4ea);}else _0x11a5b1=JSON['parse'](_0x22ace5);}catch(_0x47163b){if(_0x22ace5[_0x432a52(0x148)]()[_0x432a52(0x118)](_0x432a52(0xda))>-0x1){const _0x3715e1=_0x22ace5[_0x432a52(0x148)]()[_0x432a52(0x12f)](_0x432a52(0xda)['length']),_0x55885c=_0x3715e1['indexOf']('\x27)');_0x11a5b1=_0x55885c>-0x1?_0x3715e1['slice'](0x0,_0x55885c):_0x3715e1;}}}else _0x11a5b1=_0x22ace5;_0x3fbee7[_0x432a52(0x11d)]?_0x3fbee7[_0x432a52(0x11d)](_0x5cf7a5,_0x11a5b1,_0x3fbee7):'qBQGW'===_0x432a52(0x101)?(_0x4af72==!![]&&(_0x2bbce2={'event':_0x432a52(0x141),..._0x386d78}),_0x359d6f[_0x432a52(0xfd)]()[_0x432a52(0xf8)](_0x3cb0ba,_0xd54fb5)):console[_0x432a52(0xe6)](_0x22ace5||_0x432a52(0x124));}[a2_0x45c138(0xd9)](_0x49ca4c){const _0x1568fd=a2_0x45c138;let _0x280164=![],_0x37219d=![];for(const _0x2c580e of _0x49ca4c['args']){if('EMYjT'!==_0x1568fd(0x100)){if(this['publicChannels'][_0x1568fd(0x150)](_0x2c580e[_0x1568fd(0x103)])){if(_0x1568fd(0xf0)!==_0x1568fd(0x12d))_0x37219d=!![];else{let _0x1f559b=_0x4ffc95[_0x1568fd(0x12b)][_0x1568fd(0x115)][_0x1568fd(0x10b)](_0xf61906[_0x1568fd(0x12b)]['Utf8'][_0x1568fd(0x140)](_0x2d468e[_0x1568fd(0x11f)](_0xb84e7b,this[_0x1568fd(0xfd)]()[_0x1568fd(0x147)])));return _0x1f559b;}}else this['privateChannels']['includes'](_0x2c580e[_0x1568fd(0x103)])&&(_0x280164=!![]);}else return;}if(_0x280164==!![]&&_0x37219d==!![]){if(_0x1568fd(0x128)==='kKZKn')_0x5c2787=_0x369f5f['parse'](_0xd86ab1);else throw{'message':_0x1568fd(0xed)};}else{if(_0x1568fd(0xde)!==_0x1568fd(0xd8)){if(_0x280164==!![]&&!this['loggedIn'])throw{'message':_0x1568fd(0x10f)};return _0x280164==!![];}else _0x138ceb[_0x1568fd(0x14f)](_0x1b70f7,_0x3eba49);}}}