gamechanger-dapp-cli
Version:
Command line interface for creating ready to use dApps for Cardano with GameChanger Wallet (https://gamechanger.finance/)
72 lines • 2.95 kB
JavaScript
;
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());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const json_url_1 = __importDefault(require("json-url"));
const path_1 = __importDefault(require("path"));
const codec = (0, json_url_1.default)('lzw');
const qr_1 = __importDefault(require("../qr"));
const _1 = require(".");
const styles_1 = __importDefault(require("../config/styles"));
exports.default = ({ network, inputData }) => __awaiter(void 0, void 0, void 0, function* () {
let jsoned;
try {
if (!inputData) {
throw new Error('Empty GCScript provided');
}
jsoned = JSON.parse(inputData);
}
catch (err) {
if (err instanceof Error) {
throw new Error('Invalid GCScript. ' + err.message);
}
}
try {
const gcscript = yield codec.compress(jsoned);
let url;
if (network === 'mainnet')
url = 'https://wallet.gamechanger.finance/api/1/tx/' + gcscript;
else if (network === 'testnet')
url = 'https://testnet-wallet.gamechanger.finance/api/1/tx/' + gcscript;
else
throw new Error('Unknown Cardano network specification');
const template = _1.cli.flags.template && styles_1.default[_1.cli.flags.template]
? _1.cli.flags.template
: 'default';
const qrCode = (0, qr_1.default)(url, template);
if (_1.cli.flags.styles) {
let extendedStyle = {};
try {
extendedStyle = JSON.parse(_1.cli.flags.styles);
}
finally {
qrCode.changeStyles(extendedStyle);
}
}
if (_1.cli.flags.outputFile) {
yield qrCode.saveImage({
path: path_1.default.resolve(process.cwd(), `./${_1.cli.flags.outputFile}`),
});
}
else {
const stream = yield qrCode.toStream();
stream.pipe(process.stdout);
}
}
catch (err) {
if (err instanceof Error) {
throw new Error('Wrong QR Generation. ' + err.message);
}
}
});
//# sourceMappingURL=qr.js.map