@bitgo/sdk-coin-doge 2.4.6 → 2.5.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo/sdk-coin-doge",
3
- "version": "2.4.6",
3
+ "version": "2.5.0",
4
4
  "description": "BitGo SDK coin library for Dogecoin",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -11,9 +11,7 @@
11
11
  "clean": "rm -r ./dist",
12
12
  "lint": "eslint --quiet .",
13
13
  "prepare": "npm run build",
14
- "test": "npm run coverage",
15
- "coverage": "nyc -- npm run unit-test",
16
- "unit-test": "mocha"
14
+ "unit-test": "echo 'test in abstract-utxo'"
17
15
  },
18
16
  "author": "BitGo SDK Team <sdkteam@bitgo.com>",
19
17
  "license": "MIT",
@@ -40,15 +38,10 @@
40
38
  ]
41
39
  },
42
40
  "dependencies": {
43
- "@bitgo/abstract-utxo": "^10.0.0",
44
- "@bitgo/sdk-core": "^36.14.0",
45
- "@bitgo/utxo-lib": "^11.12.0"
41
+ "@bitgo/abstract-utxo": "^10.1.0",
42
+ "@bitgo/sdk-core": "^36.16.0"
46
43
  },
47
- "devDependencies": {
48
- "@bitgo/sdk-api": "^1.70.3",
49
- "@bitgo/sdk-test": "^9.1.6"
50
- },
51
- "gitHead": "d8b6fd8b1201fd57fa6b6b175850fdfd4e02e74d",
44
+ "gitHead": "bc1a75f3c1c7400da8cdc18a4d31f984f7881ad4",
52
45
  "files": [
53
46
  "dist"
54
47
  ]
@@ -1,29 +0,0 @@
1
- import { AbstractUtxoCoin, SignTransactionOptions, ExplainTransactionOptions, TransactionExplanation, UtxoNetwork, ParseTransactionOptions, ParsedTransaction, VerifyTransactionOptions, CrossChainRecoverySigned, CrossChainRecoveryUnsigned, RecoverFromWrongChainOptions, TransactionInfo, TransactionPrebuild } from '@bitgo/abstract-utxo';
2
- import { BaseCoin, BitGoBase, HalfSignedUtxoTransaction, SignedTransaction } from '@bitgo/sdk-core';
3
- import { bitgo } from '@bitgo/utxo-lib';
4
- type UnspentJSON = bitgo.Unspent<number> & {
5
- valueString: string;
6
- };
7
- type TransactionInfoJSON = TransactionInfo<number> & {
8
- unspents: UnspentJSON[];
9
- };
10
- type TransactionPrebuildJSON = TransactionPrebuild<number> & {
11
- txInfo: TransactionInfoJSON;
12
- };
13
- export declare class Doge extends AbstractUtxoCoin {
14
- constructor(bitgo: BitGoBase, network?: UtxoNetwork);
15
- static createInstance(bitgo: BitGoBase): BaseCoin;
16
- supportsBlockTarget(): boolean;
17
- createTransactionFromHex<TNumber extends number | bigint = bigint>(hex: string): bitgo.UtxoTransaction<TNumber>;
18
- parseTransaction<TNumber extends number | bigint = bigint>(params: ParseTransactionOptions<TNumber>): Promise<ParsedTransaction<TNumber>>;
19
- verifyTransaction<TNumber extends number | bigint = bigint>(params: VerifyTransactionOptions<TNumber> | (VerifyTransactionOptions<TNumber> & {
20
- txPrebuild: TransactionPrebuildJSON;
21
- })): Promise<boolean>;
22
- signTransaction<TNumber extends number | bigint = bigint>(params: SignTransactionOptions<TNumber>): Promise<SignedTransaction | HalfSignedUtxoTransaction>;
23
- explainTransaction<TNumber extends number | bigint = bigint>(params: ExplainTransactionOptions<TNumber> | (ExplainTransactionOptions<TNumber> & {
24
- txInfo: TransactionInfoJSON;
25
- })): Promise<TransactionExplanation>;
26
- recoverFromWrongChain<TNumber extends number | bigint = bigint>(params: RecoverFromWrongChainOptions): Promise<CrossChainRecoverySigned<TNumber> | CrossChainRecoveryUnsigned<TNumber>>;
27
- }
28
- export {};
29
- //# sourceMappingURL=doge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doge.d.ts","sourceRoot":"","sources":["../../src/doge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,WAAW,EACX,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,eAAe,EACf,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,KAAK,EAAY,MAAM,iBAAiB,CAAC;AAElD,KAAK,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AACnE,KAAK,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC;AACjF,KAAK,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAqC7F,qBAAa,IAAK,SAAQ,gBAAgB;gBAC5B,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW;IAInD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ;IAIjD,mBAAmB,IAAI,OAAO;IAQ9B,wBAAwB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC;IAIzG,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC7D,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GAK1C,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAO7B,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9D,MAAM,EACF,wBAAwB,CAAC,OAAO,CAAC,GACjC,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG;QAAE,UAAU,EAAE,uBAAuB,CAAA;KAAE,CAAC,GAChF,OAAO,CAAC,OAAO,CAAC;IAOb,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC5D,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC,iBAAiB,GAAG,yBAAyB,CAAC;IAUnD,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC/D,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC,GAClH,OAAO,CAAC,sBAAsB,CAAC;IAO5B,qBAAqB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAClE,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;CAGpF"}
package/dist/src/doge.js DELETED
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Doge = void 0;
4
- const abstract_utxo_1 = require("@bitgo/abstract-utxo");
5
- const utxo_lib_1 = require("@bitgo/utxo-lib");
6
- function parseUnspents(unspents) {
7
- return unspents.map((unspent) => {
8
- if (typeof unspent.value === 'bigint') {
9
- return unspent;
10
- }
11
- if ('valueString' in unspent) {
12
- return { ...unspent, value: BigInt(unspent.valueString) };
13
- }
14
- if (typeof unspent.value === 'number') {
15
- throw new Error(`received Unspent<number> where Unspent<bigint> or UnspentJSON was expected`);
16
- }
17
- throw new Error('invalid unspent');
18
- });
19
- }
20
- function parseTransactionInfo(txInfo) {
21
- if (txInfo.unspents) {
22
- return { ...txInfo, unspents: parseUnspents(txInfo.unspents) };
23
- }
24
- return { ...txInfo, unspents: undefined };
25
- }
26
- function parseTransactionPrebuild(txPrebuild) {
27
- if (txPrebuild?.txInfo) {
28
- return { ...txPrebuild, txInfo: parseTransactionInfo(txPrebuild.txInfo) };
29
- }
30
- return txPrebuild;
31
- }
32
- class Doge extends abstract_utxo_1.AbstractUtxoCoin {
33
- constructor(bitgo, network) {
34
- super(bitgo, network || utxo_lib_1.networks.dogecoin, 'bigint');
35
- }
36
- static createInstance(bitgo) {
37
- return new Doge(bitgo);
38
- }
39
- supportsBlockTarget() {
40
- return true;
41
- }
42
- /* amountType is set in constructor. Functions below override the default TNumber of AbstractUtxoCoin to bigint */
43
- /* postProcessPrebuild, isBitGoTaintedUnspent, verifyCustomChangeKeySignatures do not care whether they receive number or bigint */
44
- createTransactionFromHex(hex) {
45
- return super.createTransactionFromHex(hex);
46
- }
47
- async parseTransaction(params) {
48
- return (await super.parseTransaction({
49
- ...params,
50
- txPrebuild: parseTransactionPrebuild(params.txPrebuild),
51
- })) /* cast to satisfy superclass signature */;
52
- }
53
- async verifyTransaction(params) {
54
- return super.verifyTransaction({
55
- ...params,
56
- txPrebuild: parseTransactionPrebuild(params.txPrebuild),
57
- });
58
- }
59
- async signTransaction(params) {
60
- return super.signTransaction({
61
- ...params,
62
- txPrebuild: {
63
- ...params.txPrebuild,
64
- txInfo: params.txPrebuild.txInfo === undefined ? undefined : parseTransactionInfo(params.txPrebuild.txInfo),
65
- },
66
- });
67
- }
68
- async explainTransaction(params) {
69
- return super.explainTransaction({
70
- ...params,
71
- txInfo: params.txInfo ? parseTransactionInfo(params.txInfo) : undefined,
72
- });
73
- }
74
- async recoverFromWrongChain(params) {
75
- return super.recoverFromWrongChain(params);
76
- }
77
- }
78
- exports.Doge = Doge;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb2dlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQWM4QjtBQUU5Qiw4Q0FBa0Q7QUFNbEQsU0FBUyxhQUFhLENBQ3BCLFFBQWtEO0lBRWxELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQTZDLEVBQXlCLEVBQUU7UUFDM0YsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEMsT0FBTyxPQUFnQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLGFBQWEsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO1FBQ2hHLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FDM0IsTUFBc0Q7SUFFdEQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU8sRUFBRSxHQUFHLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDNUMsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQy9CLFVBQWtFO0lBRWxFLElBQUksVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxHQUFHLFVBQVUsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUNELE9BQU8sVUFBeUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBYSxJQUFLLFNBQVEsZ0NBQWdCO0lBQ3hDLFlBQVksS0FBZ0IsRUFBRSxPQUFxQjtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxtQkFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQjtRQUNwQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0hBQWtIO0lBRWxILG1JQUFtSTtJQUVuSSx3QkFBd0IsQ0FBMkMsR0FBVztRQUM1RSxPQUFPLEtBQUssQ0FBQyx3QkFBd0IsQ0FBVSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUNwQixNQUF3QztRQU14QyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsZ0JBQWdCLENBQUM7WUFDbkMsR0FBRyxNQUFNO1lBQ1QsVUFBVSxFQUFFLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7U0FDeEQsQ0FBQyxDQUErQixDQUFDLDBDQUEwQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQ3JCLE1BRWlGO1FBRWpGLE9BQU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDO1lBQzdCLEdBQUcsTUFBTTtZQUNULFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1NBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUNuQixNQUF1QztRQUV2QyxPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUM7WUFDM0IsR0FBRyxNQUFNO1lBQ1QsVUFBVSxFQUFFO2dCQUNWLEdBQUcsTUFBTSxDQUFDLFVBQVU7Z0JBQ3BCLE1BQU0sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7YUFDNUc7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUN0QixNQUFtSDtRQUVuSCxPQUFPLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztZQUM5QixHQUFHLE1BQU07WUFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE1BQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMvRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUN6QixNQUFvQztRQUVwQyxPQUFPLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUF2RUQsb0JBdUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RVdHhvQ29pbixcbiAgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgVXR4b05ldHdvcmssXG4gIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxuICBDcm9zc0NoYWluUmVjb3ZlcnlTaWduZWQsXG4gIENyb3NzQ2hhaW5SZWNvdmVyeVVuc2lnbmVkLFxuICBSZWNvdmVyRnJvbVdyb25nQ2hhaW5PcHRpb25zLFxuICBUcmFuc2FjdGlvbkluZm8sXG4gIFRyYW5zYWN0aW9uUHJlYnVpbGQsXG59IGZyb20gJ0BiaXRnby9hYnN0cmFjdC11dHhvJztcbmltcG9ydCB7IEJhc2VDb2luLCBCaXRHb0Jhc2UsIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb24sIFNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGJpdGdvLCBuZXR3b3JrcyB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbnR5cGUgVW5zcGVudEpTT04gPSBiaXRnby5VbnNwZW50PG51bWJlcj4gJiB7IHZhbHVlU3RyaW5nOiBzdHJpbmcgfTtcbnR5cGUgVHJhbnNhY3Rpb25JbmZvSlNPTiA9IFRyYW5zYWN0aW9uSW5mbzxudW1iZXI+ICYgeyB1bnNwZW50czogVW5zcGVudEpTT05bXSB9O1xudHlwZSBUcmFuc2FjdGlvblByZWJ1aWxkSlNPTiA9IFRyYW5zYWN0aW9uUHJlYnVpbGQ8bnVtYmVyPiAmIHsgdHhJbmZvOiBUcmFuc2FjdGlvbkluZm9KU09OIH07XG5cbmZ1bmN0aW9uIHBhcnNlVW5zcGVudHM8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIHVuc3BlbnRzOiBVbnNwZW50SlNPTltdIHwgYml0Z28uVW5zcGVudDxUTnVtYmVyPltdXG4pOiBiaXRnby5VbnNwZW50PGJpZ2ludD5bXSB7XG4gIHJldHVybiB1bnNwZW50cy5tYXAoKHVuc3BlbnQ6IGJpdGdvLlVuc3BlbnQ8VE51bWJlcj4gfCBVbnNwZW50SlNPTik6IGJpdGdvLlVuc3BlbnQ8YmlnaW50PiA9PiB7XG4gICAgaWYgKHR5cGVvZiB1bnNwZW50LnZhbHVlID09PSAnYmlnaW50Jykge1xuICAgICAgcmV0dXJuIHVuc3BlbnQgYXMgYml0Z28uVW5zcGVudDxiaWdpbnQ+O1xuICAgIH1cbiAgICBpZiAoJ3ZhbHVlU3RyaW5nJyBpbiB1bnNwZW50KSB7XG4gICAgICByZXR1cm4geyAuLi51bnNwZW50LCB2YWx1ZTogQmlnSW50KHVuc3BlbnQudmFsdWVTdHJpbmcpIH07XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdW5zcGVudC52YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgcmVjZWl2ZWQgVW5zcGVudDxudW1iZXI+IHdoZXJlIFVuc3BlbnQ8YmlnaW50PiBvciBVbnNwZW50SlNPTiB3YXMgZXhwZWN0ZWRgKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHVuc3BlbnQnKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlVHJhbnNhY3Rpb25JbmZvPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eEluZm86IFRyYW5zYWN0aW9uSW5mbzxUTnVtYmVyPiB8IFRyYW5zYWN0aW9uSW5mb0pTT05cbik6IFRyYW5zYWN0aW9uSW5mbzxiaWdpbnQ+IHtcbiAgaWYgKHR4SW5mby51bnNwZW50cykge1xuICAgIHJldHVybiB7IC4uLnR4SW5mbywgdW5zcGVudHM6IHBhcnNlVW5zcGVudHModHhJbmZvLnVuc3BlbnRzKSB9O1xuICB9XG4gIHJldHVybiB7IC4uLnR4SW5mbywgdW5zcGVudHM6IHVuZGVmaW5lZCB9O1xufVxuXG5mdW5jdGlvbiBwYXJzZVRyYW5zYWN0aW9uUHJlYnVpbGQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ8VE51bWJlcj4gfCBUcmFuc2FjdGlvblByZWJ1aWxkSlNPTlxuKTogVHJhbnNhY3Rpb25QcmVidWlsZDxiaWdpbnQ+IHtcbiAgaWYgKHR4UHJlYnVpbGQ/LnR4SW5mbykge1xuICAgIHJldHVybiB7IC4uLnR4UHJlYnVpbGQsIHR4SW5mbzogcGFyc2VUcmFuc2FjdGlvbkluZm8odHhQcmVidWlsZC50eEluZm8pIH07XG4gIH1cbiAgcmV0dXJuIHR4UHJlYnVpbGQgYXMgVHJhbnNhY3Rpb25QcmVidWlsZDxiaWdpbnQ+O1xufVxuXG5leHBvcnQgY2xhc3MgRG9nZSBleHRlbmRzIEFic3RyYWN0VXR4b0NvaW4ge1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBuZXR3b3JrPzogVXR4b05ldHdvcmspIHtcbiAgICBzdXBlcihiaXRnbywgbmV0d29yayB8fCBuZXR3b3Jrcy5kb2dlY29pbiwgJ2JpZ2ludCcpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UpOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBEb2dlKGJpdGdvKTtcbiAgfVxuXG4gIHN1cHBvcnRzQmxvY2tUYXJnZXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiBhbW91bnRUeXBlIGlzIHNldCBpbiBjb25zdHJ1Y3Rvci4gRnVuY3Rpb25zIGJlbG93IG92ZXJyaWRlIHRoZSBkZWZhdWx0IFROdW1iZXIgb2YgQWJzdHJhY3RVdHhvQ29pbiB0byBiaWdpbnQgKi9cblxuICAvKiBwb3N0UHJvY2Vzc1ByZWJ1aWxkLCBpc0JpdEdvVGFpbnRlZFVuc3BlbnQsIHZlcmlmeUN1c3RvbUNoYW5nZUtleVNpZ25hdHVyZXMgZG8gbm90IGNhcmUgd2hldGhlciB0aGV5IHJlY2VpdmUgbnVtYmVyIG9yIGJpZ2ludCAqL1xuXG4gIGNyZWF0ZVRyYW5zYWN0aW9uRnJvbUhleDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihoZXg6IHN0cmluZyk6IGJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPiB7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUhleDxUTnVtYmVyPihoZXgpO1xuICB9XG5cbiAgYXN5bmMgcGFyc2VUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihcbiAgICBwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+XG4gICk6IC8qXG4gICAgdGhlIGFjdHVhbCByZXR1cm4gdHlwZSBpcyBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPGJpZ2ludD4+LFxuICAgIGJ1dCB0aGUgc3VwZXJjbGFzcyBzaWduYXR1cmUgY3VycmVudGx5IHJlcXVpcmVzIFROdW1iZXJcbiAgICAgKi9cbiAgUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbjxUTnVtYmVyPj4ge1xuICAgIHJldHVybiAoYXdhaXQgc3VwZXIucGFyc2VUcmFuc2FjdGlvbih7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICB0eFByZWJ1aWxkOiBwYXJzZVRyYW5zYWN0aW9uUHJlYnVpbGQocGFyYW1zLnR4UHJlYnVpbGQpLFxuICAgIH0pKSBhcyBQYXJzZWRUcmFuc2FjdGlvbjxUTnVtYmVyPiAvKiBjYXN0IHRvIHNhdGlzZnkgc3VwZXJjbGFzcyBzaWduYXR1cmUgKi87XG4gIH1cblxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihcbiAgICBwYXJhbXM6XG4gICAgICB8IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuICAgICAgfCAoVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+ICYgeyB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkSlNPTiB9KVxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gc3VwZXIudmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgdHhQcmVidWlsZDogcGFyc2VUcmFuc2FjdGlvblByZWJ1aWxkKHBhcmFtcy50eFByZWJ1aWxkKSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNpZ25UcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihcbiAgICBwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj5cbiAgKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbiB8IEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gc3VwZXIuc2lnblRyYW5zYWN0aW9uKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHR4UHJlYnVpbGQ6IHtcbiAgICAgICAgLi4ucGFyYW1zLnR4UHJlYnVpbGQsXG4gICAgICAgIHR4SW5mbzogcGFyYW1zLnR4UHJlYnVpbGQudHhJbmZvID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBwYXJzZVRyYW5zYWN0aW9uSW5mbyhwYXJhbXMudHhQcmVidWlsZC50eEluZm8pLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGV4cGxhaW5UcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihcbiAgICBwYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj4gfCAoRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPiAmIHsgdHhJbmZvOiBUcmFuc2FjdGlvbkluZm9KU09OIH0pXG4gICk6IFByb21pc2U8VHJhbnNhY3Rpb25FeHBsYW5hdGlvbj4ge1xuICAgIHJldHVybiBzdXBlci5leHBsYWluVHJhbnNhY3Rpb24oe1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgdHhJbmZvOiBwYXJhbXMudHhJbmZvID8gcGFyc2VUcmFuc2FjdGlvbkluZm8ocGFyYW1zLnR4SW5mbyBhcyBUcmFuc2FjdGlvbkluZm9KU09OKSA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlY292ZXJGcm9tV3JvbmdDaGFpbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihcbiAgICBwYXJhbXM6IFJlY292ZXJGcm9tV3JvbmdDaGFpbk9wdGlvbnNcbiAgKTogUHJvbWlzZTxDcm9zc0NoYWluUmVjb3ZlcnlTaWduZWQ8VE51bWJlcj4gfCBDcm9zc0NoYWluUmVjb3ZlcnlVbnNpZ25lZDxUTnVtYmVyPj4ge1xuICAgIHJldHVybiBzdXBlci5yZWNvdmVyRnJvbVdyb25nQ2hhaW4ocGFyYW1zKTtcbiAgfVxufVxuIl19
@@ -1,3 +0,0 @@
1
- import { BitGoBase } from '@bitgo/sdk-core';
2
- export declare const register: (sdk: BitGoBase) => void;
3
- //# sourceMappingURL=register.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAGzC,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.register = void 0;
4
- const doge_1 = require("./doge");
5
- const tdoge_1 = require("./tdoge");
6
- const register = (sdk) => {
7
- sdk.register('doge', doge_1.Doge.createInstance);
8
- sdk.register('tdoge', tdoge_1.Tdoge.createInstance);
9
- };
10
- exports.register = register;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUNBQThCO0FBQzlCLG1DQUFnQztBQUV6QixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWMsRUFBUSxFQUFFO0lBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDO0FBSFcsUUFBQSxRQUFRLFlBR25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IERvZ2UgfSBmcm9tICcuL2RvZ2UnO1xuaW1wb3J0IHsgVGRvZ2UgfSBmcm9tICcuL3Rkb2dlJztcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyID0gKHNkazogQml0R29CYXNlKTogdm9pZCA9PiB7XG4gIHNkay5yZWdpc3RlcignZG9nZScsIERvZ2UuY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3Rkb2dlJywgVGRvZ2UuY3JlYXRlSW5zdGFuY2UpO1xufTtcbiJdfQ==
@@ -1,10 +0,0 @@
1
- /**
2
- * @prettier
3
- */
4
- import { BitGoBase, BaseCoin } from '@bitgo/sdk-core';
5
- import { Doge } from './doge';
6
- export declare class Tdoge extends Doge {
7
- constructor(bitgo: BitGoBase);
8
- static createInstance(bitgo: BitGoBase): BaseCoin;
9
- }
10
- //# sourceMappingURL=tdoge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tdoge.d.ts","sourceRoot":"","sources":["../../src/tdoge.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,KAAM,SAAQ,IAAI;gBACjB,KAAK,EAAE,SAAS;IAG5B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ;CAGlD"}
package/dist/src/tdoge.js DELETED
@@ -1,48 +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
- 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.Tdoge = void 0;
37
- const utxolib = __importStar(require("@bitgo/utxo-lib"));
38
- const doge_1 = require("./doge");
39
- class Tdoge extends doge_1.Doge {
40
- constructor(bitgo) {
41
- super(bitgo, utxolib.networks.dogecoinTest);
42
- }
43
- static createInstance(bitgo) {
44
- return new Tdoge(bitgo);
45
- }
46
- }
47
- exports.Tdoge = Tdoge;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGRvZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGRvZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUEseURBQTJDO0FBQzNDLGlDQUE4QjtBQUU5QixNQUFhLEtBQU0sU0FBUSxXQUFJO0lBQzdCLFlBQVksS0FBZ0I7UUFDMUIsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCO1FBQ3BDLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQUNGO0FBUEQsc0JBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBCaXRHb0Jhc2UsIEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IERvZ2UgfSBmcm9tICcuL2RvZ2UnO1xuXG5leHBvcnQgY2xhc3MgVGRvZ2UgZXh0ZW5kcyBEb2dlIHtcbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSkge1xuICAgIHN1cGVyKGJpdGdvLCB1dHhvbGliLm5ldHdvcmtzLmRvZ2Vjb2luVGVzdCk7XG4gIH1cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UpOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBUZG9nZShiaXRnbyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../test/unit/index.ts"],"names":[],"mappings":""}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const sdk_api_1 = require("@bitgo/sdk-api");
4
- const sdk_test_1 = require("@bitgo/sdk-test");
5
- const src_1 = require("../../src");
6
- describe('Doge', function () {
7
- const coinName = 'tdoge';
8
- let bitgo;
9
- let basecoin;
10
- before(function () {
11
- bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, {
12
- env: 'mock',
13
- });
14
- bitgo.initializeTestVars();
15
- bitgo.safeRegister('doge', src_1.Doge.createInstance);
16
- bitgo.safeRegister('tdoge', src_1.Tdoge.createInstance);
17
- basecoin = bitgo.coin(coinName);
18
- });
19
- it('should instantiate the coin', function () {
20
- let localBasecoin = bitgo.coin('tdoge');
21
- localBasecoin.should.be.an.instanceof(src_1.Tdoge);
22
- localBasecoin = bitgo.coin('doge');
23
- localBasecoin.should.be.an.instanceof(src_1.Doge);
24
- });
25
- it('should return tdoge', function () {
26
- basecoin.getChain().should.equal('tdoge');
27
- });
28
- it('should return full name', function () {
29
- basecoin.getFullName().should.equal('Testnet Dogecoin');
30
- });
31
- });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0Q0FBMEM7QUFDMUMsOENBQTBEO0FBQzFELG1DQUF3QztBQUV4QyxRQUFRLENBQUMsTUFBTSxFQUFFO0lBQ2YsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLElBQUksS0FBbUIsQ0FBQztJQUN4QixJQUFJLFFBQVEsQ0FBQztJQUViLE1BQU0sQ0FBQztRQUNMLEtBQUssR0FBRyxvQkFBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBUSxFQUFFO1lBQ25DLEdBQUcsRUFBRSxNQUFNO1NBQ1osQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFdBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtRQUNoQyxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBSyxDQUFDLENBQUM7UUFFN0MsYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTtRQUN4QixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5QkFBeUIsRUFBRTtRQUM1QixRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzFELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby9zZGstYXBpJztcbmltcG9ydCB7IFRlc3RCaXRHbywgVGVzdEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay10ZXN0JztcbmltcG9ydCB7IERvZ2UsIFRkb2dlIH0gZnJvbSAnLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ0RvZ2UnLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGNvaW5OYW1lID0gJ3Rkb2dlJztcbiAgbGV0IGJpdGdvOiBUZXN0Qml0R29BUEk7XG4gIGxldCBiYXNlY29pbjtcblxuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7XG4gICAgICBlbnY6ICdtb2NrJyxcbiAgICB9KTtcbiAgICBiaXRnby5pbml0aWFsaXplVGVzdFZhcnMoKTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ2RvZ2UnLCBEb2dlLmNyZWF0ZUluc3RhbmNlKTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ3Rkb2dlJywgVGRvZ2UuY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJhc2Vjb2luID0gYml0Z28uY29pbihjb2luTmFtZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgaW5zdGFudGlhdGUgdGhlIGNvaW4nLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGxvY2FsQmFzZWNvaW4gPSBiaXRnby5jb2luKCd0ZG9nZScpO1xuICAgIGxvY2FsQmFzZWNvaW4uc2hvdWxkLmJlLmFuLmluc3RhbmNlb2YoVGRvZ2UpO1xuXG4gICAgbG9jYWxCYXNlY29pbiA9IGJpdGdvLmNvaW4oJ2RvZ2UnKTtcbiAgICBsb2NhbEJhc2Vjb2luLnNob3VsZC5iZS5hbi5pbnN0YW5jZW9mKERvZ2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB0ZG9nZScsIGZ1bmN0aW9uICgpIHtcbiAgICBiYXNlY29pbi5nZXRDaGFpbigpLnNob3VsZC5lcXVhbCgndGRvZ2UnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gZnVsbCBuYW1lJywgZnVuY3Rpb24gKCkge1xuICAgIGJhc2Vjb2luLmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKCdUZXN0bmV0IERvZ2Vjb2luJyk7XG4gIH0pO1xufSk7XG4iXX0=