@bitgo/abstract-utxo 12.4.3 → 12.6.0
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/cjs/src/abstractUtxoCoin.d.ts +3 -0
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/cjs/src/abstractUtxoCoin.js +13 -6
- package/dist/cjs/src/impl/bch/bch.js +2 -2
- package/dist/cjs/src/impl/zec/address.d.ts +28 -0
- package/dist/cjs/src/impl/zec/address.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/address.js +55 -0
- package/dist/cjs/src/impl/zec/index.d.ts +3 -0
- package/dist/cjs/src/impl/zec/index.d.ts.map +1 -1
- package/dist/cjs/src/impl/zec/index.js +4 -1
- package/dist/cjs/src/impl/zec/recipients.d.ts +84 -0
- package/dist/cjs/src/impl/zec/recipients.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/recipients.js +94 -0
- package/dist/cjs/src/impl/zec/types.d.ts +5 -0
- package/dist/cjs/src/impl/zec/types.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/types.js +3 -0
- package/dist/cjs/src/impl/zec/zec.d.ts +12 -1
- package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -1
- package/dist/cjs/src/impl/zec/zec.js +14 -1
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts +4 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/cjs/src/recovery/backupKeyRecovery.js +3 -1
- package/dist/cjs/src/transaction/descriptor/parse.d.ts +3 -3
- package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/parse.js +17 -17
- package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts +2 -1
- package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +4 -3
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +3 -3
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +7 -6
- package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts +3 -1
- package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/parseOutput.js +5 -4
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +15 -14
- package/dist/cjs/src/transaction/parseTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/parseTransaction.js +5 -4
- package/dist/cjs/src/transaction/recipient.d.ts +31 -15
- package/dist/cjs/src/transaction/recipient.d.ts.map +1 -1
- package/dist/cjs/src/transaction/recipient.js +69 -47
- package/dist/cjs/src/transaction/verifyTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/verifyTransaction.js +4 -3
- package/dist/cjs/test/unit/impl/zec/unit/address.d.ts +2 -0
- package/dist/cjs/test/unit/impl/zec/unit/address.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/zec/unit/address.js +66 -0
- package/dist/cjs/test/unit/impl/zec/unit/resolvePsbtRecipients.d.ts +2 -0
- package/dist/cjs/test/unit/impl/zec/unit/resolvePsbtRecipients.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/zec/unit/resolvePsbtRecipients.js +89 -0
- package/dist/cjs/test/unit/impl/zec/unit/unifiedRecipientPreference.d.ts +2 -0
- package/dist/cjs/test/unit/impl/zec/unit/unifiedRecipientPreference.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/zec/unit/unifiedRecipientPreference.js +57 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +14 -1
- package/dist/cjs/test/unit/transaction/descriptor/parse.js +4 -2
- package/dist/cjs/test/unit/transaction/descriptor/verifyTransactionQr.js +6 -5
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts +3 -0
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/esm/abstractUtxoCoin.js +14 -7
- package/dist/esm/impl/bch/bch.js +3 -3
- package/dist/esm/impl/zec/address.d.ts +28 -0
- package/dist/esm/impl/zec/address.d.ts.map +1 -0
- package/dist/esm/impl/zec/address.js +50 -0
- package/dist/esm/impl/zec/index.d.ts +3 -0
- package/dist/esm/impl/zec/index.d.ts.map +1 -1
- package/dist/esm/impl/zec/index.js +4 -1
- package/dist/esm/impl/zec/recipients.d.ts +84 -0
- package/dist/esm/impl/zec/recipients.d.ts.map +1 -0
- package/dist/esm/impl/zec/recipients.js +90 -0
- package/dist/esm/impl/zec/types.d.ts +5 -0
- package/dist/esm/impl/zec/types.d.ts.map +1 -0
- package/dist/esm/impl/zec/types.js +2 -0
- package/dist/esm/impl/zec/zec.d.ts +12 -1
- package/dist/esm/impl/zec/zec.d.ts.map +1 -1
- package/dist/esm/impl/zec/zec.js +14 -1
- package/dist/esm/recovery/backupKeyRecovery.d.ts +4 -0
- package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/esm/recovery/backupKeyRecovery.js +3 -1
- package/dist/esm/transaction/descriptor/parse.d.ts +3 -3
- package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/parse.js +18 -18
- package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +2 -1
- package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/parseToAmountType.js +4 -3
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +3 -3
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/verifyTransaction.js +7 -6
- package/dist/esm/transaction/fixedScript/parseOutput.d.ts +3 -1
- package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/parseOutput.js +5 -4
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +2 -1
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/parseTransaction.js +16 -15
- package/dist/esm/transaction/parseTransaction.d.ts +2 -1
- package/dist/esm/transaction/parseTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/parseTransaction.js +5 -4
- package/dist/esm/transaction/recipient.d.ts +31 -15
- package/dist/esm/transaction/recipient.d.ts.map +1 -1
- package/dist/esm/transaction/recipient.js +68 -48
- package/dist/esm/transaction/verifyTransaction.d.ts +2 -1
- package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/verifyTransaction.js +4 -3
- package/package.json +9 -9
|
@@ -1,32 +1,48 @@
|
|
|
1
1
|
import { UtxoCoinName } from '../names';
|
|
2
|
-
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
/** Address/network-aware recipient conversion with overridable address decoding. */
|
|
3
|
+
export declare class AddressCodec {
|
|
4
|
+
readonly coinName: UtxoCoinName;
|
|
5
|
+
constructor(coinName: UtxoCoinName);
|
|
6
|
+
/** Check if the address is a script recipient (starts with `scriptPubKey:`). */
|
|
7
|
+
static isScriptRecipient(address: string): boolean;
|
|
8
|
+
/** Convert an extended address to either a regular address or a raw script. */
|
|
9
|
+
static fromExtendedAddressFormat(extendedAddress: string): {
|
|
10
|
+
address: string;
|
|
11
|
+
} | {
|
|
12
|
+
script: string;
|
|
13
|
+
};
|
|
14
|
+
static assertValidTransactionRecipient(output: {
|
|
15
|
+
amount: bigint | number | string;
|
|
16
|
+
address?: string;
|
|
17
|
+
}): void;
|
|
18
|
+
decode(address: string): Uint8Array;
|
|
19
|
+
fromExtendedAddressFormatToScript(extendedAddress: string): Buffer;
|
|
20
|
+
toOutputScript(v: string | {
|
|
21
|
+
address: string;
|
|
22
|
+
} | {
|
|
23
|
+
script: string;
|
|
24
|
+
}): Buffer;
|
|
25
|
+
toExtendedAddressFormat(script: Buffer): string;
|
|
26
|
+
}
|
|
27
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
6
28
|
export declare function isScriptRecipient(address: string): boolean;
|
|
7
|
-
/**
|
|
8
|
-
* An extended address is one that encodes either a regular address or a hex encoded script with the prefix `scriptPubKey:`.
|
|
9
|
-
* This function converts the extended address format to either a script or an address.
|
|
10
|
-
* @param extendedAddress
|
|
11
|
-
*/
|
|
29
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
12
30
|
export declare function fromExtendedAddressFormat(extendedAddress: string): {
|
|
13
31
|
address: string;
|
|
14
32
|
} | {
|
|
15
33
|
script: string;
|
|
16
34
|
};
|
|
35
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
17
36
|
export declare function fromExtendedAddressFormatToScript(extendedAddress: string, coinName: UtxoCoinName): Buffer;
|
|
37
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
18
38
|
export declare function toOutputScript(v: string | {
|
|
19
39
|
address: string;
|
|
20
40
|
} | {
|
|
21
41
|
script: string;
|
|
22
42
|
}, coinName: UtxoCoinName): Buffer;
|
|
23
|
-
/**
|
|
24
|
-
* Convert a script or address to the extended address format.
|
|
25
|
-
* @param script
|
|
26
|
-
* @param coinName
|
|
27
|
-
* @returns if the script is an OP_RETURN script, then it will be prefixed with `scriptPubKey:`, otherwise it will be converted to an address.
|
|
28
|
-
*/
|
|
43
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
29
44
|
export declare function toExtendedAddressFormat(script: Buffer, coinName: UtxoCoinName): string;
|
|
45
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
30
46
|
export declare function assertValidTransactionRecipient(output: {
|
|
31
47
|
amount: bigint | number | string;
|
|
32
48
|
address?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../../src/transaction/recipient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../../src/transaction/recipient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,oFAAoF;AACpF,qBAAa,YAAY;aACK,QAAQ,EAAE,YAAY;gBAAtB,QAAQ,EAAE,YAAY;IAElD,gFAAgF;IAChF,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIlD,+EAA+E;IAC/E,MAAM,CAAC,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAOnG,MAAM,CAAC,+BAA+B,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAY5G,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAInC,iCAAiC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAQlE,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAa5E,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAKhD;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,oFAAoF;AACpF,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAE3G;AAED,oFAAoF;AACpF,wBAAgB,iCAAiC,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEzG;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEnH;AAED,oFAAoF;AACpF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEtF;AAED,oFAAoF;AACpF,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAEpH"}
|
|
@@ -1,61 +1,81 @@
|
|
|
1
|
-
import { address } from '@bitgo/wasm-utxo';
|
|
1
|
+
import { address as wasmAddress } from '@bitgo/wasm-utxo';
|
|
2
2
|
const ScriptRecipientPrefix = 'scriptPubKey:';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
const OP_RETURN = 0x6a;
|
|
4
|
+
/** Address/network-aware recipient conversion with overridable address decoding. */
|
|
5
|
+
export class AddressCodec {
|
|
6
|
+
constructor(coinName) {
|
|
7
|
+
this.coinName = coinName;
|
|
8
|
+
}
|
|
9
|
+
/** Check if the address is a script recipient (starts with `scriptPubKey:`). */
|
|
10
|
+
static isScriptRecipient(address) {
|
|
11
|
+
return address.toLowerCase().startsWith(ScriptRecipientPrefix.toLowerCase());
|
|
12
|
+
}
|
|
13
|
+
/** Convert an extended address to either a regular address or a raw script. */
|
|
14
|
+
static fromExtendedAddressFormat(extendedAddress) {
|
|
15
|
+
if (AddressCodec.isScriptRecipient(extendedAddress)) {
|
|
16
|
+
return { script: extendedAddress.slice(ScriptRecipientPrefix.length) };
|
|
17
|
+
}
|
|
18
|
+
return { address: extendedAddress };
|
|
19
|
+
}
|
|
20
|
+
static assertValidTransactionRecipient(output) {
|
|
21
|
+
// In the case that this is an OP_RETURN output or another non-encodable scriptPubkey, we dont have an address.
|
|
22
|
+
// We will verify that the amount is zero, and if it isnt then we will throw an error.
|
|
23
|
+
if (!output.address || AddressCodec.isScriptRecipient(output.address)) {
|
|
24
|
+
if (output.amount.toString() !== '0') {
|
|
25
|
+
throw new Error(`Only zero amounts allowed for non-encodeable scriptPubkeys: amount: ${output.amount}, address: ${output.address}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
decode(address) {
|
|
30
|
+
return wasmAddress.toOutputScriptWithCoin(address, this.coinName);
|
|
31
|
+
}
|
|
32
|
+
fromExtendedAddressFormatToScript(extendedAddress) {
|
|
33
|
+
const result = AddressCodec.fromExtendedAddressFormat(extendedAddress);
|
|
34
|
+
if ('script' in result) {
|
|
35
|
+
return Buffer.from(result.script, 'hex');
|
|
36
|
+
}
|
|
37
|
+
return Buffer.from(this.decode(result.address));
|
|
38
|
+
}
|
|
39
|
+
toOutputScript(v) {
|
|
40
|
+
if (typeof v === 'string') {
|
|
41
|
+
return this.fromExtendedAddressFormatToScript(v);
|
|
42
|
+
}
|
|
43
|
+
if ('script' in v) {
|
|
44
|
+
return Buffer.from(v.script, 'hex');
|
|
45
|
+
}
|
|
46
|
+
if ('address' in v) {
|
|
47
|
+
return this.fromExtendedAddressFormatToScript(v.address);
|
|
48
|
+
}
|
|
49
|
+
throw new Error('invalid input');
|
|
50
|
+
}
|
|
51
|
+
toExtendedAddressFormat(script) {
|
|
52
|
+
return script[0] === OP_RETURN
|
|
53
|
+
? `${ScriptRecipientPrefix}${script.toString('hex')}`
|
|
54
|
+
: wasmAddress.fromOutputScriptWithCoin(script, this.coinName);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
7
58
|
export function isScriptRecipient(address) {
|
|
8
|
-
return
|
|
59
|
+
return AddressCodec.isScriptRecipient(address);
|
|
9
60
|
}
|
|
10
|
-
/**
|
|
11
|
-
* An extended address is one that encodes either a regular address or a hex encoded script with the prefix `scriptPubKey:`.
|
|
12
|
-
* This function converts the extended address format to either a script or an address.
|
|
13
|
-
* @param extendedAddress
|
|
14
|
-
*/
|
|
61
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
15
62
|
export function fromExtendedAddressFormat(extendedAddress) {
|
|
16
|
-
|
|
17
|
-
return { script: extendedAddress.slice(ScriptRecipientPrefix.length) };
|
|
18
|
-
}
|
|
19
|
-
return { address: extendedAddress };
|
|
63
|
+
return AddressCodec.fromExtendedAddressFormat(extendedAddress);
|
|
20
64
|
}
|
|
65
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
21
66
|
export function fromExtendedAddressFormatToScript(extendedAddress, coinName) {
|
|
22
|
-
|
|
23
|
-
if ('script' in result) {
|
|
24
|
-
return Buffer.from(result.script, 'hex');
|
|
25
|
-
}
|
|
26
|
-
return Buffer.from(address.toOutputScriptWithCoin(result.address, coinName));
|
|
67
|
+
return new AddressCodec(coinName).fromExtendedAddressFormatToScript(extendedAddress);
|
|
27
68
|
}
|
|
69
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
28
70
|
export function toOutputScript(v, coinName) {
|
|
29
|
-
|
|
30
|
-
return fromExtendedAddressFormatToScript(v, coinName);
|
|
31
|
-
}
|
|
32
|
-
if ('script' in v) {
|
|
33
|
-
return Buffer.from(v.script, 'hex');
|
|
34
|
-
}
|
|
35
|
-
if ('address' in v) {
|
|
36
|
-
return fromExtendedAddressFormatToScript(v.address, coinName);
|
|
37
|
-
}
|
|
38
|
-
throw new Error('invalid input');
|
|
71
|
+
return new AddressCodec(coinName).toOutputScript(v);
|
|
39
72
|
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Convert a script or address to the extended address format.
|
|
43
|
-
* @param script
|
|
44
|
-
* @param coinName
|
|
45
|
-
* @returns if the script is an OP_RETURN script, then it will be prefixed with `scriptPubKey:`, otherwise it will be converted to an address.
|
|
46
|
-
*/
|
|
73
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
47
74
|
export function toExtendedAddressFormat(script, coinName) {
|
|
48
|
-
return script
|
|
49
|
-
? `${ScriptRecipientPrefix}${script.toString('hex')}`
|
|
50
|
-
: address.fromOutputScriptWithCoin(script, coinName);
|
|
75
|
+
return new AddressCodec(coinName).toExtendedAddressFormat(script);
|
|
51
76
|
}
|
|
77
|
+
/** Legacy helper retained for consumers that use the module-level recipient API. */
|
|
52
78
|
export function assertValidTransactionRecipient(output) {
|
|
53
|
-
|
|
54
|
-
// We will verify that the amount is zero, and if it isnt then we will throw an error.
|
|
55
|
-
if (!output.address || isScriptRecipient(output.address)) {
|
|
56
|
-
if (output.amount.toString() !== '0') {
|
|
57
|
-
throw new Error(`Only zero amounts allowed for non-encodeable scriptPubkeys: amount: ${output.amount}, address: ${output.address}`);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
79
|
+
AddressCodec.assertValidTransactionRecipient(output);
|
|
60
80
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3JlY2lwaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTFELE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBQzlDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQztBQUV2QixvRkFBb0Y7QUFDcEYsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBNEIsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztJQUFHLENBQUM7SUFFdEQsZ0ZBQWdGO0lBQ2hGLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFlO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsTUFBTSxDQUFDLHlCQUF5QixDQUFDLGVBQXVCO1FBQ3RELElBQUksWUFBWSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDekUsQ0FBQztRQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxNQUE4RDtRQUNuRywrR0FBK0c7UUFDL0csc0ZBQXNGO1FBQ3RGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN0RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssR0FB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Q0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkcmVzcyBhcyB3YXNtQWRkcmVzcyB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi9uYW1lcyc7XG5cbmNvbnN0IFNjcmlwdFJlY2lwaWVudFByZWZpeCA9ICdzY3JpcHRQdWJLZXk6JztcbmNvbnN0IE9QX1JFVFVSTiA9IDB4NmE7XG5cbi8qKiBBZGRyZXNzL25ldHdvcmstYXdhcmUgcmVjaXBpZW50IGNvbnZlcnNpb24gd2l0aCBvdmVycmlkYWJsZSBhZGRyZXNzIGRlY29kaW5nLiAqL1xuZXhwb3J0IGNsYXNzIEFkZHJlc3NDb2RlYyB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjb2luTmFtZTogVXR4b0NvaW5OYW1lKSB7fVxuXG4gIC8qKiBDaGVjayBpZiB0aGUgYWRkcmVzcyBpcyBhIHNjcmlwdCByZWNpcGllbnQgKHN0YXJ0cyB3aXRoIGBzY3JpcHRQdWJLZXk6YCkuICovXG4gIHN0YXRpYyBpc1NjcmlwdFJlY2lwaWVudChhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYWRkcmVzcy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoU2NyaXB0UmVjaXBpZW50UHJlZml4LnRvTG93ZXJDYXNlKCkpO1xuICB9XG5cbiAgLyoqIENvbnZlcnQgYW4gZXh0ZW5kZWQgYWRkcmVzcyB0byBlaXRoZXIgYSByZWd1bGFyIGFkZHJlc3Mgb3IgYSByYXcgc2NyaXB0LiAqL1xuICBzdGF0aWMgZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdChleHRlbmRlZEFkZHJlc3M6IHN0cmluZyk6IHsgYWRkcmVzczogc3RyaW5nIH0gfCB7IHNjcmlwdDogc3RyaW5nIH0ge1xuICAgIGlmIChBZGRyZXNzQ29kZWMuaXNTY3JpcHRSZWNpcGllbnQoZXh0ZW5kZWRBZGRyZXNzKSkge1xuICAgICAgcmV0dXJuIHsgc2NyaXB0OiBleHRlbmRlZEFkZHJlc3Muc2xpY2UoU2NyaXB0UmVjaXBpZW50UHJlZml4Lmxlbmd0aCkgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYWRkcmVzczogZXh0ZW5kZWRBZGRyZXNzIH07XG4gIH1cblxuICBzdGF0aWMgYXNzZXJ0VmFsaWRUcmFuc2FjdGlvblJlY2lwaWVudChvdXRwdXQ6IHsgYW1vdW50OiBiaWdpbnQgfCBudW1iZXIgfCBzdHJpbmc7IGFkZHJlc3M/OiBzdHJpbmcgfSk6IHZvaWQge1xuICAgIC8vIEluIHRoZSBjYXNlIHRoYXQgdGhpcyBpcyBhbiBPUF9SRVRVUk4gb3V0cHV0IG9yIGFub3RoZXIgbm9uLWVuY29kYWJsZSBzY3JpcHRQdWJrZXksIHdlIGRvbnQgaGF2ZSBhbiBhZGRyZXNzLlxuICAgIC8vIFdlIHdpbGwgdmVyaWZ5IHRoYXQgdGhlIGFtb3VudCBpcyB6ZXJvLCBhbmQgaWYgaXQgaXNudCB0aGVuIHdlIHdpbGwgdGhyb3cgYW4gZXJyb3IuXG4gICAgaWYgKCFvdXRwdXQuYWRkcmVzcyB8fCBBZGRyZXNzQ29kZWMuaXNTY3JpcHRSZWNpcGllbnQob3V0cHV0LmFkZHJlc3MpKSB7XG4gICAgICBpZiAob3V0cHV0LmFtb3VudC50b1N0cmluZygpICE9PSAnMCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBPbmx5IHplcm8gYW1vdW50cyBhbGxvd2VkIGZvciBub24tZW5jb2RlYWJsZSBzY3JpcHRQdWJrZXlzOiBhbW91bnQ6ICR7b3V0cHV0LmFtb3VudH0sIGFkZHJlc3M6ICR7b3V0cHV0LmFkZHJlc3N9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRlY29kZShhZGRyZXNzOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gd2FzbUFkZHJlc3MudG9PdXRwdXRTY3JpcHRXaXRoQ29pbihhZGRyZXNzLCB0aGlzLmNvaW5OYW1lKTtcbiAgfVxuXG4gIGZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdChleHRlbmRlZEFkZHJlc3M6IHN0cmluZyk6IEJ1ZmZlciB7XG4gICAgY29uc3QgcmVzdWx0ID0gQWRkcmVzc0NvZGVjLmZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXQoZXh0ZW5kZWRBZGRyZXNzKTtcbiAgICBpZiAoJ3NjcmlwdCcgaW4gcmVzdWx0KSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20ocmVzdWx0LnNjcmlwdCwgJ2hleCcpO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmZyb20odGhpcy5kZWNvZGUocmVzdWx0LmFkZHJlc3MpKTtcbiAgfVxuXG4gIHRvT3V0cHV0U2NyaXB0KHY6IHN0cmluZyB8IHsgYWRkcmVzczogc3RyaW5nIH0gfCB7IHNjcmlwdDogc3RyaW5nIH0pOiBCdWZmZXIge1xuICAgIGlmICh0eXBlb2YgdiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB0aGlzLmZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdCh2KTtcbiAgICB9XG4gICAgaWYgKCdzY3JpcHQnIGluIHYpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbSh2LnNjcmlwdCwgJ2hleCcpO1xuICAgIH1cbiAgICBpZiAoJ2FkZHJlc3MnIGluIHYpIHtcbiAgICAgIHJldHVybiB0aGlzLmZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdCh2LmFkZHJlc3MpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgaW5wdXQnKTtcbiAgfVxuXG4gIHRvRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KHNjcmlwdDogQnVmZmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc2NyaXB0WzBdID09PSBPUF9SRVRVUk5cbiAgICAgID8gYCR7U2NyaXB0UmVjaXBpZW50UHJlZml4fSR7c2NyaXB0LnRvU3RyaW5nKCdoZXgnKX1gXG4gICAgICA6IHdhc21BZGRyZXNzLmZyb21PdXRwdXRTY3JpcHRXaXRoQ29pbihzY3JpcHQsIHRoaXMuY29pbk5hbWUpO1xuICB9XG59XG5cbi8qKiBMZWdhY3kgaGVscGVyIHJldGFpbmVkIGZvciBjb25zdW1lcnMgdGhhdCB1c2UgdGhlIG1vZHVsZS1sZXZlbCByZWNpcGllbnQgQVBJLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2NyaXB0UmVjaXBpZW50KGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQWRkcmVzc0NvZGVjLmlzU2NyaXB0UmVjaXBpZW50KGFkZHJlc3MpO1xufVxuXG4vKiogTGVnYWN5IGhlbHBlciByZXRhaW5lZCBmb3IgY29uc3VtZXJzIHRoYXQgdXNlIHRoZSBtb2R1bGUtbGV2ZWwgcmVjaXBpZW50IEFQSS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KGV4dGVuZGVkQWRkcmVzczogc3RyaW5nKTogeyBhZGRyZXNzOiBzdHJpbmcgfSB8IHsgc2NyaXB0OiBzdHJpbmcgfSB7XG4gIHJldHVybiBBZGRyZXNzQ29kZWMuZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdChleHRlbmRlZEFkZHJlc3MpO1xufVxuXG4vKiogTGVnYWN5IGhlbHBlciByZXRhaW5lZCBmb3IgY29uc3VtZXJzIHRoYXQgdXNlIHRoZSBtb2R1bGUtbGV2ZWwgcmVjaXBpZW50IEFQSS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0VG9TY3JpcHQoZXh0ZW5kZWRBZGRyZXNzOiBzdHJpbmcsIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCdWZmZXIge1xuICByZXR1cm4gbmV3IEFkZHJlc3NDb2RlYyhjb2luTmFtZSkuZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KGV4dGVuZGVkQWRkcmVzcyk7XG59XG5cbi8qKiBMZWdhY3kgaGVscGVyIHJldGFpbmVkIGZvciBjb25zdW1lcnMgdGhhdCB1c2UgdGhlIG1vZHVsZS1sZXZlbCByZWNpcGllbnQgQVBJLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvT3V0cHV0U2NyaXB0KHY6IHN0cmluZyB8IHsgYWRkcmVzczogc3RyaW5nIH0gfCB7IHNjcmlwdDogc3RyaW5nIH0sIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCdWZmZXIge1xuICByZXR1cm4gbmV3IEFkZHJlc3NDb2RlYyhjb2luTmFtZSkudG9PdXRwdXRTY3JpcHQodik7XG59XG5cbi8qKiBMZWdhY3kgaGVscGVyIHJldGFpbmVkIGZvciBjb25zdW1lcnMgdGhhdCB1c2UgdGhlIG1vZHVsZS1sZXZlbCByZWNpcGllbnQgQVBJLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KHNjcmlwdDogQnVmZmVyLCBjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5ldyBBZGRyZXNzQ29kZWMoY29pbk5hbWUpLnRvRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KHNjcmlwdCk7XG59XG5cbi8qKiBMZWdhY3kgaGVscGVyIHJldGFpbmVkIGZvciBjb25zdW1lcnMgdGhhdCB1c2UgdGhlIG1vZHVsZS1sZXZlbCByZWNpcGllbnQgQVBJLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFZhbGlkVHJhbnNhY3Rpb25SZWNpcGllbnQob3V0cHV0OiB7IGFtb3VudDogYmlnaW50IHwgbnVtYmVyIHwgc3RyaW5nOyBhZGRyZXNzPzogc3RyaW5nIH0pOiB2b2lkIHtcbiAgQWRkcmVzc0NvZGVjLmFzc2VydFZhbGlkVHJhbnNhY3Rpb25SZWNpcGllbnQob3V0cHV0KTtcbn1cbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BitGoBase } from '@bitgo/sdk-core';
|
|
2
2
|
import { AbstractUtxoCoin, VerifyTransactionOptions } from '../abstractUtxoCoin';
|
|
3
|
-
|
|
3
|
+
import { AddressCodec } from './recipient';
|
|
4
|
+
export declare function verifyTransaction<TNumber extends bigint | number>(coin: AbstractUtxoCoin, bitgo: BitGoBase, params: VerifyTransactionOptions<TNumber>, addressCodec?: AddressCodec): Promise<boolean>;
|
|
4
5
|
//# sourceMappingURL=verifyTransaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/verifyTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"verifyTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/verifyTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAIjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAsB,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACrE,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC,EACzC,YAAY,GAAE,YAA0C,GACvD,OAAO,CAAC,OAAO,CAAC,CAYlB"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { getDescriptorMapFromWallet, isDescriptorWallet, getPolicyForEnv } from '../descriptor';
|
|
2
2
|
import { fetchKeychains, toBip32Triple } from '../keychains';
|
|
3
|
+
import { AddressCodec } from './recipient';
|
|
3
4
|
import * as fixedScript from './fixedScript';
|
|
4
5
|
import * as descriptor from './descriptor';
|
|
5
|
-
export async function verifyTransaction(coin, bitgo, params) {
|
|
6
|
+
export async function verifyTransaction(coin, bitgo, params, addressCodec = new AddressCodec(coin.name)) {
|
|
6
7
|
if (isDescriptorWallet(params.wallet)) {
|
|
7
8
|
const walletKeys = toBip32Triple(await fetchKeychains(coin, params.wallet));
|
|
8
|
-
return descriptor.verifyTransaction(coin, params, getDescriptorMapFromWallet(params.wallet, walletKeys, getPolicyForEnv(bitgo.env)));
|
|
9
|
+
return descriptor.verifyTransaction(coin, params, getDescriptorMapFromWallet(params.wallet, walletKeys, getPolicyForEnv(bitgo.env)), addressCodec);
|
|
9
10
|
}
|
|
10
11
|
else {
|
|
11
12
|
return fixedScript.verifyTransaction(coin, bitgo, params);
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5VHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vdmVyaWZ5VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxXQUFXLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLElBQXNCLEVBQ3RCLEtBQWdCLEVBQ2hCLE1BQXlDLEVBQ3pDLGVBQTZCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFFeEQsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsTUFBTSxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sVUFBVSxDQUFDLGlCQUFpQixDQUNqQyxJQUFJLEVBQ0osTUFBTSxFQUNOLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDakYsWUFBWSxDQUNiLENBQUM7SUFDSixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luLCBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMgfSBmcm9tICcuLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0LCBpc0Rlc2NyaXB0b3JXYWxsZXQsIGdldFBvbGljeUZvckVudiB9IGZyb20gJy4uL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgZmV0Y2hLZXljaGFpbnMsIHRvQmlwMzJUcmlwbGUgfSBmcm9tICcuLi9rZXljaGFpbnMnO1xuXG5pbXBvcnQgeyBBZGRyZXNzQ29kZWMgfSBmcm9tICcuL3JlY2lwaWVudCc7XG5pbXBvcnQgKiBhcyBmaXhlZFNjcmlwdCBmcm9tICcuL2ZpeGVkU2NyaXB0JztcbmltcG9ydCAqIGFzIGRlc2NyaXB0b3IgZnJvbSAnLi9kZXNjcmlwdG9yJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBiaWdpbnQgfCBudW1iZXI+KFxuICBjb2luOiBBYnN0cmFjdFV0eG9Db2luLFxuICBiaXRnbzogQml0R29CYXNlLFxuICBwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPixcbiAgYWRkcmVzc0NvZGVjOiBBZGRyZXNzQ29kZWMgPSBuZXcgQWRkcmVzc0NvZGVjKGNvaW4ubmFtZSlcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBpZiAoaXNEZXNjcmlwdG9yV2FsbGV0KHBhcmFtcy53YWxsZXQpKSB7XG4gICAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoYXdhaXQgZmV0Y2hLZXljaGFpbnMoY29pbiwgcGFyYW1zLndhbGxldCkpO1xuICAgIHJldHVybiBkZXNjcmlwdG9yLnZlcmlmeVRyYW5zYWN0aW9uKFxuICAgICAgY29pbixcbiAgICAgIHBhcmFtcyxcbiAgICAgIGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHBhcmFtcy53YWxsZXQsIHdhbGxldEtleXMsIGdldFBvbGljeUZvckVudihiaXRnby5lbnYpKSxcbiAgICAgIGFkZHJlc3NDb2RlY1xuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZpeGVkU2NyaXB0LnZlcmlmeVRyYW5zYWN0aW9uKGNvaW4sIGJpdGdvLCBwYXJhbXMpO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo/abstract-utxo",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.6.0",
|
|
4
4
|
"description": "BitGo SDK coin library for UTXO base implementation",
|
|
5
5
|
"main": "./dist/cjs/src/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -61,12 +61,12 @@
|
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@bitgo/blockapis": "^1.13.11",
|
|
64
|
-
"@bitgo/sdk-api": "^2.5.
|
|
65
|
-
"@bitgo/sdk-core": "^38.
|
|
66
|
-
"@bitgo/utxo-core": "^1.41.
|
|
67
|
-
"@bitgo/utxo-descriptors": "^
|
|
68
|
-
"@bitgo/utxo-ord": "^1.34.
|
|
69
|
-
"@bitgo/wasm-utxo": "^
|
|
64
|
+
"@bitgo/sdk-api": "^2.5.4",
|
|
65
|
+
"@bitgo/sdk-core": "^38.15.0",
|
|
66
|
+
"@bitgo/utxo-core": "^1.41.4",
|
|
67
|
+
"@bitgo/utxo-descriptors": "^2.0.0",
|
|
68
|
+
"@bitgo/utxo-ord": "^1.34.4",
|
|
69
|
+
"@bitgo/wasm-utxo": "^5.3.0",
|
|
70
70
|
"@types/lodash": "^4.14.121",
|
|
71
71
|
"@types/superagent": "4.1.15",
|
|
72
72
|
"bignumber.js": "^9.0.2",
|
|
@@ -76,9 +76,9 @@
|
|
|
76
76
|
"superagent": "^9.0.1"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"@bitgo/sdk-test": "^9.1.
|
|
79
|
+
"@bitgo/sdk-test": "^9.1.76",
|
|
80
80
|
"@bitgo/utxo-lib": "^11.24.4",
|
|
81
81
|
"mocha": "^10.2.0"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "0a38a19ddc449663b88ec691a44679457a9b37a9"
|
|
84
84
|
}
|