@bitgo-beta/sdk-core 8.2.1-beta.2075 → 8.2.1-beta.2077

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.
@@ -11,5 +11,6 @@ export * from './decode';
11
11
  export * from './notEmpty';
12
12
  export * from './wallet';
13
13
  export * from './messageTypes';
14
+ export * from './siws';
14
15
  export { openpgpUtils };
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -51,4 +51,5 @@ __exportStar(require("./decode"), exports);
51
51
  __exportStar(require("./notEmpty"), exports);
52
52
  __exportStar(require("./wallet"), exports);
53
53
  __exportStar(require("./messageTypes"), exports);
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQStDO0FBZXRDLG9DQUFZO0FBYnJCLHlEQUF1QztBQUN2Qyw2Q0FBMkI7QUFDM0IsaURBQStCO0FBQy9CLGtEQUFnQztBQUNoQywyQ0FBeUI7QUFDekIsd0NBQXNCO0FBQ3RCLHlDQUF1QjtBQUN2QiwyQ0FBeUI7QUFDekIsMkNBQXlCO0FBQ3pCLDZDQUEyQjtBQUMzQiwyQ0FBeUI7QUFDekIsaURBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb3BlbnBncFV0aWxzIGZyb20gJy4vb3BlbmdwZ1V0aWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdFV0eG9Db2luVXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL21wY1V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlbmdwZ1V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvbWlzZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3RyaXBsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rzcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2RlY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RFbXB0eSc7XG5leHBvcnQgKiBmcm9tICcuL3dhbGxldCc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VUeXBlcyc7XG5cbmV4cG9ydCB7IG9wZW5wZ3BVdGlscyB9O1xuIl19
54
+ __exportStar(require("./siws"), exports);
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQStDO0FBZ0J0QyxvQ0FBWTtBQWRyQix5REFBdUM7QUFDdkMsNkNBQTJCO0FBQzNCLGlEQUErQjtBQUMvQixrREFBZ0M7QUFDaEMsMkNBQXlCO0FBQ3pCLHdDQUFzQjtBQUN0Qix5Q0FBdUI7QUFDdkIsMkNBQXlCO0FBQ3pCLDJDQUF5QjtBQUN6Qiw2Q0FBMkI7QUFDM0IsMkNBQXlCO0FBQ3pCLGlEQUErQjtBQUMvQix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvcGVucGdwVXRpbHMgZnJvbSAnLi9vcGVuZ3BnVXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0VXR4b0NvaW5VdGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbXBjVXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9vcGVuZ3BnVXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9taXNlLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdHJpcGxlJztcbmV4cG9ydCAqIGZyb20gJy4vdHNzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvZGVjcyc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29kZSc7XG5leHBvcnQgKiBmcm9tICcuL25vdEVtcHR5JztcbmV4cG9ydCAqIGZyb20gJy4vd2FsbGV0JztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZVR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vc2l3cyc7XG5cbmV4cG9ydCB7IG9wZW5wZ3BVdGlscyB9O1xuIl19
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Canonical SIWS (Sign In With Solana) message validator.
3
+ *
4
+ * Exact JS mirror of the firmware's validate_sol_message (hsm-firmware src/bg/sol.c,
5
+ * DEFI-945) as also mirrored in hsm-api validateSiwsMessage (DEFI-946). Shared by
6
+ * sdk-coin-sol, Wallet Platform, and bitgo-ui; hsm-api keeps its own bytes-based copy.
7
+ * Any change here must land identically in all layers, including firmware.
8
+ */
9
+ /**
10
+ * Validates a SIWS message. Throws when the message is not strict UTF-8-representable
11
+ * or not a well-formed SIWS message; returns silently otherwise.
12
+ */
13
+ export declare function validateSiwsMessage(message: string): void;
14
+ //# sourceMappingURL=siws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siws.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/siws.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkEH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAyGzD"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ /**
3
+ * Canonical SIWS (Sign In With Solana) message validator.
4
+ *
5
+ * Exact JS mirror of the firmware's validate_sol_message (hsm-firmware src/bg/sol.c,
6
+ * DEFI-945) as also mirrored in hsm-api validateSiwsMessage (DEFI-946). Shared by
7
+ * sdk-coin-sol, Wallet Platform, and bitgo-ui; hsm-api keeps its own bytes-based copy.
8
+ * Any change here must land identically in all layers, including firmware.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.validateSiwsMessage = validateSiwsMessage;
12
+ const SIWS_SUFFIX = ' wants you to sign in with your Solana account:';
13
+ const SIWS_FIELD_LABELS = [
14
+ 'URI: ',
15
+ 'Version: ',
16
+ 'Chain ID: ',
17
+ 'Nonce: ',
18
+ 'Issued At: ',
19
+ 'Expiration Time: ',
20
+ 'Not Before: ',
21
+ 'Request ID: ',
22
+ 'Resources:',
23
+ ];
24
+ const SIWS_CHAIN_IDS = [
25
+ 'mainnet',
26
+ 'testnet',
27
+ 'devnet',
28
+ 'localnet',
29
+ 'solana:mainnet',
30
+ 'solana:testnet',
31
+ 'solana:devnet',
32
+ ];
33
+ const SIWS_FIELD_URI = 0;
34
+ const SIWS_FIELD_VERSION = 1;
35
+ const SIWS_FIELD_CHAIN_ID = 2;
36
+ const SIWS_FIELD_NONCE = 3;
37
+ const SIWS_FIELD_ISSUED_AT = 4;
38
+ const SIWS_FIELD_EXPIRATION_TIME = 5;
39
+ const SIWS_FIELD_NOT_BEFORE = 6;
40
+ const SIWS_FIELD_REQUEST_ID = 7;
41
+ const SIWS_FIELD_RESOURCES = 8;
42
+ // A lone surrogate cannot be encoded as UTF-8; Buffer.from would silently replace it
43
+ // with U+FFFD and the signed bytes would no longer match the caller's text.
44
+ const LONE_SURROGATE_PATTERN = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF]))|(?:(?:^|[^\uD800-\uDBFF])[\uDC00-\uDFFF])/;
45
+ function isSiwsBase58Address(line) {
46
+ return line.length >= 32 && line.length <= 44 && /^[1-9A-HJ-NP-Za-km-z]+$/.test(line);
47
+ }
48
+ function isSiwsAlnum(value) {
49
+ return value.length >= 8 && /^[a-zA-Z0-9]+$/.test(value);
50
+ }
51
+ function isSiwsDatetime(value) {
52
+ const match = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(Z|[+-]\d{2}:\d{2})$/.exec(value);
53
+ if (!match) {
54
+ return false;
55
+ }
56
+ const month = parseInt(match[2], 10);
57
+ const day = parseInt(match[3], 10);
58
+ const hour = parseInt(match[4], 10);
59
+ const minute = parseInt(match[5], 10);
60
+ const second = parseInt(match[6], 10);
61
+ if (month < 1 || month > 12 || day < 1 || day > 31 || hour > 23 || minute > 59 || second > 60) {
62
+ return false;
63
+ }
64
+ if (match[8] === 'Z') {
65
+ return true;
66
+ }
67
+ const offsetHour = parseInt(match[8].substring(1, 3), 10);
68
+ const offsetMinute = parseInt(match[8].substring(4, 6), 10);
69
+ return offsetHour <= 23 && offsetMinute <= 59;
70
+ }
71
+ /**
72
+ * Validates a SIWS message. Throws when the message is not strict UTF-8-representable
73
+ * or not a well-formed SIWS message; returns silently otherwise.
74
+ */
75
+ function validateSiwsMessage(message) {
76
+ const invalid = () => {
77
+ throw new Error('message is not a valid SIWS message');
78
+ };
79
+ if (LONE_SURROGATE_PATTERN.test(message)) {
80
+ throw new Error('message is not valid UTF-8');
81
+ }
82
+ const lines = message.replace(/\n+$/, '').split('\n');
83
+ if (lines.length < 3 || !lines[0].endsWith(SIWS_SUFFIX) || lines[0].length === SIWS_SUFFIX.length) {
84
+ invalid();
85
+ }
86
+ if (!isSiwsBase58Address(lines[1]) || lines[2] !== '') {
87
+ invalid();
88
+ }
89
+ let hasVersion = false;
90
+ let hasChainId = false;
91
+ let hasNonce = false;
92
+ let hasIssuedAt = false;
93
+ let hasField = false;
94
+ let inFields = false;
95
+ let inResources = false;
96
+ let requireFields = false;
97
+ let lastField = -1;
98
+ for (let i = 3; i < lines.length; i++) {
99
+ const line = lines[i];
100
+ if (line === '') {
101
+ if (inFields || inResources || requireFields) {
102
+ invalid();
103
+ }
104
+ requireFields = true;
105
+ continue;
106
+ }
107
+ if (inResources) {
108
+ if (!line.startsWith('- ')) {
109
+ invalid();
110
+ }
111
+ continue;
112
+ }
113
+ let field = -1;
114
+ for (let f = 0; f < SIWS_FIELD_LABELS.length; f++) {
115
+ if (line.startsWith(SIWS_FIELD_LABELS[f])) {
116
+ field = f;
117
+ break;
118
+ }
119
+ }
120
+ if (field === -1) {
121
+ if (inFields || requireFields) {
122
+ invalid();
123
+ }
124
+ continue;
125
+ }
126
+ if (hasField && field <= lastField) {
127
+ invalid();
128
+ }
129
+ hasField = true;
130
+ lastField = field;
131
+ inFields = true;
132
+ requireFields = false;
133
+ const value = line.substring(SIWS_FIELD_LABELS[field].length);
134
+ switch (field) {
135
+ case SIWS_FIELD_VERSION:
136
+ if (value !== '1') {
137
+ invalid();
138
+ }
139
+ hasVersion = true;
140
+ break;
141
+ case SIWS_FIELD_CHAIN_ID:
142
+ if (!SIWS_CHAIN_IDS.includes(value)) {
143
+ invalid();
144
+ }
145
+ hasChainId = true;
146
+ break;
147
+ case SIWS_FIELD_NONCE:
148
+ if (!isSiwsAlnum(value)) {
149
+ invalid();
150
+ }
151
+ hasNonce = true;
152
+ break;
153
+ case SIWS_FIELD_ISSUED_AT:
154
+ case SIWS_FIELD_EXPIRATION_TIME:
155
+ case SIWS_FIELD_NOT_BEFORE:
156
+ if (!isSiwsDatetime(value)) {
157
+ invalid();
158
+ }
159
+ if (field === SIWS_FIELD_ISSUED_AT) {
160
+ hasIssuedAt = true;
161
+ }
162
+ break;
163
+ case SIWS_FIELD_URI:
164
+ case SIWS_FIELD_REQUEST_ID:
165
+ if (value === '') {
166
+ invalid();
167
+ }
168
+ break;
169
+ case SIWS_FIELD_RESOURCES:
170
+ if (value !== '') {
171
+ invalid();
172
+ }
173
+ inResources = true;
174
+ break;
175
+ }
176
+ }
177
+ if (!hasVersion || !hasChainId || !hasNonce || !hasIssuedAt) {
178
+ invalid();
179
+ }
180
+ }
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l3cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy9zaXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7OztHQU9HOztBQXNFSCxrREF5R0M7QUE3S0QsTUFBTSxXQUFXLEdBQUcsaURBQWlELENBQUM7QUFDdEUsTUFBTSxpQkFBaUIsR0FBRztJQUN4QixPQUFPO0lBQ1AsV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1QsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsY0FBYztJQUNkLFlBQVk7Q0FDYixDQUFDO0FBQ0YsTUFBTSxjQUFjLEdBQUc7SUFDckIsU0FBUztJQUNULFNBQVM7SUFDVCxRQUFRO0lBQ1IsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsZUFBZTtDQUNoQixDQUFDO0FBQ0YsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBQzNCLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0FBQy9CLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO0FBQ3JDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0FBQ2hDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0FBQ2hDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0FBRS9CLHFGQUFxRjtBQUNyRiw0RUFBNEU7QUFDNUUsTUFBTSxzQkFBc0IsR0FBRyxrRkFBa0YsQ0FBQztBQUVsSCxTQUFTLG1CQUFtQixDQUFDLElBQVk7SUFDdkMsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxD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LG9CQUFvQixDQUFDO1lBQzFCLEtBQUssMEJBQTBCLENBQUM7WUFDaEMsS0FBSyxxQkFBcUI7Z0JBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsT0FBTyxFQUFFLENBQUM7Z0JBQ1osQ0FBQztnQkFDRCxJQUFJLEtBQUssS0FBSyxvQkFBb0IsRUFBRSxDQUFDO29CQUNuQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixDQUFDO2dCQUNELE1BQU07WUFDUixLQUFLLGNBQWMsQ0FBQztZQUNwQixLQUFLLHFCQUFxQjtnQkFDeEIsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ2pCLE9BQU8sRUFBRSxDQUFDO2dCQUNaLENBQUM7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssb0JBQW9CO2dCQUN2QixJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxFQUFFLENBQUM7Z0JBQ1osQ0FBQztnQkFDRCxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2Fub25pY2FsIFNJV1MgKFNpZ24gSW4gV2l0aCBTb2xhbmEpIG1lc3NhZ2UgdmFsaWRhdG9yLlxuICpcbiAqIEV4YWN0IEpTIG1pcnJvciBvZiB0aGUgZmlybXdhcmUncyB2YWxpZGF0ZV9zb2xfbWVzc2FnZSAoaHNtLWZpcm13YXJlIHNyYy9iZy9zb2wuYyxcbiAqIERFRkktOTQ1KSBhcyBhbHNvIG1pcnJvcmVkIGluIGhzbS1hcGkgdmFsaWRhdGVTaXdzTWVzc2FnZSAoREVGSS05NDYpLiBTaGFyZWQgYnlcbiAqIHNkay1jb2luLXNvbCwgV2FsbGV0IFBsYXRmb3JtLCBhbmQgYml0Z28tdWk7IGhzbS1hcGkga2VlcHMgaXRzIG93biBieXRlcy1iYXNlZCBjb3B5LlxuICogQW55IGNoYW5nZSBoZXJlIG11c3QgbGFuZCBpZGVudGljYWxseSBpbiBhbGwgbGF5ZXJzLCBpbmNsdWRpbmcgZmlybXdhcmUuXG4gKi9cblxuY29uc3QgU0lXU19TVUZGSVggPSAnIHdhbnRzIHlvdSB0byBzaWduIGluIHdpdGggeW91ciBTb2xhbmEgYWNjb3VudDonO1xuY29uc3QgU0lXU19GSUVMRF9MQUJFTFMgPSBbXG4gICdVUkk6ICcsXG4gICdWZXJzaW9uOiAnLFxuICAnQ2hhaW4gSUQ6ICcsXG4gICdOb25jZTogJyxcbiAgJ0lzc3VlZCBBdDogJyxcbiAgJ0V4cGlyYXRpb24gVGltZTogJyxcbiAgJ05vdCBCZWZvcmU6ICcsXG4gICdSZXF1ZXN0IElEOiAnLFxuICAnUmVzb3VyY2VzOicsXG5dO1xuY29uc3QgU0lXU19DSEFJTl9JRFMgPSBbXG4gICdtYWlubmV0JyxcbiAgJ3Rlc3RuZXQnLFxuICAnZGV2bmV0JyxcbiAgJ2xvY2FsbmV0JyxcbiAgJ3NvbGFuYTptYWlubmV0JyxcbiAgJ3NvbGFuYTp0ZXN0bmV0JyxcbiAgJ3NvbGFuYTpkZXZuZXQnLFxuXTtcbmNvbnN0IFNJV1NfRklFTERfVVJJID0gMDtcbmNvbnN0IFNJV1NfRklFTERfVkVSU0lPTiA9IDE7XG5jb25zdCBTSVdTX0ZJRUxEX0NIQUlOX0lEID0gMjtcbmNvbnN0IFNJV1NfRklFTERfTk9OQ0UgPSAzO1xuY29uc3QgU0lXU19GSUVMRF9JU1NVRURfQVQgPSA0O1xuY29uc3QgU0lXU19GSUVMRF9FWFBJUkFUSU9OX1RJTUUgPSA1O1xuY29uc3QgU0lXU19GSUVMRF9OT1RfQkVGT1JFID0gNjtcbmNvbnN0IFNJV1NfRklFTERfUkVRVUVTVF9JRCA9IDc7XG5jb25zdCBTSVdTX0ZJRUxEX1JFU09VUkNFUyA9IDg7XG5cbi8vIEEgbG9uZSBzdXJyb2dhdGUgY2Fubm90IGJlIGVuY29kZWQgYXMgVVRGLTg7IEJ1ZmZlci5mcm9tIHdvdWxkIHNpbGVudGx5IHJlcGxhY2UgaXRcbi8vIHdpdGggVStGRkZEIGFuZCB0aGUgc2lnbmVkIGJ5dGVzIHdvdWxkIG5vIGxvbmdlciBtYXRjaCB0aGUgY2FsbGVyJ3MgdGV4dC5cbmNvbnN0IExPTkVfU1VSUk9HQVRFX1BBVFRFUk4gPSAvKD86W1xcdUQ4MDAtXFx1REJGRl0oPyFbXFx1REMwMC1cXHVERkZGXSkpfCg/Oig/Ol58W15cXHVEODAwLVxcdURCRkZdKVtcXHVEQzAwLVxcdURGRkZdKS87XG5cbmZ1bmN0aW9uIGlzU2l3c0Jhc2U1OEFkZHJlc3MobGluZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBsaW5lLmxlbmd0aCA+PSAzMiAmJiBsaW5lLmxlbmd0aCA8PSA0NCAmJiAvXlsxLTlBLUhKLU5QLVphLWttLXpdKyQvLnRlc3QobGluZSk7XG59XG5cbmZ1bmN0aW9uIGlzU2l3c0FsbnVtKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+PSA4ICYmIC9eW2EtekEtWjAtOV0rJC8udGVzdCh2YWx1ZSk7XG59XG5cbmZ1bmN0aW9uIGlzU2l3c0RhdGV0aW1lKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgbWF0Y2ggPSAvXihcXGR7NH0pLShcXGR7Mn0pLShcXGR7Mn0pVChcXGR7Mn0pOihcXGR7Mn0pOihcXGR7Mn0pKD86XFwuKFxcZCspKT8oWnxbKy1dXFxkezJ9OlxcZHsyfSkkLy5leGVjKHZhbHVlKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBtb250aCA9IHBhcnNlSW50KG1hdGNoWzJdLCAxMCk7XG4gIGNvbnN0IGRheSA9IHBhcnNlSW50KG1hdGNoWzNdLCAxMCk7XG4gIGNvbnN0IGhvdXIgPSBwYXJzZUludChtYXRjaFs0XSwgMTApO1xuICBjb25zdCBtaW51dGUgPSBwYXJzZUludChtYXRjaFs1XSwgMTApO1xuICBjb25zdCBzZWNvbmQgPSBwYXJzZUludChtYXRjaFs2XSwgMTApO1xuICBpZiAobW9udGggPCAxIHx8IG1vbnRoID4gMTIgfHwgZGF5IDwgMSB8fCBkYXkgPiAzMSB8fCBob3VyID4gMjMgfHwgbWludXRlID4gNTkgfHwgc2Vjb25kID4gNjApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKG1hdGNoWzhdID09PSAnWicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBvZmZzZXRIb3VyID0gcGFyc2VJbnQobWF0Y2hbOF0uc3Vic3RyaW5nKDEsIDMpLCAxMCk7XG4gIGNvbnN0IG9mZnNldE1pbnV0ZSA9IHBhcnNlSW50KG1hdGNoWzhdLnN1YnN0cmluZyg0LCA2KSwgMTApO1xuICByZXR1cm4gb2Zmc2V0SG91ciA8PSAyMyAmJiBvZmZzZXRNaW51dGUgPD0gNTk7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIGEgU0lXUyBtZXNzYWdlLiBUaHJvd3Mgd2hlbiB0aGUgbWVzc2FnZSBpcyBub3Qgc3RyaWN0IFVURi04LXJlcHJlc2VudGFibGVcbiAqIG9yIG5vdCBhIHdlbGwtZm9ybWVkIFNJV1MgbWVzc2FnZTsgcmV0dXJucyBzaWxlbnRseSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNpd3NNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBpbnZhbGlkID0gKCkgPT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignbWVzc2FnZSBpcyBub3QgYSB2YWxpZCBTSVdTIG1lc3NhZ2UnKTtcbiAgfTtcbiAgaWYgKExPTkVfU1VSUk9HQVRFX1BBVFRFUk4udGVzdChtZXNzYWdlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignbWVzc2FnZSBpcyBub3QgdmFsaWQgVVRGLTgnKTtcbiAgfVxuICBjb25zdCBsaW5lcyA9IG1lc3NhZ2UucmVwbGFjZSgvXFxuKyQvLCAnJykuc3BsaXQoJ1xcbicpO1xuICBpZiAobGluZXMubGVuZ3RoIDwgMyB8fCAhbGluZXNbMF0uZW5kc1dpdGgoU0lXU19TVUZGSVgpIHx8IGxpbmVzWzBdLmxlbmd0aCA9PT0gU0lXU19TVUZGSVgubGVuZ3RoKSB7XG4gICAgaW52YWxpZCgpO1xuICB9XG4gIGlmICghaXNTaXdzQmFzZTU4QWRkcmVzcyhsaW5lc1sxXSkgfHwgbGluZXNbMl0gIT09ICcnKSB7XG4gICAgaW52YWxpZCgpO1xuICB9XG4gIGxldCBoYXNWZXJzaW9uID0gZmFsc2U7XG4gIGxldCBoYXNDaGFpbklkID0gZmFsc2U7XG4gIGxldCBoYXNOb25jZSA9IGZhbHNlO1xuICBsZXQgaGFzSXNzdWVkQXQgPSBmYWxzZTtcbiAgbGV0IGhhc0ZpZWxkID0gZmFsc2U7XG4gIGxldCBpbkZpZWxkcyA9IGZhbHNlO1xuICBsZXQgaW5SZXNvdXJjZXMgPSBmYWxzZTtcbiAgbGV0IHJlcXVpcmVGaWVsZHMgPSBmYWxzZTtcbiAgbGV0IGxhc3RGaWVsZCA9IC0xO1xuICBmb3IgKGxldCBpID0gMzsgaSA8IGxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbGluZSA9IGxpbmVzW2ldO1xuICAgIGlmIChsaW5lID09PSAnJykge1xuICAgICAgaWYgKGluRmllbGRzIHx8IGluUmVzb3VyY2VzIHx8IHJlcXVpcmVGaWVsZHMpIHtcbiAgICAgICAgaW52YWxpZCgpO1xuICAgICAgfVxuICAgICAgcmVxdWlyZUZpZWxkcyA9IHRydWU7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKGluUmVzb3VyY2VzKSB7XG4gICAgICBpZiAoIWxpbmUuc3RhcnRzV2l0aCgnLSAnKSkge1xuICAgICAgICBpbnZhbGlkKCk7XG4gICAgICB9XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgbGV0IGZpZWxkID0gLTE7XG4gICAgZm9yIChsZXQgZiA9IDA7IGYgPCBTSVdTX0ZJRUxEX0xBQkVMUy5sZW5ndGg7IGYrKykge1xuICAgICAgaWYgKGxpbmUuc3RhcnRzV2l0aChTSVdTX0ZJRUxEX0xBQkVMU1tmXSkpIHtcbiAgICAgICAgZmllbGQgPSBmO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGZpZWxkID09PSAtMSkge1xuICAgICAgaWYgKGluRmllbGRzIHx8IHJlcXVpcmVGaWVsZHMpIHtcbiAgICAgICAgaW52YWxpZCgpO1xuICAgICAgfVxuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChoYXNGaWVsZCAmJiBmaWVsZCA8PSBsYXN0RmllbGQpIHtcbiAgICAgIGludmFsaWQoKTtcbiAgICB9XG4gICAgaGFzRmllbGQgPSB0cnVlO1xuICAgIGxhc3RGaWVsZCA9IGZpZWxkO1xuICAgIGluRmllbGRzID0gdHJ1ZTtcbiAgICByZXF1aXJlRmllbGRzID0gZmFsc2U7XG4gICAgY29uc3QgdmFsdWUgPSBsaW5lLnN1YnN0cmluZyhTSVdTX0ZJRUxEX0xBQkVMU1tmaWVsZF0ubGVuZ3RoKTtcbiAgICBzd2l0Y2ggKGZpZWxkKSB7XG4gICAgICBjYXNlIFNJV1NfRklFTERfVkVSU0lPTjpcbiAgICAgICAgaWYgKHZhbHVlICE9PSAnMScpIHtcbiAgICAgICAgICBpbnZhbGlkKCk7XG4gICAgICAgIH1cbiAgICAgICAgaGFzVmVyc2lvbiA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTSVdTX0ZJRUxEX0NIQUlOX0lEOlxuICAgICAgICBpZiAoIVNJV1NfQ0hBSU5fSURTLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgIGludmFsaWQoKTtcbiAgICAgICAgfVxuICAgICAgICBoYXNDaGFpbklkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNJV1NfRklFTERfTk9OQ0U6XG4gICAgICAgIGlmICghaXNTaXdzQWxudW0odmFsdWUpKSB7XG4gICAgICAgICAgaW52YWxpZCgpO1xuICAgICAgICB9XG4gICAgICAgIGhhc05vbmNlID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNJV1NfRklFTERfSVNTVUVEX0FUOlxuICAgICAgY2FzZSBTSVdTX0ZJRUxEX0VYUElSQVRJT05fVElNRTpcbiAgICAgIGNhc2UgU0lXU19GSUVMRF9OT1RfQkVGT1JFOlxuICAgICAgICBpZiAoIWlzU2l3c0RhdGV0aW1lKHZhbHVlKSkge1xuICAgICAgICAgIGludmFsaWQoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmllbGQgPT09IFNJV1NfRklFTERfSVNTVUVEX0FUKSB7XG4gICAgICAgICAgaGFzSXNzdWVkQXQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTSVdTX0ZJRUxEX1VSSTpcbiAgICAgIGNhc2UgU0lXU19GSUVMRF9SRVFVRVNUX0lEOlxuICAgICAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgaW52YWxpZCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTSVdTX0ZJRUxEX1JFU09VUkNFUzpcbiAgICAgICAgaWYgKHZhbHVlICE9PSAnJykge1xuICAgICAgICAgIGludmFsaWQoKTtcbiAgICAgICAgfVxuICAgICAgICBpblJlc291cmNlcyA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBpZiAoIWhhc1ZlcnNpb24gfHwgIWhhc0NoYWluSWQgfHwgIWhhc05vbmNlIHx8ICFoYXNJc3N1ZWRBdCkge1xuICAgIGludmFsaWQoKTtcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/eddsa/eddsa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/eddsa/eddsa.ts"],"names":[],"mappings":"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"}