@bitgo-beta/utxo-core 1.8.1-beta.26 → 1.8.1-beta.260
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/dist/src/bip322/index.d.ts +4 -0
- package/dist/src/bip322/index.d.ts.map +1 -0
- package/dist/src/bip322/index.js +20 -0
- package/dist/src/bip322/toSign.d.ts +25 -0
- package/dist/src/bip322/toSign.d.ts.map +1 -0
- package/dist/src/bip322/toSign.js +126 -0
- package/dist/src/bip322/toSpend.d.ts +22 -0
- package/dist/src/bip322/toSpend.d.ts.map +1 -0
- package/dist/src/bip322/toSpend.js +72 -0
- package/dist/src/bip322/utils.d.ts +18 -0
- package/dist/src/bip322/utils.d.ts.map +1 -0
- package/dist/src/bip322/utils.js +115 -0
- package/dist/src/bip32utils.d.ts +16 -0
- package/dist/src/bip32utils.d.ts.map +1 -0
- package/dist/src/bip32utils.js +71 -0
- package/dist/src/descriptor/fromFixedScriptWallet.d.ts +16 -0
- package/dist/src/descriptor/fromFixedScriptWallet.d.ts.map +1 -0
- package/dist/src/descriptor/fromFixedScriptWallet.js +88 -0
- package/dist/src/descriptor/index.d.ts +2 -0
- package/dist/src/descriptor/index.d.ts.map +1 -1
- package/dist/src/descriptor/index.js +3 -1
- package/dist/src/descriptor/parse/PatternMatcher.d.ts +14 -0
- package/dist/src/descriptor/parse/PatternMatcher.d.ts.map +1 -0
- package/dist/src/descriptor/parse/PatternMatcher.js +60 -0
- package/dist/src/descriptor/psbt/createPsbt.d.ts +4 -0
- package/dist/src/descriptor/psbt/createPsbt.d.ts.map +1 -1
- package/dist/src/descriptor/psbt/createPsbt.js +34 -9
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -2
- package/dist/src/paygo/attestation.d.ts +11 -0
- package/dist/src/paygo/attestation.d.ts.map +1 -0
- package/dist/src/paygo/attestation.js +58 -0
- package/dist/src/paygo/index.d.ts +3 -0
- package/dist/src/paygo/index.d.ts.map +1 -0
- package/dist/src/paygo/index.js +19 -0
- package/dist/src/paygo/parsePayGoAttestation.d.ts +16 -0
- package/dist/src/paygo/parsePayGoAttestation.d.ts.map +1 -0
- package/dist/src/paygo/parsePayGoAttestation.js +50 -0
- package/dist/src/paygo/psbt/Errors.d.ts +22 -0
- package/dist/src/paygo/psbt/Errors.d.ts.map +1 -0
- package/dist/src/paygo/psbt/Errors.js +44 -0
- package/dist/src/paygo/psbt/index.d.ts +2 -0
- package/dist/src/paygo/psbt/index.d.ts.map +1 -0
- package/dist/src/paygo/psbt/index.js +18 -0
- package/dist/src/paygo/psbt/payGoAddressProof.d.ts +29 -0
- package/dist/src/paygo/psbt/payGoAddressProof.d.ts.map +1 -0
- package/dist/src/paygo/psbt/payGoAddressProof.js +124 -0
- package/dist/src/testutil/descriptor/descriptors.d.ts +4 -1
- package/dist/src/testutil/descriptor/descriptors.d.ts.map +1 -1
- package/dist/src/testutil/descriptor/descriptors.js +38 -1
- package/dist/src/testutil/descriptor/mock.utils.d.ts +3 -1
- package/dist/src/testutil/descriptor/mock.utils.d.ts.map +1 -1
- package/dist/src/testutil/descriptor/mock.utils.js +2 -1
- package/dist/src/testutil/descriptor/psbt.utils.d.ts.map +1 -1
- package/dist/src/testutil/descriptor/psbt.utils.js +2 -1
- package/dist/src/testutil/generatePayGoAttestationProof.utils.d.ts +12 -0
- package/dist/src/testutil/generatePayGoAttestationProof.utils.d.ts.map +1 -0
- package/dist/src/testutil/generatePayGoAttestationProof.utils.js +38 -0
- package/dist/src/testutil/index.d.ts +2 -0
- package/dist/src/testutil/index.d.ts.map +1 -1
- package/dist/src/testutil/index.js +3 -1
- package/dist/src/testutil/toPlainObject.utils.d.ts.map +1 -1
- package/dist/src/testutil/toPlainObject.utils.js +16 -2
- package/dist/src/testutil/trimMessagePrefix.d.ts +11 -0
- package/dist/src/testutil/trimMessagePrefix.d.ts.map +1 -0
- package/dist/src/testutil/trimMessagePrefix.js +60 -0
- package/package.json +9 -6
|
@@ -23,9 +23,23 @@ function toPlainEntries(key, value, opts, path) {
|
|
|
23
23
|
}
|
|
24
24
|
return [[key, toPlainObject(value, opts, [...path, key])]];
|
|
25
25
|
}
|
|
26
|
-
function
|
|
26
|
+
function getAllDescriptors(v) {
|
|
27
|
+
if (v === null || typeof v !== 'object') {
|
|
28
|
+
return {};
|
|
29
|
+
}
|
|
27
30
|
const descriptors = Object.getOwnPropertyDescriptors(v);
|
|
31
|
+
const proto = Object.getPrototypeOf(v);
|
|
32
|
+
if (proto) {
|
|
33
|
+
Object.assign(descriptors, getAllDescriptors(proto));
|
|
34
|
+
}
|
|
35
|
+
return descriptors;
|
|
36
|
+
}
|
|
37
|
+
function toPlainObjectFromPropertyDescriptors(v, opts, path) {
|
|
38
|
+
const descriptors = getAllDescriptors(v);
|
|
28
39
|
return Object.fromEntries(Object.entries(descriptors).flatMap(([key, descriptor]) => {
|
|
40
|
+
if (typeof descriptor.value === 'function') {
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
29
43
|
if (descriptor.value !== undefined) {
|
|
30
44
|
return toPlainEntries(key, descriptor.value, opts, path);
|
|
31
45
|
}
|
|
@@ -72,4 +86,4 @@ function toPlainObject(v, opts = {}, path = []) {
|
|
|
72
86
|
}
|
|
73
87
|
throw new Error(`unknown v ${typeof v}`);
|
|
74
88
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9QbGFpbk9iamVjdC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0dXRpbC90b1BsYWluT2JqZWN0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsOEJBRUM7QUF5REQsc0NBeUNDO0FBcEdELFNBQWdCLFNBQVMsQ0FBQyxDQUFnQixFQUFFLENBQWdCO0lBQzFELE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLElBQXVCLEVBQUUsSUFBbUI7SUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FDckIsR0FBVyxFQUNYLEtBQWEsRUFDYixJQUF1QixFQUN2QixJQUFtQjtJQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENB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LE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUNwRixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFRvUGxhaW5PYmplY3RPcHRzID0ge1xuICBwcm9wZXJ0eURlc2NyaXB0b3JzPzogYm9vbGVhbjtcbiAgc2tpcFVuZGVmaW5lZFZhbHVlcz86IGJvb2xlYW47XG4gIGlnbm9yZVBhdGhzPzogc3RyaW5nW10gfCAoKHBhdGg6IFBhdGhFbGVtZW50W10pID0+IGJvb2xlYW4pO1xuICBhcHBseT86ICh2OiB1bmtub3duLCBwYXRoOiBQYXRoRWxlbWVudFtdKSA9PiB1bmtub3duO1xufTtcbmV4cG9ydCB0eXBlIFBhdGhFbGVtZW50ID0gc3RyaW5nIHwgbnVtYmVyO1xuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hQYXRoKGE6IFBhdGhFbGVtZW50W10sIGI6IFBhdGhFbGVtZW50W10pOiBib29sZWFuIHtcbiAgcmV0dXJuIGEubGVuZ3RoID09PSBiLmxlbmd0aCAmJiBhLmV2ZXJ5KChlLCBpKSA9PiBlID09PSBiW2ldKTtcbn1cblxuZnVuY3Rpb24gaW5jbHVkZVBhdGgob3B0czogVG9QbGFpbk9iamVjdE9wdHMsIHBhdGg6IFBhdGhFbGVtZW50W10pOiBib29sZWFuIHtcbiAgaWYgKCFvcHRzLmlnbm9yZVBhdGhzKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKHR5cGVvZiBvcHRzLmlnbm9yZVBhdGhzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuICFvcHRzLmlnbm9yZVBhdGhzKHBhdGgpO1xuICB9XG4gIHJldHVybiAhb3B0cy5pZ25vcmVQYXRocy5zb21lKChpZ25vcmVQYXRoKSA9PiBtYXRjaFBhdGgocGF0aCwgaWdub3JlUGF0aC5zcGxpdCgnLicpKSk7XG59XG5cbmZ1bmN0aW9uIHRvUGxhaW5FbnRyaWVzKFxuICBrZXk6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyxcbiAgb3B0czogVG9QbGFpbk9iamVjdE9wdHMsXG4gIHBhdGg6IFBhdGhFbGVtZW50W11cbik6IFtdIHwgW1tzdHJpbmcsIHVua25vd25dXSB7XG4gIGlmICghaW5jbHVkZVBhdGgob3B0cywgWy4uLnBhdGgsIGtleV0pKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmIChvcHRzLnNraXBVbmRlZmluZWRWYWx1ZXMgPz8gdHJ1ZSkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIFtba2V5LCB0b1BsYWluT2JqZWN0KHZhbHVlLCBvcHRzLCBbLi4ucGF0aCwga2V5XSldXTtcbn1cblxuZnVuY3Rpb24gZ2V0QWxsRGVzY3JpcHRvcnModjogdW5rbm93bik6IFByb3BlcnR5RGVzY3JpcHRvck1hcCB7XG4gIGlmICh2ID09PSBudWxsIHx8IHR5cGVvZiB2ICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiB7fTtcbiAgfVxuICBjb25zdCBkZXNjcmlwdG9yczogUHJvcGVydHlEZXNjcmlwdG9yTWFwID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModik7XG4gIGNvbnN0IHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHYpO1xuICBpZiAocHJvdG8pIHtcbiAgICBPYmplY3QuYXNzaWduKGRlc2NyaXB0b3JzLCBnZXRBbGxEZXNjcmlwdG9ycyhwcm90bykpO1xuICB9XG4gIHJldHVybiBkZXNjcmlwdG9ycztcbn1cblxuZnVuY3Rpb24gdG9QbGFpbk9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3JzKHY6IHVua25vd24sIG9wdHM6IFRvUGxhaW5PYmplY3RPcHRzLCBwYXRoOiBQYXRoRWxlbWVudFtdKSB7XG4gIGNvbnN0IGRlc2NyaXB0b3JzID0gZ2V0QWxsRGVzY3JpcHRvcnModik7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoZGVzY3JpcHRvcnMpLmZsYXRNYXAoKFtrZXksIGRlc2NyaXB0b3JdKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGRlc2NyaXB0b3IudmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKGRlc2NyaXB0b3IudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdG9QbGFpbkVudHJpZXMoa2V5LCBkZXNjcmlwdG9yLnZhbHVlLCBvcHRzLCBwYXRoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci5nZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIHRvUGxhaW5FbnRyaWVzKGtleSwgZGVzY3JpcHRvci5nZXQuY2FsbCh2KSwgb3B0cywgcGF0aCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW107XG4gICAgfSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUGxhaW5PYmplY3QodjogdW5rbm93biwgb3B0czogVG9QbGFpbk9iamVjdE9wdHMgPSB7fSwgcGF0aDogUGF0aEVsZW1lbnRbXSA9IFtdKTogdW5rbm93biB7XG4gIGlmIChvcHRzLmFwcGx5KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gb3B0cy5hcHBseSh2LCBwYXRoKTtcbiAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoICh0eXBlb2Ygdikge1xuICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgY2FzZSAnbnVtYmVyJzpcbiAgICBjYXNlICdib29sZWFuJzpcbiAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgICAgcmV0dXJuIHY7XG4gICAgY2FzZSAnYmlnaW50JzpcbiAgICAgIHJldHVybiB2LnRvU3RyaW5nKCk7XG4gICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKHYgPT09IG51bGwpIHtcbiAgICByZXR1cm4gdjtcbiAgfVxuXG4gIGlmIChCdWZmZXIuaXNCdWZmZXIodikpIHtcbiAgICByZXR1cm4gdi50b1N0cmluZygnaGV4Jyk7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodikpIHtcbiAgICByZXR1cm4gdi5tYXAoKGUsIGkpID0+IHRvUGxhaW5PYmplY3QoZSwgb3B0cywgWy4uLnBhdGgsIGldKSk7XG4gIH1cbiAgaWYgKHR5cGVvZiB2ID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKHYpLmZsYXRNYXAoKFtrZXksIHZhbHVlXSkgPT4gdG9QbGFpbkVudHJpZXMoa2V5LCB2YWx1ZSwgb3B0cywgcGF0aCkpXG4gICAgKTtcbiAgICBpZiAob3B0cy5wcm9wZXJ0eURlc2NyaXB0b3JzKSB7XG4gICAgICBPYmplY3QuYXNzaWduKHJlc3VsdCwgdG9QbGFpbk9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3JzKHYsIG9wdHMsIHBhdGgpKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gdiAke3R5cGVvZiB2fWApO1xufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** We receive a proof in the form:
|
|
2
|
+
* 0x18Bitcoin Signed Message:\n<varint_length><ENTROPY><ADDRESS><UUID>
|
|
3
|
+
* and when verifying our message we want to exclude the 0x18Bitcoin Signed Message:\n<varint_length>
|
|
4
|
+
* of the proof so that we are left with the entropy address and uuid as our message.
|
|
5
|
+
* This is what we are going to be verifying.
|
|
6
|
+
*
|
|
7
|
+
* @param proof
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function trimMessagePrefix(proof: Buffer): Buffer;
|
|
11
|
+
//# sourceMappingURL=trimMessagePrefix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trimMessagePrefix.d.ts","sourceRoot":"","sources":["../../../src/testutil/trimMessagePrefix.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAavD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.trimMessagePrefix = trimMessagePrefix;
|
|
37
|
+
const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
|
|
38
|
+
/** We receive a proof in the form:
|
|
39
|
+
* 0x18Bitcoin Signed Message:\n<varint_length><ENTROPY><ADDRESS><UUID>
|
|
40
|
+
* and when verifying our message we want to exclude the 0x18Bitcoin Signed Message:\n<varint_length>
|
|
41
|
+
* of the proof so that we are left with the entropy address and uuid as our message.
|
|
42
|
+
* This is what we are going to be verifying.
|
|
43
|
+
*
|
|
44
|
+
* @param proof
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
function trimMessagePrefix(proof) {
|
|
48
|
+
const prefix = '\u0018Bitcoin Signed Message:\n';
|
|
49
|
+
if (proof.toString().startsWith(prefix)) {
|
|
50
|
+
proof = proof.slice(Buffer.from(prefix).length);
|
|
51
|
+
utxolib.bufferutils.varuint.decode(proof, 0);
|
|
52
|
+
// Determines how many bytes were consumed during our last varuint.decode(Buffer, offset)
|
|
53
|
+
// So if varuint.decode(0xfd) then varuint.decode.bytes = 3
|
|
54
|
+
// varuint.decode(0xfe) then varuint.decode.bytes = 5, etc.
|
|
55
|
+
const varintBytesLength = utxolib.bufferutils.varuint.decode.bytes;
|
|
56
|
+
proof.slice(varintBytesLength);
|
|
57
|
+
}
|
|
58
|
+
return proof;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpbU1lc3NhZ2VQcmVmaXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdHV0aWwvdHJpbU1lc3NhZ2VQcmVmaXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSw4Q0FhQztBQXhCRCw4REFBZ0Q7QUFFaEQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxLQUFhO0lBQzdDLE1BQU0sTUFBTSxHQUFHLGlDQUFpQyxDQUFDO0lBQ2pELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3hDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3Qyx5RkFBeUY7UUFDekYsMkRBQTJEO1FBQzNELDJEQUEyRDtRQUMzRCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFbkUsS0FBSyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuLyoqIFdlIHJlY2VpdmUgYSBwcm9vZiBpbiB0aGUgZm9ybTpcbiAqIDB4MThCaXRjb2luIFNpZ25lZCBNZXNzYWdlOlxcbjx2YXJpbnRfbGVuZ3RoPjxFTlRST1BZPjxBRERSRVNTPjxVVUlEPlxuICogYW5kIHdoZW4gdmVyaWZ5aW5nIG91ciBtZXNzYWdlIHdlIHdhbnQgdG8gZXhjbHVkZSB0aGUgMHgxOEJpdGNvaW4gU2lnbmVkIE1lc3NhZ2U6XFxuPHZhcmludF9sZW5ndGg+XG4gKiBvZiB0aGUgcHJvb2Ygc28gdGhhdCB3ZSBhcmUgbGVmdCB3aXRoIHRoZSBlbnRyb3B5IGFkZHJlc3MgYW5kIHV1aWQgYXMgb3VyIG1lc3NhZ2UuXG4gKiBUaGlzIGlzIHdoYXQgd2UgYXJlIGdvaW5nIHRvIGJlIHZlcmlmeWluZy5cbiAqXG4gKiBAcGFyYW0gcHJvb2ZcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmltTWVzc2FnZVByZWZpeChwcm9vZjogQnVmZmVyKTogQnVmZmVyIHtcbiAgY29uc3QgcHJlZml4ID0gJ1xcdTAwMThCaXRjb2luIFNpZ25lZCBNZXNzYWdlOlxcbic7XG4gIGlmIChwcm9vZi50b1N0cmluZygpLnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgIHByb29mID0gcHJvb2Yuc2xpY2UoQnVmZmVyLmZyb20ocHJlZml4KS5sZW5ndGgpO1xuICAgIHV0eG9saWIuYnVmZmVydXRpbHMudmFydWludC5kZWNvZGUocHJvb2YsIDApO1xuICAgIC8vIERldGVybWluZXMgaG93IG1hbnkgYnl0ZXMgd2VyZSBjb25zdW1lZCBkdXJpbmcgb3VyIGxhc3QgdmFydWludC5kZWNvZGUoQnVmZmVyLCBvZmZzZXQpXG4gICAgLy8gU28gaWYgdmFydWludC5kZWNvZGUoMHhmZCkgdGhlbiB2YXJ1aW50LmRlY29kZS5ieXRlcyA9IDNcbiAgICAvLyB2YXJ1aW50LmRlY29kZSgweGZlKSB0aGVuIHZhcnVpbnQuZGVjb2RlLmJ5dGVzID0gNSwgZXRjLlxuICAgIGNvbnN0IHZhcmludEJ5dGVzTGVuZ3RoID0gdXR4b2xpYi5idWZmZXJ1dGlscy52YXJ1aW50LmRlY29kZS5ieXRlcztcblxuICAgIHByb29mLnNsaWNlKHZhcmludEJ5dGVzTGVuZ3RoKTtcbiAgfVxuICByZXR1cm4gcHJvb2Y7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/utxo-core",
|
|
3
|
-
"version": "1.8.1-beta.
|
|
3
|
+
"version": "1.8.1-beta.260",
|
|
4
4
|
"description": "BitGo UTXO Core types",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"lint": "eslint --quiet .",
|
|
28
28
|
"prepare": "npm run build",
|
|
29
29
|
"test": "npm run unit-test",
|
|
30
|
-
"unit-test": "mocha --recursive test
|
|
30
|
+
"unit-test": "mocha --recursive \"test/**/*.ts\""
|
|
31
31
|
},
|
|
32
32
|
"author": "BitGo SDK Team <sdkteam@bitgo.com>",
|
|
33
33
|
"license": "MIT",
|
|
@@ -45,16 +45,19 @@
|
|
|
45
45
|
"publishConfig": {
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
|
+
"type": "commonjs",
|
|
48
49
|
"nyc": {
|
|
49
50
|
"extension": [
|
|
50
51
|
".ts"
|
|
51
52
|
]
|
|
52
53
|
},
|
|
53
54
|
"dependencies": {
|
|
54
|
-
"@bitgo-beta/unspents": "0.13.2-beta.
|
|
55
|
-
"@bitgo-beta/utxo-lib": "8.0.3-beta.
|
|
55
|
+
"@bitgo-beta/unspents": "0.13.2-beta.1143",
|
|
56
|
+
"@bitgo-beta/utxo-lib": "8.0.3-beta.1144",
|
|
56
57
|
"@bitgo/wasm-miniscript": "2.0.0-beta.7",
|
|
57
|
-
"bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4"
|
|
58
|
+
"bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4",
|
|
59
|
+
"bitcoinjs-message": "npm:@bitgo-forks/bitcoinjs-message@1.0.0-master.3",
|
|
60
|
+
"fast-sha256": "^1.3.0"
|
|
58
61
|
},
|
|
59
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "6403dd9b29b9d3630667b289bec03c431fbc78b9"
|
|
60
63
|
}
|