@bitgo-beta/sdk-coin-bch 1.3.3-alpha.410 → 1.3.3-alpha.411
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/index.d.ts +4 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -18
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -12
- package/dist/src/bch.d.ts +0 -20
- package/dist/src/bch.d.ts.map +0 -1
- package/dist/src/bch.js +0 -70
- package/dist/src/register.d.ts +0 -3
- package/dist/src/register.d.ts.map +0 -1
- package/dist/src/register.js +0 -11
- package/dist/src/tbch.d.ts +0 -10
- package/dist/src/tbch.d.ts.map +0 -1
- package/dist/src/tbch.js +0 -48
- package/dist/test/integration/bch.d.ts +0 -2
- package/dist/test/integration/bch.d.ts.map +0 -1
- package/dist/test/integration/bch.js +0 -75
- package/dist/test/unit/bch.d.ts +0 -2
- package/dist/test/unit/bch.d.ts.map +0 -1
- package/dist/test/unit/bch.js +0 -142
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-bch",
|
|
3
|
-
"version": "1.3.3-alpha.
|
|
3
|
+
"version": "1.3.3-alpha.411",
|
|
4
4
|
"description": "BitGo SDK coin library for Bitcoin Cash",
|
|
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": "
|
|
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-beta/abstract-utxo": "1.6.1-alpha.
|
|
44
|
-
"@bitgo-beta/sdk-core": "2.4.1-alpha.
|
|
45
|
-
"@bitgo-beta/utxo-lib": "4.0.1-alpha.414"
|
|
41
|
+
"@bitgo-beta/abstract-utxo": "1.6.1-alpha.414",
|
|
42
|
+
"@bitgo-beta/sdk-core": "2.4.1-alpha.414"
|
|
46
43
|
},
|
|
47
|
-
"
|
|
48
|
-
"@bitgo-beta/sdk-api": "1.6.1-alpha.413",
|
|
49
|
-
"@bitgo-beta/sdk-test": "^9.1.7"
|
|
50
|
-
},
|
|
51
|
-
"gitHead": "930ca59f94921ae2bbda9e74b7f983609b2b59b1",
|
|
44
|
+
"gitHead": "b3bfeff4b8b9be8ffd6538204026bf8dd13e9e67",
|
|
52
45
|
"files": [
|
|
53
46
|
"dist"
|
|
54
47
|
]
|
package/dist/src/bch.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { AbstractUtxoCoin, UtxoNetwork } from '@bitgo-beta/abstract-utxo';
|
|
2
|
-
import { BitGoBase, BaseCoin } from '@bitgo-beta/sdk-core';
|
|
3
|
-
export declare class Bch extends AbstractUtxoCoin {
|
|
4
|
-
protected constructor(bitgo: BitGoBase, network?: UtxoNetwork);
|
|
5
|
-
static createInstance(bitgo: BitGoBase): BaseCoin;
|
|
6
|
-
/**
|
|
7
|
-
* Canonicalize a Bitcoin Cash address for a specific version
|
|
8
|
-
*
|
|
9
|
-
* Starting on January 14th, 2018 Bitcoin Cash's bitcoin-abc node switched over to using cashaddr
|
|
10
|
-
* encoding for all of their addresses in order to distinguish them from Bitcoin Core's.
|
|
11
|
-
* https://www.bitcoinabc.org/cashaddr. We're sticking with the old base58 format because
|
|
12
|
-
* migrating over to the new format will be laborious, and we want to see how the space evolves
|
|
13
|
-
*
|
|
14
|
-
* @param address may or may not be prefixed with the network, example bitcoincash:pppkt7q2axpsm2cajyjtu6x8fsh6ywauzgxmsru962 or pppkt7q2axpsm2cajyjtu6x8fsh6ywauzgxmsru962
|
|
15
|
-
* @param version the version of the desired address, 'base58' or 'cashaddr', defaulting to 'base58'
|
|
16
|
-
* @returns {*} address string
|
|
17
|
-
*/
|
|
18
|
-
canonicalAddress(address: string, version?: unknown): string;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=bch.d.ts.map
|
package/dist/src/bch.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bch.d.ts","sourceRoot":"","sources":["../../src/bch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG3D,qBAAa,GAAI,SAAQ,gBAAgB;IACvC,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW;IAI7D,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ;IAIjD;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAkB,GAAG,MAAM;CAYvE"}
|
package/dist/src/bch.js
DELETED
|
@@ -1,70 +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.Bch = void 0;
|
|
37
|
-
const abstract_utxo_1 = require("@bitgo-beta/abstract-utxo");
|
|
38
|
-
const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
|
|
39
|
-
class Bch extends abstract_utxo_1.AbstractUtxoCoin {
|
|
40
|
-
constructor(bitgo, network) {
|
|
41
|
-
super(bitgo, network || utxolib.networks.bitcoincash);
|
|
42
|
-
}
|
|
43
|
-
static createInstance(bitgo) {
|
|
44
|
-
return new Bch(bitgo);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Canonicalize a Bitcoin Cash address for a specific version
|
|
48
|
-
*
|
|
49
|
-
* Starting on January 14th, 2018 Bitcoin Cash's bitcoin-abc node switched over to using cashaddr
|
|
50
|
-
* encoding for all of their addresses in order to distinguish them from Bitcoin Core's.
|
|
51
|
-
* https://www.bitcoinabc.org/cashaddr. We're sticking with the old base58 format because
|
|
52
|
-
* migrating over to the new format will be laborious, and we want to see how the space evolves
|
|
53
|
-
*
|
|
54
|
-
* @param address may or may not be prefixed with the network, example bitcoincash:pppkt7q2axpsm2cajyjtu6x8fsh6ywauzgxmsru962 or pppkt7q2axpsm2cajyjtu6x8fsh6ywauzgxmsru962
|
|
55
|
-
* @param version the version of the desired address, 'base58' or 'cashaddr', defaulting to 'base58'
|
|
56
|
-
* @returns {*} address string
|
|
57
|
-
*/
|
|
58
|
-
canonicalAddress(address, version = 'base58') {
|
|
59
|
-
if (version === 'base58') {
|
|
60
|
-
return utxolib.addressFormat.toCanonicalFormat(address, this.network);
|
|
61
|
-
}
|
|
62
|
-
if (version === 'cashaddr') {
|
|
63
|
-
const script = utxolib.addressFormat.toOutputScriptTryFormats(address, this.network);
|
|
64
|
-
return utxolib.addressFormat.fromOutputScriptWithFormat(script, version, this.network);
|
|
65
|
-
}
|
|
66
|
-
throw new Error(`invalid version ${version}`);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.Bch = Bch;
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBMEU7QUFFMUUsOERBQWdEO0FBRWhELE1BQWEsR0FBSSxTQUFRLGdDQUFnQjtJQUN2QyxZQUFzQixLQUFnQixFQUFFLE9BQXFCO1FBQzNELEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxnQkFBZ0IsQ0FBQyxPQUFlLEVBQUUsVUFBbUIsUUFBUTtRQUMzRCxJQUFJLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN6QixPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDM0IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JGLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFqQ0Qsa0JBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgVXR4b05ldHdvcmsgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC11dHhvJztcbmltcG9ydCB7IEJpdEdvQmFzZSwgQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuZXhwb3J0IGNsYXNzIEJjaCBleHRlbmRzIEFic3RyYWN0VXR4b0NvaW4ge1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgbmV0d29yaz86IFV0eG9OZXR3b3JrKSB7XG4gICAgc3VwZXIoYml0Z28sIG5ldHdvcmsgfHwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luY2FzaCk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSk6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IEJjaChiaXRnbyk7XG4gIH1cblxuICAvKipcbiAgICogQ2Fub25pY2FsaXplIGEgQml0Y29pbiBDYXNoIGFkZHJlc3MgZm9yIGEgc3BlY2lmaWMgdmVyc2lvblxuICAgKlxuICAgKiBTdGFydGluZyBvbiBKYW51YXJ5IDE0dGgsIDIwMTggQml0Y29pbiBDYXNoJ3MgYml0Y29pbi1hYmMgbm9kZSBzd2l0Y2hlZCBvdmVyIHRvIHVzaW5nIGNhc2hhZGRyXG4gICAqIGVuY29kaW5nIGZvciBhbGwgb2YgdGhlaXIgYWRkcmVzc2VzIGluIG9yZGVyIHRvIGRpc3Rpbmd1aXNoIHRoZW0gZnJvbSBCaXRjb2luIENvcmUncy5cbiAgICogaHR0cHM6Ly93d3cuYml0Y29pbmFiYy5vcmcvY2FzaGFkZHIuIFdlJ3JlIHN0aWNraW5nIHdpdGggdGhlIG9sZCBiYXNlNTggZm9ybWF0IGJlY2F1c2VcbiAgICogbWlncmF0aW5nIG92ZXIgdG8gdGhlIG5ldyBmb3JtYXQgd2lsbCBiZSBsYWJvcmlvdXMsIGFuZCB3ZSB3YW50IHRvIHNlZSBob3cgdGhlIHNwYWNlIGV2b2x2ZXNcbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgbWF5IG9yIG1heSBub3QgYmUgcHJlZml4ZWQgd2l0aCB0aGUgbmV0d29yaywgZXhhbXBsZSBiaXRjb2luY2FzaDpwcHBrdDdxMmF4cHNtMmNhanlqdHU2eDhmc2g2eXdhdXpneG1zcnU5NjIgb3IgcHBwa3Q3cTJheHBzbTJjYWp5anR1Nng4ZnNoNnl3YXV6Z3htc3J1OTYyXG4gICAqIEBwYXJhbSB2ZXJzaW9uIHRoZSB2ZXJzaW9uIG9mIHRoZSBkZXNpcmVkIGFkZHJlc3MsICdiYXNlNTgnIG9yICdjYXNoYWRkcicsIGRlZmF1bHRpbmcgdG8gJ2Jhc2U1OCdcbiAgICogQHJldHVybnMgeyp9IGFkZHJlc3Mgc3RyaW5nXG4gICAqL1xuICBjYW5vbmljYWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgdmVyc2lvbjogdW5rbm93biA9ICdiYXNlNTgnKTogc3RyaW5nIHtcbiAgICBpZiAodmVyc2lvbiA9PT0gJ2Jhc2U1OCcpIHtcbiAgICAgIHJldHVybiB1dHhvbGliLmFkZHJlc3NGb3JtYXQudG9DYW5vbmljYWxGb3JtYXQoYWRkcmVzcywgdGhpcy5uZXR3b3JrKTtcbiAgICB9XG5cbiAgICBpZiAodmVyc2lvbiA9PT0gJ2Nhc2hhZGRyJykge1xuICAgICAgY29uc3Qgc2NyaXB0ID0gdXR4b2xpYi5hZGRyZXNzRm9ybWF0LnRvT3V0cHV0U2NyaXB0VHJ5Rm9ybWF0cyhhZGRyZXNzLCB0aGlzLm5ldHdvcmspO1xuICAgICAgcmV0dXJuIHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5mcm9tT3V0cHV0U2NyaXB0V2l0aEZvcm1hdChzY3JpcHQsIHZlcnNpb24sIHRoaXMubmV0d29yayk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICB9XG59XG4iXX0=
|
package/dist/src/register.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAGzC,CAAC"}
|
package/dist/src/register.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.register = void 0;
|
|
4
|
-
const bch_1 = require("./bch");
|
|
5
|
-
const tbch_1 = require("./tbch");
|
|
6
|
-
const register = (sdk) => {
|
|
7
|
-
sdk.register('bch', bch_1.Bch.createInstance);
|
|
8
|
-
sdk.register('tbch', tbch_1.Tbch.createInstance);
|
|
9
|
-
};
|
|
10
|
-
exports.register = register;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0JBQTRCO0FBQzVCLGlDQUE4QjtBQUV2QixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWMsRUFBUSxFQUFFO0lBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFNBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxXQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDO0FBSFcsUUFBQSxRQUFRLFlBR25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmNoIH0gZnJvbSAnLi9iY2gnO1xuaW1wb3J0IHsgVGJjaCB9IGZyb20gJy4vdGJjaCc7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlciA9IChzZGs6IEJpdEdvQmFzZSk6IHZvaWQgPT4ge1xuICBzZGsucmVnaXN0ZXIoJ2JjaCcsIEJjaC5jcmVhdGVJbnN0YW5jZSk7XG4gIHNkay5yZWdpc3RlcigndGJjaCcsIFRiY2guY3JlYXRlSW5zdGFuY2UpO1xufTtcbiJdfQ==
|
package/dist/src/tbch.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @prettier
|
|
3
|
-
*/
|
|
4
|
-
import { BaseCoin, BitGoBase } from '@bitgo-beta/sdk-core';
|
|
5
|
-
import { Bch } from './bch';
|
|
6
|
-
export declare class Tbch extends Bch {
|
|
7
|
-
constructor(bitgo: BitGoBase);
|
|
8
|
-
static createInstance(bitgo: BitGoBase): BaseCoin;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=tbch.d.ts.map
|
package/dist/src/tbch.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tbch.d.ts","sourceRoot":"","sources":["../../src/tbch.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,qBAAa,IAAK,SAAQ,GAAG;gBACf,KAAK,EAAE,SAAS;IAI5B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ;CAGlD"}
|
package/dist/src/tbch.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.Tbch = void 0;
|
|
37
|
-
const bch_1 = require("./bch");
|
|
38
|
-
const bitcoin = __importStar(require("@bitgo-beta/utxo-lib"));
|
|
39
|
-
class Tbch extends bch_1.Bch {
|
|
40
|
-
constructor(bitgo) {
|
|
41
|
-
super(bitgo, bitcoin.networks.bitcoincashTestnet);
|
|
42
|
-
}
|
|
43
|
-
static createInstance(bitgo) {
|
|
44
|
-
return new Tbch(bitgo);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.Tbch = Tbch;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlBLCtCQUE0QjtBQUM1Qiw4REFBZ0Q7QUFFaEQsTUFBYSxJQUFLLFNBQVEsU0FBRztJQUMzQixZQUFZLEtBQWdCO1FBQzFCLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCO1FBQ3BDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBUkQsb0JBUUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmNoIH0gZnJvbSAnLi9iY2gnO1xuaW1wb3J0ICogYXMgYml0Y29pbiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmV4cG9ydCBjbGFzcyBUYmNoIGV4dGVuZHMgQmNoIHtcbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSkge1xuICAgIHN1cGVyKGJpdGdvLCBiaXRjb2luLm5ldHdvcmtzLmJpdGNvaW5jYXNoVGVzdG5ldCk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSk6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFRiY2goYml0Z28pO1xuICB9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bch.d.ts","sourceRoot":"","sources":["../../../test/integration/bch.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC"}
|
|
@@ -1,75 +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
|
-
/**
|
|
37
|
-
* @prettier
|
|
38
|
-
*/
|
|
39
|
-
const should = __importStar(require("should"));
|
|
40
|
-
require("should-http");
|
|
41
|
-
const sdk_api_1 = require("@bitgo-beta/sdk-api");
|
|
42
|
-
const sdk_test_1 = require("@bitgo-beta/sdk-test");
|
|
43
|
-
const tbch_1 = require("../../src/tbch");
|
|
44
|
-
const nock = __importStar(require("nock"));
|
|
45
|
-
nock.restore();
|
|
46
|
-
describe('BCH:', function () {
|
|
47
|
-
let bitgo;
|
|
48
|
-
let wallet;
|
|
49
|
-
before(async function () {
|
|
50
|
-
bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
|
|
51
|
-
bitgo.initializeTestVars();
|
|
52
|
-
bitgo.safeRegister('tbch', tbch_1.Tbch.createInstance);
|
|
53
|
-
await bitgo.authenticateTestUser(bitgo.testUserOTP());
|
|
54
|
-
wallet = await bitgo.coin('tbch').wallets().getWallet({ id: sdk_test_1.TestBitGo.V2.TEST_BCH_WALLET_ID });
|
|
55
|
-
});
|
|
56
|
-
describe('Send Transaction', function () {
|
|
57
|
-
it('should send fund to cashaddr recipient', async function () {
|
|
58
|
-
await bitgo.unlock({ otp: '0000000' });
|
|
59
|
-
const transaction = await wallet.send({
|
|
60
|
-
address: sdk_test_1.TestBitGo.V2.TEST_BCH_WALLET_CASH_ADDRESS,
|
|
61
|
-
amount: '5000',
|
|
62
|
-
walletPassphrase: sdk_test_1.TestBitGo.V2.TEST_BCH_WALLET_PASSPHRASE,
|
|
63
|
-
otp: bitgo.testUserOTP(),
|
|
64
|
-
});
|
|
65
|
-
should.exist(transaction);
|
|
66
|
-
transaction.should.have.property('transfer');
|
|
67
|
-
transaction.should.have.property('txid');
|
|
68
|
-
transaction.should.have.property('tx');
|
|
69
|
-
transaction.status.should.containEql('signed');
|
|
70
|
-
transaction.transfer.type.should.containEql('send');
|
|
71
|
-
transaction.transfer.wallet.should.containEql(wallet._wallet.id);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9pbnRlZ3JhdGlvbi9iY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILCtDQUFpQztBQUNqQyx1QkFBcUI7QUFFckIsaURBQStDO0FBQy9DLG1EQUErRDtBQUMvRCx5Q0FBc0M7QUFDdEMsMkNBQTZCO0FBRTdCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUVmLFFBQVEsQ0FBQyxNQUFNLEVBQUU7SUFDZixJQUFJLEtBQW1CLENBQUM7SUFDeEIsSUFBSSxNQUFNLENBQUM7SUFFWCxNQUFNLENBQUMsS0FBSztRQUNWLEtBQUssR0FBRyxvQkFBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsV0FBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWhELE1BQU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLG9CQUFTLENBQUMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtRQUMzQixFQUFFLENBQUMsd0NBQXdDLEVBQUUsS0FBSztZQUNoRCxNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUV2QyxNQUFNLFdBQVcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRSxvQkFBUyxDQUFDLEVBQUUsQ0FBQyw0QkFBNEI7Z0JBQ2xELE1BQU0sRUFBRSxNQUFNO2dCQUNkLGdCQUFnQixFQUFFLG9CQUFTLENBQUMsRUFBRSxDQUFDLDBCQUEwQjtnQkFDekQsR0FBRyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUU7YUFDekIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxQixXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0MsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0ICogYXMgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgJ3Nob3VsZC1odHRwJztcblxuaW1wb3J0IHsgQml0R29BUEkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstYXBpJztcbmltcG9ydCB7IFRlc3RCaXRHbywgVGVzdEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLXRlc3QnO1xuaW1wb3J0IHsgVGJjaCB9IGZyb20gJy4uLy4uL3NyYy90YmNoJztcbmltcG9ydCAqIGFzIG5vY2sgZnJvbSAnbm9jayc7XG5cbm5vY2sucmVzdG9yZSgpO1xuXG5kZXNjcmliZSgnQkNIOicsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGJpdGdvOiBUZXN0Qml0R29BUEk7XG4gIGxldCB3YWxsZXQ7XG5cbiAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBiaXRnbyA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcbiAgICBiaXRnby5pbml0aWFsaXplVGVzdFZhcnMoKTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ3RiY2gnLCBUYmNoLmNyZWF0ZUluc3RhbmNlKTtcblxuICAgIGF3YWl0IGJpdGdvLmF1dGhlbnRpY2F0ZVRlc3RVc2VyKGJpdGdvLnRlc3RVc2VyT1RQKCkpO1xuICAgIHdhbGxldCA9IGF3YWl0IGJpdGdvLmNvaW4oJ3RiY2gnKS53YWxsZXRzKCkuZ2V0V2FsbGV0KHsgaWQ6IFRlc3RCaXRHby5WMi5URVNUX0JDSF9XQUxMRVRfSUQgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdTZW5kIFRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgc2VuZCBmdW5kIHRvIGNhc2hhZGRyIHJlY2lwaWVudCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGJpdGdvLnVubG9jayh7IG90cDogJzAwMDAwMDAnIH0pO1xuXG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGF3YWl0IHdhbGxldC5zZW5kKHtcbiAgICAgICAgYWRkcmVzczogVGVzdEJpdEdvLlYyLlRFU1RfQkNIX1dBTExFVF9DQVNIX0FERFJFU1MsXG4gICAgICAgIGFtb3VudDogJzUwMDAnLFxuICAgICAgICB3YWxsZXRQYXNzcGhyYXNlOiBUZXN0Qml0R28uVjIuVEVTVF9CQ0hfV0FMTEVUX1BBU1NQSFJBU0UsXG4gICAgICAgIG90cDogYml0Z28udGVzdFVzZXJPVFAoKSxcbiAgICAgIH0pO1xuXG4gICAgICBzaG91bGQuZXhpc3QodHJhbnNhY3Rpb24pO1xuICAgICAgdHJhbnNhY3Rpb24uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3RyYW5zZmVyJyk7XG4gICAgICB0cmFuc2FjdGlvbi5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgndHhpZCcpO1xuICAgICAgdHJhbnNhY3Rpb24uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3R4Jyk7XG4gICAgICB0cmFuc2FjdGlvbi5zdGF0dXMuc2hvdWxkLmNvbnRhaW5FcWwoJ3NpZ25lZCcpO1xuICAgICAgdHJhbnNhY3Rpb24udHJhbnNmZXIudHlwZS5zaG91bGQuY29udGFpbkVxbCgnc2VuZCcpO1xuICAgICAgdHJhbnNhY3Rpb24udHJhbnNmZXIud2FsbGV0LnNob3VsZC5jb250YWluRXFsKHdhbGxldC5fd2FsbGV0LmlkKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
package/dist/test/unit/bch.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bch.d.ts","sourceRoot":"","sources":["../../../test/unit/bch.ts"],"names":[],"mappings":""}
|
package/dist/test/unit/bch.js
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* @prettier
|
|
5
|
-
*/
|
|
6
|
-
const sdk_api_1 = require("@bitgo-beta/sdk-api");
|
|
7
|
-
const sdk_test_1 = require("@bitgo-beta/sdk-test");
|
|
8
|
-
const bch_1 = require("../../src/bch");
|
|
9
|
-
const tbch_1 = require("../../src/tbch");
|
|
10
|
-
describe('Custom BCH Tests', function () {
|
|
11
|
-
const bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
|
|
12
|
-
bitgo.initializeTestVars();
|
|
13
|
-
bitgo.safeRegister('bch', bch_1.Bch.createInstance);
|
|
14
|
-
bitgo.safeRegister('tbch', tbch_1.Tbch.createInstance);
|
|
15
|
-
const bch = bitgo.coin('bch');
|
|
16
|
-
const tbch = bitgo.coin('tbch');
|
|
17
|
-
// we use mainnet bch so we can reuse the mainnet address examples
|
|
18
|
-
it('should correctly convert addresses', function () {
|
|
19
|
-
// P2PKH cashaddr -> cashaddr
|
|
20
|
-
bch
|
|
21
|
-
.canonicalAddress('bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a', 'cashaddr')
|
|
22
|
-
.should.equal('bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a');
|
|
23
|
-
bch
|
|
24
|
-
.canonicalAddress('qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a', 'cashaddr')
|
|
25
|
-
.should.equal('bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a');
|
|
26
|
-
// P2PKH base58 -> cashaddr
|
|
27
|
-
bch
|
|
28
|
-
.canonicalAddress('1BpEi6DfDAUFd7GtittLSdBeYJvcoaVggu', 'cashaddr')
|
|
29
|
-
.should.equal('bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a');
|
|
30
|
-
// P2SH cashaddr -> cashaddr
|
|
31
|
-
bch
|
|
32
|
-
.canonicalAddress('bitcoincash:ppm2qsznhks23z7629mms6s4cwef74vcwvn0h829pq', 'cashaddr')
|
|
33
|
-
.should.equal('bitcoincash:ppm2qsznhks23z7629mms6s4cwef74vcwvn0h829pq');
|
|
34
|
-
bch
|
|
35
|
-
.canonicalAddress('ppm2qsznhks23z7629mms6s4cwef74vcwvn0h829pq', 'cashaddr')
|
|
36
|
-
.should.equal('bitcoincash:ppm2qsznhks23z7629mms6s4cwef74vcwvn0h829pq');
|
|
37
|
-
// P2SH base58 -> cashaddr
|
|
38
|
-
bch
|
|
39
|
-
.canonicalAddress('3CWFddi6m4ndiGyKqzYvsFYagqDLPVMTzC', 'cashaddr')
|
|
40
|
-
.should.equal('bitcoincash:ppm2qsznhks23z7629mms6s4cwef74vcwvn0h829pq');
|
|
41
|
-
// no 'bitcoincash:' prefix
|
|
42
|
-
bch
|
|
43
|
-
.canonicalAddress('ppm2qsznhks23z7629mms6s4cwef74vcwvn0h829pq', 'cashaddr')
|
|
44
|
-
.should.equal('bitcoincash:ppm2qsznhks23z7629mms6s4cwef74vcwvn0h829pq');
|
|
45
|
-
// P2PKH cashaddr -> base58
|
|
46
|
-
bch
|
|
47
|
-
.canonicalAddress('bitcoincash:qqq3728yw0y47sqn6l2na30mcw6zm78dzqre909m2r', 'base58')
|
|
48
|
-
.should.equal('16w1D5WRVKJuZUsSRzdLp9w3YGcgoxDXb');
|
|
49
|
-
bch
|
|
50
|
-
.canonicalAddress('qqq3728yw0y47sqn6l2na30mcw6zm78dzqre909m2r', 'base58')
|
|
51
|
-
.should.equal('16w1D5WRVKJuZUsSRzdLp9w3YGcgoxDXb');
|
|
52
|
-
// P2PKH base58 -> base58
|
|
53
|
-
bch
|
|
54
|
-
.canonicalAddress('16w1D5WRVKJuZUsSRzdLp9w3YGcgoxDXb', 'base58')
|
|
55
|
-
.should.equal('16w1D5WRVKJuZUsSRzdLp9w3YGcgoxDXb');
|
|
56
|
-
// P2SH cashaddr -> base58
|
|
57
|
-
bch
|
|
58
|
-
.canonicalAddress('bitcoincash:pr95sy3j9xwd2ap32xkykttr4cvcu7as4yc93ky28e', 'base58')
|
|
59
|
-
.should.equal('3LDsS579y7sruadqu11beEJoTjdFiFCdX4');
|
|
60
|
-
bch
|
|
61
|
-
.canonicalAddress('pr95sy3j9xwd2ap32xkykttr4cvcu7as4yc93ky28e', 'base58')
|
|
62
|
-
.should.equal('3LDsS579y7sruadqu11beEJoTjdFiFCdX4');
|
|
63
|
-
// P2SH base58 -> base58
|
|
64
|
-
bch
|
|
65
|
-
.canonicalAddress('3LDsS579y7sruadqu11beEJoTjdFiFCdX4', 'base58')
|
|
66
|
-
.should.equal('3LDsS579y7sruadqu11beEJoTjdFiFCdX4');
|
|
67
|
-
// undefined version defaults to base58
|
|
68
|
-
bch
|
|
69
|
-
.canonicalAddress('bitcoincash:ppm2qsznhks23z7629mms6s4cwef74vcwvn0h829pq')
|
|
70
|
-
.should.equal('3CWFddi6m4ndiGyKqzYvsFYagqDLPVMTzC');
|
|
71
|
-
bch
|
|
72
|
-
.canonicalAddress('ppm2qsznhks23z7629mms6s4cwef74vcwvn0h829pq')
|
|
73
|
-
.should.equal('3CWFddi6m4ndiGyKqzYvsFYagqDLPVMTzC');
|
|
74
|
-
// all capitalized
|
|
75
|
-
bch
|
|
76
|
-
.canonicalAddress('BITCOINCASH:QQQ3728YW0Y47SQN6L2NA30MCW6ZM78DZQRE909M2R', 'base58')
|
|
77
|
-
.should.equal('16w1D5WRVKJuZUsSRzdLp9w3YGcgoxDXb');
|
|
78
|
-
bch
|
|
79
|
-
.canonicalAddress('QQQ3728YW0Y47SQN6L2NA30MCW6ZM78DZQRE909M2R', 'base58')
|
|
80
|
-
.should.equal('16w1D5WRVKJuZUsSRzdLp9w3YGcgoxDXb');
|
|
81
|
-
// testnet addresses
|
|
82
|
-
tbch
|
|
83
|
-
.canonicalAddress('2NCEDmmKNNnqKvnWw7pE3RLzuFe5aHHVy1X', 'cashaddr')
|
|
84
|
-
.should.equal('bchtest:prgrnjengs555k3cff2s3gqxg3xyyr9uzyh9js5m8f');
|
|
85
|
-
tbch
|
|
86
|
-
.canonicalAddress('n3jYBjCzgGNydQwf83Hz6GBzGBhMkKfgL1', 'cashaddr')
|
|
87
|
-
.should.equal('bchtest:qremgr9dr9x5swv82k69qdjzrvdxgkaaesftdp5xla');
|
|
88
|
-
tbch
|
|
89
|
-
.canonicalAddress('bchtest:prgrnjengs555k3cff2s3gqxg3xyyr9uzyh9js5m8f', 'cashaddr')
|
|
90
|
-
.should.equal('bchtest:prgrnjengs555k3cff2s3gqxg3xyyr9uzyh9js5m8f');
|
|
91
|
-
tbch
|
|
92
|
-
.canonicalAddress('bchtest:prgrnjengs555k3cff2s3gqxg3xyyr9uzyh9js5m8f', 'cashaddr')
|
|
93
|
-
.should.equal('bchtest:prgrnjengs555k3cff2s3gqxg3xyyr9uzyh9js5m8f');
|
|
94
|
-
tbch
|
|
95
|
-
.canonicalAddress('prgrnjengs555k3cff2s3gqxg3xyyr9uzyh9js5m8f', 'base58')
|
|
96
|
-
.should.equal('2NCEDmmKNNnqKvnWw7pE3RLzuFe5aHHVy1X');
|
|
97
|
-
tbch
|
|
98
|
-
.canonicalAddress('prgrnjengs555k3cff2s3gqxg3xyyr9uzyh9js5m8f', 'base58')
|
|
99
|
-
.should.equal('2NCEDmmKNNnqKvnWw7pE3RLzuFe5aHHVy1X');
|
|
100
|
-
tbch
|
|
101
|
-
.canonicalAddress('prgrnjengs555k3cff2s3gqxg3xyyr9uzyh9js5m8f', 'cashaddr')
|
|
102
|
-
.should.equal('bchtest:prgrnjengs555k3cff2s3gqxg3xyyr9uzyh9js5m8f');
|
|
103
|
-
});
|
|
104
|
-
it('should reject invalid addresses', function () {
|
|
105
|
-
// improperly short data segment
|
|
106
|
-
(() => {
|
|
107
|
-
bch.canonicalAddress('bitcoincash:sy3j9xwd2ap32xkykttr4cvcu7as4yc93ky28e', 'base58');
|
|
108
|
-
}).should.throw();
|
|
109
|
-
// mismatched data segment (cashaddr)
|
|
110
|
-
(() => {
|
|
111
|
-
bch.canonicalAddress('bitcoincash:yr95sy3j9xwd2ap32xkykttr4cvcu7as4yc93ky28e', 'base58');
|
|
112
|
-
}).should.throw();
|
|
113
|
-
// double prefix
|
|
114
|
-
(() => {
|
|
115
|
-
bch.canonicalAddress('bitcoincash:bitcoincash:pr95sy3j9xwd2ap32xkykttr4cvcu7as4yc93ky28e', 'base58');
|
|
116
|
-
}).should.throw();
|
|
117
|
-
// mismatched data segment (base58)
|
|
118
|
-
(() => {
|
|
119
|
-
bch.canonicalAddress('3DDsS579y7sruadqu11beEJoTjdFiFCdX4', 'base58');
|
|
120
|
-
}).should.throw();
|
|
121
|
-
// improper prefix
|
|
122
|
-
(() => {
|
|
123
|
-
bch.canonicalAddress(':qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a', 'base58');
|
|
124
|
-
}).should.throw();
|
|
125
|
-
(() => {
|
|
126
|
-
bch.canonicalAddress('bitcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a', 'base58');
|
|
127
|
-
}).should.throw();
|
|
128
|
-
// mismatched capitalization
|
|
129
|
-
(() => {
|
|
130
|
-
bch.canonicalAddress('bitcoincash:QPM2Qsznhks23z7629mms6s4cwef74vcwvy22gdx6a', 'cashaddr');
|
|
131
|
-
}).should.throw();
|
|
132
|
-
// improper version
|
|
133
|
-
(() => {
|
|
134
|
-
bch.canonicalAddress('bitcoincash:qqq3728yw0y47sqn6l2na30mcw6zm78dzqre909m2r', 'blah');
|
|
135
|
-
}).should.throw();
|
|
136
|
-
// undefined address
|
|
137
|
-
(() => {
|
|
138
|
-
bch.canonicalAddress(undefined, 'blah');
|
|
139
|
-
}).should.throw();
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2JjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOztHQUVHO0FBQ0gsaURBQStDO0FBQy9DLG1EQUErRDtBQUMvRCx1Q0FBb0M7QUFDcEMseUNBQXNDO0FBRXRDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtJQUMzQixNQUFNLEtBQUssR0FBaUIsb0JBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzNCLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5QyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxXQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFaEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQVEsQ0FBQztJQUNyQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBUyxDQUFDO0lBRXhDLGtFQUFrRTtJQUNsRSxFQUFFLENBQUMsb0NBQW9DLEVBQUU7UUFDdkMsNkJBQTZCO1FBQzdCLEdBQUc7YUFDQSxnQkFBZ0IsQ0FBQyx3REFBd0QsRUFBRSxVQUFVLENBQUM7YUFDdEYsTUFBTSxDQUFDLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQzFFLEdBQUc7YUFDQSxnQkFBZ0IsQ0FBQyw0Q0FBNEMsRUFBRSxVQUFVLENBQUM7YUFDMUUsTUFBTSxDQUFDLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBRTFFLDJCQUEyQjtRQUMzQixHQUFHO2FBQ0EsZ0JBQWdCLENBQUMsb0NBQW9DLEVBQUUsVUFBVSxDQUFDO2FBQ2xFLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FB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QUFnQixDQUFDLDZDQUE2QyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hGLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQixDQUFDLEdBQUcsRUFBRTtZQUNKLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxvREFBb0QsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFbEIsNEJBQTRCO1FBQzVCLENBQUMsR0FBRyxFQUFFO1lBQ0osR0FBRyxDQUFDLGdCQUFnQixDQUFDLHdEQUF3RCxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdGLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQixtQkFBbUI7UUFDbkIsQ0FBQyxHQUFHLEVBQUU7WUFDSixHQUFHLENBQUMsZ0JBQWdCLENBQUMsd0RBQXdELEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekYsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWxCLG9CQUFvQjtRQUNwQixDQUFDLEdBQUcsRUFBRTtZQUNKLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQml0R29BUEkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstYXBpJztcbmltcG9ydCB7IFRlc3RCaXRHbywgVGVzdEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLXRlc3QnO1xuaW1wb3J0IHsgQmNoIH0gZnJvbSAnLi4vLi4vc3JjL2JjaCc7XG5pbXBvcnQgeyBUYmNoIH0gZnJvbSAnLi4vLi4vc3JjL3RiY2gnO1xuXG5kZXNjcmliZSgnQ3VzdG9tIEJDSCBUZXN0cycsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgYml0Z286IFRlc3RCaXRHb0FQSSA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcbiAgYml0Z28uaW5pdGlhbGl6ZVRlc3RWYXJzKCk7XG4gIGJpdGdvLnNhZmVSZWdpc3RlcignYmNoJywgQmNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgYml0Z28uc2FmZVJlZ2lzdGVyKCd0YmNoJywgVGJjaC5jcmVhdGVJbnN0YW5jZSk7XG5cbiAgY29uc3QgYmNoID0gYml0Z28uY29pbignYmNoJykgYXMgQmNoO1xuICBjb25zdCB0YmNoID0gYml0Z28uY29pbigndGJjaCcpIGFzIFRiY2g7XG5cbiAgLy8gd2UgdXNlIG1haW5uZXQgYmNoIHNvIHdlIGNhbiByZXVzZSB0aGUgbWFpbm5ldCBhZGRyZXNzIGV4YW1wbGVzXG4gIGl0KCdzaG91bGQgY29ycmVjdGx5IGNvbnZlcnQgYWRkcmVzc2VzJywgZnVuY3Rpb24gKCkge1xuICAgIC8vIFAyUEtIIGNhc2hhZGRyIC0+IGNhc2hhZGRyXG4gICAgYmNoXG4gICAgICAuY2Fub25pY2FsQWRkcmVzcygnYml0Y29pbmNhc2g6cXBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dnkyMmdkeDZhJywgJ2Nhc2hhZGRyJylcbiAgICAgIC5zaG91bGQuZXF1YWwoJ2JpdGNvaW5jYXNoOnFwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3Z5MjJnZHg2YScpO1xuICAgIGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJ3FwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3Z5MjJnZHg2YScsICdjYXNoYWRkcicpXG4gICAgICAuc2hvdWxkLmVxdWFsKCdiaXRjb2luY2FzaDpxcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2eTIyZ2R4NmEnKTtcblxuICAgIC8vIFAyUEtIIGJhc2U1OCAtPiBjYXNoYWRkclxuICAgIGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJzFCcEVpNkRmREFVRmQ3R3RpdHRMU2RCZVlKdmNvYVZnZ3UnLCAnY2FzaGFkZHInKVxuICAgICAgLnNob3VsZC5lcXVhbCgnYml0Y29pbmNhc2g6cXBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dnkyMmdkeDZhJyk7XG5cbiAgICAvLyBQMlNIIGNhc2hhZGRyIC0+IGNhc2hhZGRyXG4gICAgYmNoXG4gICAgICAuY2Fub25pY2FsQWRkcmVzcygnYml0Y29pbmNhc2g6cHBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dm4waDgyOXBxJywgJ2Nhc2hhZGRyJylcbiAgICAgIC5zaG91bGQuZXF1YWwoJ2JpdGNvaW5jYXNoOnBwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcScpO1xuICAgIGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJ3BwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcScsICdjYXNoYWRkcicpXG4gICAgICAuc2hvdWxkLmVxdWFsKCdiaXRjb2luY2FzaDpwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnKTtcblxuICAgIC8vIFAyU0ggYmFzZTU4IC0+IGNhc2hhZGRyXG4gICAgYmNoXG4gICAgICAuY2Fub25pY2FsQWRkcmVzcygnM0NXRmRkaTZtNG5kaUd5S3F6WXZzRllhZ3FETFBWTVR6QycsICdjYXNoYWRkcicpXG4gICAgICAuc2hvdWxkLmVxdWFsKCdiaXRjb2luY2FzaDpwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnKTtcblxuICAgIC8vIG5vICdiaXRjb2luY2FzaDonIHByZWZpeFxuICAgIGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJ3BwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcScsICdjYXNoYWRkcicpXG4gICAgICAuc2hvdWxkLmVxdWFsKCdiaXRjb2luY2FzaDpwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnKTtcblxuICAgIC8vIFAyUEtIIGNhc2hhZGRyIC0+IGJhc2U1OFxuICAgIGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW5jYXNoOnFxcTM3Mjh5dzB5NDdzcW42bDJuYTMwbWN3NnptNzhkenFyZTkwOW0ycicsICdiYXNlNTgnKVxuICAgICAgLnNob3VsZC5lcXVhbCgnMTZ3MUQ1V1JWS0p1WlVzU1J6ZExwOXczWUdjZ294RFhiJyk7XG4gICAgYmNoXG4gICAgICAuY2Fub25pY2FsQWRkcmVzcygncXFxMzcyOHl3MHk0N3NxbjZsMm5hMzBtY3c2em03OGR6cXJlOTA5bTJyJywgJ2Jhc2U1OCcpXG4gICAgICAuc2hvdWxkLmVxdWFsKCcxNncxRDVXUlZLSnVaVXNTUnpkTHA5dzNZR2Nnb3hEWGInKTtcblxuICAgIC8vIFAyUEtIIGJhc2U1OCAtPiBiYXNlNThcbiAgICBiY2hcbiAgICAgIC5jYW5vbmljYWxBZGRyZXNzKCcxNncxRDVXUlZLSnVaVXNTUnpkTHA5dzNZR2Nnb3hEWGInLCAnYmFzZTU4JylcbiAgICAgIC5zaG91bGQuZXF1YWwoJzE2dzFENVdSVktKdVpVc1NSemRMcDl3M1lHY2dveERYYicpO1xuXG4gICAgLy8gUDJTSCBjYXNoYWRkciAtPiBiYXNlNThcbiAgICBiY2hcbiAgICAgIC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpwcjk1c3kzajl4d2QyYXAzMnhreWt0dHI0Y3ZjdTdhczR5Yzkza3kyOGUnLCAnYmFzZTU4JylcbiAgICAgIC5zaG91bGQuZXF1YWwoJzNMRHNTNTc5eTdzcnVhZHF1MTFiZUVKb1RqZEZpRkNkWDQnKTtcbiAgICBiY2hcbiAgICAgIC5jYW5vbmljYWxBZGRyZXNzKCdwcjk1c3kzajl4d2QyYXAzMnhreWt0dHI0Y3ZjdTdhczR5Yzkza3kyOGUnLCAnYmFzZTU4JylcbiAgICAgIC5zaG91bGQuZXF1YWwoJzNMRHNTNTc5eTdzcnVhZHF1MTFiZUVKb1RqZEZpRkNkWDQnKTtcblxuICAgIC8vIFAyU0ggYmFzZTU4IC0+IGJhc2U1OFxuICAgIGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJzNMRHNTNTc5eTdzcnVhZHF1MTFiZUVKb1RqZEZpRkNkWDQnLCAnYmFzZTU4JylcbiAgICAgIC5zaG91bGQuZXF1YWwoJzNMRHNTNTc5eTdzcnVhZHF1MTFiZUVKb1RqZEZpRkNkWDQnKTtcblxuICAgIC8vIHVuZGVmaW5lZCB2ZXJzaW9uIGRlZmF1bHRzIHRvIGJhc2U1OFxuICAgIGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW5jYXNoOnBwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcScpXG4gICAgICAuc2hvdWxkLmVxdWFsKCczQ1dGZGRpNm00bmRpR3lLcXpZdnNGWWFncURMUFZNVHpDJyk7XG4gICAgYmNoXG4gICAgICAuY2Fub25pY2FsQWRkcmVzcygncHBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dm4waDgyOXBxJylcbiAgICAgIC5zaG91bGQuZXF1YWwoJzNDV0ZkZGk2bTRuZGlHeUtxell2c0ZZYWdxRExQVk1UekMnKTtcblxuICAgIC8vIGFsbCBjYXBpdGFsaXplZFxuICAgIGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJ0JJVENPSU5DQVNIOlFRUTM3MjhZVzBZNDdTUU42TDJOQTMwTUNXNlpNNzhEWlFSRTkwOU0yUicsICdiYXNlNTgnKVxuICAgICAgLnNob3VsZC5lcXVhbCgnMTZ3MUQ1V1JWS0p1WlVzU1J6ZExwOXczWUdjZ294RFhiJyk7XG4gICAgYmNoXG4gICAgICAuY2Fub25pY2FsQWRkcmVzcygnUVFRMzcyOFlXMFk0N1NRTjZMMk5BMzBNQ1c2Wk03OERaUVJFOTA5TTJSJywgJ2Jhc2U1OCcpXG4gICAgICAuc2hvdWxkLmVxdWFsKCcxNncxRDVXUlZLSnVaVXNTUnpkTHA5dzNZR2Nnb3hEWGInKTtcblxuICAgIC8vIHRlc3RuZXQgYWRkcmVzc2VzXG4gICAgdGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJzJOQ0VEbW1LTk5ucUt2bld3N3BFM1JMenVGZTVhSEhWeTFYJywgJ2Nhc2hhZGRyJylcbiAgICAgIC5zaG91bGQuZXF1YWwoJ2JjaHRlc3Q6cHJncm5qZW5nczU1NWszY2ZmMnMzZ3F4ZzN4eXlyOXV6eWg5anM1bThmJyk7XG4gICAgdGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJ24zallCakN6Z0dOeWRRd2Y4M0h6NkdCekdCaE1rS2ZnTDEnLCAnY2FzaGFkZHInKVxuICAgICAgLnNob3VsZC5lcXVhbCgnYmNodGVzdDpxcmVtZ3I5ZHI5eDVzd3Y4Mms2OXFkanpydmR4Z2thYWVzZnRkcDV4bGEnKTtcbiAgICB0YmNoXG4gICAgICAuY2Fub25pY2FsQWRkcmVzcygnYmNodGVzdDpwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnLCAnY2FzaGFkZHInKVxuICAgICAgLnNob3VsZC5lcXVhbCgnYmNodGVzdDpwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnKTtcbiAgICB0YmNoXG4gICAgICAuY2Fub25pY2FsQWRkcmVzcygnYmNodGVzdDpwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnLCAnY2FzaGFkZHInKVxuICAgICAgLnNob3VsZC5lcXVhbCgnYmNodGVzdDpwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnKTtcbiAgICB0YmNoXG4gICAgICAuY2Fub25pY2FsQWRkcmVzcygncHJncm5qZW5nczU1NWszY2ZmMnMzZ3F4ZzN4eXlyOXV6eWg5anM1bThmJywgJ2Jhc2U1OCcpXG4gICAgICAuc2hvdWxkLmVxdWFsKCcyTkNFRG1tS05ObnFLdm5XdzdwRTNSTHp1RmU1YUhIVnkxWCcpO1xuICAgIHRiY2hcbiAgICAgIC5jYW5vbmljYWxBZGRyZXNzKCdwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnLCAnYmFzZTU4JylcbiAgICAgIC5zaG91bGQuZXF1YWwoJzJOQ0VEbW1LTk5ucUt2bld3N3BFM1JMenVGZTVhSEhWeTFYJyk7XG4gICAgdGJjaFxuICAgICAgLmNhbm9uaWNhbEFkZHJlc3MoJ3ByZ3JuamVuZ3M1NTVrM2NmZjJzM2dxeGczeHl5cjl1enloOWpzNW04ZicsICdjYXNoYWRkcicpXG4gICAgICAuc2hvdWxkLmVxdWFsKCdiY2h0ZXN0OnByZ3JuamVuZ3M1NTVrM2NmZjJzM2dxeGczeHl5cjl1enloOWpzNW04ZicpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlamVjdCBpbnZhbGlkIGFkZHJlc3NlcycsIGZ1bmN0aW9uICgpIHtcbiAgICAvLyBpbXByb3Blcmx5IHNob3J0IGRhdGEgc2VnbWVudFxuICAgICgoKSA9PiB7XG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygnYml0Y29pbmNhc2g6c3kzajl4d2QyYXAzMnhreWt0dHI0Y3ZjdTdhczR5Yzkza3kyOGUnLCAnYmFzZTU4Jyk7XG4gICAgfSkuc2hvdWxkLnRocm93KCk7XG5cbiAgICAvLyBtaXNtYXRjaGVkIGRhdGEgc2VnbWVudCAoY2FzaGFkZHIpXG4gICAgKCgpID0+IHtcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDp5cjk1c3kzajl4d2QyYXAzMnhreWt0dHI0Y3ZjdTdhczR5Yzkza3kyOGUnLCAnYmFzZTU4Jyk7XG4gICAgfSkuc2hvdWxkLnRocm93KCk7XG5cbiAgICAvLyBkb3VibGUgcHJlZml4XG4gICAgKCgpID0+IHtcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpiaXRjb2luY2FzaDpwcjk1c3kzajl4d2QyYXAzMnhreWt0dHI0Y3ZjdTdhczR5Yzkza3kyOGUnLCAnYmFzZTU4Jyk7XG4gICAgfSkuc2hvdWxkLnRocm93KCk7XG5cbiAgICAvLyBtaXNtYXRjaGVkIGRhdGEgc2VnbWVudCAoYmFzZTU4KVxuICAgICgoKSA9PiB7XG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygnM0REc1M1Nzl5N3NydWFkcXUxMWJlRUpvVGpkRmlGQ2RYNCcsICdiYXNlNTgnKTtcbiAgICB9KS5zaG91bGQudGhyb3coKTtcblxuICAgIC8vIGltcHJvcGVyIHByZWZpeFxuICAgICgoKSA9PiB7XG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygnOnFwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3Z5MjJnZHg2YScsICdiYXNlNTgnKTtcbiAgICB9KS5zaG91bGQudGhyb3coKTtcblxuICAgICgoKSA9PiB7XG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygnYml0Y29pbjpxcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2eTIyZ2R4NmEnLCAnYmFzZTU4Jyk7XG4gICAgfSkuc2hvdWxkLnRocm93KCk7XG5cbiAgICAvLyBtaXNtYXRjaGVkIGNhcGl0YWxpemF0aW9uXG4gICAgKCgpID0+IHtcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpRUE0yUXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2eTIyZ2R4NmEnLCAnY2FzaGFkZHInKTtcbiAgICB9KS5zaG91bGQudGhyb3coKTtcblxuICAgIC8vIGltcHJvcGVyIHZlcnNpb25cbiAgICAoKCkgPT4ge1xuICAgICAgYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW5jYXNoOnFxcTM3Mjh5dzB5NDdzcW42bDJuYTMwbWN3NnptNzhkenFyZTkwOW0ycicsICdibGFoJyk7XG4gICAgfSkuc2hvdWxkLnRocm93KCk7XG5cbiAgICAvLyB1bmRlZmluZWQgYWRkcmVzc1xuICAgICgoKSA9PiB7XG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcyh1bmRlZmluZWQgYXMgYW55LCAnYmxhaCcpO1xuICAgIH0pLnNob3VsZC50aHJvdygpO1xuICB9KTtcbn0pO1xuIl19
|