@bitgo-beta/sdk-coin-evm 1.0.0-alpha.100 → 1.0.0-alpha.102
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 +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -2
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +1 -12
- package/package.json +5 -5
- package/dist/src/ethLikeErc721Token.d.ts +0 -20
- package/dist/src/ethLikeErc721Token.d.ts.map +0 -1
- package/dist/src/ethLikeErc721Token.js +0 -48
package/dist/src/index.d.ts
CHANGED
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,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -18,5 +18,4 @@ __exportStar(require("./evmCoin"), exports);
|
|
|
18
18
|
__exportStar(require("./lib"), exports);
|
|
19
19
|
__exportStar(require("./register"), exports);
|
|
20
20
|
__exportStar(require("./ethLikeErc20Token"), exports);
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQix3Q0FBc0I7QUFDdEIsNkNBQTJCO0FBQzNCLHNEQUFvQztBQUNwQyx1REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2V2bUNvaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL2V0aExpa2VFcmMyMFRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vZXRoTGlrZUVyYzcyMVRva2VuJztcbiJdfQ==
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQix3Q0FBc0I7QUFDdEIsNkNBQTJCO0FBQzNCLHNEQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXZtQ29pbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZXRoTGlrZUVyYzIwVG9rZW4nO1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,eAAO,MAAM,WAAW,QAAS,SAAS,KAAG,IAS5C,CAAC;AAEF,eAAO,MAAM,QAAQ,eAAgB,MAAM,OAAO,SAAS,KAAG,IAsB7D,CAAC"}
|
package/dist/src/register.js
CHANGED
|
@@ -4,7 +4,6 @@ exports.register = exports.registerAll = void 0;
|
|
|
4
4
|
const statics_1 = require("@bitgo-beta/statics");
|
|
5
5
|
const evmCoin_1 = require("./evmCoin");
|
|
6
6
|
const ethLikeErc20Token_1 = require("./ethLikeErc20Token");
|
|
7
|
-
const ethLikeErc721Token_1 = require("./ethLikeErc721Token");
|
|
8
7
|
const registerAll = (sdk) => {
|
|
9
8
|
statics_1.coins
|
|
10
9
|
.filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_SDK) && coin.network.type === statics_1.NetworkType.MAINNET && !coin.isToken)
|
|
@@ -32,17 +31,7 @@ const register = (coinFamily, sdk) => {
|
|
|
32
31
|
sdk.register(name, coinConstructor);
|
|
33
32
|
});
|
|
34
33
|
}
|
|
35
|
-
// Handle SUPPORTS_ERC721 registration
|
|
36
|
-
if (coinFeatures.includes(statics_1.CoinFeature.SUPPORTS_ERC721)) {
|
|
37
|
-
const coinNames = {
|
|
38
|
-
Mainnet: `${coin.name}`,
|
|
39
|
-
Testnet: `t${coin.name}`,
|
|
40
|
-
};
|
|
41
|
-
ethLikeErc721Token_1.EthLikeErc721Token.createTokenConstructors(coinNames).forEach(({ name, coinConstructor }) => {
|
|
42
|
-
sdk.register(name, coinConstructor);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
34
|
});
|
|
46
35
|
};
|
|
47
36
|
exports.register = register;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQXNFO0FBQ3RFLHVDQUFvQztBQUNwQywyREFBd0Q7QUFFakQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFjLEVBQVEsRUFBRTtJQUNsRCxlQUFLO1NBQ0YsTUFBTSxDQUNMLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDUCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxxQkFBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLHFCQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FDbkg7U0FDQSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNoQixJQUFBLGdCQUFRLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQVRXLFFBQUEsV0FBVyxlQVN0QjtBQUVLLE1BQU0sUUFBUSxHQUFHLENBQUMsVUFBa0IsRUFBRSxHQUFjLEVBQVEsRUFBRTtJQUNuRSxNQUFNLFlBQVksR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNwRCxlQUFLO1NBQ0YsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDN0QsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDaEIscUNBQXFDO1FBQ3JDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxxQkFBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDdEQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGlCQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUVELHFDQUFxQztRQUNyQyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMscUJBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3RELE1BQU0sU0FBUyxHQUFHO2dCQUNoQixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUN2QixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQ3hCLENBQUM7WUFFRixxQ0FBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO2dCQUN6RixHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQXRCVyxRQUFBLFFBQVEsWUFzQm5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQ29pbkZlYXR1cmUsIGNvaW5zLCBOZXR3b3JrVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRXZtQ29pbiB9IGZyb20gJy4vZXZtQ29pbic7XG5pbXBvcnQgeyBFdGhMaWtlRXJjMjBUb2tlbiB9IGZyb20gJy4vZXRoTGlrZUVyYzIwVG9rZW4nO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJBbGwgPSAoc2RrOiBCaXRHb0Jhc2UpOiB2b2lkID0+IHtcbiAgY29pbnNcbiAgICAuZmlsdGVyKFxuICAgICAgKGNvaW4pID0+XG4gICAgICAgIGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9TREspICYmIGNvaW4ubmV0d29yay50eXBlID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUICYmICFjb2luLmlzVG9rZW5cbiAgICApXG4gICAgLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICAgIHJlZ2lzdGVyKGNvaW4uZmFtaWx5LCBzZGspO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyID0gKGNvaW5GYW1pbHk6IHN0cmluZywgc2RrOiBCaXRHb0Jhc2UpOiB2b2lkID0+IHtcbiAgY29uc3QgY29pbkZlYXR1cmVzID0gY29pbnMuZ2V0KGNvaW5GYW1pbHkpLmZlYXR1cmVzO1xuICBjb2luc1xuICAgIC5maWx0ZXIoKGNvaW4pID0+IGNvaW4uZmFtaWx5ID09PSBjb2luRmFtaWx5ICYmICFjb2luLmlzVG9rZW4pXG4gICAgLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICAgIC8vIEhhbmRsZSBTSEFSRURfRVZNX1NESyByZWdpc3RyYXRpb25cbiAgICAgIGlmIChjb2luRmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9TREspKSB7XG4gICAgICAgIHNkay5yZWdpc3Rlcihjb2luLm5hbWUsIEV2bUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgU1VQUE9SVFNfRVJDMjAgcmVnaXN0cmF0aW9uXG4gICAgICBpZiAoY29pbkZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzIwKSkge1xuICAgICAgICBjb25zdCBjb2luTmFtZXMgPSB7XG4gICAgICAgICAgTWFpbm5ldDogYCR7Y29pbi5uYW1lfWAsXG4gICAgICAgICAgVGVzdG5ldDogYCR7Y29pbi5uYW1lfWAsXG4gICAgICAgIH07XG5cbiAgICAgICAgRXRoTGlrZUVyYzIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoY29pbk5hbWVzKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICAgICAgc2RrLnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xufTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-evm",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.102",
|
|
4
4
|
"description": "Configurable common module for EVM assets, using @bitgo-beta/abstract-eth for reduced coin integration boilerplate.",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"prepare": "npm run build"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@bitgo-beta/abstract-eth": "1.2.3-alpha.
|
|
20
|
-
"@bitgo-beta/sdk-core": "2.4.1-alpha.
|
|
21
|
-
"@bitgo-beta/statics": "10.0.1-alpha.
|
|
19
|
+
"@bitgo-beta/abstract-eth": "1.2.3-alpha.431",
|
|
20
|
+
"@bitgo-beta/sdk-core": "2.4.1-alpha.431",
|
|
21
|
+
"@bitgo-beta/statics": "10.0.1-alpha.431",
|
|
22
22
|
"@ethereumjs/common": "^2.6.5",
|
|
23
23
|
"superagent": "^9.0.1"
|
|
24
24
|
},
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
".ts"
|
|
47
47
|
]
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "ec03ebe0d195adc3963b7245abb3402bc7cf271d"
|
|
50
50
|
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @prettier
|
|
3
|
-
*/
|
|
4
|
-
import { EthLikeTokenConfig } from '@bitgo-beta/statics';
|
|
5
|
-
import { BitGoBase, CoinConstructor, MPCAlgorithm, NamedCoinConstructor } from '@bitgo-beta/sdk-core';
|
|
6
|
-
import { CoinNames, EthLikeToken } from '@bitgo-beta/abstract-eth';
|
|
7
|
-
import { TransactionBuilder } from './lib';
|
|
8
|
-
export declare class EthLikeErc721Token extends EthLikeToken {
|
|
9
|
-
readonly tokenConfig: EthLikeTokenConfig;
|
|
10
|
-
private readonly coinNames;
|
|
11
|
-
constructor(bitgo: BitGoBase, tokenConfig: EthLikeTokenConfig, coinNames: CoinNames);
|
|
12
|
-
static createTokenConstructor(config: EthLikeTokenConfig, coinNames: CoinNames): CoinConstructor;
|
|
13
|
-
static createTokenConstructors(coinNames: CoinNames): NamedCoinConstructor[];
|
|
14
|
-
protected getTransactionBuilder(): TransactionBuilder;
|
|
15
|
-
getMPCAlgorithm(): MPCAlgorithm;
|
|
16
|
-
supportsTss(): boolean;
|
|
17
|
-
recoveryBlockchainExplorerQuery(query: Record<string, string>): Promise<Record<string, unknown>>;
|
|
18
|
-
getFullName(): string;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=ethLikeErc721Token.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ethLikeErc721Token.d.ts","sourceRoot":"","sources":["../../src/ethLikeErc721Token.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAS,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAU,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,SAAS,EAAE,YAAY,EAAmC,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAG3C,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS;IAKnF,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,GAAG,eAAe;IAIhG,MAAM,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,oBAAoB,EAAE;IAI5E,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAIrD,eAAe,IAAI,YAAY;IAI/B,WAAW,IAAI,OAAO;IAIhB,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAYtG,WAAW,IAAI,MAAM;CAGtB"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.EthLikeErc721Token = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* @prettier
|
|
9
|
-
*/
|
|
10
|
-
const statics_1 = require("@bitgo-beta/statics");
|
|
11
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
12
|
-
const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
13
|
-
const lib_1 = require("./lib");
|
|
14
|
-
const assert_1 = __importDefault(require("assert"));
|
|
15
|
-
class EthLikeErc721Token extends abstract_eth_1.EthLikeToken {
|
|
16
|
-
constructor(bitgo, tokenConfig, coinNames) {
|
|
17
|
-
super(bitgo, tokenConfig, coinNames);
|
|
18
|
-
this.coinNames = coinNames;
|
|
19
|
-
}
|
|
20
|
-
static createTokenConstructor(config, coinNames) {
|
|
21
|
-
return (bitgo) => new this(bitgo, config, coinNames);
|
|
22
|
-
}
|
|
23
|
-
static createTokenConstructors(coinNames) {
|
|
24
|
-
return super.createTokenConstructors(coinNames);
|
|
25
|
-
}
|
|
26
|
-
getTransactionBuilder() {
|
|
27
|
-
return new lib_1.TransactionBuilder(statics_1.coins.get(this.getBaseChain()));
|
|
28
|
-
}
|
|
29
|
-
getMPCAlgorithm() {
|
|
30
|
-
return 'ecdsa';
|
|
31
|
-
}
|
|
32
|
-
supportsTss() {
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
async recoveryBlockchainExplorerQuery(query) {
|
|
36
|
-
const family = this.getFamily();
|
|
37
|
-
const evmConfig = sdk_core_1.common.Environments[this.bitgo.getEnv()].evm;
|
|
38
|
-
(0, assert_1.default)(evmConfig && this.getFamily() in evmConfig, `env config is missing for ${this.getFamily()} in ${this.bitgo.getEnv()}`);
|
|
39
|
-
const explorerUrl = evmConfig[family].baseUrl;
|
|
40
|
-
const apiToken = evmConfig[family].apiToken;
|
|
41
|
-
return await (0, abstract_eth_1.recoveryBlockchainExplorerQuery)(query, explorerUrl, apiToken);
|
|
42
|
-
}
|
|
43
|
-
getFullName() {
|
|
44
|
-
return 'ERC721 Token';
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.EthLikeErc721Token = EthLikeErc721Token;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoTGlrZUVyYzcyMVRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V0aExpa2VFcmM3MjFUb2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7R0FFRztBQUNILGlEQUFnRTtBQUNoRSxtREFBOEc7QUFDOUcsMkRBQW9HO0FBQ3BHLCtCQUEyQztBQUMzQyxvREFBNEI7QUFFNUIsTUFBYSxrQkFBbUIsU0FBUSwyQkFBWTtJQUlsRCxZQUFZLEtBQWdCLEVBQUUsV0FBK0IsRUFBRSxTQUFvQjtRQUNqRixLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQTBCLEVBQUUsU0FBb0I7UUFDNUUsT0FBTyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxTQUFvQjtRQUNqRCxPQUFPLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRVMscUJBQXFCO1FBQzdCLE9BQU8sSUFBSSx3QkFBa0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxLQUE2QjtRQUNqRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxTQUFTLEdBQUcsaUJBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMvRCxJQUFBLGdCQUFNLEVBQ0osU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxTQUFTLEVBQzFDLDZCQUE2QixJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUMxRSxDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUM5QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzVDLE9BQU8sTUFBTSxJQUFBLDhDQUErQixFQUFDLEtBQUssRUFBRSxXQUFxQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBNUNELGdEQTRDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCB7IGNvaW5zLCBFdGhMaWtlVG9rZW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJpdEdvQmFzZSwgQ29pbkNvbnN0cnVjdG9yLCBjb21tb24sIE1QQ0FsZ29yaXRobSwgTmFtZWRDb2luQ29uc3RydWN0b3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDb2luTmFtZXMsIEV0aExpa2VUb2tlbiwgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeSB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2xpYic7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmV4cG9ydCBjbGFzcyBFdGhMaWtlRXJjNzIxVG9rZW4gZXh0ZW5kcyBFdGhMaWtlVG9rZW4ge1xuICBwdWJsaWMgcmVhZG9ubHkgdG9rZW5Db25maWc6IEV0aExpa2VUb2tlbkNvbmZpZztcbiAgcHJpdmF0ZSByZWFkb25seSBjb2luTmFtZXM6IENvaW5OYW1lcztcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCB0b2tlbkNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnLCBjb2luTmFtZXM6IENvaW5OYW1lcykge1xuICAgIHN1cGVyKGJpdGdvLCB0b2tlbkNvbmZpZywgY29pbk5hbWVzKTtcbiAgICB0aGlzLmNvaW5OYW1lcyA9IGNvaW5OYW1lcztcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9yKGNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnLCBjb2luTmFtZXM6IENvaW5OYW1lcyk6IENvaW5Db25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIChiaXRnbzogQml0R29CYXNlKSA9PiBuZXcgdGhpcyhiaXRnbywgY29uZmlnLCBjb2luTmFtZXMpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKGNvaW5OYW1lczogQ29pbk5hbWVzKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKGNvaW5OYW1lcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJhbnNhY3Rpb25CdWlsZGVyKCk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KHRoaXMuZ2V0QmFzZUNoYWluKCkpKTtcbiAgfVxuXG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG0ge1xuICAgIHJldHVybiAnZWNkc2EnO1xuICB9XG5cbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBhc3luYyByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIGNvbnN0IGZhbWlseSA9IHRoaXMuZ2V0RmFtaWx5KCk7XG4gICAgY29uc3QgZXZtQ29uZmlnID0gY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS5ldm07XG4gICAgYXNzZXJ0KFxuICAgICAgZXZtQ29uZmlnICYmIHRoaXMuZ2V0RmFtaWx5KCkgaW4gZXZtQ29uZmlnLFxuICAgICAgYGVudiBjb25maWcgaXMgbWlzc2luZyBmb3IgJHt0aGlzLmdldEZhbWlseSgpfSBpbiAke3RoaXMuYml0Z28uZ2V0RW52KCl9YFxuICAgICk7XG4gICAgY29uc3QgZXhwbG9yZXJVcmwgPSBldm1Db25maWdbZmFtaWx5XS5iYXNlVXJsO1xuICAgIGNvbnN0IGFwaVRva2VuID0gZXZtQ29uZmlnW2ZhbWlseV0uYXBpVG9rZW47XG4gICAgcmV0dXJuIGF3YWl0IHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnkocXVlcnksIGV4cGxvcmVyVXJsIGFzIHN0cmluZywgYXBpVG9rZW4pO1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0VSQzcyMSBUb2tlbic7XG4gIH1cbn1cbiJdfQ==
|