@bitgo/abstract-utxo 12.0.5 → 12.1.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/impl/index.d.ts +1 -0
- package/dist/cjs/src/impl/index.d.ts.map +1 -1
- package/dist/cjs/src/impl/index.js +3 -2
- package/dist/cjs/src/impl/pearl/index.d.ts +3 -0
- package/dist/cjs/src/impl/pearl/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/pearl/index.js +19 -0
- package/dist/cjs/src/impl/pearl/pearl.d.ts +17 -0
- package/dist/cjs/src/impl/pearl/pearl.d.ts.map +1 -0
- package/dist/cjs/src/impl/pearl/pearl.js +24 -0
- package/dist/cjs/src/impl/pearl/tpearl.d.ts +8 -0
- package/dist/cjs/src/impl/pearl/tpearl.d.ts.map +1 -0
- package/dist/cjs/src/impl/pearl/tpearl.js +15 -0
- package/dist/cjs/src/index.d.ts +1 -0
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js +2 -1
- package/dist/cjs/src/names.d.ts +2 -2
- package/dist/cjs/src/names.d.ts.map +1 -1
- package/dist/cjs/src/names.js +5 -2
- package/dist/cjs/test/unit/impl/pearl/unit/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/pearl/unit/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/pearl/unit/index.js +111 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/impl/index.d.ts +1 -0
- package/dist/esm/impl/index.d.ts.map +1 -1
- package/dist/esm/impl/index.js +2 -1
- package/dist/esm/impl/pearl/index.d.ts +3 -0
- package/dist/esm/impl/pearl/index.d.ts.map +1 -0
- package/dist/esm/impl/pearl/index.js +3 -0
- package/dist/esm/impl/pearl/pearl.d.ts +17 -0
- package/dist/esm/impl/pearl/pearl.d.ts.map +1 -0
- package/dist/esm/impl/pearl/pearl.js +20 -0
- package/dist/esm/impl/pearl/tpearl.d.ts +8 -0
- package/dist/esm/impl/pearl/tpearl.d.ts.map +1 -0
- package/dist/esm/impl/pearl/tpearl.js +11 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/names.d.ts +2 -2
- package/dist/esm/names.d.ts.map +1 -1
- package/dist/esm/names.js +5 -2
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/impl/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/impl/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC"}
|
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.zec = exports.doge = exports.dash = exports.ltc = exports.btg = exports.bsv = exports.bcha = exports.bch = exports.btc = void 0;
|
|
36
|
+
exports.zec = exports.pearl = exports.doge = exports.dash = exports.ltc = exports.btg = exports.bsv = exports.bcha = exports.bch = exports.btc = void 0;
|
|
37
37
|
exports.btc = __importStar(require("./btc"));
|
|
38
38
|
exports.bch = __importStar(require("./bch"));
|
|
39
39
|
exports.bcha = __importStar(require("./bcha"));
|
|
@@ -42,5 +42,6 @@ exports.btg = __importStar(require("./btg"));
|
|
|
42
42
|
exports.ltc = __importStar(require("./ltc"));
|
|
43
43
|
exports.dash = __importStar(require("./dash"));
|
|
44
44
|
exports.doge = __importStar(require("./doge"));
|
|
45
|
+
exports.pearl = __importStar(require("./pearl"));
|
|
45
46
|
exports.zec = __importStar(require("./zec"));
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW1wbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBNkI7QUFDN0IsNkNBQTZCO0FBQzdCLCtDQUErQjtBQUMvQiw2Q0FBNkI7QUFDN0IsNkNBQTZCO0FBQzdCLDZDQUE2QjtBQUM3QiwrQ0FBK0I7QUFDL0IsK0NBQStCO0FBQy9CLGlEQUFpQztBQUNqQyw2Q0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBidGMgZnJvbSAnLi9idGMnO1xuZXhwb3J0ICogYXMgYmNoIGZyb20gJy4vYmNoJztcbmV4cG9ydCAqIGFzIGJjaGEgZnJvbSAnLi9iY2hhJztcbmV4cG9ydCAqIGFzIGJzdiBmcm9tICcuL2Jzdic7XG5leHBvcnQgKiBhcyBidGcgZnJvbSAnLi9idGcnO1xuZXhwb3J0ICogYXMgbHRjIGZyb20gJy4vbHRjJztcbmV4cG9ydCAqIGFzIGRhc2ggZnJvbSAnLi9kYXNoJztcbmV4cG9ydCAqIGFzIGRvZ2UgZnJvbSAnLi9kb2dlJztcbmV4cG9ydCAqIGFzIHBlYXJsIGZyb20gJy4vcGVhcmwnO1xuZXhwb3J0ICogYXMgemVjIGZyb20gJy4vemVjJztcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/impl/pearl/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./pearl"), exports);
|
|
18
|
+
__exportStar(require("./tpearl"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW1wbC9wZWFybC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLDJDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGVhcmwnO1xuZXhwb3J0ICogZnJvbSAnLi90cGVhcmwnO1xuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BitGoBase } from '@bitgo/sdk-core';
|
|
2
|
+
import { AbstractUtxoCoin } from '../../abstractUtxoCoin';
|
|
3
|
+
import { UtxoCoinName } from '../../names';
|
|
4
|
+
/**
|
|
5
|
+
* Pearl (Duplex) is a taproot-only UTXO chain, a btcd fork using BIP-340 Schnorr
|
|
6
|
+
* signatures and BIP-341 script-path spending with a NUMS internal key.
|
|
7
|
+
*
|
|
8
|
+
* Unlike the other utxo coins, Pearl has no `@bitgo/utxo-lib` network registration -
|
|
9
|
+
* it is served entirely through `@bitgo/wasm-utxo`. No script type override is needed
|
|
10
|
+
* here: `supportsAddressType` delegates to `fixedScriptWallet.supportsScriptType`,
|
|
11
|
+
* which already reports only p2tr and p2trMusig2 for this coin.
|
|
12
|
+
*/
|
|
13
|
+
export declare class Pearl extends AbstractUtxoCoin {
|
|
14
|
+
readonly name: UtxoCoinName;
|
|
15
|
+
static createInstance(bitgo: BitGoBase): Pearl;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=pearl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pearl.d.ts","sourceRoot":"","sources":["../../../../../src/impl/pearl/pearl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;GAQG;AACH,qBAAa,KAAM,SAAQ,gBAAgB;IACzC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAW;IAEtC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK;CAG/C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Pearl = void 0;
|
|
4
|
+
const abstractUtxoCoin_1 = require("../../abstractUtxoCoin");
|
|
5
|
+
/**
|
|
6
|
+
* Pearl (Duplex) is a taproot-only UTXO chain, a btcd fork using BIP-340 Schnorr
|
|
7
|
+
* signatures and BIP-341 script-path spending with a NUMS internal key.
|
|
8
|
+
*
|
|
9
|
+
* Unlike the other utxo coins, Pearl has no `@bitgo/utxo-lib` network registration -
|
|
10
|
+
* it is served entirely through `@bitgo/wasm-utxo`. No script type override is needed
|
|
11
|
+
* here: `supportsAddressType` delegates to `fixedScriptWallet.supportsScriptType`,
|
|
12
|
+
* which already reports only p2tr and p2trMusig2 for this coin.
|
|
13
|
+
*/
|
|
14
|
+
class Pearl extends abstractUtxoCoin_1.AbstractUtxoCoin {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.name = 'pearl';
|
|
18
|
+
}
|
|
19
|
+
static createInstance(bitgo) {
|
|
20
|
+
return new Pearl(bitgo);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.Pearl = Pearl;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVhcmwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW1wbC9wZWFybC9wZWFybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw2REFBMEQ7QUFHMUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFhLEtBQU0sU0FBUSxtQ0FBZ0I7SUFBM0M7O1FBQ1csU0FBSSxHQUFpQixPQUFPLENBQUM7SUFLeEMsQ0FBQztJQUhDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFORCxzQkFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4gfSBmcm9tICcuLi8uLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IFV0eG9Db2luTmFtZSB9IGZyb20gJy4uLy4uL25hbWVzJztcblxuLyoqXG4gKiBQZWFybCAoRHVwbGV4KSBpcyBhIHRhcHJvb3Qtb25seSBVVFhPIGNoYWluLCBhIGJ0Y2QgZm9yayB1c2luZyBCSVAtMzQwIFNjaG5vcnJcbiAqIHNpZ25hdHVyZXMgYW5kIEJJUC0zNDEgc2NyaXB0LXBhdGggc3BlbmRpbmcgd2l0aCBhIE5VTVMgaW50ZXJuYWwga2V5LlxuICpcbiAqIFVubGlrZSB0aGUgb3RoZXIgdXR4byBjb2lucywgUGVhcmwgaGFzIG5vIGBAYml0Z28vdXR4by1saWJgIG5ldHdvcmsgcmVnaXN0cmF0aW9uIC1cbiAqIGl0IGlzIHNlcnZlZCBlbnRpcmVseSB0aHJvdWdoIGBAYml0Z28vd2FzbS11dHhvYC4gTm8gc2NyaXB0IHR5cGUgb3ZlcnJpZGUgaXMgbmVlZGVkXG4gKiBoZXJlOiBgc3VwcG9ydHNBZGRyZXNzVHlwZWAgZGVsZWdhdGVzIHRvIGBmaXhlZFNjcmlwdFdhbGxldC5zdXBwb3J0c1NjcmlwdFR5cGVgLFxuICogd2hpY2ggYWxyZWFkeSByZXBvcnRzIG9ubHkgcDJ0ciBhbmQgcDJ0ck11c2lnMiBmb3IgdGhpcyBjb2luLlxuICovXG5leHBvcnQgY2xhc3MgUGVhcmwgZXh0ZW5kcyBBYnN0cmFjdFV0eG9Db2luIHtcbiAgcmVhZG9ubHkgbmFtZTogVXR4b0NvaW5OYW1lID0gJ3BlYXJsJztcblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSk6IFBlYXJsIHtcbiAgICByZXR1cm4gbmV3IFBlYXJsKGJpdGdvKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BitGoBase } from '@bitgo/sdk-core';
|
|
2
|
+
import { UtxoCoinName } from '../../names';
|
|
3
|
+
import { Pearl } from './pearl';
|
|
4
|
+
export declare class Tpearl extends Pearl {
|
|
5
|
+
readonly name: UtxoCoinName;
|
|
6
|
+
static createInstance(bitgo: BitGoBase): Tpearl;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=tpearl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tpearl.d.ts","sourceRoot":"","sources":["../../../../../src/impl/pearl/tpearl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,MAAO,SAAQ,KAAK;IAC/B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAY;IAEvC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;CAGhD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tpearl = void 0;
|
|
4
|
+
const pearl_1 = require("./pearl");
|
|
5
|
+
class Tpearl extends pearl_1.Pearl {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.name = 'tpearl';
|
|
9
|
+
}
|
|
10
|
+
static createInstance(bitgo) {
|
|
11
|
+
return new Tpearl(bitgo);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.Tpearl = Tpearl;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHBlYXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGwvcGVhcmwvdHBlYXJsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLG1DQUFnQztBQUVoQyxNQUFhLE1BQU8sU0FBUSxhQUFLO0lBQWpDOztRQUNXLFNBQUksR0FBaUIsUUFBUSxDQUFDO0lBS3pDLENBQUM7SUFIQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCO1FBQ3BDLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBTkQsd0JBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi9uYW1lcyc7XG5cbmltcG9ydCB7IFBlYXJsIH0gZnJvbSAnLi9wZWFybCc7XG5cbmV4cG9ydCBjbGFzcyBUcGVhcmwgZXh0ZW5kcyBQZWFybCB7XG4gIHJlYWRvbmx5IG5hbWU6IFV0eG9Db2luTmFtZSA9ICd0cGVhcmwnO1xuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlKTogVHBlYXJsIHtcbiAgICByZXR1cm4gbmV3IFRwZWFybChiaXRnbyk7XG4gIH1cbn1cbiJdfQ==
|
package/dist/cjs/src/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,4CAA4C,CAAC;AAC3D,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAG/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,4CAA4C,CAAC;AAC3D,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAG/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/cjs/src/index.js
CHANGED
|
@@ -57,5 +57,6 @@ __exportStar(require("./impl/btg"), exports);
|
|
|
57
57
|
__exportStar(require("./impl/ltc"), exports);
|
|
58
58
|
__exportStar(require("./impl/dash"), exports);
|
|
59
59
|
__exportStar(require("./impl/doge"), exports);
|
|
60
|
+
__exportStar(require("./impl/pearl"), exports);
|
|
60
61
|
__exportStar(require("./impl/zec"), exports);
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQW1DO0FBQ25DLDRDQUEwQjtBQUMxQiwyQ0FBeUI7QUFDekIsMENBQXdCO0FBQ3hCLDZDQUEyQjtBQUMzQiw2RUFBMkQ7QUFDM0QsNENBQTBCO0FBRzFCLDJEQUEyQztBQUMzQywrREFBK0M7QUFDL0MsNkRBQTZDO0FBQzdDLCtDQUErQjtBQUUvQixrQ0FBa0M7QUFDbEMsNkNBQTJCO0FBQzNCLDZDQUEyQjtBQUMzQiw4Q0FBNEI7QUFDNUIsNkNBQTJCO0FBQzNCLDZDQUEyQjtBQUMzQiw2Q0FBMkI7QUFDM0IsOENBQTRCO0FBQzVCLDhDQUE0QjtBQUM1QiwrQ0FBNkI7QUFDN0IsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdFV0eG9Db2luJztcbmV4cG9ydCAqIGZyb20gJy4vYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL25hbWVzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3ZlcnknO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbi9maXhlZFNjcmlwdC9yZXBsYXlQcm90ZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdW5zcGVudCc7XG5cbmV4cG9ydCB7IFV0eG9XYWxsZXQgfSBmcm9tICcuL3dhbGxldCc7XG5leHBvcnQgKiBhcyBkZXNjcmlwdG9yIGZyb20gJy4vZGVzY3JpcHRvcic7XG5leHBvcnQgKiBhcyBvZmZsaW5lVmF1bHQgZnJvbSAnLi9vZmZsaW5lVmF1bHQnO1xuZXhwb3J0ICogYXMgdHJhbnNhY3Rpb24gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgKiBhcyBpbXBsIGZyb20gJy4vaW1wbCc7XG5cbi8vIEV4cG9ydCBhbGwgY29pbiBpbXBsZW1lbnRhdGlvbnNcbmV4cG9ydCAqIGZyb20gJy4vaW1wbC9idGMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbXBsL2JjaCc7XG5leHBvcnQgKiBmcm9tICcuL2ltcGwvYmNoYSc7XG5leHBvcnQgKiBmcm9tICcuL2ltcGwvYnN2JztcbmV4cG9ydCAqIGZyb20gJy4vaW1wbC9idGcnO1xuZXhwb3J0ICogZnJvbSAnLi9pbXBsL2x0Yyc7XG5leHBvcnQgKiBmcm9tICcuL2ltcGwvZGFzaCc7XG5leHBvcnQgKiBmcm9tICcuL2ltcGwvZG9nZSc7XG5leHBvcnQgKiBmcm9tICcuL2ltcGwvcGVhcmwnO1xuZXhwb3J0ICogZnJvbSAnLi9pbXBsL3plYyc7XG4iXX0=
|
package/dist/cjs/src/names.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const utxoCoinsMainnet: readonly ["btc", "bch", "bcha", "bsv", "btg", "dash", "doge", "ltc", "zec"];
|
|
2
|
-
export declare const utxoCoinsTestnet: readonly ["tbtc", "tbtc4", "tbtcsig", "tbtcbgsig", "tbch", "tbcha", "tbsv", "tbtg", "tdash", "tdoge", "tltc", "tzec"];
|
|
1
|
+
export declare const utxoCoinsMainnet: readonly ["btc", "bch", "bcha", "bsv", "btg", "dash", "doge", "ltc", "pearl", "zec"];
|
|
2
|
+
export declare const utxoCoinsTestnet: readonly ["tbtc", "tbtc4", "tbtcsig", "tbtcbgsig", "tbch", "tbcha", "tbsv", "tbtg", "tdash", "tdoge", "tltc", "tpearl", "tzec"];
|
|
3
3
|
export type UtxoCoinNameMainnet = (typeof utxoCoinsMainnet)[number];
|
|
4
4
|
export type UtxoCoinNameTestnet = `t${UtxoCoinNameMainnet}` | 'tbtcsig' | 'tbtc4' | 'tbtcbgsig';
|
|
5
5
|
export type UtxoCoinName = UtxoCoinNameMainnet | UtxoCoinNameTestnet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../../src/names.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../../src/names.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,sFAAuF,CAAC;AACrH,eAAO,MAAM,gBAAgB,iIAcnB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAChG,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAErE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,YAAY,CAEzE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,mBAAmB,CAY9E;AA2BD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAiBtE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D"}
|
package/dist/cjs/src/names.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.getMainnetCoinName = getMainnetCoinName;
|
|
|
8
8
|
exports.getFullNameFromCoinName = getFullNameFromCoinName;
|
|
9
9
|
exports.isTestnetCoin = isTestnetCoin;
|
|
10
10
|
exports.isMainnetCoin = isMainnetCoin;
|
|
11
|
-
exports.utxoCoinsMainnet = ['btc', 'bch', 'bcha', 'bsv', 'btg', 'dash', 'doge', 'ltc', 'zec'];
|
|
11
|
+
exports.utxoCoinsMainnet = ['btc', 'bch', 'bcha', 'bsv', 'btg', 'dash', 'doge', 'ltc', 'pearl', 'zec'];
|
|
12
12
|
exports.utxoCoinsTestnet = [
|
|
13
13
|
'tbtc',
|
|
14
14
|
'tbtc4',
|
|
@@ -21,6 +21,7 @@ exports.utxoCoinsTestnet = [
|
|
|
21
21
|
'tdash',
|
|
22
22
|
'tdoge',
|
|
23
23
|
'tltc',
|
|
24
|
+
'tpearl',
|
|
24
25
|
'tzec',
|
|
25
26
|
];
|
|
26
27
|
function isUtxoCoinNameMainnet(coinName) {
|
|
@@ -63,6 +64,8 @@ function getBaseNameFromMainnet(coinName) {
|
|
|
63
64
|
return 'Dogecoin';
|
|
64
65
|
case 'ltc':
|
|
65
66
|
return 'Litecoin';
|
|
67
|
+
case 'pearl':
|
|
68
|
+
return 'Pearl';
|
|
66
69
|
case 'zec':
|
|
67
70
|
return 'ZCash';
|
|
68
71
|
}
|
|
@@ -90,4 +93,4 @@ function isTestnetCoin(coinName) {
|
|
|
90
93
|
function isMainnetCoin(coinName) {
|
|
91
94
|
return isUtxoCoinNameMainnet(coinName);
|
|
92
95
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcUJBLHNEQUVDO0FBRUQsc0RBRUM7QUFFRCx3Q0FFQztBQUVELGdEQVlDO0FBMkJELDBEQWlCQztBQUVELHNDQUVDO0FBRUQsc0NBRUM7QUFqR1ksUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBQ3hHLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsTUFBTTtJQUNOLE9BQU87SUFDUCxTQUFTO0lBQ1QsV0FBVztJQUNYLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtJQUNOLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixRQUFRO0lBQ1IsTUFBTTtDQUNFLENBQUM7QUFNWCxTQUFnQixxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxPQUFPLHdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUErQixDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLFFBQWdCO0lBQ3BELE9BQU8sd0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQStCLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLFFBQWdCO0lBQzdDLE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLFFBQXNCO0lBQ3ZELElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxXQUFXO1lBQ2QsT0FBTyxLQUFLLENBQUM7UUFDZjtZQUNFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQXdCLENBQUM7SUFDcEQsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLFFBQTZCO0lBQzNELFFBQVEsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxhQUFhLENBQUM7UUFDdkIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxZQUFZLENBQUM7UUFDdEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxPQUFPLENBQUM7UUFDakIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFnQix1QkFBdUIsQ0FBQyxRQUFzQjtJQUM1RCxJQUFJLE1BQWMsQ0FBQztJQUNuQixRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssT0FBTztZQUNWLE1BQU0sR0FBRyxXQUFXLENBQUM7WUFDckIsTUFBTTtRQUNSLEtBQUssU0FBUztZQUNaLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQztZQUMxQixNQUFNO1FBQ1IsS0FBSyxXQUFXO1lBQ2QsTUFBTSxHQUFHLGVBQWUsQ0FBQztZQUN6QixNQUFNO1FBQ1I7WUFDRSxNQUFNLEdBQUcscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsUUFBc0I7SUFDbEQsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLFFBQXNCO0lBQ2xELE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB1dHhvQ29pbnNNYWlubmV0ID0gWydidGMnLCAnYmNoJywgJ2JjaGEnLCAnYnN2JywgJ2J0ZycsICdkYXNoJywgJ2RvZ2UnLCAnbHRjJywgJ3BlYXJsJywgJ3plYyddIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IHV0eG9Db2luc1Rlc3RuZXQgPSBbXG4gICd0YnRjJyxcbiAgJ3RidGM0JyxcbiAgJ3RidGNzaWcnLFxuICAndGJ0Y2Jnc2lnJyxcbiAgJ3RiY2gnLFxuICAndGJjaGEnLFxuICAndGJzdicsXG4gICd0YnRnJyxcbiAgJ3RkYXNoJyxcbiAgJ3Rkb2dlJyxcbiAgJ3RsdGMnLFxuICAndHBlYXJsJyxcbiAgJ3R6ZWMnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lTWFpbm5ldCA9ICh0eXBlb2YgdXR4b0NvaW5zTWFpbm5ldClbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFV0eG9Db2luTmFtZVRlc3RuZXQgPSBgdCR7VXR4b0NvaW5OYW1lTWFpbm5ldH1gIHwgJ3RidGNzaWcnIHwgJ3RidGM0JyB8ICd0YnRjYmdzaWcnO1xuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lID0gVXR4b0NvaW5OYW1lTWFpbm5ldCB8IFV0eG9Db2luTmFtZVRlc3RuZXQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZU1haW5uZXQge1xuICByZXR1cm4gdXR4b0NvaW5zTWFpbm5ldC5pbmNsdWRlcyhjb2luTmFtZSBhcyBVdHhvQ29pbk5hbWVNYWlubmV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZTogc3RyaW5nKTogY29pbk5hbWUgaXMgVXR4b0NvaW5OYW1lVGVzdG5ldCB7XG4gIHJldHVybiB1dHhvQ29pbnNUZXN0bmV0LmluY2x1ZGVzKGNvaW5OYW1lIGFzIFV0eG9Db2luTmFtZVRlc3RuZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVdHhvQ29pbk5hbWUoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZSB7XG4gIHJldHVybiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWUpIHx8IGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYWlubmV0Q29pbk5hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IFV0eG9Db2luTmFtZU1haW5uZXQge1xuICBpZiAoaXNVdHhvQ29pbk5hbWVNYWlubmV0KGNvaW5OYW1lKSkge1xuICAgIHJldHVybiBjb2luTmFtZTtcbiAgfVxuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAndGJ0YzQnOlxuICAgIGNhc2UgJ3RidGNzaWcnOlxuICAgIGNhc2UgJ3RidGNiZ3NpZyc6XG4gICAgICByZXR1cm4gJ2J0Yyc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjb2luTmFtZS5zbGljZSgxKSBhcyBVdHhvQ29pbk5hbWVNYWlubmV0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEJhc2VOYW1lRnJvbU1haW5uZXQoY29pbk5hbWU6IFV0eG9Db2luTmFtZU1haW5uZXQpOiBzdHJpbmcge1xuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAnYnRjJzpcbiAgICAgIHJldHVybiAnQml0Y29pbic7XG4gICAgY2FzZSAnYmNoJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBDYXNoJztcbiAgICBjYXNlICdiY2hhJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBBQkMnO1xuICAgIGNhc2UgJ2J0Zyc6XG4gICAgICByZXR1cm4gJ0JpdGNvaW4gR29sZCc7XG4gICAgY2FzZSAnYnN2JzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBTVic7XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgICByZXR1cm4gJ0Rhc2gnO1xuICAgIGNhc2UgJ2RvZ2UnOlxuICAgICAgcmV0dXJuICdEb2dlY29pbic7XG4gICAgY2FzZSAnbHRjJzpcbiAgICAgIHJldHVybiAnTGl0ZWNvaW4nO1xuICAgIGNhc2UgJ3BlYXJsJzpcbiAgICAgIHJldHVybiAnUGVhcmwnO1xuICAgIGNhc2UgJ3plYyc6XG4gICAgICByZXR1cm4gJ1pDYXNoJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RnVsbE5hbWVGcm9tQ29pbk5hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IHN0cmluZyB7XG4gIGxldCBwcmVmaXg6IHN0cmluZztcbiAgc3dpdGNoIChjb2luTmFtZSkge1xuICAgIGNhc2UgJ3RidGM0JzpcbiAgICAgIHByZWZpeCA9ICdUZXN0bmV0NCAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndGJ0Y3NpZyc6XG4gICAgICBwcmVmaXggPSAnUHVibGljIFNpZ25ldCAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndGJ0Y2Jnc2lnJzpcbiAgICAgIHByZWZpeCA9ICdCaXRHbyBTaWduZXQgJztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBwcmVmaXggPSBpc1V0eG9Db2luTmFtZVRlc3RuZXQoY29pbk5hbWUpID8gJ1Rlc3RuZXQgJyA6ICcnO1xuICB9XG5cbiAgcmV0dXJuIHByZWZpeCArIGdldEJhc2VOYW1lRnJvbU1haW5uZXQoZ2V0TWFpbm5ldENvaW5OYW1lKGNvaW5OYW1lKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Rlc3RuZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01haW5uZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lTWFpbm5ldChjb2luTmFtZSk7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../test/unit/impl/pearl/unit/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,111 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
40
|
+
const sdk_api_1 = require("@bitgo/sdk-api");
|
|
41
|
+
const sdk_test_1 = require("@bitgo/sdk-test");
|
|
42
|
+
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
43
|
+
const pearl_1 = require("../../../../../src/impl/pearl");
|
|
44
|
+
describe('Pearl', function () {
|
|
45
|
+
let bitgo;
|
|
46
|
+
/** `bitgo.coin()` is typed as BaseCoin; these are registered as AbstractUtxoCoin */
|
|
47
|
+
function getCoin(coinName) {
|
|
48
|
+
return bitgo.coin(coinName);
|
|
49
|
+
}
|
|
50
|
+
before(function () {
|
|
51
|
+
bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, {
|
|
52
|
+
env: 'mock',
|
|
53
|
+
});
|
|
54
|
+
bitgo.initializeTestVars();
|
|
55
|
+
bitgo.safeRegister('pearl', pearl_1.Pearl.createInstance);
|
|
56
|
+
bitgo.safeRegister('tpearl', pearl_1.Tpearl.createInstance);
|
|
57
|
+
});
|
|
58
|
+
it('should instantiate the coin', function () {
|
|
59
|
+
strict_1.default.ok(bitgo.coin('pearl') instanceof pearl_1.Pearl);
|
|
60
|
+
strict_1.default.ok(bitgo.coin('tpearl') instanceof pearl_1.Tpearl);
|
|
61
|
+
});
|
|
62
|
+
it('should return the chain', function () {
|
|
63
|
+
strict_1.default.strictEqual(bitgo.coin('pearl').getChain(), 'pearl');
|
|
64
|
+
strict_1.default.strictEqual(bitgo.coin('tpearl').getChain(), 'tpearl');
|
|
65
|
+
});
|
|
66
|
+
it('should return full name', function () {
|
|
67
|
+
strict_1.default.strictEqual(bitgo.coin('pearl').getFullName(), 'Pearl');
|
|
68
|
+
strict_1.default.strictEqual(bitgo.coin('tpearl').getFullName(), 'Testnet Pearl');
|
|
69
|
+
});
|
|
70
|
+
it('should have tpearl as the testnet variant of pearl', function () {
|
|
71
|
+
strict_1.default.ok(bitgo.coin('tpearl') instanceof pearl_1.Pearl);
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* Pearl is taproot-only. This is not enforced by an override here - it comes from
|
|
75
|
+
* `supportsAddressType` delegating to wasm-utxo, which reports only the taproot
|
|
76
|
+
* script types for this coin. Pinned so a regression in either layer is caught.
|
|
77
|
+
*/
|
|
78
|
+
it('should support only the taproot script types', function () {
|
|
79
|
+
for (const coinName of ['pearl', 'tpearl']) {
|
|
80
|
+
const coin = getCoin(coinName);
|
|
81
|
+
strict_1.default.strictEqual(coin.supportsAddressType('p2tr'), true);
|
|
82
|
+
strict_1.default.strictEqual(coin.supportsAddressType('p2trMusig2'), true);
|
|
83
|
+
strict_1.default.strictEqual(coin.supportsAddressType('p2sh'), false);
|
|
84
|
+
strict_1.default.strictEqual(coin.supportsAddressType('p2shP2wsh'), false);
|
|
85
|
+
strict_1.default.strictEqual(coin.supportsAddressType('p2wsh'), false);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
it('should support only the taproot address chains', function () {
|
|
89
|
+
for (const coinName of ['pearl', 'tpearl']) {
|
|
90
|
+
const coin = getCoin(coinName);
|
|
91
|
+
// 30/31 = p2tr, 40/41 = p2trMusig2
|
|
92
|
+
for (const chain of [30, 31, 40, 41]) {
|
|
93
|
+
strict_1.default.strictEqual(coin.supportsAddressChain(chain), true, `chain ${chain} should be supported`);
|
|
94
|
+
}
|
|
95
|
+
// 0/1 = p2sh, 10/11 = p2shP2wsh, 20/21 = p2wsh
|
|
96
|
+
for (const chain of [0, 1, 10, 11, 20, 21]) {
|
|
97
|
+
strict_1.default.strictEqual(coin.supportsAddressChain(chain), false, `chain ${chain} should not be supported`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
/**
|
|
102
|
+
* Pearl is served through @bitgo/wasm-utxo and is deliberately absent from
|
|
103
|
+
* @bitgo/utxo-lib. No other checked-in coin has this profile, so it cannot be
|
|
104
|
+
* inferred from an existing coin - assert it explicitly.
|
|
105
|
+
*/
|
|
106
|
+
it('should have no utxo-lib network registration', function () {
|
|
107
|
+
strict_1.default.ok(!('pearl' in utxolib.networks));
|
|
108
|
+
strict_1.default.ok(!('tpearl' in utxolib.networks));
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvaW1wbC9wZWFybC91bml0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0VBQXdDO0FBRXhDLDRDQUEwQztBQUMxQyw4Q0FBMEQ7QUFDMUQseURBQTJDO0FBRzNDLHlEQUE4RDtBQUU5RCxRQUFRLENBQUMsT0FBTyxFQUFFO0lBQ2hCLElBQUksS0FBbUIsQ0FBQztJQUV4QixvRkFBb0Y7SUFDcEYsU0FBUyxPQUFPLENBQUMsUUFBNEI7UUFDM0MsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBZ0MsQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUFDO1FBQ0wsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUU7WUFDbkMsR0FBRyxFQUFFLE1BQU07U0FDWixDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsY0FBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDZCQUE2QixFQUFFO1FBQ2hDLGdCQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksYUFBSyxDQUFDLENBQUM7UUFDaEQsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxjQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5QkFBeUIsRUFBRTtRQUM1QixnQkFB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QUFPLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUMsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydC9zdHJpY3QnO1xuXG5pbXBvcnQgeyBCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby9zZGstYXBpJztcbmltcG9ydCB7IFRlc3RCaXRHbywgVGVzdEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay10ZXN0JztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NyYy9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IFBlYXJsLCBUcGVhcmwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zcmMvaW1wbC9wZWFybCc7XG5cbmRlc2NyaWJlKCdQZWFybCcsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGJpdGdvOiBUZXN0Qml0R29BUEk7XG5cbiAgLyoqIGBiaXRnby5jb2luKClgIGlzIHR5cGVkIGFzIEJhc2VDb2luOyB0aGVzZSBhcmUgcmVnaXN0ZXJlZCBhcyBBYnN0cmFjdFV0eG9Db2luICovXG4gIGZ1bmN0aW9uIGdldENvaW4oY29pbk5hbWU6ICdwZWFybCcgfCAndHBlYXJsJyk6IEFic3RyYWN0VXR4b0NvaW4ge1xuICAgIHJldHVybiBiaXRnby5jb2luKGNvaW5OYW1lKSBhcyB1bmtub3duIGFzIEFic3RyYWN0VXR4b0NvaW47XG4gIH1cblxuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7XG4gICAgICBlbnY6ICdtb2NrJyxcbiAgICB9KTtcbiAgICBiaXRnby5pbml0aWFsaXplVGVzdFZhcnMoKTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ3BlYXJsJywgUGVhcmwuY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLnNhZmVSZWdpc3RlcigndHBlYXJsJywgVHBlYXJsLmNyZWF0ZUluc3RhbmNlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBpbnN0YW50aWF0ZSB0aGUgY29pbicsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQub2soYml0Z28uY29pbigncGVhcmwnKSBpbnN0YW5jZW9mIFBlYXJsKTtcbiAgICBhc3NlcnQub2soYml0Z28uY29pbigndHBlYXJsJykgaW5zdGFuY2VvZiBUcGVhcmwpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB0aGUgY2hhaW4nLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGJpdGdvLmNvaW4oJ3BlYXJsJykuZ2V0Q2hhaW4oKSwgJ3BlYXJsJyk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGJpdGdvLmNvaW4oJ3RwZWFybCcpLmdldENoYWluKCksICd0cGVhcmwnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gZnVsbCBuYW1lJywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChiaXRnby5jb2luKCdwZWFybCcpLmdldEZ1bGxOYW1lKCksICdQZWFybCcpO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChiaXRnby5jb2luKCd0cGVhcmwnKS5nZXRGdWxsTmFtZSgpLCAnVGVzdG5ldCBQZWFybCcpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGhhdmUgdHBlYXJsIGFzIHRoZSB0ZXN0bmV0IHZhcmlhbnQgb2YgcGVhcmwnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0Lm9rKGJpdGdvLmNvaW4oJ3RwZWFybCcpIGluc3RhbmNlb2YgUGVhcmwpO1xuICB9KTtcblxuICAvKipcbiAgICogUGVhcmwgaXMgdGFwcm9vdC1vbmx5LiBUaGlzIGlzIG5vdCBlbmZvcmNlZCBieSBhbiBvdmVycmlkZSBoZXJlIC0gaXQgY29tZXMgZnJvbVxuICAgKiBgc3VwcG9ydHNBZGRyZXNzVHlwZWAgZGVsZWdhdGluZyB0byB3YXNtLXV0eG8sIHdoaWNoIHJlcG9ydHMgb25seSB0aGUgdGFwcm9vdFxuICAgKiBzY3JpcHQgdHlwZXMgZm9yIHRoaXMgY29pbi4gUGlubmVkIHNvIGEgcmVncmVzc2lvbiBpbiBlaXRoZXIgbGF5ZXIgaXMgY2F1Z2h0LlxuICAgKi9cbiAgaXQoJ3Nob3VsZCBzdXBwb3J0IG9ubHkgdGhlIHRhcHJvb3Qgc2NyaXB0IHR5cGVzJywgZnVuY3Rpb24gKCkge1xuICAgIGZvciAoY29uc3QgY29pbk5hbWUgb2YgWydwZWFybCcsICd0cGVhcmwnXSBhcyBjb25zdCkge1xuICAgICAgY29uc3QgY29pbiA9IGdldENvaW4oY29pbk5hbWUpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvaW4uc3VwcG9ydHNBZGRyZXNzVHlwZSgncDJ0cicpLCB0cnVlKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjb2luLnN1cHBvcnRzQWRkcmVzc1R5cGUoJ3AydHJNdXNpZzInKSwgdHJ1ZSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY29pbi5zdXBwb3J0c0FkZHJlc3NUeXBlKCdwMnNoJyksIGZhbHNlKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjb2luLnN1cHBvcnRzQWRkcmVzc1R5cGUoJ3Ayc2hQMndzaCcpLCBmYWxzZSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY29pbi5zdXBwb3J0c0FkZHJlc3NUeXBlKCdwMndzaCcpLCBmYWxzZSk7XG4gICAgfVxuICB9KTtcblxuICBpdCgnc2hvdWxkIHN1cHBvcnQgb25seSB0aGUgdGFwcm9vdCBhZGRyZXNzIGNoYWlucycsIGZ1bmN0aW9uICgpIHtcbiAgICBmb3IgKGNvbnN0IGNvaW5OYW1lIG9mIFsncGVhcmwnLCAndHBlYXJsJ10gYXMgY29uc3QpIHtcbiAgICAgIGNvbnN0IGNvaW4gPSBnZXRDb2luKGNvaW5OYW1lKTtcbiAgICAgIC8vIDMwLzMxID0gcDJ0ciwgNDAvNDEgPSBwMnRyTXVzaWcyXG4gICAgICBmb3IgKGNvbnN0IGNoYWluIG9mIFszMCwgMzEsIDQwLCA0MV0pIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvaW4uc3VwcG9ydHNBZGRyZXNzQ2hhaW4oY2hhaW4pLCB0cnVlLCBgY2hhaW4gJHtjaGFpbn0gc2hvdWxkIGJlIHN1cHBvcnRlZGApO1xuICAgICAgfVxuICAgICAgLy8gMC8xID0gcDJzaCwgMTAvMTEgPSBwMnNoUDJ3c2gsIDIwLzIxID0gcDJ3c2hcbiAgICAgIGZvciAoY29uc3QgY2hhaW4gb2YgWzAsIDEsIDEwLCAxMSwgMjAsIDIxXSkge1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY29pbi5zdXBwb3J0c0FkZHJlc3NDaGFpbihjaGFpbiksIGZhbHNlLCBgY2hhaW4gJHtjaGFpbn0gc2hvdWxkIG5vdCBiZSBzdXBwb3J0ZWRgKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBQZWFybCBpcyBzZXJ2ZWQgdGhyb3VnaCBAYml0Z28vd2FzbS11dHhvIGFuZCBpcyBkZWxpYmVyYXRlbHkgYWJzZW50IGZyb21cbiAgICogQGJpdGdvL3V0eG8tbGliLiBObyBvdGhlciBjaGVja2VkLWluIGNvaW4gaGFzIHRoaXMgcHJvZmlsZSwgc28gaXQgY2Fubm90IGJlXG4gICAqIGluZmVycmVkIGZyb20gYW4gZXhpc3RpbmcgY29pbiAtIGFzc2VydCBpdCBleHBsaWNpdGx5LlxuICAgKi9cbiAgaXQoJ3Nob3VsZCBoYXZlIG5vIHV0eG8tbGliIG5ldHdvcmsgcmVnaXN0cmF0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5vayghKCdwZWFybCcgaW4gdXR4b2xpYi5uZXR3b3JrcykpO1xuICAgIGFzc2VydC5vayghKCd0cGVhcmwnIGluIHV0eG9saWIubmV0d29ya3MpKTtcbiAgfSk7XG59KTtcbiJdfQ==
|