@bitgo-beta/key-card 0.1.2-alpha.38 → 0.1.2-alpha.381

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/key-card",
3
- "version": "0.1.2-alpha.38",
3
+ "version": "0.1.2-alpha.381",
4
4
  "description": "key card generator for BitGo wallets",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -33,14 +33,14 @@
33
33
  ]
34
34
  },
35
35
  "dependencies": {
36
- "@bitgo-beta/sdk-api": "1.6.1-alpha.59",
37
- "@bitgo-beta/sdk-core": "2.4.1-alpha.59",
38
- "@bitgo-beta/statics": "10.0.1-alpha.59",
39
- "jspdf": "^2.5.1",
36
+ "@bitgo-beta/sdk-api": "1.6.1-alpha.402",
37
+ "@bitgo-beta/sdk-core": "2.4.1-alpha.402",
38
+ "@bitgo-beta/statics": "10.0.1-alpha.402",
39
+ "jspdf": "^3.0.2",
40
40
  "qrcode": "^1.5.1"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/qrcode": "1.5.0"
44
44
  },
45
- "gitHead": "2c4d51f1f508d5386d92c7ff43a1b2a95757ef1c"
45
+ "gitHead": "c7380a4d991afeab7fb19c4e4c654e73d6fb466b"
46
46
  }
@@ -1,12 +0,0 @@
1
- import { jsPDF } from 'jspdf';
2
- import { FAQ } from './faq';
3
- import { QrData } from './generateQrData';
4
- export declare const QRBinaryMaxLength = 1500;
5
- export declare function drawKeycard({ activationCode, questions, keyCardImage, qrData, walletLabel, }: {
6
- activationCode?: string;
7
- keyCardImage?: HTMLImageElement;
8
- qrData: QrData;
9
- questions: FAQ[];
10
- walletLabel: string;
11
- }): Promise<jsPDF>;
12
- //# sourceMappingURL=drawKeycard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drawKeycard.d.ts","sourceRoot":"","sources":["../../src/drawKeycard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAO1C,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAuDtC,wBAAsB,WAAW,CAAC,EAChC,cAAc,EACd,SAAS,EACT,YAAY,EACZ,MAAM,EACN,WAAW,GACZ,EAAE;IACD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,KAAK,CAAC,CA8KjB"}
@@ -1,206 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.drawKeycard = exports.QRBinaryMaxLength = void 0;
4
- const jspdf_1 = require("jspdf");
5
- const QRCode = require("qrcode");
6
- const utils_1 = require("./utils");
7
- // Max for Binary/Byte Data https://github.com/soldair/node-qrcode#qr-code-capacity
8
- // the largest theoretically possible value is actually 2953 but the QR codes get so dense that scanning them with a
9
- // phone (off of a printed page) doesn't work anymore
10
- // this limitation was chosen by trial and error
11
- exports.QRBinaryMaxLength = 1500;
12
- const font = {
13
- header: 24,
14
- subheader: 15,
15
- body: 12,
16
- };
17
- const color = {
18
- black: '#000000',
19
- darkgray: '#4c4c4c',
20
- gray: '#9b9b9b',
21
- red: '#e21e1e',
22
- };
23
- const margin = 30;
24
- // Helpers for data formatting / positioning on the paper
25
- function left(x) {
26
- return margin + x;
27
- }
28
- function moveDown(y, ydelta) {
29
- return y + ydelta;
30
- }
31
- function drawOnePageOfQrCodes(qrImages, doc, y, qrSize, startIndex) {
32
- doc.setFont('helvetica');
33
- let qrIndex = startIndex;
34
- for (; qrIndex < qrImages.length; qrIndex++) {
35
- const image = qrImages[qrIndex];
36
- const textBuffer = 15;
37
- if (y + qrSize + textBuffer >= doc.internal.pageSize.getHeight()) {
38
- return qrIndex;
39
- }
40
- doc.addImage(image, left(0), y, qrSize, qrSize);
41
- if (qrImages.length === 1) {
42
- return qrIndex + 1;
43
- }
44
- y = moveDown(y, qrSize + textBuffer);
45
- doc.setFontSize(font.body).setTextColor(color.black);
46
- doc.text('Part ' + (qrIndex + 1).toString(), left(0), y);
47
- y = moveDown(y, 20);
48
- }
49
- return qrIndex + 1;
50
- }
51
- async function drawKeycard({ activationCode, questions, keyCardImage, qrData, walletLabel, }) {
52
- var _a;
53
- // document details
54
- const width = 8.5 * 72;
55
- let y = 0;
56
- // Create the PDF instance
57
- const doc = new jspdf_1.jsPDF('portrait', 'pt', 'letter'); // jshint ignore:line
58
- doc.setFont('helvetica');
59
- // PDF Header Area - includes the logo and company name
60
- // This is data for the BitGo logo in the top left of the PDF
61
- y = moveDown(y, 30);
62
- if (keyCardImage) {
63
- doc.addImage(keyCardImage, left(0), y, 303, 40);
64
- }
65
- // Activation Code
66
- if (activationCode) {
67
- y = moveDown(y, 8);
68
- doc.setFontSize(font.body).setTextColor(color.gray);
69
- doc.text('Activation Code', left(460), y);
70
- }
71
- doc.setFontSize(font.header).setTextColor(color.black);
72
- y = moveDown(y, 25);
73
- doc.text('KeyCard', left(325), y - 1);
74
- if (activationCode) {
75
- doc.setFontSize(font.header).setTextColor(color.gray);
76
- doc.text(activationCode, left(460), y);
77
- }
78
- // Subheader
79
- // titles
80
- const date = new Date().toDateString();
81
- y = moveDown(y, margin);
82
- doc.setFontSize(font.body).setTextColor(color.gray);
83
- doc.text('Created on ' + date + ' for wallet named:', left(0), y);
84
- // copy
85
- y = moveDown(y, 25);
86
- doc.setFontSize(font.subheader).setTextColor(color.black);
87
- doc.text(walletLabel, left(0), y);
88
- // Red Bar
89
- y = moveDown(y, 20);
90
- doc.setFillColor(255, 230, 230);
91
- doc.rect(left(0), y, width - 2 * margin, 32, 'F');
92
- // warning message
93
- y = moveDown(y, 20);
94
- doc.setFontSize(font.body).setTextColor(color.red);
95
- doc.text('Print this document, or keep it securely offline. See below for FAQ.', left(75), y);
96
- // Generate the first page's data for the backup PDF
97
- y = moveDown(y, 35);
98
- const qrSize = 130;
99
- const qrKeys = ['user', 'passcode', 'backup', 'bitgo'].filter((key) => !!qrData[key]);
100
- for (let index = 0; index < qrKeys.length; index++) {
101
- const name = qrKeys[index];
102
- if (index === 2) {
103
- // Add 2nd Page
104
- doc.addPage();
105
- // 2nd page title
106
- y = 30;
107
- }
108
- const qr = qrData[name];
109
- let topY = y;
110
- const textLeft = left(qrSize + 15);
111
- let textHeight = 0;
112
- const qrImages = [];
113
- const keys = utils_1.splitKeys(qr.data, exports.QRBinaryMaxLength);
114
- for (const key of keys) {
115
- qrImages.push(await QRCode.toCanvas(key, { errorCorrectionLevel: 'L' }));
116
- }
117
- let nextQrIndex = drawOnePageOfQrCodes(qrImages, doc, y, qrSize, 0);
118
- doc.setFontSize(font.subheader).setTextColor(color.black);
119
- y = moveDown(y, 10);
120
- textHeight += 10;
121
- doc.text(qr.title, textLeft, y);
122
- textHeight += doc.getLineHeight();
123
- y = moveDown(y, 15);
124
- textHeight += 15;
125
- doc.setFontSize(font.body).setTextColor(color.darkgray);
126
- doc.text(qr.description, textLeft, y);
127
- textHeight += doc.getLineHeight();
128
- doc.setFontSize(font.body - 2);
129
- if (((_a = qr === null || qr === void 0 ? void 0 : qr.data) === null || _a === void 0 ? void 0 : _a.length) > exports.QRBinaryMaxLength) {
130
- y = moveDown(y, 30);
131
- textHeight += 30;
132
- doc.text('Note: you will need to put all Parts together for the full key', textLeft, y);
133
- }
134
- y = moveDown(y, 30);
135
- textHeight += 30;
136
- doc.text('Data:', textLeft, y);
137
- textHeight += doc.getLineHeight();
138
- y = moveDown(y, 15);
139
- textHeight += 15;
140
- const width = 72 * 8.5 - textLeft - 30;
141
- doc.setFont('courier').setFontSize(9).setTextColor(color.black);
142
- const lines = doc.splitTextToSize(qr.data, width);
143
- const buffer = 10;
144
- for (let line = 0; line < lines.length; line++) {
145
- // add new page if data does not fit on one page
146
- if (y + buffer >= doc.internal.pageSize.getHeight()) {
147
- doc.addPage();
148
- textHeight = 0;
149
- y = 30;
150
- topY = y;
151
- nextQrIndex = drawOnePageOfQrCodes(qrImages, doc, y, qrSize, nextQrIndex);
152
- doc.setFont('courier').setFontSize(9).setTextColor(color.black);
153
- }
154
- doc.text(lines[line], textLeft, y);
155
- if (line !== lines.length - 1) {
156
- y = moveDown(y, buffer);
157
- textHeight += buffer;
158
- }
159
- }
160
- // Add public key if exists
161
- if (qr.publicMasterKey) {
162
- const text = 'Key Id: ' + qr.publicMasterKey;
163
- // Gray bar
164
- y = moveDown(y, 20);
165
- textHeight += 20;
166
- doc.setFillColor(247, 249, 249); // Gray background
167
- doc.setDrawColor(0, 0, 0); // Border
168
- // Leave a bit of space for the side of the rectangle.
169
- const splitKeyId = doc.splitTextToSize(text, width - 10);
170
- // The height of the box must be at least 15 px (for single line case), or
171
- // a multiple of 13 for each line. This allows for proper padding.
172
- doc.rect(textLeft, y, width, Math.max(12 * splitKeyId.length, 15), 'FD');
173
- textHeight += splitKeyId.length * doc.getLineHeight();
174
- doc.text(splitKeyId, textLeft + 5, y + 10);
175
- }
176
- doc.setFont('helvetica');
177
- // Move down the size of the QR code minus accumulated height on the right side, plus margin
178
- // if we have a key that spans multiple pages, then exclude QR code size
179
- const rowHeight = Math.max(qr.data.length > exports.QRBinaryMaxLength ? qrSize + 20 : qrSize, textHeight);
180
- const marginBottom = 15;
181
- y = moveDown(y, rowHeight - (y - topY) + marginBottom);
182
- }
183
- // Add next Page
184
- doc.addPage();
185
- // next pages title
186
- y = 0;
187
- y = moveDown(y, 55);
188
- doc.setFontSize(font.header).setTextColor(color.black);
189
- doc.text('BitGo KeyCard FAQ', left(0), y);
190
- // Generate the second page's data for the backup PDF
191
- y = moveDown(y, 30);
192
- questions.forEach(function (q) {
193
- doc.setFontSize(font.subheader).setTextColor(color.black);
194
- doc.text(q.question, left(0), y);
195
- y = moveDown(y, 20);
196
- doc.setFontSize(font.body).setTextColor(color.darkgray);
197
- q.answer.forEach(function (line) {
198
- doc.text(line, left(0), y);
199
- y = moveDown(y, font.body + 3);
200
- });
201
- y = moveDown(y, 22);
202
- });
203
- return doc;
204
- }
205
- exports.drawKeycard = drawKeycard;
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd0tleWNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZHJhd0tleWNhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQThCO0FBQzlCLGlDQUFpQztBQUdqQyxtQ0FBb0M7QUFFcEMsbUZBQW1GO0FBQ25GLG9IQUFvSDtBQUNwSCxxREFBcUQ7QUFDckQsZ0RBQWdEO0FBQ25DLFFBQUEsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0FBRXRDLE1BQU0sSUFBSSxHQUFHO0lBQ1gsTUFBTSxFQUFFLEVBQUU7SUFDVixTQUFTLEVBQUUsRUFBRTtJQUNiLElBQUksRUFBRSxFQUFFO0NBQ1QsQ0FBQztBQUVGLE1BQU0sS0FBSyxHQUFHO0lBQ1osS0FBSyxFQUFFLFNBQVM7SUFDaEIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsSUFBSSxFQUFFLFNBQVM7SUFDZixHQUFHLEVBQUUsU0FBUztDQUNmLENBQUM7QUFFRixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFFbEIseURBQXlEO0FBQ3pELFNBQVMsSUFBSSxDQUFDLENBQVM7SUFDckIsT0FBTyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ3BCLENBQUM7QUFDRCxTQUFTLFFBQVEsQ0FBQyxDQUFTLEVBQUUsTUFBYztJQUN6QyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQzNCLFFBQTZCLEVBQzdCLEdBQVUsRUFDVixDQUFTLEVBQ1QsTUFBYyxFQUNkLFVBQVU7SUFFVixHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pCLElBQUksT0FBTyxHQUFXLFVBQVUsQ0FBQztJQUNqQyxPQUFPLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzNDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxFQUFF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QUFDLENBQUMsQ0FBQztJQUUxQyxxREFBcUQ7SUFDckQsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDM0IsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJO1lBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMzQixDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUExTEQsa0NBMExDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganNQREYgfSBmcm9tICdqc3BkZic7XG5pbXBvcnQgKiBhcyBRUkNvZGUgZnJvbSAncXJjb2RlJztcbmltcG9ydCB7IEZBUSB9IGZyb20gJy4vZmFxJztcbmltcG9ydCB7IFFyRGF0YSB9IGZyb20gJy4vZ2VuZXJhdGVRckRhdGEnO1xuaW1wb3J0IHsgc3BsaXRLZXlzIH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIE1heCBmb3IgQmluYXJ5L0J5dGUgRGF0YSBodHRwczovL2dpdGh1Yi5jb20vc29sZGFpci9ub2RlLXFyY29kZSNxci1jb2RlLWNhcGFjaXR5XG4vLyB0aGUgbGFyZ2VzdCB0aGVvcmV0aWNhbGx5IHBvc3NpYmxlIHZhbHVlIGlzIGFjdHVhbGx5IDI5NTMgYnV0IHRoZSBRUiBjb2RlcyBnZXQgc28gZGVuc2UgdGhhdCBzY2FubmluZyB0aGVtIHdpdGggYVxuLy8gcGhvbmUgKG9mZiBvZiBhIHByaW50ZWQgcGFnZSkgZG9lc24ndCB3b3JrIGFueW1vcmVcbi8vIHRoaXMgbGltaXRhdGlvbiB3YXMgY2hvc2VuIGJ5IHRyaWFsIGFuZCBlcnJvclxuZXhwb3J0IGNvbnN0IFFSQmluYXJ5TWF4TGVuZ3RoID0gMTUwMDtcblxuY29uc3QgZm9udCA9IHtcbiAgaGVhZGVyOiAyNCxcbiAgc3ViaGVhZGVyOiAxNSxcbiAgYm9keTogMTIsXG59O1xuXG5jb25zdCBjb2xvciA9IHtcbiAgYmxhY2s6ICcjMDAwMDAwJyxcbiAgZGFya2dyYXk6ICcjNGM0YzRjJyxcbiAgZ3JheTogJyM5YjliOWInLFxuICByZWQ6ICcjZTIxZTFlJyxcbn07XG5cbmNvbnN0IG1hcmdpbiA9IDMwO1xuXG4vLyBIZWxwZXJzIGZvciBkYXRhIGZvcm1hdHRpbmcgLyBwb3NpdGlvbmluZyBvbiB0aGUgcGFwZXJcbmZ1bmN0aW9uIGxlZnQoeDogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIG1hcmdpbiArIHg7XG59XG5mdW5jdGlvbiBtb3ZlRG93bih5OiBudW1iZXIsIHlkZWx0YTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHkgKyB5ZGVsdGE7XG59XG5cbmZ1bmN0aW9uIGRyYXdPbmVQYWdlT2ZRckNvZGVzKFxuICBxckltYWdlczogSFRNTENhbnZhc0VsZW1lbnRbXSxcbiAgZG9jOiBqc1BERixcbiAgeTogbnVtYmVyLFxuICBxclNpemU6IG51bWJlcixcbiAgc3RhcnRJbmRleFxuKTogbnVtYmVyIHtcbiAgZG9jLnNldEZvbnQoJ2hlbHZldGljYScpO1xuICBsZXQgcXJJbmRleDogbnVtYmVyID0gc3RhcnRJbmRleDtcbiAgZm9yICg7IHFySW5kZXggPCBxckltYWdlcy5sZW5ndGg7IHFySW5kZXgrKykge1xuICAgIGNvbnN0IGltYWdlID0gcXJJbWFnZXNbcXJJbmRleF07XG4gICAgY29uc3QgdGV4dEJ1ZmZlciA9IDE1O1xuICAgIGlmICh5ICsgcXJTaXplICsgdGV4dEJ1ZmZlciA+PSBkb2MuaW50ZXJuYWwucGFnZVNpemUuZ2V0SGVpZ2h0KCkpIHtcbiAgICAgIHJldHVybiBxckluZGV4O1xuICAgIH1cblxuICAgIGRvYy5hZGRJbWFnZShpbWFnZSwgbGVmdCgwKSwgeSwgcXJTaXplLCBxclNpemUpO1xuXG4gICAgaWYgKHFySW1hZ2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHFySW5kZXggKyAxO1xuICAgIH1cblxuICAgIHkgPSBtb3ZlRG93bih5LCBxclNpemUgKyB0ZXh0QnVmZmVyKTtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5ib2R5KS5zZXRUZXh0Q29sb3IoY29sb3IuYmxhY2spO1xuICAgIGRvYy50ZXh0KCdQYXJ0ICcgKyAocXJJbmRleCArIDEpLnRvU3RyaW5nKCksIGxlZnQoMCksIHkpO1xuICAgIHkgPSBtb3ZlRG93bih5LCAyMCk7XG4gIH1cbiAgcmV0dXJuIHFySW5kZXggKyAxO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZHJhd0tleWNhcmQoe1xuICBhY3RpdmF0aW9uQ29kZSxcbiAgcXVlc3Rpb25zLFxuICBrZXlDYXJkSW1hZ2UsXG4gIHFyRGF0YSxcbiAgd2FsbGV0TGFiZWwsXG59OiB7XG4gIGFjdGl2YXRpb25Db2RlPzogc3RyaW5nO1xuICBrZXlDYXJkSW1hZ2U/OiBIVE1MSW1hZ2VFbGVtZW50O1xuICBxckRhdGE6IFFyRGF0YTtcbiAgcXVlc3Rpb25zOiBGQVFbXTtcbiAgd2FsbGV0TGFiZWw6IHN0cmluZztcbn0pOiBQcm9taXNlPGpzUERGPiB7XG4gIC8vIGRvY3VtZW50IGRldGFpbHNcbiAgY29uc3Qgd2lkdGggPSA4LjUgKiA3MjtcbiAgbGV0IHkgPSAwO1xuXG4gIC8vIENyZWF0ZSB0aGUgUERGIGluc3RhbmNlXG4gIGNvbnN0IGRvYyA9IG5ldyBqc1BERigncG9ydHJhaXQnLCAncHQnLCAnbGV0dGVyJyk7IC8vIGpzaGludCBpZ25vcmU6bGluZVxuICBkb2Muc2V0Rm9udCgnaGVsdmV0aWNhJyk7XG5cbiAgLy8gUERGIEhlYWRlciBBcmVhIC0gaW5jbHVkZXMgdGhlIGxvZ28gYW5kIGNvbXBhbnkgbmFtZVxuICAvLyBUaGlzIGlzIGRhdGEgZm9yIHRoZSBCaXRHbyBsb2dvIGluIHRoZSB0b3AgbGVmdCBvZiB0aGUgUERGXG4gIHkgPSBtb3ZlRG93bih5LCAzMCk7XG5cbiAgaWYgKGtleUNhcmRJbWFnZSkge1xuICAgIGRvYy5hZGRJbWFnZShrZXlDYXJkSW1hZ2UsIGxlZnQoMCksIHksIDMwMywgNDApO1xuICB9XG5cbiAgLy8gQWN0aXZhdGlvbiBDb2RlXG4gIGlmIChhY3RpdmF0aW9uQ29kZSkge1xuICAgIHkgPSBtb3ZlRG93bih5LCA4KTtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5ib2R5KS5zZXRUZXh0Q29sb3IoY29sb3IuZ3JheSk7XG4gICAgZG9jLnRleHQoJ0FjdGl2YXRpb24gQ29kZScsIGxlZnQoNDYwKSwgeSk7XG4gIH1cbiAgZG9jLnNldEZvbnRTaXplKGZvbnQuaGVhZGVyKS5zZXRUZXh0Q29sb3IoY29sb3IuYmxhY2spO1xuICB5ID0gbW92ZURvd24oeSwgMjUpO1xuICBkb2MudGV4dCgnS2V5Q2FyZCcsIGxlZnQoMzI1KSwgeSAtIDEpO1xuICBpZiAoYWN0aXZhdGlvbkNvZGUpIHtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5oZWFkZXIpLnNldFRleHRDb2xvcihjb2xvci5ncmF5KTtcbiAgICBkb2MudGV4dChhY3RpdmF0aW9uQ29kZSwgbGVmdCg0NjApLCB5KTtcbiAgfVxuXG4gIC8vIFN1YmhlYWRlclxuICAvLyB0aXRsZXNcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCkudG9EYXRlU3RyaW5nKCk7XG4gIHkgPSBtb3ZlRG93bih5LCBtYXJnaW4pO1xuICBkb2Muc2V0Rm9udFNpemUoZm9udC5ib2R5KS5zZXRUZXh0Q29sb3IoY29sb3IuZ3JheSk7XG4gIGRvYy50ZXh0KCdDcmVhdGVkIG9uICcgKyBkYXRlICsgJyBmb3Igd2FsbGV0IG5hbWVkOicsIGxlZnQoMCksIHkpO1xuICAvLyBjb3B5XG4gIHkgPSBtb3ZlRG93bih5LCAyNSk7XG4gIGRvYy5zZXRGb250U2l6ZShmb250LnN1YmhlYWRlcikuc2V0VGV4dENvbG9yKGNvbG9yLmJsYWNrKTtcbiAgZG9jLnRleHQod2FsbGV0TGFiZWwsIGxlZnQoMCksIHkpO1xuICAvLyBSZWQgQmFyXG4gIHkgPSBtb3ZlRG93bih5LCAyMCk7XG4gIGRvYy5zZXRGaWxsQ29sb3IoMjU1LCAyMzAsIDIzMCk7XG4gIGRvYy5yZWN0KGxlZnQoMCksIHksIHdpZHRoIC0gMiAqIG1hcmdpbiwgMzIsICdGJyk7XG5cbiAgLy8gd2FybmluZyBtZXNzYWdlXG4gIHkgPSBtb3ZlRG93bih5LCAyMCk7XG4gIGRvYy5zZXRGb250U2l6ZShmb250LmJvZHkpLnNldFRleHRDb2xvcihjb2xvci5yZWQpO1xuICBkb2MudGV4dCgnUHJpbnQgdGhpcyBkb2N1bWVudCwgb3Iga2VlcCBpdCBzZWN1cmVseSBvZmZsaW5lLiBTZWUgYmVsb3cgZm9yIEZBUS4nLCBsZWZ0KDc1KSwgeSk7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGZpcnN0IHBhZ2UncyBkYXRhIGZvciB0aGUgYmFja3VwIFBERlxuICB5ID0gbW92ZURvd24oeSwgMzUpO1xuICBjb25zdCBxclNpemUgPSAxMzA7XG5cbiAgY29uc3QgcXJLZXlzID0gWyd1c2VyJywgJ3Bhc3Njb2RlJywgJ2JhY2t1cCcsICdiaXRnbyddLmZpbHRlcigoa2V5KSA9PiAhIXFyRGF0YVtrZXldKTtcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHFyS2V5cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBuYW1lID0gcXJLZXlzW2luZGV4XTtcbiAgICBpZiAoaW5kZXggPT09IDIpIHtcbiAgICAgIC8vIEFkZCAybmQgUGFnZVxuICAgICAgZG9jLmFkZFBhZ2UoKTtcblxuICAgICAgLy8gMm5kIHBhZ2UgdGl0bGVcbiAgICAgIHkgPSAzMDtcbiAgICB9XG5cbiAgICBjb25zdCBxciA9IHFyRGF0YVtuYW1lXTtcbiAgICBsZXQgdG9wWSA9IHk7XG4gICAgY29uc3QgdGV4dExlZnQgPSBsZWZ0KHFyU2l6ZSArIDE1KTtcbiAgICBsZXQgdGV4dEhlaWdodCA9IDA7XG5cbiAgICBjb25zdCBxckltYWdlczogSFRNTENhbnZhc0VsZW1lbnRbXSA9IFtdO1xuICAgIGNvbnN0IGtleXMgPSBzcGxpdEtleXMocXIuZGF0YSwgUVJCaW5hcnlNYXhMZW5ndGgpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgIHFySW1hZ2VzLnB1c2goYXdhaXQgUVJDb2RlLnRvQ2FudmFzKGtleSwgeyBlcnJvckNvcnJlY3Rpb25MZXZlbDogJ0wnIH0pKTtcbiAgICB9XG5cbiAgICBsZXQgbmV4dFFySW5kZXggPSBkcmF3T25lUGFnZU9mUXJDb2RlcyhxckltYWdlcywgZG9jLCB5LCBxclNpemUsIDApO1xuXG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuc3ViaGVhZGVyKS5zZXRUZXh0Q29sb3IoY29sb3IuYmxhY2spO1xuICAgIHkgPSBtb3ZlRG93bih5LCAxMCk7XG4gICAgdGV4dEhlaWdodCArPSAxMDtcbiAgICBkb2MudGV4dChxci50aXRsZSwgdGV4dExlZnQsIHkpO1xuICAgIHRleHRIZWlnaHQgKz0gZG9jLmdldExpbmVIZWlnaHQoKTtcbiAgICB5ID0gbW92ZURvd24oeSwgMTUpO1xuICAgIHRleHRIZWlnaHQgKz0gMTU7XG4gICAgZG9jLnNldEZvbnRTaXplKGZvbnQuYm9keSkuc2V0VGV4dENvbG9yKGNvbG9yLmRhcmtncmF5KTtcbiAgICBkb2MudGV4dChxci5kZXNjcmlwdGlvbiwgdGV4dExlZnQsIHkpO1xuICAgIHRleHRIZWlnaHQgKz0gZG9jLmdldExpbmVIZWlnaHQoKTtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5ib2R5IC0gMik7XG4gICAgaWYgKHFyPy5kYXRhPy5sZW5ndGggPiBRUkJpbmFyeU1heExlbmd0aCkge1xuICAgICAgeSA9IG1vdmVEb3duKHksIDMwKTtcbiAgICAgIHRleHRIZWlnaHQgKz0gMzA7XG4gICAgICBkb2MudGV4dCgnTm90ZTogeW91IHdpbGwgbmVlZCB0byBwdXQgYWxsIFBhcnRzIHRvZ2V0aGVyIGZvciB0aGUgZnVsbCBrZXknLCB0ZXh0TGVmdCwgeSk7XG4gICAgfVxuICAgIHkgPSBtb3ZlRG93bih5LCAzMCk7XG4gICAgdGV4dEhlaWdodCArPSAzMDtcbiAgICBkb2MudGV4dCgnRGF0YTonLCB0ZXh0TGVmdCwgeSk7XG4gICAgdGV4dEhlaWdodCArPSBkb2MuZ2V0TGluZUhlaWdodCgpO1xuICAgIHkgPSBtb3ZlRG93bih5LCAxNSk7XG4gICAgdGV4dEhlaWdodCArPSAxNTtcbiAgICBjb25zdCB3aWR0aCA9IDcyICogOC41IC0gdGV4dExlZnQgLSAzMDtcbiAgICBkb2Muc2V0Rm9udCgnY291cmllcicpLnNldEZvbnRTaXplKDkpLnNldFRleHRDb2xvcihjb2xvci5ibGFjayk7XG4gICAgY29uc3QgbGluZXMgPSBkb2Muc3BsaXRUZXh0VG9TaXplKHFyLmRhdGEsIHdpZHRoKTtcbiAgICBjb25zdCBidWZmZXIgPSAxMDtcbiAgICBmb3IgKGxldCBsaW5lID0gMDsgbGluZSA8IGxpbmVzLmxlbmd0aDsgbGluZSsrKSB7XG4gICAgICAvLyBhZGQgbmV3IHBhZ2UgaWYgZGF0YSBkb2VzIG5vdCBmaXQgb24gb25lIHBhZ2VcbiAgICAgIGlmICh5ICsgYnVmZmVyID49IGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS5nZXRIZWlnaHQoKSkge1xuICAgICAgICBkb2MuYWRkUGFnZSgpO1xuICAgICAgICB0ZXh0SGVpZ2h0ID0gMDtcbiAgICAgICAgeSA9IDMwO1xuICAgICAgICB0b3BZID0geTtcbiAgICAgICAgbmV4dFFySW5kZXggPSBkcmF3T25lUGFnZU9mUXJDb2RlcyhxckltYWdlcywgZG9jLCB5LCBxclNpemUsIG5leHRRckluZGV4KTtcbiAgICAgICAgZG9jLnNldEZvbnQoJ2NvdXJpZXInKS5zZXRGb250U2l6ZSg5KS5zZXRUZXh0Q29sb3IoY29sb3IuYmxhY2spO1xuICAgICAgfVxuICAgICAgZG9jLnRleHQobGluZXNbbGluZV0sIHRleHRMZWZ0LCB5KTtcbiAgICAgIGlmIChsaW5lICE9PSBsaW5lcy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHkgPSBtb3ZlRG93bih5LCBidWZmZXIpO1xuICAgICAgICB0ZXh0SGVpZ2h0ICs9IGJ1ZmZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgcHVibGljIGtleSBpZiBleGlzdHNcbiAgICBpZiAocXIucHVibGljTWFzdGVyS2V5KSB7XG4gICAgICBjb25zdCB0ZXh0ID0gJ0tleSBJZDogJyArIHFyLnB1YmxpY01hc3RlcktleTtcblxuICAgICAgLy8gR3JheSBiYXJcbiAgICAgIHkgPSBtb3ZlRG93bih5LCAyMCk7XG4gICAgICB0ZXh0SGVpZ2h0ICs9IDIwO1xuICAgICAgZG9jLnNldEZpbGxDb2xvcigyNDcsIDI0OSwgMjQ5KTsgLy8gR3JheSBiYWNrZ3JvdW5kXG4gICAgICBkb2Muc2V0RHJhd0NvbG9yKDAsIDAsIDApOyAvLyBCb3JkZXJcblxuICAgICAgLy8gTGVhdmUgYSBiaXQgb2Ygc3BhY2UgZm9yIHRoZSBzaWRlIG9mIHRoZSByZWN0YW5nbGUuXG4gICAgICBjb25zdCBzcGxpdEtleUlkID0gZG9jLnNwbGl0VGV4dFRvU2l6ZSh0ZXh0LCB3aWR0aCAtIDEwKTtcblxuICAgICAgLy8gVGhlIGhlaWdodCBvZiB0aGUgYm94IG11c3QgYmUgYXQgbGVhc3QgMTUgcHggKGZvciBzaW5nbGUgbGluZSBjYXNlKSwgb3JcbiAgICAgIC8vIGEgbXVsdGlwbGUgb2YgMTMgZm9yIGVhY2ggbGluZS4gIFRoaXMgYWxsb3dzIGZvciBwcm9wZXIgcGFkZGluZy5cbiAgICAgIGRvYy5yZWN0KHRleHRMZWZ0LCB5LCB3aWR0aCwgTWF0aC5tYXgoMTIgKiBzcGxpdEtleUlkLmxlbmd0aCwgMTUpLCAnRkQnKTtcbiAgICAgIHRleHRIZWlnaHQgKz0gc3BsaXRLZXlJZC5sZW5ndGggKiBkb2MuZ2V0TGluZUhlaWdodCgpO1xuICAgICAgZG9jLnRleHQoc3BsaXRLZXlJZCwgdGV4dExlZnQgKyA1LCB5ICsgMTApO1xuICAgIH1cblxuICAgIGRvYy5zZXRGb250KCdoZWx2ZXRpY2EnKTtcbiAgICAvLyBNb3ZlIGRvd24gdGhlIHNpemUgb2YgdGhlIFFSIGNvZGUgbWludXMgYWNjdW11bGF0ZWQgaGVpZ2h0IG9uIHRoZSByaWdodCBzaWRlLCBwbHVzIG1hcmdpblxuICAgIC8vIGlmIHdlIGhhdmUgYSBrZXkgdGhhdCBzcGFucyBtdWx0aXBsZSBwYWdlcywgdGhlbiBleGNsdWRlIFFSIGNvZGUgc2l6ZVxuICAgIGNvbnN0IHJvd0hlaWdodCA9IE1hdGgubWF4KHFyLmRhdGEubGVuZ3RoID4gUVJCaW5hcnlNYXhMZW5ndGggPyBxclNpemUgKyAyMCA6IHFyU2l6ZSwgdGV4dEhlaWdodCk7XG4gICAgY29uc3QgbWFyZ2luQm90dG9tID0gMTU7XG4gICAgeSA9IG1vdmVEb3duKHksIHJvd0hlaWdodCAtICh5IC0gdG9wWSkgKyBtYXJnaW5Cb3R0b20pO1xuICB9XG5cbiAgLy8gQWRkIG5leHQgUGFnZVxuICBkb2MuYWRkUGFnZSgpO1xuXG4gIC8vIG5leHQgcGFnZXMgdGl0bGVcbiAgeSA9IDA7XG4gIHkgPSBtb3ZlRG93bih5LCA1NSk7XG4gIGRvYy5zZXRGb250U2l6ZShmb250LmhlYWRlcikuc2V0VGV4dENvbG9yKGNvbG9yLmJsYWNrKTtcbiAgZG9jLnRleHQoJ0JpdEdvIEtleUNhcmQgRkFRJywgbGVmdCgwKSwgeSk7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIHNlY29uZCBwYWdlJ3MgZGF0YSBmb3IgdGhlIGJhY2t1cCBQREZcbiAgeSA9IG1vdmVEb3duKHksIDMwKTtcbiAgcXVlc3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKHEpIHtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5zdWJoZWFkZXIpLnNldFRleHRDb2xvcihjb2xvci5ibGFjayk7XG4gICAgZG9jLnRleHQocS5xdWVzdGlvbiwgbGVmdCgwKSwgeSk7XG4gICAgeSA9IG1vdmVEb3duKHksIDIwKTtcbiAgICBkb2Muc2V0Rm9udFNpemUoZm9udC5ib2R5KS5zZXRUZXh0Q29sb3IoY29sb3IuZGFya2dyYXkpO1xuICAgIHEuYW5zd2VyLmZvckVhY2goZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgIGRvYy50ZXh0KGxpbmUsIGxlZnQoMCksIHkpO1xuICAgICAgeSA9IG1vdmVEb3duKHksIGZvbnQuYm9keSArIDMpO1xuICAgIH0pO1xuICAgIHkgPSBtb3ZlRG93bih5LCAyMik7XG4gIH0pO1xuXG4gIHJldHVybiBkb2M7XG59XG4iXX0=
package/dist/src/faq.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export interface FAQ {
2
- question: string;
3
- answer: string[];
4
- }
5
- export declare function generateFaq(coinName: string): FAQ[];
6
- //# sourceMappingURL=faq.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"faq.d.ts","sourceRoot":"","sources":["../../src/faq.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,CAuEnD"}
package/dist/src/faq.js DELETED
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateFaq = void 0;
4
- function generateFaq(coinName) {
5
- const sectionACoinSpecific = `The KeyCard contains important information which can be used to recover the ${coinName} `;
6
- const sectionBCoinSpecific = `If you have lost or damaged all copies of your KeyCard, your ${coinName} is still safe, but this `;
7
- const sectionCCoinSpecific = `source tools at https://github.com/bitgo to recover your ${coinName}. Note: You should never enter `;
8
- const sectionDCoinSpecific = `your KeyCard will be able to steal your ${coinName}. We recommend keeping your wallet password `;
9
- return [
10
- {
11
- question: 'What is the KeyCard?',
12
- answer: [
13
- sectionACoinSpecific,
14
- 'from your wallet in several situations. Each BitGo wallet has its own, unique KeyCard. ',
15
- 'If you have created multiple wallets, you should retain the KeyCard for each of them.',
16
- ],
17
- },
18
- {
19
- question: 'What should I do with it?',
20
- answer: [
21
- 'You should print the KeyCard and/or save the PDF to an offline storage device. The print-out ',
22
- "or USB stick should be kept in a safe place, such as a bank vault or home safe. It's a good idea ",
23
- 'to keep a second copy in a different location.',
24
- '',
25
- "Important: If you haven't provided an external backup key, then the original PDF should be ",
26
- 'deleted from any machine where the wallet will be regularly accessed to prevent malware from ',
27
- 'capturing both the KeyCard and your wallet passcode.',
28
- ],
29
- },
30
- {
31
- question: 'What should I do if I lose it?',
32
- answer: [
33
- sectionBCoinSpecific,
34
- 'Wallet should be considered at risk for loss. As soon as is convenient, you should use BitGo ',
35
- 'to empty the wallet into a new wallet and discontinue use of the old wallet.',
36
- ],
37
- },
38
- {
39
- question: 'What if someone sees my KeyCard?',
40
- answer: [
41
- "Don't panic! All sensitive information on the KeyCard is encrypted with your passcode, or with a",
42
- 'key which only BitGo has. But, in general, you should make best efforts to keep your ',
43
- 'KeyCard private. If your KeyCard does get exposed or copied in a way that makes you ',
44
- 'uncomfortable, the best course of action is to empty the corresponding wallet into another ',
45
- 'wallet and discontinue use of the old wallet.',
46
- ],
47
- },
48
- {
49
- question: 'What if I forget or lose my wallet password?',
50
- answer: [
51
- 'BitGo can use the information in QR Code D to help you recover access to your wallet. ',
52
- 'Without the KeyCard, BitGo is not able to recover funds from a wallet with a lost password.',
53
- ],
54
- },
55
- {
56
- question: 'What if BitGo becomes inaccessible for an extended period?',
57
- answer: [
58
- "Your KeyCard and wallet passcode can be used together with BitGo's published open ",
59
- sectionCCoinSpecific,
60
- 'information from your KeyCard into tools other than the tools BitGo has published, or your ',
61
- 'funds may be at risk for theft.',
62
- ],
63
- },
64
- {
65
- question: 'Should I write my wallet password on my KeyCard?',
66
- answer: [
67
- "No! BitGo's signature scheme approach to security depends on there not being a single point ",
68
- 'of attack. But if your wallet password is on your KeyCard, then anyone who gains access to ',
69
- sectionDCoinSpecific,
70
- 'safe in a secure password manager such as LastPass, 1Password or KeePass.',
71
- ],
72
- },
73
- ];
74
- }
75
- exports.generateFaq = generateFaq;
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZhcS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxTQUFnQixXQUFXLENBQUMsUUFBZ0I7SUFDMUMsTUFBTSxvQkFBb0IsR0FBRywrRUFBK0UsUUFBUSxHQUFHLENBQUM7SUFDeEgsTUFBTSxvQkFBb0IsR0FBRyxnRUFBZ0UsUUFBUSwyQkFBMkIsQ0FBQztJQUNqSSxNQUFNLG9CQUFvQixHQUFHLDREQUE0RCxRQUFRLGlDQUFpQyxDQUFDO0lBQ25JLE1BQU0sb0JBQW9CLEdBQUcsMkNBQTJDLFFBQVEsOENBQThDLENBQUM7SUFFL0gsT0FBTztRQUNMO1lBQ0UsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxNQUFNLEVBQUU7Z0JBQ04sb0JBQW9CO2dCQUNwQix5RkFBeUY7Z0JBQ3pGLHVGQUF1RjthQUN4RjtTQUNGO1FBQ0Q7WUFDRSxRQUFRLEVBQUUsMkJBQTJCO1lBQ3JDLE1BQU0sRUFBRTtnQkFDTiwrRkFBK0Y7Z0JBQy9GLG1HQUFtRztnQkFDbkcsZ0RBQWdEO2dCQUNoRCxFQUFFO2dCQUNGLDZGQUE2RjtnQkFDN0YsK0ZBQStGO2dCQUMvRixzREFBc0Q7YUFDdkQ7U0FDRjtRQUNEO1lBQ0UsUUFBUSxFQUFFLGdDQUFnQztZQUMxQyxNQUFNLEVBQUU7Z0JBQ04sb0JBQW9CO2dCQUNwQiwrRkFBK0Y7Z0JBQy9GLDhFQUE4RTthQUMvRTtTQUNGO1FBQ0Q7WUFDRSxRQUFRLEVBQUUsa0NBQWtDO1lBQzVDLE1BQU0sRUFBRTtnQkFDTixrR0FBa0c7Z0JBQ2xHLHVGQUF1RjtnQkFDdkYsc0ZBQXNGO2dCQUN0Riw2RkFBNkY7Z0JBQzdGLCtDQUErQzthQUNoRDtTQUNGO1FBQ0Q7WUFDRSxRQUFRLEVBQUUsOENBQThDO1lBQ3hELE1BQU0sRUFBRTtnQkFDTix3RkFBd0Y7Z0JBQ3hGLDZGQUE2RjthQUM5RjtTQUNGO1FBQ0Q7WUFDRSxRQUFRLEVBQUUsNERBQTREO1lBQ3RFLE1BQU0sRUFBRTtnQkFDTixvRkFBb0Y7Z0JBQ3BGLG9CQUFvQjtnQkFDcEIsNkZBQTZGO2dCQUM3RixpQ0FBaUM7YUFDbEM7U0FDRjtRQUNEO1lBQ0UsUUFBUSxFQUFFLGtEQUFrRDtZQUM1RCxNQUFNLEVBQUU7Z0JBQ04sOEZBQThGO2dCQUM5Riw2RkFBNkY7Z0JBQzdGLG9CQUFvQjtnQkFDcEIsMkVBQTJFO2FBQzVFO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQXZFRCxrQ0F1RUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZBUSB7XG4gIHF1ZXN0aW9uOiBzdHJpbmc7XG4gIC8vIHRoZSBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uLCBhbHJlYWR5IHNwbGl0IGludG8gaW5kaXZpZHVhbCBsaW5lcyBvZiB0ZXh0XG4gIGFuc3dlcjogc3RyaW5nW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUZhcShjb2luTmFtZTogc3RyaW5nKTogRkFRW10ge1xuICBjb25zdCBzZWN0aW9uQUNvaW5TcGVjaWZpYyA9IGBUaGUgS2V5Q2FyZCBjb250YWlucyBpbXBvcnRhbnQgaW5mb3JtYXRpb24gd2hpY2ggY2FuIGJlIHVzZWQgdG8gcmVjb3ZlciB0aGUgJHtjb2luTmFtZX0gYDtcbiAgY29uc3Qgc2VjdGlvbkJDb2luU3BlY2lmaWMgPSBgSWYgeW91IGhhdmUgbG9zdCBvciBkYW1hZ2VkIGFsbCBjb3BpZXMgb2YgeW91ciBLZXlDYXJkLCB5b3VyICR7Y29pbk5hbWV9IGlzIHN0aWxsIHNhZmUsIGJ1dCB0aGlzIGA7XG4gIGNvbnN0IHNlY3Rpb25DQ29pblNwZWNpZmljID0gYHNvdXJjZSB0b29scyBhdCBodHRwczovL2dpdGh1Yi5jb20vYml0Z28gdG8gcmVjb3ZlciB5b3VyICR7Y29pbk5hbWV9LiBOb3RlOiBZb3Ugc2hvdWxkIG5ldmVyIGVudGVyIGA7XG4gIGNvbnN0IHNlY3Rpb25EQ29pblNwZWNpZmljID0gYHlvdXIgS2V5Q2FyZCB3aWxsIGJlIGFibGUgdG8gc3RlYWwgeW91ciAke2NvaW5OYW1lfS4gV2UgcmVjb21tZW5kIGtlZXBpbmcgeW91ciB3YWxsZXQgcGFzc3dvcmQgYDtcblxuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnV2hhdCBpcyB0aGUgS2V5Q2FyZD8nLFxuICAgICAgYW5zd2VyOiBbXG4gICAgICAgIHNlY3Rpb25BQ29pblNwZWNpZmljLFxuICAgICAgICAnZnJvbSB5b3VyIHdhbGxldCBpbiBzZXZlcmFsIHNpdHVhdGlvbnMuIEVhY2ggQml0R28gd2FsbGV0IGhhcyBpdHMgb3duLCB1bmlxdWUgS2V5Q2FyZC4gJyxcbiAgICAgICAgJ0lmIHlvdSBoYXZlIGNyZWF0ZWQgbXVsdGlwbGUgd2FsbGV0cywgeW91IHNob3VsZCByZXRhaW4gdGhlIEtleUNhcmQgZm9yIGVhY2ggb2YgdGhlbS4nLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnV2hhdCBzaG91bGQgSSBkbyB3aXRoIGl0PycsXG4gICAgICBhbnN3ZXI6IFtcbiAgICAgICAgJ1lvdSBzaG91bGQgcHJpbnQgdGhlIEtleUNhcmQgYW5kL29yIHNhdmUgdGhlIFBERiB0byBhbiBvZmZsaW5lIHN0b3JhZ2UgZGV2aWNlLiBUaGUgcHJpbnQtb3V0ICcsXG4gICAgICAgIFwib3IgVVNCIHN0aWNrIHNob3VsZCBiZSBrZXB0IGluIGEgc2FmZSBwbGFjZSwgc3VjaCBhcyBhIGJhbmsgdmF1bHQgb3IgaG9tZSBzYWZlLiBJdCdzIGEgZ29vZCBpZGVhIFwiLFxuICAgICAgICAndG8ga2VlcCBhIHNlY29uZCBjb3B5IGluIGEgZGlmZmVyZW50IGxvY2F0aW9uLicsXG4gICAgICAgICcnLFxuICAgICAgICBcIkltcG9ydGFudDogSWYgeW91IGhhdmVuJ3QgcHJvdmlkZWQgYW4gZXh0ZXJuYWwgYmFja3VwIGtleSwgdGhlbiB0aGUgb3JpZ2luYWwgUERGIHNob3VsZCBiZSBcIixcbiAgICAgICAgJ2RlbGV0ZWQgZnJvbSBhbnkgbWFjaGluZSB3aGVyZSB0aGUgd2FsbGV0IHdpbGwgYmUgcmVndWxhcmx5IGFjY2Vzc2VkIHRvIHByZXZlbnQgbWFsd2FyZSBmcm9tICcsXG4gICAgICAgICdjYXB0dXJpbmcgYm90aCB0aGUgS2V5Q2FyZCBhbmQgeW91ciB3YWxsZXQgcGFzc2NvZGUuJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ1doYXQgc2hvdWxkIEkgZG8gaWYgSSBsb3NlIGl0PycsXG4gICAgICBhbnN3ZXI6IFtcbiAgICAgICAgc2VjdGlvbkJDb2luU3BlY2lmaWMsXG4gICAgICAgICdXYWxsZXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXQgcmlzayBmb3IgbG9zcy4gQXMgc29vbiBhcyBpcyBjb252ZW5pZW50LCB5b3Ugc2hvdWxkIHVzZSBCaXRHbyAnLFxuICAgICAgICAndG8gZW1wdHkgdGhlIHdhbGxldCBpbnRvIGEgbmV3IHdhbGxldCBhbmQgZGlzY29udGludWUgdXNlIG9mIHRoZSBvbGQgd2FsbGV0LicsXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICdXaGF0IGlmIHNvbWVvbmUgc2VlcyBteSBLZXlDYXJkPycsXG4gICAgICBhbnN3ZXI6IFtcbiAgICAgICAgXCJEb24ndCBwYW5pYyEgQWxsIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiBvbiB0aGUgS2V5Q2FyZCBpcyBlbmNyeXB0ZWQgd2l0aCB5b3VyIHBhc3Njb2RlLCBvciB3aXRoIGFcIixcbiAgICAgICAgJ2tleSB3aGljaCBvbmx5IEJpdEdvIGhhcy4gQnV0LCBpbiBnZW5lcmFsLCB5b3Ugc2hvdWxkIG1ha2UgYmVzdCBlZmZvcnRzIHRvIGtlZXAgeW91ciAnLFxuICAgICAgICAnS2V5Q2FyZCBwcml2YXRlLiBJZiB5b3VyIEtleUNhcmQgZG9lcyBnZXQgZXhwb3NlZCBvciBjb3BpZWQgaW4gYSB3YXkgdGhhdCBtYWtlcyB5b3UgJyxcbiAgICAgICAgJ3VuY29tZm9ydGFibGUsIHRoZSBiZXN0IGNvdXJzZSBvZiBhY3Rpb24gaXMgdG8gZW1wdHkgdGhlIGNvcnJlc3BvbmRpbmcgd2FsbGV0IGludG8gYW5vdGhlciAnLFxuICAgICAgICAnd2FsbGV0IGFuZCBkaXNjb250aW51ZSB1c2Ugb2YgdGhlIG9sZCB3YWxsZXQuJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ1doYXQgaWYgSSBmb3JnZXQgb3IgbG9zZSBteSB3YWxsZXQgcGFzc3dvcmQ/JyxcbiAgICAgIGFuc3dlcjogW1xuICAgICAgICAnQml0R28gY2FuIHVzZSB0aGUgaW5mb3JtYXRpb24gaW4gUVIgQ29kZSBEIHRvIGhlbHAgeW91IHJlY292ZXIgYWNjZXNzIHRvIHlvdXIgd2FsbGV0LiAnLFxuICAgICAgICAnV2l0aG91dCB0aGUgS2V5Q2FyZCwgQml0R28gaXMgbm90IGFibGUgdG8gcmVjb3ZlciBmdW5kcyBmcm9tIGEgd2FsbGV0IHdpdGggYSBsb3N0IHBhc3N3b3JkLicsXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICdXaGF0IGlmIEJpdEdvIGJlY29tZXMgaW5hY2Nlc3NpYmxlIGZvciBhbiBleHRlbmRlZCBwZXJpb2Q/JyxcbiAgICAgIGFuc3dlcjogW1xuICAgICAgICBcIllvdXIgS2V5Q2FyZCBhbmQgd2FsbGV0IHBhc3Njb2RlIGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggQml0R28ncyBwdWJsaXNoZWQgb3BlbiBcIixcbiAgICAgICAgc2VjdGlvbkNDb2luU3BlY2lmaWMsXG4gICAgICAgICdpbmZvcm1hdGlvbiBmcm9tIHlvdXIgS2V5Q2FyZCBpbnRvIHRvb2xzIG90aGVyIHRoYW4gdGhlIHRvb2xzIEJpdEdvIGhhcyBwdWJsaXNoZWQsIG9yIHlvdXIgJyxcbiAgICAgICAgJ2Z1bmRzIG1heSBiZSBhdCByaXNrIGZvciB0aGVmdC4nLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnU2hvdWxkIEkgd3JpdGUgbXkgd2FsbGV0IHBhc3N3b3JkIG9uIG15IEtleUNhcmQ/JyxcbiAgICAgIGFuc3dlcjogW1xuICAgICAgICBcIk5vISBCaXRHbydzIHNpZ25hdHVyZSBzY2hlbWUgYXBwcm9hY2ggdG8gc2VjdXJpdHkgZGVwZW5kcyBvbiB0aGVyZSBub3QgYmVpbmcgYSBzaW5nbGUgcG9pbnQgXCIsXG4gICAgICAgICdvZiBhdHRhY2suIEJ1dCBpZiB5b3VyIHdhbGxldCBwYXNzd29yZCBpcyBvbiB5b3VyIEtleUNhcmQsIHRoZW4gYW55b25lIHdobyBnYWlucyBhY2Nlc3MgdG8gJyxcbiAgICAgICAgc2VjdGlvbkRDb2luU3BlY2lmaWMsXG4gICAgICAgICdzYWZlIGluIGEgc2VjdXJlIHBhc3N3b3JkIG1hbmFnZXIgc3VjaCBhcyBMYXN0UGFzcywgMVBhc3N3b3JkIG9yIEtlZVBhc3MuJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { BaseCoin } from '@bitgo-beta/statics';
2
- import { Keychain } from '@bitgo-beta/sdk-core';
3
- export interface GenerateQrDataParams {
4
- backupKeychain: Keychain;
5
- backupKeyProvider?: string;
6
- backupMasterKey?: string;
7
- bitgoKeychain: Keychain;
8
- coin: Readonly<BaseCoin>;
9
- passcodeEncryptionCode?: string;
10
- passphrase?: string;
11
- userKeychain: Keychain;
12
- userMasterKey?: string;
13
- }
14
- interface QrDataEntry {
15
- data: string;
16
- description: string;
17
- title: string;
18
- publicMasterKey?: string;
19
- }
20
- export interface QrData {
21
- backup?: QrDataEntry;
22
- bitgo?: QrDataEntry;
23
- passcode?: QrDataEntry;
24
- user: QrDataEntry;
25
- }
26
- export declare function generateQrData({ backupKeychain, backupKeyProvider, backupMasterKey, bitgoKeychain, coin, passcodeEncryptionCode, passphrase, userKeychain, userMasterKey, }: GenerateQrDataParams): QrData;
27
- export {};
28
- //# sourceMappingURL=generateQrData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateQrData.d.ts","sourceRoot":"","sources":["../../src/generateQrData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD,MAAM,WAAW,oBAAoB;IAEnC,cAAc,EAAE,QAAQ,CAAC;IAEzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,aAAa,EAAE,QAAQ,CAAC;IAExB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAIzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAIhC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,YAAY,EAAE,QAAQ,CAAC;IAEvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;CACnB;AAkGD,wBAAgB,cAAc,CAAC,EAC7B,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,aAAa,GACd,EAAE,oBAAoB,GAAG,MAAM,CAqB/B"}
@@ -1,99 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateQrData = void 0;
4
- const sdk_api_1 = require("@bitgo-beta/sdk-api");
5
- const assert = require("assert");
6
- function getPubFromKey(key) {
7
- switch (key.type) {
8
- case 'blsdkg':
9
- return key.commonPub;
10
- case 'tss':
11
- return key.commonKeychain;
12
- case 'independent':
13
- return key.pub;
14
- }
15
- }
16
- function generateUserQrData(userKeychain, userMasterKey) {
17
- if (userKeychain.encryptedPrv) {
18
- return {
19
- title: 'A: User Key',
20
- description: 'This is your private key, encrypted with your wallet password.',
21
- data: userKeychain.encryptedPrv,
22
- };
23
- }
24
- const pub = getPubFromKey(userKeychain);
25
- assert(pub);
26
- return {
27
- title: 'A: Provided User Key',
28
- description: 'This is the public key you provided for your wallet.',
29
- data: pub,
30
- publicMasterKey: userMasterKey,
31
- };
32
- }
33
- function generateBackupQrData(coin, backupKeychain, { backupKeyProvider, backupMasterKey, } = {}) {
34
- var _a;
35
- const title = 'B: Backup Key';
36
- if (backupKeychain.encryptedPrv) {
37
- return {
38
- title,
39
- description: 'This is your backup private key, encrypted with your wallet password.',
40
- data: backupKeychain.encryptedPrv,
41
- };
42
- }
43
- if (backupKeyProvider === 'BitGo Trust' && backupKeychain.type === 'tss') {
44
- const keyShares = (_a = backupKeychain.keyShares) === null || _a === void 0 ? void 0 : _a.filter((keyShare) => keyShare.to === 'backup');
45
- assert((keyShares === null || keyShares === void 0 ? void 0 : keyShares.length) === 2);
46
- return {
47
- title: 'B: Backup Key Shares',
48
- description: `These are the key shares for ${backupKeyProvider}. If BitGo Inc. goes out of business,\r\n` +
49
- `contact ${backupKeyProvider} and they will help you recover your funds.`,
50
- data: JSON.stringify(keyShares),
51
- };
52
- }
53
- const pub = getPubFromKey(backupKeychain);
54
- assert(pub);
55
- if (backupKeyProvider) {
56
- return {
57
- title: 'B: Backup Key',
58
- description: `This is the public key held at ${backupKeyProvider}, an ${coin.name} recovery service. ` +
59
- `If you lose\r\nyour key, ${backupKeyProvider} will be able to sign transactions to recover funds.`,
60
- data: pub,
61
- };
62
- }
63
- return {
64
- title: 'B: Provided Backup Key',
65
- description: 'This is the public key you provided for your wallet.',
66
- data: pub,
67
- publicMasterKey: backupMasterKey,
68
- };
69
- }
70
- function generateBitGoQrData(bitgoKeychain) {
71
- const bitgoData = getPubFromKey(bitgoKeychain);
72
- assert(bitgoData);
73
- return {
74
- title: 'C: BitGo Public Key',
75
- description: 'This is the public part of the key that BitGo will use to ' + 'co-sign transactions\r\nwith you on your wallet.',
76
- data: bitgoData,
77
- };
78
- }
79
- function generateQrData({ backupKeychain, backupKeyProvider, backupMasterKey, bitgoKeychain, coin, passcodeEncryptionCode, passphrase, userKeychain, userMasterKey, }) {
80
- const qrData = {
81
- user: generateUserQrData(userKeychain, userMasterKey),
82
- backup: generateBackupQrData(coin, backupKeychain, {
83
- backupKeyProvider,
84
- backupMasterKey,
85
- }),
86
- bitgo: generateBitGoQrData(bitgoKeychain),
87
- };
88
- if (passphrase && passcodeEncryptionCode) {
89
- const encryptedWalletPasscode = sdk_api_1.encrypt(passcodeEncryptionCode, passphrase);
90
- qrData.passcode = {
91
- title: 'D: Encrypted wallet Password',
92
- description: 'This is the wallet password, encrypted client-side with a key held by BitGo.',
93
- data: encryptedWalletPasscode,
94
- };
95
- }
96
- return qrData;
97
- }
98
- exports.generateQrData = generateQrData;
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVRckRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVRckRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsaURBQThDO0FBQzlDLGlDQUFpQztBQXlDakMsU0FBUyxhQUFhLENBQUMsR0FBYTtJQUNsQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLEVBQUU7UUFDaEIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ3ZCLEtBQUssS0FBSztZQUNSLE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQztRQUM1QixLQUFLLGFBQWE7WUFDaEIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDO0tBQ2xCO0FBQ0gsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsWUFBc0IsRUFBRSxhQUFzQjtJQUN4RSxJQUFJLFlBQVksQ0FBQyxZQUFZLEVBQUU7UUFDN0IsT0FBTztZQUNMLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFdBQVcsRUFBRSxnRUFBZ0U7WUFDN0UsSUFBSSxFQUFFLFlBQVksQ0FBQyxZQUFZO1NBQ2hDLENBQUM7S0FDSDtJQUVELE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFWixPQUFPO1FBQ0wsS0FBSyxFQUFFLHNCQUFzQjtRQUM3QixXQUFXLEVBQUUsc0RBQXNEO1FBQ25FLElBQUksRUFBRSxHQUFHO1FBQ1QsZUFBZSxFQUFFLGFBQWE7S0FDL0IsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUMzQixJQUF3QixFQUN4QixjQUF3QixFQUN4QixFQUNFLGlCQUFpQixFQUNqQixlQUFlLE1BSWIsRUFBRTs7SUFFTixNQUFNLEtBQUssR0FBRyxlQUFlLENBQUM7SUFDOUIsSUFBSSxjQUFjLENBQUMsWUFBWSxFQUFFO1FBQy9CLE9BQU87WUFDTCxLQUFLO1lBQ0wsV0FBVyxFQUFFLHVFQUF1RTtZQUNwRixJQUFJLEVBQUUsY0FBYyxDQUFDLFlBQVk7U0FDbEMsQ0FBQztLQUNIO0lBRUQsSUFBSSxpQkFBaUIsS0FBSyxhQUFhLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7UUFDeEUsTUFBTSxTQUFTLEdBQUcsTUFBQSxjQUFjLENBQUMsU0FBUywwQ0FBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDM0YsTUFBTSxDQUFDLENBQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLE1BQU0sTUFBSyxDQUFDLENBQUMsQ0FBQztRQUNoQyxPQUFPO1lBQ0wsS0FBSyxFQUFFLHNCQUFzQjtZQUM3QixXQUFXLEVBQ1QsZ0NBQWdDLGlCQUFpQiwyQ0FBMkM7Z0JBQzVGLFdBQVcsaUJBQWlCLDZDQUE2QztZQUMzRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7U0FDaEMsQ0FBQztLQUNIO0lBRUQsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVaLElBQUksaUJBQWlCLEVBQUU7UUFDckIsT0FBTztZQUNMLEtBQUssRUFBRSxlQUFlO1lBQ3RCLFdBQVcsRUFDVCxrQ0FBa0MsaUJBQWlCLFFBQVEsSUFBSSxDQUFDLElBQUkscUJBQXFCO2dCQUN6Riw0QkFBNEIsaUJBQWlCLHNEQUFzRDtZQUNyRyxJQUFJLEVBQUUsR0FBRztTQUNWLENBQUM7S0FDSDtJQUVELE9BQU87UUFDTCxLQUFLLEVBQUUsd0JBQXdCO1FBQy9CLFdBQVcsRUFBRSxzREFBc0Q7UUFDbkUsSUFBSSxFQUFFLEdBQUc7UUFDVCxlQUFlLEVBQUUsZUFBZTtLQUNqQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsYUFBdUI7SUFDbEQsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVsQixPQUFPO1FBQ0wsS0FBSyxFQUFFLHFCQUFxQjtRQUM1QixXQUFXLEVBQ1QsNERBQTRELEdBQUcsa0RBQWtEO1FBQ25ILElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLEVBQzdCLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGFBQWEsRUFDYixJQUFJLEVBQ0osc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixZQUFZLEVBQ1osYUFBYSxHQUNRO0lBQ3JCLE1BQU0sTUFBTSxHQUFXO1FBQ3JCLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO1FBQ3JELE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ2pELGlCQUFpQjtZQUNqQixlQUFlO1NBQ2hCLENBQUM7UUFDRixLQUFLLEVBQUUsbUJBQW1CLENBQUMsYUFBYSxDQUFDO0tBQzFDLENBQUM7SUFFRixJQUFJLFVBQVUsSUFBSSxzQkFBc0IsRUFBRTtRQUN4QyxNQUFNLHVCQUF1QixHQUFHLGlCQUFPLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFNUUsTUFBTSxDQUFDLFFBQVEsR0FBRztZQUNoQixLQUFLLEVBQUUsOEJBQThCO1lBQ3JDLFdBQVcsRUFBRSw4RUFBOEU7WUFDM0YsSUFBSSxFQUFFLHVCQUF1QjtTQUM5QixDQUFDO0tBQ0g7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBL0JELHdDQStCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBLZXljaGFpbiB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGVuY3J5cHQgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstYXBpJztcbmltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlUXJEYXRhUGFyYW1zIHtcbiAgLy8gVGhlIGJhY2t1cCBrZXljaGFpbiBhcyBpdCBpcyByZXR1cm5lZCBmcm9tIHRoZSBCaXRHbyBBUEkgdXBvbiBjcmVhdGlvblxuICBiYWNrdXBLZXljaGFpbjogS2V5Y2hhaW47XG4gIC8vIFRoZSBuYW1lIG9mIHRoZSAzcmQgcGFydHkgcHJvdmlkZXIgb2YgdGhlIGJhY2t1cCBrZXkgaWYgbmVpdGhlciB0aGUgdXNlciBub3IgQml0R28gc3RvcmVzIGl0XG4gIGJhY2t1cEtleVByb3ZpZGVyPzogc3RyaW5nO1xuICAvLyBUaGUga2V5IGlkIG9mIHRoZSBiYWNrdXAga2V5LCBvbmx5IHVzZWQgZm9yIGNvbGQga2V5c1xuICBiYWNrdXBNYXN0ZXJLZXk/OiBzdHJpbmc7XG4gIC8vIFRoZSBCaXRHbyBrZXljaGFpbiBhcyBpdCBpcyByZXR1cm5lZCBmcm9tIHRoZSBCaXRHbyBBUEkgdXBvbiBjcmVhdGlvblxuICBiaXRnb0tleWNoYWluOiBLZXljaGFpbjtcbiAgLy8gVGhlIGNvaW4gb2YgdGhlIHdhbGxldCB0aGF0IHdhcy8gaXMgYWJvdXQgdG8gYmUgY3JlYXRlZFxuICBjb2luOiBSZWFkb25seTxCYXNlQ29pbj47XG4gIC8vIEEgY29kZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGVuY3J5cHQgdGhlIHdhbGxldCBwYXNzd29yZCB0by5cbiAgLy8gSWYgYm90aCB0aGUgcGFzc3BocmFzZSBhbmQgcGFzc2NvZGVFbmNyeXB0aW9uQ29kZSBhcmUgcGFzc2VkLCB0aGVuIHRoaXMgY29kZSBlbmNyeXB0cyB0aGUgcGFzc3BocmFzZSB3aXRoIHRoZVxuICAvLyBwYXNzY29kZUVuY3J5cHRpb25Db2RlIGFuZCBwdXRzIHRoZSByZXN1bHQgaW50byBCb3ggRC4gQWxsb3dzIHJlY292ZXJpZXMgb2YgdGhlIHdhbGxldCBwYXNzd29yZC5cbiAgcGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgLy8gVGhlIHdhbGxldCBwYXNzd29yZFxuICAvLyBJZiBib3RoIHRoZSBwYXNzcGhyYXNlIGFuZCBwYXNzY29kZUVuY3J5cHRpb25Db2RlIGFyZSBwYXNzZWQsIHRoZW4gdGhpcyBjb2RlIGVuY3J5cHRzIHRoZSBwYXNzcGhyYXNlIHdpdGggdGhlXG4gIC8vIHBhc3Njb2RlRW5jcnlwdGlvbkNvZGUgYW5kIHB1dHMgdGhlIHJlc3VsdCBpbnRvIEJveCBELiBBbGxvd3MgcmVjb3ZlcmllcyBvZiB0aGUgd2FsbGV0IHBhc3N3b3JkLlxuICBwYXNzcGhyYXNlPzogc3RyaW5nO1xuICAvLyBUaGUgdXNlciBrZXljaGFpbiBhcyBpdCBpcyByZXR1cm5lZCBmcm9tIHRoZSBCaXRHbyBBUEkgdXBvbiBjcmVhdGlvblxuICB1c2VyS2V5Y2hhaW46IEtleWNoYWluO1xuICAvLyBUaGUga2V5IGlkIG9mIHRoZSB1c2VyIGtleSwgb25seSB1c2VkIGZvciBjb2xkIGtleXNcbiAgdXNlck1hc3RlcktleT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFFyRGF0YUVudHJ5IHtcbiAgZGF0YTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBwdWJsaWNNYXN0ZXJLZXk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXJEYXRhIHtcbiAgYmFja3VwPzogUXJEYXRhRW50cnk7XG4gIGJpdGdvPzogUXJEYXRhRW50cnk7XG4gIHBhc3Njb2RlPzogUXJEYXRhRW50cnk7XG4gIHVzZXI6IFFyRGF0YUVudHJ5O1xufVxuXG5mdW5jdGlvbiBnZXRQdWJGcm9tS2V5KGtleTogS2V5Y2hhaW4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBzd2l0Y2ggKGtleS50eXBlKSB7XG4gICAgY2FzZSAnYmxzZGtnJzpcbiAgICAgIHJldHVybiBrZXkuY29tbW9uUHViO1xuICAgIGNhc2UgJ3Rzcyc6XG4gICAgICByZXR1cm4ga2V5LmNvbW1vbktleWNoYWluO1xuICAgIGNhc2UgJ2luZGVwZW5kZW50JzpcbiAgICAgIHJldHVybiBrZXkucHViO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlVXNlclFyRGF0YSh1c2VyS2V5Y2hhaW46IEtleWNoYWluLCB1c2VyTWFzdGVyS2V5Pzogc3RyaW5nKTogUXJEYXRhRW50cnkge1xuICBpZiAodXNlcktleWNoYWluLmVuY3J5cHRlZFBydikge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJ0E6IFVzZXIgS2V5JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB5b3VyIHByaXZhdGUga2V5LCBlbmNyeXB0ZWQgd2l0aCB5b3VyIHdhbGxldCBwYXNzd29yZC4nLFxuICAgICAgZGF0YTogdXNlcktleWNoYWluLmVuY3J5cHRlZFBydixcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgcHViID0gZ2V0UHViRnJvbUtleSh1c2VyS2V5Y2hhaW4pO1xuICBhc3NlcnQocHViKTtcblxuICByZXR1cm4ge1xuICAgIHRpdGxlOiAnQTogUHJvdmlkZWQgVXNlciBLZXknLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgcHVibGljIGtleSB5b3UgcHJvdmlkZWQgZm9yIHlvdXIgd2FsbGV0LicsXG4gICAgZGF0YTogcHViLFxuICAgIHB1YmxpY01hc3RlcktleTogdXNlck1hc3RlcktleSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVCYWNrdXBRckRhdGEoXG4gIGNvaW46IFJlYWRvbmx5PEJhc2VDb2luPixcbiAgYmFja3VwS2V5Y2hhaW46IEtleWNoYWluLFxuICB7XG4gICAgYmFja3VwS2V5UHJvdmlkZXIsXG4gICAgYmFja3VwTWFzdGVyS2V5LFxuICB9OiB7XG4gICAgYmFja3VwS2V5UHJvdmlkZXI/OiBzdHJpbmc7XG4gICAgYmFja3VwTWFzdGVyS2V5Pzogc3RyaW5nO1xuICB9ID0ge31cbik6IFFyRGF0YUVudHJ5IHtcbiAgY29uc3QgdGl0bGUgPSAnQjogQmFja3VwIEtleSc7XG4gIGlmIChiYWNrdXBLZXljaGFpbi5lbmNyeXB0ZWRQcnYpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgeW91ciBiYWNrdXAgcHJpdmF0ZSBrZXksIGVuY3J5cHRlZCB3aXRoIHlvdXIgd2FsbGV0IHBhc3N3b3JkLicsXG4gICAgICBkYXRhOiBiYWNrdXBLZXljaGFpbi5lbmNyeXB0ZWRQcnYsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChiYWNrdXBLZXlQcm92aWRlciA9PT0gJ0JpdEdvIFRydXN0JyAmJiBiYWNrdXBLZXljaGFpbi50eXBlID09PSAndHNzJykge1xuICAgIGNvbnN0IGtleVNoYXJlcyA9IGJhY2t1cEtleWNoYWluLmtleVNoYXJlcz8uZmlsdGVyKChrZXlTaGFyZSkgPT4ga2V5U2hhcmUudG8gPT09ICdiYWNrdXAnKTtcbiAgICBhc3NlcnQoa2V5U2hhcmVzPy5sZW5ndGggPT09IDIpO1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJ0I6IEJhY2t1cCBLZXkgU2hhcmVzJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBgVGhlc2UgYXJlIHRoZSBrZXkgc2hhcmVzIGZvciAke2JhY2t1cEtleVByb3ZpZGVyfS4gSWYgQml0R28gSW5jLiBnb2VzIG91dCBvZiBidXNpbmVzcyxcXHJcXG5gICtcbiAgICAgICAgYGNvbnRhY3QgJHtiYWNrdXBLZXlQcm92aWRlcn0gYW5kIHRoZXkgd2lsbCBoZWxwIHlvdSByZWNvdmVyIHlvdXIgZnVuZHMuYCxcbiAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KGtleVNoYXJlcyksXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IHB1YiA9IGdldFB1YkZyb21LZXkoYmFja3VwS2V5Y2hhaW4pO1xuICBhc3NlcnQocHViKTtcblxuICBpZiAoYmFja3VwS2V5UHJvdmlkZXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdCOiBCYWNrdXAgS2V5JyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBgVGhpcyBpcyB0aGUgcHVibGljIGtleSBoZWxkIGF0ICR7YmFja3VwS2V5UHJvdmlkZXJ9LCBhbiAke2NvaW4ubmFtZX0gcmVjb3Zlcnkgc2VydmljZS4gYCArXG4gICAgICAgIGBJZiB5b3UgbG9zZVxcclxcbnlvdXIga2V5LCAke2JhY2t1cEtleVByb3ZpZGVyfSB3aWxsIGJlIGFibGUgdG8gc2lnbiB0cmFuc2FjdGlvbnMgdG8gcmVjb3ZlciBmdW5kcy5gLFxuICAgICAgZGF0YTogcHViLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRpdGxlOiAnQjogUHJvdmlkZWQgQmFja3VwIEtleScsXG4gICAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBwdWJsaWMga2V5IHlvdSBwcm92aWRlZCBmb3IgeW91ciB3YWxsZXQuJyxcbiAgICBkYXRhOiBwdWIsXG4gICAgcHVibGljTWFzdGVyS2V5OiBiYWNrdXBNYXN0ZXJLZXksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlQml0R29RckRhdGEoYml0Z29LZXljaGFpbjogS2V5Y2hhaW4pOiBRckRhdGFFbnRyeSB7XG4gIGNvbnN0IGJpdGdvRGF0YSA9IGdldFB1YkZyb21LZXkoYml0Z29LZXljaGFpbik7XG4gIGFzc2VydChiaXRnb0RhdGEpO1xuXG4gIHJldHVybiB7XG4gICAgdGl0bGU6ICdDOiBCaXRHbyBQdWJsaWMgS2V5JyxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdUaGlzIGlzIHRoZSBwdWJsaWMgcGFydCBvZiB0aGUga2V5IHRoYXQgQml0R28gd2lsbCB1c2UgdG8gJyArICdjby1zaWduIHRyYW5zYWN0aW9uc1xcclxcbndpdGggeW91IG9uIHlvdXIgd2FsbGV0LicsXG4gICAgZGF0YTogYml0Z29EYXRhLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVRckRhdGEoe1xuICBiYWNrdXBLZXljaGFpbixcbiAgYmFja3VwS2V5UHJvdmlkZXIsXG4gIGJhY2t1cE1hc3RlcktleSxcbiAgYml0Z29LZXljaGFpbixcbiAgY29pbixcbiAgcGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgcGFzc3BocmFzZSxcbiAgdXNlcktleWNoYWluLFxuICB1c2VyTWFzdGVyS2V5LFxufTogR2VuZXJhdGVRckRhdGFQYXJhbXMpOiBRckRhdGEge1xuICBjb25zdCBxckRhdGE6IFFyRGF0YSA9IHtcbiAgICB1c2VyOiBnZW5lcmF0ZVVzZXJRckRhdGEodXNlcktleWNoYWluLCB1c2VyTWFzdGVyS2V5KSxcbiAgICBiYWNrdXA6IGdlbmVyYXRlQmFja3VwUXJEYXRhKGNvaW4sIGJhY2t1cEtleWNoYWluLCB7XG4gICAgICBiYWNrdXBLZXlQcm92aWRlcixcbiAgICAgIGJhY2t1cE1hc3RlcktleSxcbiAgICB9KSxcbiAgICBiaXRnbzogZ2VuZXJhdGVCaXRHb1FyRGF0YShiaXRnb0tleWNoYWluKSxcbiAgfTtcblxuICBpZiAocGFzc3BocmFzZSAmJiBwYXNzY29kZUVuY3J5cHRpb25Db2RlKSB7XG4gICAgY29uc3QgZW5jcnlwdGVkV2FsbGV0UGFzc2NvZGUgPSBlbmNyeXB0KHBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsIHBhc3NwaHJhc2UpO1xuXG4gICAgcXJEYXRhLnBhc3Njb2RlID0ge1xuICAgICAgdGl0bGU6ICdEOiBFbmNyeXB0ZWQgd2FsbGV0IFBhc3N3b3JkJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgd2FsbGV0IHBhc3N3b3JkLCBlbmNyeXB0ZWQgY2xpZW50LXNpZGUgd2l0aCBhIGtleSBoZWxkIGJ5IEJpdEdvLicsXG4gICAgICBkYXRhOiBlbmNyeXB0ZWRXYWxsZXRQYXNzY29kZSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHFyRGF0YTtcbn1cbiJdfQ==
@@ -1,12 +0,0 @@
1
- import { GenerateQrDataParams } from './generateQrData';
2
- export * from './drawKeycard';
3
- export * from './faq';
4
- export * from './generateQrData';
5
- export * from './utils';
6
- export interface GenerateKeycardParams extends GenerateQrDataParams {
7
- activationCode?: string;
8
- keyCardImage?: HTMLImageElement;
9
- walletLabel: string;
10
- }
11
- export declare function generateKeycard(params: GenerateKeycardParams): Promise<void>;
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxE,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AAExB,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlF"}
package/dist/src/index.js DELETED
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.generateKeycard = void 0;
14
- const generateQrData_1 = require("./generateQrData");
15
- const faq_1 = require("./faq");
16
- const drawKeycard_1 = require("./drawKeycard");
17
- __exportStar(require("./drawKeycard"), exports);
18
- __exportStar(require("./faq"), exports);
19
- __exportStar(require("./generateQrData"), exports);
20
- __exportStar(require("./utils"), exports);
21
- async function generateKeycard(params) {
22
- const questions = faq_1.generateFaq(params.coin.fullName);
23
- const qrData = generateQrData_1.generateQrData(params);
24
- const keycard = await drawKeycard_1.drawKeycard({ ...params, questions, qrData });
25
- // Save the PDF on the user's browser
26
- keycard.save(`BitGo Keycard for ${params.walletLabel}.pdf`);
27
- }
28
- exports.generateKeycard = generateKeycard;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUF3RTtBQUN4RSwrQkFBb0M7QUFDcEMsK0NBQTRDO0FBRTVDLGdEQUE4QjtBQUM5Qix3Q0FBc0I7QUFDdEIsbURBQWlDO0FBQ2pDLDBDQUF3QjtBQVFqQixLQUFLLFVBQVUsZUFBZSxDQUFDLE1BQTZCO0lBQ2pFLE1BQU0sU0FBUyxHQUFHLGlCQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxNQUFNLE1BQU0sR0FBRywrQkFBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sT0FBTyxHQUFHLE1BQU0seUJBQVcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLHFDQUFxQztJQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixNQUFNLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBTkQsMENBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZW5lcmF0ZVFyRGF0YSwgR2VuZXJhdGVRckRhdGFQYXJhbXMgfSBmcm9tICcuL2dlbmVyYXRlUXJEYXRhJztcbmltcG9ydCB7IGdlbmVyYXRlRmFxIH0gZnJvbSAnLi9mYXEnO1xuaW1wb3J0IHsgZHJhd0tleWNhcmQgfSBmcm9tICcuL2RyYXdLZXljYXJkJztcblxuZXhwb3J0ICogZnJvbSAnLi9kcmF3S2V5Y2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZhcSc7XG5leHBvcnQgKiBmcm9tICcuL2dlbmVyYXRlUXJEYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlS2V5Y2FyZFBhcmFtcyBleHRlbmRzIEdlbmVyYXRlUXJEYXRhUGFyYW1zIHtcbiAgYWN0aXZhdGlvbkNvZGU/OiBzdHJpbmc7XG4gIGtleUNhcmRJbWFnZT86IEhUTUxJbWFnZUVsZW1lbnQ7XG4gIHdhbGxldExhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZUtleWNhcmQocGFyYW1zOiBHZW5lcmF0ZUtleWNhcmRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcXVlc3Rpb25zID0gZ2VuZXJhdGVGYXEocGFyYW1zLmNvaW4uZnVsbE5hbWUpO1xuICBjb25zdCBxckRhdGEgPSBnZW5lcmF0ZVFyRGF0YShwYXJhbXMpO1xuICBjb25zdCBrZXljYXJkID0gYXdhaXQgZHJhd0tleWNhcmQoeyAuLi5wYXJhbXMsIHF1ZXN0aW9ucywgcXJEYXRhIH0pO1xuICAvLyBTYXZlIHRoZSBQREYgb24gdGhlIHVzZXIncyBicm93c2VyXG4gIGtleWNhcmQuc2F2ZShgQml0R28gS2V5Y2FyZCBmb3IgJHtwYXJhbXMud2FsbGV0TGFiZWx9LnBkZmApO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export declare function splitKeys(key: string, limit: number): string[];
2
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAc9D"}
package/dist/src/utils.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.splitKeys = void 0;
4
- function splitKeys(key, limit) {
5
- if (key.length <= limit) {
6
- return [key];
7
- }
8
- const keys = [];
9
- let rightIndex = limit;
10
- for (let i = 0; i < key.length; i += limit) {
11
- keys.push(key.substring(i, rightIndex));
12
- rightIndex = Math.min(rightIndex + limit, key.length);
13
- }
14
- return keys;
15
- }
16
- exports.splitKeys = splitKeys;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBZ0IsU0FBUyxDQUFDLEdBQVcsRUFBRSxLQUFhO0lBQ2xELElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxLQUFLLEVBQUU7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLElBQUksR0FBYSxFQUFFLENBQUM7SUFFMUIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUU7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBZEQsOEJBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gc3BsaXRLZXlzKGtleTogc3RyaW5nLCBsaW1pdDogbnVtYmVyKTogc3RyaW5nW10ge1xuICBpZiAoa2V5Lmxlbmd0aCA8PSBsaW1pdCkge1xuICAgIHJldHVybiBba2V5XTtcbiAgfVxuXG4gIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gW107XG5cbiAgbGV0IHJpZ2h0SW5kZXggPSBsaW1pdDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXkubGVuZ3RoOyBpICs9IGxpbWl0KSB7XG4gICAga2V5cy5wdXNoKGtleS5zdWJzdHJpbmcoaSwgcmlnaHRJbmRleCkpO1xuICAgIHJpZ2h0SW5kZXggPSBNYXRoLm1pbihyaWdodEluZGV4ICsgbGltaXQsIGtleS5sZW5ndGgpO1xuICB9XG5cbiAgcmV0dXJuIGtleXM7XG59XG4iXX0=