PHP WebShell
Текущая директория: /opt/BitGoJS/modules/web-demo/dist/src/components/EcdsaChallenge
Просмотр файла: index.js
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import React, { useState } from 'react';
import { EcdsaTypes, EcdsaRangeProof } from '@bitgo/sdk-lib-mpc';
import ReactJson from 'react-json-view';
const EcdsaChallenge = () => {
const [challenge, setChallenge] = useState(undefined);
const [loading, setLoading] = useState(false);
const [totalTime, setTotalTime] = useState(undefined);
const generateChallenge = () => __awaiter(void 0, void 0, void 0, function* () {
setLoading(true);
const { loadWebAssembly } = yield import('@bitgo/sdk-opensslbytes');
const openSSLBytes = loadWebAssembly().buffer;
const start = new Date().getTime() / 1000;
const challenge = yield EcdsaRangeProof.generateNtilde(openSSLBytes, 3072);
const end = new Date().getTime() / 1000;
setChallenge(EcdsaTypes.serializeNtildeWithProofs(challenge));
setTotalTime(end - start);
setLoading(false);
});
return (React.createElement(React.Fragment, null,
React.createElement("h3", null, "Challenge"),
React.createElement("br", null),
challenge ? (React.createElement("div", null,
React.createElement(ReactJson, { src: challenge, displayDataTypes: true, enableClipboard: true }),
React.createElement("h4", null, "Time to generate (s)"),
React.createElement("h5", null, totalTime))) : null,
loading ? React.createElement("h4", null, " Loading... ") : null,
React.createElement("button", { onClick: generateChallenge }, "Generate Challenge")));
};
export default EcdsaChallenge;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9FY2RzYUNoYWxsZW5nZS9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUV4QyxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7SUFDMUIsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBRXhDLFNBQVMsQ0FBQyxDQUFDO0lBQ2IsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFdkQsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQXFCLFNBQVMsQ0FBQyxDQUFDO0lBRTFFLE1BQU0saUJBQWlCLEdBQUcsR0FBUyxFQUFFO1FBQ25DLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNwRSxNQUFNLFlBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxlQUFlLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRSxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztRQUN4QyxZQUFZLENBQUMsVUFBVSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsWUFBWSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUMxQixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQyxDQUFBLENBQUM7SUFFRixPQUFPLENBQ0wsb0JBQUMsS0FBSyxDQUFDLFFBQVE7UUFDYiw0Q0FBa0I7UUFDbEIsK0JBQU07UUFDTCxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ1g7WUFDRSxvQkFBQyxTQUFTLElBQ1IsR0FBRyxFQUFFLFNBQVMsRUFDZCxnQkFBZ0IsRUFBRSxJQUFJLEVBQ3RCLGVBQWUsRUFBRSxJQUFJLEdBQ3JCO1lBQ0YsdURBQTZCO1lBQzdCLGdDQUFLLFNBQVMsQ0FBTSxDQUNoQixDQUNQLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDUCxPQUFPLENBQUMsQ0FBQyxDQUFDLCtDQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ3ZDLGdDQUFRLE9BQU8sRUFBRSxpQkFBaUIseUJBQTZCLENBQ2hELENBQ2xCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixlQUFlLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEVjZHNhVHlwZXMsIEVjZHNhUmFuZ2VQcm9vZiB9IGZyb20gJ0BiaXRnby9zZGstbGliLW1wYyc7XG5pbXBvcnQgUmVhY3RKc29uIGZyb20gJ3JlYWN0LWpzb24tdmlldyc7XG5cbmNvbnN0IEVjZHNhQ2hhbGxlbmdlID0gKCkgPT4ge1xuICBjb25zdCBbY2hhbGxlbmdlLCBzZXRDaGFsbGVuZ2VdID0gdXNlU3RhdGU8XG4gICAgRWNkc2FUeXBlcy5TZXJpYWxpemVkTnRpbGRlV2l0aFByb29mcyB8IHVuZGVmaW5lZFxuICA+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdCBbdG90YWxUaW1lLCBzZXRUb3RhbFRpbWVdID0gdXNlU3RhdGU8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0IGdlbmVyYXRlQ2hhbGxlbmdlID0gYXN5bmMgKCkgPT4ge1xuICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgY29uc3QgeyBsb2FkV2ViQXNzZW1ibHkgfSA9IGF3YWl0IGltcG9ydCgnQGJpdGdvL3Nkay1vcGVuc3NsYnl0ZXMnKTtcbiAgICBjb25zdCBvcGVuU1NMQnl0ZXMgPSBsb2FkV2ViQXNzZW1ibHkoKS5idWZmZXI7XG4gICAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7XG4gICAgY29uc3QgY2hhbGxlbmdlID0gYXdhaXQgRWNkc2FSYW5nZVByb29mLmdlbmVyYXRlTnRpbGRlKG9wZW5TU0xCeXRlcywgMzA3Mik7XG4gICAgY29uc3QgZW5kID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwO1xuICAgIHNldENoYWxsZW5nZShFY2RzYVR5cGVzLnNlcmlhbGl6ZU50aWxkZVdpdGhQcm9vZnMoY2hhbGxlbmdlKSk7XG4gICAgc2V0VG90YWxUaW1lKGVuZCAtIHN0YXJ0KTtcbiAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxoMz5DaGFsbGVuZ2U8L2gzPlxuICAgICAgPGJyIC8+XG4gICAgICB7Y2hhbGxlbmdlID8gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxSZWFjdEpzb25cbiAgICAgICAgICAgIHNyYz17Y2hhbGxlbmdlfVxuICAgICAgICAgICAgZGlzcGxheURhdGFUeXBlcz17dHJ1ZX1cbiAgICAgICAgICAgIGVuYWJsZUNsaXBib2FyZD17dHJ1ZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxoND5UaW1lIHRvIGdlbmVyYXRlIChzKTwvaDQ+XG4gICAgICAgICAgPGg1Pnt0b3RhbFRpbWV9PC9oNT5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtsb2FkaW5nID8gPGg0PiBMb2FkaW5nLi4uIDwvaDQ+IDogbnVsbH1cbiAgICAgIDxidXR0b24gb25DbGljaz17Z2VuZXJhdGVDaGFsbGVuZ2V9PkdlbmVyYXRlIENoYWxsZW5nZTwvYnV0dG9uPlxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFY2RzYUNoYWxsZW5nZTtcbiJdfQ==Выполнить команду
Для локальной разработки. Не используйте в интернете!