@bitgo-beta/statics 15.1.1-beta.41 → 15.1.1-beta.410
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/.mocharc.js +1 -1
- package/CHANGELOG.md +2098 -0
- package/dist/src/account.d.ts +120 -3
- package/dist/src/account.d.ts.map +1 -1
- package/dist/src/account.js +194 -8
- package/dist/src/ada.d.ts.map +1 -1
- package/dist/src/ada.js +3 -1
- package/dist/src/avaxp.d.ts.map +1 -1
- package/dist/src/avaxp.js +3 -1
- package/dist/src/base.d.ts +742 -24
- package/dist/src/base.d.ts.map +1 -1
- package/dist/src/base.js +759 -23
- package/dist/src/coins.d.ts +0 -1
- package/dist/src/coins.d.ts.map +1 -1
- package/dist/src/coins.js +2302 -1350
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -3
- package/dist/src/lightning.d.ts +43 -0
- package/dist/src/lightning.d.ts.map +1 -0
- package/dist/src/lightning.js +60 -0
- package/dist/src/map.d.ts +1 -0
- package/dist/src/map.d.ts.map +1 -1
- package/dist/src/map.js +19 -1
- package/dist/src/networks.d.ts +252 -2
- package/dist/src/networks.d.ts.map +1 -1
- package/dist/src/networks.js +356 -39
- package/dist/src/ofc.d.ts +138 -0
- package/dist/src/ofc.d.ts.map +1 -1
- package/dist/src/ofc.js +286 -4
- package/dist/src/tokenConfig.d.ts +20 -0
- package/dist/src/tokenConfig.d.ts.map +1 -1
- package/dist/src/tokenConfig.js +64 -2
- package/dist/src/utxo.d.ts +3 -1
- package/dist/src/utxo.d.ts.map +1 -1
- package/dist/src/utxo.js +62 -2
- package/dist/tsconfig.tsbuildinfo +1 -2717
- package/package.json +2 -2
package/dist/src/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './errors';
|
|
|
5
5
|
export * from './tokenConfig';
|
|
6
6
|
export { OfcCoin } from './ofc';
|
|
7
7
|
export { UtxoCoin } from './utxo';
|
|
8
|
+
export { LightningCoin } from './lightning';
|
|
8
9
|
export { AccountCoin, CeloCoin, ContractAddressDefinedToken, Erc20Coin, StellarCoin, EosCoin, AlgoCoin, AvaxERC20Token, SolCoin, HederaToken, TronErc20Coin, } from './account';
|
|
9
10
|
export { CoinMap } from './map';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,2BAA2B,EAC3B,SAAS,EACT,WAAW,EACX,OAAO,EACP,QAAQ,EACR,cAAc,EACd,OAAO,EACP,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,2BAA2B,EAC3B,SAAS,EACT,WAAW,EACX,OAAO,EACP,QAAQ,EACR,cAAc,EACd,OAAO,EACP,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -10,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.CoinMap = exports.TronErc20Coin = exports.HederaToken = exports.SolCoin = exports.AvaxERC20Token = exports.AlgoCoin = exports.EosCoin = exports.StellarCoin = exports.Erc20Coin = exports.ContractAddressDefinedToken = exports.CeloCoin = exports.AccountCoin = exports.UtxoCoin = exports.OfcCoin = void 0;
|
|
17
|
+
exports.CoinMap = exports.TronErc20Coin = exports.HederaToken = exports.SolCoin = exports.AvaxERC20Token = exports.AlgoCoin = exports.EosCoin = exports.StellarCoin = exports.Erc20Coin = exports.ContractAddressDefinedToken = exports.CeloCoin = exports.AccountCoin = exports.LightningCoin = exports.UtxoCoin = exports.OfcCoin = void 0;
|
|
14
18
|
__exportStar(require("./base"), exports);
|
|
15
19
|
__exportStar(require("./coins"), exports);
|
|
16
20
|
__exportStar(require("./networks"), exports);
|
|
@@ -20,6 +24,8 @@ var ofc_1 = require("./ofc");
|
|
|
20
24
|
Object.defineProperty(exports, "OfcCoin", { enumerable: true, get: function () { return ofc_1.OfcCoin; } });
|
|
21
25
|
var utxo_1 = require("./utxo");
|
|
22
26
|
Object.defineProperty(exports, "UtxoCoin", { enumerable: true, get: function () { return utxo_1.UtxoCoin; } });
|
|
27
|
+
var lightning_1 = require("./lightning");
|
|
28
|
+
Object.defineProperty(exports, "LightningCoin", { enumerable: true, get: function () { return lightning_1.LightningCoin; } });
|
|
23
29
|
var account_1 = require("./account");
|
|
24
30
|
Object.defineProperty(exports, "AccountCoin", { enumerable: true, get: function () { return account_1.AccountCoin; } });
|
|
25
31
|
Object.defineProperty(exports, "CeloCoin", { enumerable: true, get: function () { return account_1.CeloCoin; } });
|
|
@@ -34,4 +40,4 @@ Object.defineProperty(exports, "HederaToken", { enumerable: true, get: function
|
|
|
34
40
|
Object.defineProperty(exports, "TronErc20Coin", { enumerable: true, get: function () { return account_1.TronErc20Coin; } });
|
|
35
41
|
var map_1 = require("./map");
|
|
36
42
|
Object.defineProperty(exports, "CoinMap", { enumerable: true, get: function () { return map_1.CoinMap; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLDZDQUEyQjtBQUMzQiwyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLDZCQUFnQztBQUF2Qiw4RkFBQSxPQUFPLE9BQUE7QUFDaEIsK0JBQWtDO0FBQXpCLGdHQUFBLFFBQVEsT0FBQTtBQUNqQix5Q0FBNEM7QUFBbkMsMEdBQUEsYUFBYSxPQUFBO0FBQ3RCLHFDQVltQjtBQVhqQixzR0FBQSxXQUFXLE9BQUE7QUFDWCxtR0FBQSxRQUFRLE9BQUE7QUFDUixzSEFBQSwyQkFBMkIsT0FBQTtBQUMzQixvR0FBQSxTQUFTLE9BQUE7QUFDVCxzR0FBQSxXQUFXLE9BQUE7QUFDWCxrR0FBQSxPQUFPLE9BQUE7QUFDUCxtR0FBQSxRQUFRLE9BQUE7QUFDUix5R0FBQSxjQUFjLE9BQUE7QUFDZCxrR0FBQSxPQUFPLE9BQUE7QUFDUCxzR0FBQSxXQUFXLE9BQUE7QUFDWCx3R0FBQSxhQUFhLE9BQUE7QUFFZiw2QkFBZ0M7QUFBdkIsOEZBQUEsT0FBTyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29pbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9uZXR3b3Jrcyc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2VuQ29uZmlnJztcbmV4cG9ydCB7IE9mY0NvaW4gfSBmcm9tICcuL29mYyc7XG5leHBvcnQgeyBVdHhvQ29pbiB9IGZyb20gJy4vdXR4byc7XG5leHBvcnQgeyBMaWdodG5pbmdDb2luIH0gZnJvbSAnLi9saWdodG5pbmcnO1xuZXhwb3J0IHtcbiAgQWNjb3VudENvaW4sXG4gIENlbG9Db2luLFxuICBDb250cmFjdEFkZHJlc3NEZWZpbmVkVG9rZW4sXG4gIEVyYzIwQ29pbixcbiAgU3RlbGxhckNvaW4sXG4gIEVvc0NvaW4sXG4gIEFsZ29Db2luLFxuICBBdmF4RVJDMjBUb2tlbixcbiAgU29sQ29pbixcbiAgSGVkZXJhVG9rZW4sXG4gIFRyb25FcmMyMENvaW4sXG59IGZyb20gJy4vYWNjb3VudCc7XG5leHBvcnQgeyBDb2luTWFwIH0gZnJvbSAnLi9tYXAnO1xuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { BaseCoin, BaseUnit, CoinFeature, KeyCurve, UnderlyingAsset } from './base';
|
|
2
|
+
import { LightningNetwork } from './networks';
|
|
3
|
+
interface LightningConstructorOptions {
|
|
4
|
+
id: string;
|
|
5
|
+
fullName: string;
|
|
6
|
+
name: string;
|
|
7
|
+
network: LightningNetwork;
|
|
8
|
+
features: CoinFeature[];
|
|
9
|
+
asset: UnderlyingAsset;
|
|
10
|
+
baseUnit: BaseUnit;
|
|
11
|
+
prefix?: string;
|
|
12
|
+
suffix?: string;
|
|
13
|
+
primaryKeyCurve: KeyCurve;
|
|
14
|
+
}
|
|
15
|
+
export declare class LightningCoin extends BaseCoin {
|
|
16
|
+
static readonly DEFAULT_FEATURES: CoinFeature[];
|
|
17
|
+
/**
|
|
18
|
+
* Additional fields for lightning coins
|
|
19
|
+
*/
|
|
20
|
+
readonly network: LightningNetwork;
|
|
21
|
+
constructor(options: LightningConstructorOptions);
|
|
22
|
+
protected disallowedFeatures(): Set<CoinFeature>;
|
|
23
|
+
protected requiredFeatures(): Set<CoinFeature>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Factory function for lightning coin instances.
|
|
27
|
+
*
|
|
28
|
+
* @param id uuid v4 of the coin
|
|
29
|
+
* @param name unique identifier of the coin
|
|
30
|
+
* @param fullName Complete human-readable name of the coin
|
|
31
|
+
* @param network Network object for this coin
|
|
32
|
+
* @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
|
|
33
|
+
* @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `LightningCoin`
|
|
34
|
+
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
35
|
+
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
36
|
+
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
37
|
+
*/
|
|
38
|
+
export declare function lightning(id: string, name: string, fullName: string, network: LightningNetwork, asset: UnderlyingAsset, baseUnit: BaseUnit, features?: CoinFeature[], prefix?: string, suffix?: string,
|
|
39
|
+
/** All Lightnings BitGo supports are SECP256K1 **/
|
|
40
|
+
primaryKeyCurve?: KeyCurve): Readonly<LightningCoin>;
|
|
41
|
+
export declare const lightningCoins: Readonly<BaseCoin>[];
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=lightning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../src/lightning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAY,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;AAExD,UAAU,2BAA2B;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACzC,gBAAuB,gBAAgB,gBAAiC;IAExE;;OAEG;IACH,SAAgB,OAAO,EAAE,gBAAgB,CAAC;gBAE9B,OAAO,EAAE,2BAA2B;IAWhD,SAAS,CAAC,kBAAkB,IAAI,GAAG,CAAC,WAAW,CAAC;IAIhD,SAAS,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,CAAC;CAG/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,GAAE,WAAW,EAAmC,EACxD,MAAM,SAAK,EACX,MAAM,GAAE,MAA2B;AACnC,mDAAmD;AACnD,eAAe,GAAE,QAA6B,2BAgB/C;AAID,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAmB9C,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lightningCoins = exports.lightning = exports.LightningCoin = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
const networks_1 = require("./networks");
|
|
6
|
+
class LightningCoin extends base_1.BaseCoin {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super({
|
|
9
|
+
...options,
|
|
10
|
+
kind: base_1.CoinKind.CRYPTO,
|
|
11
|
+
isToken: false,
|
|
12
|
+
decimalPlaces: 11,
|
|
13
|
+
});
|
|
14
|
+
this.network = options.network;
|
|
15
|
+
}
|
|
16
|
+
disallowedFeatures() {
|
|
17
|
+
return new Set([base_1.CoinFeature.ACCOUNT_MODEL]);
|
|
18
|
+
}
|
|
19
|
+
requiredFeatures() {
|
|
20
|
+
return new Set([base_1.CoinFeature.LIGHTNING_MODEL]);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.LightningCoin = LightningCoin;
|
|
24
|
+
LightningCoin.DEFAULT_FEATURES = [base_1.CoinFeature.LIGHTNING_MODEL];
|
|
25
|
+
/**
|
|
26
|
+
* Factory function for lightning coin instances.
|
|
27
|
+
*
|
|
28
|
+
* @param id uuid v4 of the coin
|
|
29
|
+
* @param name unique identifier of the coin
|
|
30
|
+
* @param fullName Complete human-readable name of the coin
|
|
31
|
+
* @param network Network object for this coin
|
|
32
|
+
* @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
|
|
33
|
+
* @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `LightningCoin`
|
|
34
|
+
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
35
|
+
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
36
|
+
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
37
|
+
*/
|
|
38
|
+
function lightning(id, name, fullName, network, asset, baseUnit, features = LightningCoin.DEFAULT_FEATURES, prefix = '', suffix = name.toUpperCase(),
|
|
39
|
+
/** All Lightnings BitGo supports are SECP256K1 **/
|
|
40
|
+
primaryKeyCurve = base_1.KeyCurve.Secp256k1) {
|
|
41
|
+
return Object.freeze(new LightningCoin({
|
|
42
|
+
id,
|
|
43
|
+
name,
|
|
44
|
+
fullName,
|
|
45
|
+
network,
|
|
46
|
+
prefix,
|
|
47
|
+
suffix,
|
|
48
|
+
features,
|
|
49
|
+
asset,
|
|
50
|
+
primaryKeyCurve,
|
|
51
|
+
baseUnit,
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
exports.lightning = lightning;
|
|
55
|
+
const LNBTC_FEATURES = [...LightningCoin.DEFAULT_FEATURES];
|
|
56
|
+
exports.lightningCoins = [
|
|
57
|
+
lightning('051aab40-efbc-4f58-9506-14cc95369e0a', 'lnbtc', 'Lightning Bitcoin', networks_1.Networks.main.lnbtc, base_1.UnderlyingAsset.LNBTC, base_1.BaseUnit.LNBTC, LNBTC_FEATURES),
|
|
58
|
+
lightning('3cbabaa7-a063-4db3-b3a8-ea8cc38033e5', 'tlnbtc', 'Testnet Lightning Bitcoin', networks_1.Networks.test.lnbtc, base_1.UnderlyingAsset.LNBTC, base_1.BaseUnit.LNBTC, LNBTC_FEATURES),
|
|
59
|
+
];
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpZ2h0bmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBOEY7QUFDOUYseUNBQXdEO0FBZXhELE1BQWEsYUFBYyxTQUFRLGVBQVE7SUFRekMsWUFBWSxPQUFvQztRQUM5QyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsZUFBUSxDQUFDLE1BQU07WUFDckIsT0FBTyxFQUFFLEtBQUs7WUFDZCxhQUFhLEVBQUUsRUFBRTtTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVTLGtCQUFrQjtRQUMxQixPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsa0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGtCQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDOztBQXpCSCxzQ0EwQkM7QUF6QndCLDhCQUFnQixHQUFHLENBQUMsa0JBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQTJCMUU7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsU0FBZ0IsU0FBUyxDQUN2QixFQUFVLEVBQ1YsSUFBWSxFQUNaLFFBQWdCLEVBQ2hCLE9BQXlCLEVBQ3pCLEtBQXNCLEVBQ3RCLFFBQWtCLEVBQ2xCLFdBQTBCLGFBQWEsQ0FBQyxnQkFBZ0IsRUFDeEQsTUFBTSxHQUFHLEVBQUUsRUFDWCxTQUFpQixJQUFJLENBQUMsV0FBVyxFQUFFO0FBQ25DLG1EQUFtRDtBQUNuRCxrQkFBNEIsZUFBUSxDQUFDLFNBQVM7SUFFOUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUNsQixJQUFJLGFBQWEsQ0FBQztRQUNoQixFQUFFO1FBQ0YsSUFBSTtRQUNKLFFBQVE7UUFDUixPQUFPO1FBQ1AsTUFBTTtRQUNOLE1BQU07UUFDTixRQUFRO1FBQ1IsS0FBSztRQUNMLGVBQWU7UUFDZixRQUFRO0tBQ1QsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDO0FBM0JELDhCQTJCQztBQUVELE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUU5QyxRQUFBLGNBQWMsR0FBeUI7SUFDbEQsU0FBUyxDQUNQLHNDQUFzQyxFQUN0QyxPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLG1CQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFDbkIsc0JBQWUsQ0FBQyxLQUFLLEVBQ3JCLGVBQVEsQ0FBQyxLQUFLLEVBQ2QsY0FBYyxDQUNmO0lBQ0QsU0FBUyxDQUNQLHNDQUFzQyxFQUN0QyxRQUFRLEVBQ1IsMkJBQTJCLEVBQzNCLG1CQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFDbkIsc0JBQWUsQ0FBQyxLQUFLLEVBQ3JCLGVBQVEsQ0FBQyxLQUFLLEVBQ2QsY0FBYyxDQUNmO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luLCBCYXNlVW5pdCwgQ29pbkZlYXR1cmUsIENvaW5LaW5kLCBLZXlDdXJ2ZSwgVW5kZXJseWluZ0Fzc2V0IH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IExpZ2h0bmluZ05ldHdvcmssIE5ldHdvcmtzIH0gZnJvbSAnLi9uZXR3b3Jrcyc7XG5cbmludGVyZmFjZSBMaWdodG5pbmdDb25zdHJ1Y3Rvck9wdGlvbnMge1xuICBpZDogc3RyaW5nO1xuICBmdWxsTmFtZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG5ldHdvcms6IExpZ2h0bmluZ05ldHdvcms7XG4gIGZlYXR1cmVzOiBDb2luRmVhdHVyZVtdO1xuICBhc3NldDogVW5kZXJseWluZ0Fzc2V0O1xuICBiYXNlVW5pdDogQmFzZVVuaXQ7XG4gIHByZWZpeD86IHN0cmluZztcbiAgc3VmZml4Pzogc3RyaW5nO1xuICBwcmltYXJ5S2V5Q3VydmU6IEtleUN1cnZlO1xufVxuXG5leHBvcnQgY2xhc3MgTGlnaHRuaW5nQ29pbiBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0ZFQVRVUkVTID0gW0NvaW5GZWF0dXJlLkxJR0hUTklOR19NT0RFTF07XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgZmllbGRzIGZvciBsaWdodG5pbmcgY29pbnNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuZXR3b3JrOiBMaWdodG5pbmdOZXR3b3JrO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IExpZ2h0bmluZ0NvbnN0cnVjdG9yT3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBraW5kOiBDb2luS2luZC5DUllQVE8sXG4gICAgICBpc1Rva2VuOiBmYWxzZSxcbiAgICAgIGRlY2ltYWxQbGFjZXM6IDExLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uZXR3b3JrID0gb3B0aW9ucy5uZXR3b3JrO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRpc2FsbG93ZWRGZWF0dXJlcygpOiBTZXQ8Q29pbkZlYXR1cmU+IHtcbiAgICByZXR1cm4gbmV3IFNldChbQ29pbkZlYXR1cmUuQUNDT1VOVF9NT0RFTF0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlcXVpcmVkRmVhdHVyZXMoKTogU2V0PENvaW5GZWF0dXJlPiB7XG4gICAgcmV0dXJuIG5ldyBTZXQoW0NvaW5GZWF0dXJlLkxJR0hUTklOR19NT0RFTF0pO1xuICB9XG59XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiBmb3IgbGlnaHRuaW5nIGNvaW4gaW5zdGFuY2VzLlxuICpcbiAqIEBwYXJhbSBpZCB1dWlkIHY0IG9mIHRoZSBjb2luXG4gKiBAcGFyYW0gbmFtZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29pblxuICogQHBhcmFtIGZ1bGxOYW1lIENvbXBsZXRlIGh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIGNvaW5cbiAqIEBwYXJhbSBuZXR3b3JrIE5ldHdvcmsgb2JqZWN0IGZvciB0aGlzIGNvaW5cbiAqIEBwYXJhbSBhc3NldCBBc3NldCB3aGljaCB0aGlzIGNvaW4gcmVwcmVzZW50cy4gVGhpcyBpcyB0aGUgc2FtZSBmb3IgYm90aCBtYWlubmV0IGFuZCB0ZXN0bmV0IHZhcmlhbnRzIG9mIGEgY29pbi5cbiAqIEBwYXJhbSBmZWF0dXJlcz8gRmVhdHVyZXMgb2YgdGhpcyBjb2luLiBEZWZhdWx0cyB0byB0aGUgREVGQVVMVF9GRUFUVVJFUyBkZWZpbmVkIGluIGBMaWdodG5pbmdDb2luYFxuICogQHBhcmFtIHByZWZpeD8gT3B0aW9uYWwgY29pbiBwcmVmaXguIERlZmF1bHRzIHRvIGVtcHR5IHN0cmluZ1xuICogQHBhcmFtIHN1ZmZpeD8gT3B0aW9uYWwgY29pbiBzdWZmaXguIERlZmF1bHRzIHRvIGNvaW4gbmFtZS5cbiAqIEBwYXJhbSBwcmltYXJ5S2V5Q3VydmUgVGhlIGVsbGlwdGljIGN1cnZlIGZvciB0aGlzIGNoYWluL3Rva2VuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaWdodG5pbmcoXG4gIGlkOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgZnVsbE5hbWU6IHN0cmluZyxcbiAgbmV0d29yazogTGlnaHRuaW5nTmV0d29yayxcbiAgYXNzZXQ6IFVuZGVybHlpbmdBc3NldCxcbiAgYmFzZVVuaXQ6IEJhc2VVbml0LFxuICBmZWF0dXJlczogQ29pbkZlYXR1cmVbXSA9IExpZ2h0bmluZ0NvaW4uREVGQVVMVF9GRUFUVVJFUyxcbiAgcHJlZml4ID0gJycsXG4gIHN1ZmZpeDogc3RyaW5nID0gbmFtZS50b1VwcGVyQ2FzZSgpLFxuICAvKiogQWxsIExpZ2h0bmluZ3MgQml0R28gc3VwcG9ydHMgYXJlIFNFQ1AyNTZLMSAqKi9cbiAgcHJpbWFyeUtleUN1cnZlOiBLZXlDdXJ2ZSA9IEtleUN1cnZlLlNlY3AyNTZrMVxuKSB7XG4gIHJldHVybiBPYmplY3QuZnJlZXplKFxuICAgIG5ldyBMaWdodG5pbmdDb2luKHtcbiAgICAgIGlkLFxuICAgICAgbmFtZSxcbiAgICAgIGZ1bGxOYW1lLFxuICAgICAgbmV0d29yayxcbiAgICAgIHByZWZpeCxcbiAgICAgIHN1ZmZpeCxcbiAgICAgIGZlYXR1cmVzLFxuICAgICAgYXNzZXQsXG4gICAgICBwcmltYXJ5S2V5Q3VydmUsXG4gICAgICBiYXNlVW5pdCxcbiAgICB9KVxuICApO1xufVxuXG5jb25zdCBMTkJUQ19GRUFUVVJFUyA9IFsuLi5MaWdodG5pbmdDb2luLkRFRkFVTFRfRkVBVFVSRVNdO1xuXG5leHBvcnQgY29uc3QgbGlnaHRuaW5nQ29pbnM6IFJlYWRvbmx5PEJhc2VDb2luPltdID0gW1xuICBsaWdodG5pbmcoXG4gICAgJzA1MWFhYjQwLWVmYmMtNGY1OC05NTA2LTE0Y2M5NTM2OWUwYScsXG4gICAgJ2xuYnRjJyxcbiAgICAnTGlnaHRuaW5nIEJpdGNvaW4nLFxuICAgIE5ldHdvcmtzLm1haW4ubG5idGMsXG4gICAgVW5kZXJseWluZ0Fzc2V0LkxOQlRDLFxuICAgIEJhc2VVbml0LkxOQlRDLFxuICAgIExOQlRDX0ZFQVRVUkVTXG4gICksXG4gIGxpZ2h0bmluZyhcbiAgICAnM2NiYWJhYTctYTA2My00ZGIzLWIzYTgtZWE4Y2MzODAzM2U1JyxcbiAgICAndGxuYnRjJyxcbiAgICAnVGVzdG5ldCBMaWdodG5pbmcgQml0Y29pbicsXG4gICAgTmV0d29ya3MudGVzdC5sbmJ0YyxcbiAgICBVbmRlcmx5aW5nQXNzZXQuTE5CVEMsXG4gICAgQmFzZVVuaXQuTE5CVEMsXG4gICAgTE5CVENfRkVBVFVSRVNcbiAgKSxcbl07XG4iXX0=
|
package/dist/src/map.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare class CoinMap {
|
|
|
5
5
|
private readonly _coinByAliases;
|
|
6
6
|
private constructor();
|
|
7
7
|
static fromCoins(coins: Readonly<BaseCoin>[]): CoinMap;
|
|
8
|
+
static coinNameFromChainId(chainId: number): string;
|
|
8
9
|
/**
|
|
9
10
|
* Override `get` to throw if a coin is missing, instead of returning undefined.
|
|
10
11
|
* It will honor key equivalences in case given key is missing.
|
package/dist/src/map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAExE,OAAO;IAIP,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO;IAuBtD;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAUpC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAQtE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAQjG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAUnF,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI7E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;CAG3E"}
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAExE,OAAO;IAIP,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO;IAuBtD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAmBnD;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAUpC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAQtE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAQjG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAUnF,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI7E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;CAG3E"}
|
package/dist/src/map.js
CHANGED
|
@@ -30,6 +30,24 @@ class CoinMap {
|
|
|
30
30
|
return coinMap;
|
|
31
31
|
}, new CoinMap());
|
|
32
32
|
}
|
|
33
|
+
static coinNameFromChainId(chainId) {
|
|
34
|
+
const ethLikeCoinFromChainId = {
|
|
35
|
+
1: 'eth',
|
|
36
|
+
42: 'teth',
|
|
37
|
+
5: 'gteth',
|
|
38
|
+
17000: 'hteth',
|
|
39
|
+
10001: 'ethw',
|
|
40
|
+
80002: 'tpolygon',
|
|
41
|
+
137: 'polygon',
|
|
42
|
+
56: 'bsc',
|
|
43
|
+
97: 'tbsc',
|
|
44
|
+
42161: 'arbeth',
|
|
45
|
+
421614: 'tarbeth',
|
|
46
|
+
10: 'opeth',
|
|
47
|
+
11155420: 'topeth',
|
|
48
|
+
};
|
|
49
|
+
return ethLikeCoinFromChainId[chainId];
|
|
50
|
+
}
|
|
33
51
|
/**
|
|
34
52
|
* Override `get` to throw if a coin is missing, instead of returning undefined.
|
|
35
53
|
* It will honor key equivalences in case given key is missing.
|
|
@@ -77,4 +95,4 @@ class CoinMap {
|
|
|
77
95
|
}
|
|
78
96
|
}
|
|
79
97
|
exports.CoinMap = CoinMap;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxQ0FBNkc7QUFFN0csTUFBYSxPQUFPO0lBTWxCO1FBTGlCLFNBQUksR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztRQUM3QyxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDcEUsNkRBQTZEO1FBQzVDLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFHdEUscUJBQXFCO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQTJCO1FBQzFDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMxQixNQUFNLElBQUkscUNBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25EO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVsQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxJQUFJLHVDQUE4QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNuRDtZQUNELE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6QixJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3RCLE1BQU0sSUFBSSxxQ0FBNEIsQ0FBQyxLQUFL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QUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUF6R0QsMEJBeUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgRHVwbGljYXRlQ29pbkRlZmluaXRpb25FcnJvciwgQ29pbk5vdERlZmluZWRFcnJvciwgRHVwbGljYXRlQ29pbklkRGVmaW5pdGlvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG5leHBvcnQgY2xhc3MgQ29pbk1hcCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21hcCA9IG5ldyBNYXA8c3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj4+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvaW5CeUlkcyA9IG5ldyBNYXA8c3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj4+KCk7XG4gIC8vIEhvbGRzIGtleSBlcXVpdmFsZW5jZXMgdXNlZCBkdXJpbmcgYW4gYXNzZXQgbmFtZSBtaWdyYXRpb25cbiAgcHJpdmF0ZSByZWFkb25seSBfY29pbkJ5QWxpYXNlcyA9IG5ldyBNYXA8c3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj4+KCk7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBEbyBub3QgaW5zdGFudGlhdGVcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29pbnMoY29pbnM6IFJlYWRvbmx5PEJhc2VDb2luPltdKTogQ29pbk1hcCB7XG4gICAgcmV0dXJuIGNvaW5zLnJlZHVjZSgoY29pbk1hcCwgY29pbikgPT4ge1xuICAgICAgaWYgKGNvaW5NYXAuaGFzKGNvaW4ubmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvaW5EZWZpbml0aW9uRXJyb3IoY29pbi5uYW1lKTtcbiAgICAgIH1cbiAgICAgIGNvaW5NYXAuX21hcC5zZXQoY29pbi5uYW1lLCBjb2luKTtcblxuICAgICAgaWYgKGNvaW5NYXAuX2NvaW5CeUlkcy5oYXMoY29pbi5pZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvaW5JZERlZmluaXRpb25FcnJvcihjb2luLmlkKTtcbiAgICAgIH1cbiAgICAgIGNvaW5NYXAuX2NvaW5CeUlkcy5zZXQoY29pbi5pZCwgY29pbik7XG5cbiAgICAgIGNvbnN0IGFsaWFzID0gY29pbi5hbGlhcztcbiAgICAgIGlmIChhbGlhcykge1xuICAgICAgICBpZiAoY29pbk1hcC5oYXMoYWxpYXMpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvaW5EZWZpbml0aW9uRXJyb3IoYWxpYXMpO1xuICAgICAgICB9XG4gICAgICAgIGNvaW5NYXAuX2NvaW5CeUFsaWFzZXMuc2V0KGFsaWFzLCBjb2luKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb2luTWFwO1xuICAgIH0sIG5ldyBDb2luTWFwKCkpO1xuICB9XG5cbiAgc3RhdGljIGNvaW5OYW1lRnJvbUNoYWluSWQoY2hhaW5JZDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBldGhMaWtlQ29pbkZyb21DaGFpbklkOiBSZWNvcmQ8bnVtYmVyLCBzdHJpbmc+ID0ge1xuICAgICAgMTogJ2V0aCcsXG4gICAgICA0MjogJ3RldGgnLFxuICAgICAgNTogJ2d0ZXRoJyxcbiAgICAgIDE3MDAwOiAnaHRldGgnLFxuICAgICAgMTAwMDE6ICdldGh3JyxcbiAgICAgIDgwMDAyOiAndHBvbHlnb24nLFxuICAgICAgMTM3OiAncG9seWdvbicsXG4gICAgICA1NjogJ2JzYycsXG4gICAgICA5NzogJ3Ric2MnLFxuICAgICAgNDIxNjE6ICdhcmJldGgnLFxuICAgICAgNDIxNjE0OiAndGFyYmV0aCcsXG4gICAgICAxMDogJ29wZXRoJyxcbiAgICAgIDExMTU1NDIwOiAndG9wZXRoJyxcbiAgICB9O1xuICAgIHJldHVybiBldGhMaWtlQ29pbkZyb21DaGFpbklkW2NoYWluSWRdO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIGBnZXRgIHRvIHRocm93IGlmIGEgY29pbiBpcyBtaXNzaW5nLCBpbnN0ZWFkIG9mIHJldHVybmluZyB1bmRlZmluZWQuXG4gICAqIEl0IHdpbGwgaG9ub3Iga2V5IGVxdWl2YWxlbmNlcyBpbiBjYXNlIGdpdmVuIGtleSBpcyBtaXNzaW5nLlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5XG4gICAqIEByZXR1cm4ge0Jhc2VDb2lufVxuICAgKi9cbiAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IFJlYWRvbmx5PEJhc2VDb2luPiB7XG4gICAgY29uc3QgY29pbiA9IHRoaXMuX21hcC5nZXQoa2V5KSB8fCB0aGlzLl9jb2luQnlJZHMuZ2V0KGtleSkgfHwgdGhpcy5fY29pbkJ5QWxpYXNlcy5nZXQoa2V5KTtcblxuICAgIGlmIChjb2luKSB7XG4gICAgICByZXR1cm4gY29pbjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ29pbk5vdERlZmluZWRFcnJvcihrZXkpO1xuICB9XG5cbiAgcHVibGljIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tYXAuaGFzKGtleSkgfHwgdGhpcy5fY29pbkJ5SWRzLmhhcyhrZXkpIHx8IHRoaXMuX2NvaW5CeUFsaWFzZXMuaGFzKGtleSk7XG4gIH1cblxuICBwdWJsaWMgbWFwPFQ+KG1hcHBlcjogKGNvaW46IFJlYWRvbmx5PEJhc2VDb2luPiwgY29pbk5hbWU6IHN0cmluZykgPT4gVCk6IFRbXSB7XG4gICAgY29uc3QgbWFwUmVzdWx0OiBUW10gPSBbXTtcbiAgICB0aGlzLl9tYXAuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgbWFwUmVzdWx0LnB1c2gobWFwcGVyKHZhbHVlLCBrZXkpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbWFwUmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHJlZHVjZTxUPihyZWR1Y2VyOiAoYWNjOiBULCBjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IFQsIGluaXRpYWxWYWx1ZTogVCk6IFQge1xuICAgIGxldCBhY2MgPSBpbml0aWFsVmFsdWU7XG4gICAgdGhpcy5fbWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGFjYyA9IHJlZHVjZXIoYWNjLCB2YWx1ZSwga2V5KTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcihwcmVkaWNhdGU6IChjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IGJvb2xlYW4pOiBDb2luTWFwIHtcbiAgICBjb25zdCBmaWx0ZXJSZXN1bHQ6IFJlYWRvbmx5PEJhc2VDb2luPltdID0gW107XG4gICAgdGhpcy5fbWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIGtleSkpIHtcbiAgICAgICAgZmlsdGVyUmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBDb2luTWFwLmZyb21Db2lucyhmaWx0ZXJSZXN1bHQpO1xuICB9XG5cbiAgcHVibGljIGZvckVhY2goY2FsbGJhY2s6IChjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAuZm9yRWFjaChjYWxsYmFjayk7XG4gIH1cblxuICBwdWJsaWMgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmFibGVJdGVyYXRvcjxbc3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj5dPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hcFtTeW1ib2wuaXRlcmF0b3JdKCk7XG4gIH1cbn1cbiJdfQ==
|