UNPKG

madeline-ton

Version:

Pure JS client-side implementation of the Telegram TON blockchain protocol

110 lines (85 loc) 2.67 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _prime = _interopRequireDefault(require("../crypto-sync/prime")); var _random = require("../crypto-sync/random"); var _crypto = require("../crypto-sync/crypto"); var _math = require("../crypto-sync/math"); var _leemon = require("leemon"); var ctrWorkers = []; //let parser onmessage = function onmessage(message) { message = message['data']; var result; try { switch (message['task']) { case 'init': //parser = message['parser'] return; case 'factorize': result = (0, _prime["default"])(message['what']); break; case 'secureRandom': (0, _random.secureRandom)(message['buffer']); result = message['buffer']; break; case 'secureRandomInt': result = (0, _random.secureRandomInt)(message['mod']); break; case 'sha1': result = (0, _crypto.sha1)(message['buffer']); break; case 'sha256': result = (0, _crypto.sha256)(message['buffer']); break; case 'igeEncrypt': result = (0, _crypto.igeEncrypt)(message['data'], message['key'], message['iv']); break; case 'igeDecrypt': result = (0, _crypto.igeDecrypt)(message['data'], message['key'], message['iv']); break; /*case 'deserialize': result = parser.deserialize(message['data']) break*/ /* case 'ctrInit': result = ctrWorkers.length ctrWorkers.push(new CtrProces(message['key'], message['iv'])) break case 'ctrClose': if (typeof ctrWorkers[message['ctrId']] !== 'undefined') { ctrWorkers[message['ctrId']].close() delete ctrWorkers[message['ctrId']] } break case 'ctr': result = ctrWorkers[message['ctrId']].process(message['data']) break*/ case 'seed': rng_seed_time(); break; case 'powMod': result = (0, _leemon.powMod)(message['b'], message['e'], message['n']); break; case 'checkAll': result = (0, _math.checkAll)(message['p'], message['g'], message['G_']); break; case 'checkG': result = (0, _math.checkG)(message['G_'], message['p']); break; case 'initEC': result = (0, _crypto.initEC)(message['peerPublic']); break; case 'crc16': result = (0, _crypto.crc16)(message['data']); berak; } } catch (e) { return postMessage({ e: e, id: message['id'] }); } postMessage({ result: result, id: message['id'] }); };