@bitgo-beta/sdk-coin-evm 1.0.1-beta.55 → 1.0.1-beta.550
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/ethLikeErc20Token.d.ts +20 -0
- package/dist/src/ethLikeErc20Token.d.ts.map +1 -0
- package/dist/src/ethLikeErc20Token.js +49 -0
- package/dist/src/ethLikeErc721Token.d.ts +20 -0
- package/dist/src/ethLikeErc721Token.d.ts.map +1 -0
- package/dist/src/ethLikeErc721Token.js +48 -0
- package/dist/src/evmCoin.d.ts +13 -2
- package/dist/src/evmCoin.d.ts.map +1 -1
- package/dist/src/evmCoin.js +51 -4
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/lib/utils.d.ts +9 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +148 -1
- package/dist/src/register.d.ts +2 -1
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +39 -5
- package/package.json +8 -7
|
@@ -0,0 +1,20 @@
|
|
|
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 EthLikeErc20Token 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=ethLikeErc20Token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ethLikeErc20Token.d.ts","sourceRoot":"","sources":["../../src/ethLikeErc20Token.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,iBAAkB,SAAQ,YAAY;IACjD,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;IAatG,WAAW,IAAI,MAAM;CAGtB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
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.EthLikeErc20Token = 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 EthLikeErc20Token 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
|
+
//TODO: implement a way to return the coin family name or coin name instead of standard ERC20 Token.
|
|
44
|
+
getFullName() {
|
|
45
|
+
return 'ERC20 Token';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.EthLikeErc20Token = EthLikeErc20Token;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoTGlrZUVyYzIwVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXRoTGlrZUVyYzIwVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxpREFBZ0U7QUFDaEUsbURBQThHO0FBQzlHLDJEQUFvRztBQUNwRywrQkFBMkM7QUFDM0Msb0RBQTRCO0FBRTVCLE1BQWEsaUJBQWtCLFNBQVEsMkJBQVk7SUFJakQsWUFBWSxLQUFnQixFQUFFLFdBQStCLEVBQUUsU0FBb0I7UUFDakYsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUEwQixFQUFFLFNBQW9CO1FBQzVFLE9BQU8sQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsU0FBb0I7UUFDakQsT0FBTyxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVTLHFCQUFxQjtRQUM3QixPQUFPLElBQUksd0JBQWtCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsK0JBQStCLENBQUMsS0FBNkI7UUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLGlCQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDL0QsSUFBQSxnQkFBTSxFQUNKLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksU0FBUyxFQUMxQyw2QkFBNkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDMUUsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDOUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM1QyxPQUFPLE1BQU0sSUFBQSw4Q0FBK0IsRUFBQyxLQUFLLEVBQUUsV0FBcUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsb0dBQW9HO0lBQ3BHLFdBQVc7UUFDVCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUE3Q0QsOENBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgY29pbnMsIEV0aExpa2VUb2tlbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQml0R29CYXNlLCBDb2luQ29uc3RydWN0b3IsIGNvbW1vbiwgTVBDQWxnb3JpdGhtLCBOYW1lZENvaW5Db25zdHJ1Y3RvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IENvaW5OYW1lcywgRXRoTGlrZVRva2VuLCByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5IH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vbGliJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuZXhwb3J0IGNsYXNzIEV0aExpa2VFcmMyMFRva2VuIGV4dGVuZHMgRXRoTGlrZVRva2VuIHtcbiAgcHVibGljIHJlYWRvbmx5IHRva2VuQ29uZmlnOiBFdGhMaWtlVG9rZW5Db25maWc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29pbk5hbWVzOiBDb2luTmFtZXM7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgdG9rZW5Db25maWc6IEV0aExpa2VUb2tlbkNvbmZpZywgY29pbk5hbWVzOiBDb2luTmFtZXMpIHtcbiAgICBzdXBlcihiaXRnbywgdG9rZW5Db25maWcsIGNvaW5OYW1lcyk7XG4gICAgdGhpcy5jb2luTmFtZXMgPSBjb2luTmFtZXM7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWc6IEV0aExpa2VUb2tlbkNvbmZpZywgY29pbk5hbWVzOiBDb2luTmFtZXMpOiBDb2luQ29uc3RydWN0b3Ige1xuICAgIHJldHVybiAoYml0Z286IEJpdEdvQmFzZSkgPT4gbmV3IHRoaXMoYml0Z28sIGNvbmZpZywgY29pbk5hbWVzKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhjb2luTmFtZXM6IENvaW5OYW1lcyk6IE5hbWVkQ29pbkNvbnN0cnVjdG9yW10ge1xuICAgIHJldHVybiBzdXBlci5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhjb2luTmFtZXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRyYW5zYWN0aW9uQnVpbGRlcigpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyKGNvaW5zLmdldCh0aGlzLmdldEJhc2VDaGFpbigpKSk7XG4gIH1cblxuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VjZHNhJztcbiAgfVxuXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYXN5bmMgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeShxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICBjb25zdCBmYW1pbHkgPSB0aGlzLmdldEZhbWlseSgpO1xuICAgIGNvbnN0IGV2bUNvbmZpZyA9IGNvbW1vbi5FbnZpcm9ubWVudHNbdGhpcy5iaXRnby5nZXRFbnYoKV0uZXZtO1xuICAgIGFzc2VydChcbiAgICAgIGV2bUNvbmZpZyAmJiB0aGlzLmdldEZhbWlseSgpIGluIGV2bUNvbmZpZyxcbiAgICAgIGBlbnYgY29uZmlnIGlzIG1pc3NpbmcgZm9yICR7dGhpcy5nZXRGYW1pbHkoKX0gaW4gJHt0aGlzLmJpdGdvLmdldEVudigpfWBcbiAgICApO1xuICAgIGNvbnN0IGV4cGxvcmVyVXJsID0gZXZtQ29uZmlnW2ZhbWlseV0uYmFzZVVybDtcbiAgICBjb25zdCBhcGlUb2tlbiA9IGV2bUNvbmZpZ1tmYW1pbHldLmFwaVRva2VuO1xuICAgIHJldHVybiBhd2FpdCByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KHF1ZXJ5LCBleHBsb3JlclVybCBhcyBzdHJpbmcsIGFwaVRva2VuKTtcbiAgfVxuXG4gIC8vVE9ETzogaW1wbGVtZW50IGEgd2F5IHRvIHJldHVybiB0aGUgY29pbiBmYW1pbHkgbmFtZSBvciBjb2luIG5hbWUgaW5zdGVhZCBvZiBzdGFuZGFyZCBFUkMyMCBUb2tlbi5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0VSQzIwIFRva2VuJztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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==
|
package/dist/src/evmCoin.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { BaseCoin, BitGoBase, MPCAlgorithm, MultisigType } from '@bitgo-beta/sdk-core';
|
|
5
5
|
import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
|
|
6
|
-
import { AbstractEthLikeNewCoins, OfflineVaultTxInfo, RecoverOptions, TransactionBuilder as EthLikeTransactionBuilder, UnsignedSweepTxMPCv2 } from '@bitgo-beta/abstract-eth';
|
|
6
|
+
import { AbstractEthLikeNewCoins, OfflineVaultTxInfo, RecoverOptions, TransactionBuilder as EthLikeTransactionBuilder, UnsignedSweepTxMPCv2, VerifyEthTransactionOptions } from '@bitgo-beta/abstract-eth';
|
|
7
7
|
export declare class EvmCoin extends AbstractEthLikeNewCoins {
|
|
8
8
|
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
9
9
|
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
@@ -14,12 +14,23 @@ export declare class EvmCoin extends AbstractEthLikeNewCoins {
|
|
|
14
14
|
getDefaultMultisigType(): MultisigType;
|
|
15
15
|
/** @inheritDoc */
|
|
16
16
|
getMPCAlgorithm(): MPCAlgorithm;
|
|
17
|
+
/** @inheritDoc */
|
|
18
|
+
supportsMessageSigning(): boolean;
|
|
19
|
+
/** @inheritDoc */
|
|
20
|
+
supportsSigningTypedData(): boolean;
|
|
17
21
|
protected buildUnsignedSweepTxnTSS(params: RecoverOptions): Promise<OfflineVaultTxInfo | UnsignedSweepTxMPCv2>;
|
|
18
22
|
/**
|
|
19
23
|
* Make a query to chain explorer for information such as balance, token balance, solidity calls
|
|
20
24
|
* @param {Object} query key-value pairs of parameters to append after /api
|
|
25
|
+
* @param {string} apiKey optional API key to use for the query falls back to EVM config if not provided
|
|
21
26
|
* @returns {Promise<Object>} response from chain explorer
|
|
22
27
|
*/
|
|
23
|
-
recoveryBlockchainExplorerQuery(query: Record<string, string
|
|
28
|
+
recoveryBlockchainExplorerQuery(query: Record<string, string>, apiKey?: string): Promise<Record<string, unknown>>;
|
|
29
|
+
/** @inheritDoc */
|
|
30
|
+
verifyTssTransaction(params: VerifyEthTransactionOptions): Promise<boolean>;
|
|
31
|
+
/**
|
|
32
|
+
* Verifies legacy (non-EIP-1559) TSS transactions with basic validation.
|
|
33
|
+
*/
|
|
34
|
+
private verifyLegacyTssTransaction;
|
|
24
35
|
}
|
|
25
36
|
//# sourceMappingURL=evmCoin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evmCoin.d.ts","sourceRoot":"","sources":["../../src/evmCoin.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAU,YAAY,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,QAAQ,IAAI,eAAe,
|
|
1
|
+
{"version":3,"file":"evmCoin.d.ts","sourceRoot":"","sources":["../../src/evmCoin.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAU,YAAY,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAkC,MAAM,qBAAqB,CAAC;AAClG,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EAEd,kBAAkB,IAAI,yBAAyB,EAC/C,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAKlC,qBAAa,OAAQ,SAAQ,uBAAuB;IAClD,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,SAAS,CAAC,qBAAqB,IAAI,yBAAyB;IAI5D,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,kBAAkB;IAClB,eAAe,IAAI,YAAY;IAI/B,kBAAkB;IAClB,sBAAsB,IAAI,OAAO;IAIjC,kBAAkB;IAClB,wBAAwB,IAAI,OAAO;cAInB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;IAOpH;;;;;OAKG;IACG,+BAA+B,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA2BnC,kBAAkB;IACZ,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC;IASjF;;OAEG;YACW,0BAA0B;CAyBzC"}
|
package/dist/src/evmCoin.js
CHANGED
|
@@ -11,6 +11,7 @@ const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
|
11
11
|
const statics_1 = require("@bitgo-beta/statics");
|
|
12
12
|
const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
13
13
|
const lib_1 = require("./lib");
|
|
14
|
+
const utils_1 = require("./lib/utils");
|
|
14
15
|
const assert_1 = __importDefault(require("assert"));
|
|
15
16
|
class EvmCoin extends abstract_eth_1.AbstractEthLikeNewCoins {
|
|
16
17
|
constructor(bitgo, staticsCoin) {
|
|
@@ -34,6 +35,14 @@ class EvmCoin extends abstract_eth_1.AbstractEthLikeNewCoins {
|
|
|
34
35
|
getMPCAlgorithm() {
|
|
35
36
|
return 'ecdsa';
|
|
36
37
|
}
|
|
38
|
+
/** @inheritDoc */
|
|
39
|
+
supportsMessageSigning() {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
/** @inheritDoc */
|
|
43
|
+
supportsSigningTypedData() {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
37
46
|
async buildUnsignedSweepTxnTSS(params) {
|
|
38
47
|
if (this.staticsCoin?.features.includes(statics_1.CoinFeature.MPCV2)) {
|
|
39
48
|
return this.buildUnsignedSweepTxnMPCv2(params);
|
|
@@ -43,15 +52,53 @@ class EvmCoin extends abstract_eth_1.AbstractEthLikeNewCoins {
|
|
|
43
52
|
/**
|
|
44
53
|
* Make a query to chain explorer for information such as balance, token balance, solidity calls
|
|
45
54
|
* @param {Object} query key-value pairs of parameters to append after /api
|
|
55
|
+
* @param {string} apiKey optional API key to use for the query falls back to EVM config if not provided
|
|
46
56
|
* @returns {Promise<Object>} response from chain explorer
|
|
47
57
|
*/
|
|
48
|
-
async recoveryBlockchainExplorerQuery(query) {
|
|
58
|
+
async recoveryBlockchainExplorerQuery(query, apiKey) {
|
|
49
59
|
const evmConfig = sdk_core_1.common.Environments[this.bitgo.getEnv()].evm;
|
|
50
60
|
(0, assert_1.default)(evmConfig && this.getFamily() in evmConfig, `env config is missing for ${this.getFamily()} in ${this.bitgo.getEnv()}`);
|
|
51
|
-
const apiToken = evmConfig[this.getFamily()].apiToken;
|
|
61
|
+
const apiToken = apiKey || evmConfig[this.getFamily()].apiToken;
|
|
52
62
|
const explorerUrl = evmConfig[this.getFamily()].baseUrl;
|
|
53
|
-
|
|
63
|
+
switch (this.getFamily()) {
|
|
64
|
+
case statics_1.CoinFamily.HBAREVM:
|
|
65
|
+
(0, assert_1.default)(evmConfig[this.getFamily()].rpcUrl, `rpc url config is missing for ${this.getFamily()} in ${this.bitgo.getEnv()}`);
|
|
66
|
+
const rpcUrl = evmConfig[this.getFamily()].rpcUrl;
|
|
67
|
+
return await (0, utils_1.recovery_HBAREVM_BlockchainExplorerQuery)(query, rpcUrl, explorerUrl, apiToken);
|
|
68
|
+
default:
|
|
69
|
+
return await (0, abstract_eth_1.recoveryBlockchainExplorerQuery)(query, explorerUrl, apiToken);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/** @inheritDoc */
|
|
73
|
+
async verifyTssTransaction(params) {
|
|
74
|
+
const supportsEIP1559 = this.staticsCoin?.features?.includes(statics_1.CoinFeature.EIP1559);
|
|
75
|
+
if (supportsEIP1559) {
|
|
76
|
+
return await super.verifyTssTransaction(params);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return await this.verifyLegacyTssTransaction(params);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Verifies legacy (non-EIP-1559) TSS transactions with basic validation.
|
|
84
|
+
*/
|
|
85
|
+
async verifyLegacyTssTransaction(params) {
|
|
86
|
+
const { txParams, txPrebuild, wallet } = params;
|
|
87
|
+
// Basic validation for legacy transactions only
|
|
88
|
+
if (!txParams?.recipients &&
|
|
89
|
+
!(txParams.prebuildTx?.consolidateId ||
|
|
90
|
+
(txParams.type && ['acceleration', 'fillNonce', 'transferToken', 'tokenApproval'].includes(txParams.type)))) {
|
|
91
|
+
throw new Error(`missing txParams`);
|
|
92
|
+
}
|
|
93
|
+
if (!wallet || !txPrebuild) {
|
|
94
|
+
throw new Error(`missing params`);
|
|
95
|
+
}
|
|
96
|
+
if (txParams.hop && txParams.recipients && txParams.recipients.length > 1) {
|
|
97
|
+
throw new Error(`tx cannot be both a batch and hop transaction`);
|
|
98
|
+
}
|
|
99
|
+
// If validation passes, consider it verified
|
|
100
|
+
return true;
|
|
54
101
|
}
|
|
55
102
|
}
|
|
56
103
|
exports.EvmCoin = EvmCoin;
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZtQ29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldm1Db2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztHQUVHO0FBQ0gsbURBQThHO0FBQzlHLGlEQUFzRjtBQUN0RiwyREFPa0M7QUFDbEMsK0JBQTJDO0FBQzNDLG9EQUE0QjtBQUU1QixNQUFhLE9BQVEsU0FBUSxzQ0FBdUI7SUFDbEQsWUFBc0IsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVTLHFCQUFxQjtRQUM3QixPQUFPLElBQUksd0JBQWtCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFXLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyx3QkFBYSxDQUFDLE9BQU8sQ0FBQztJQUMxRyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGVBQWU7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRVMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE1BQXNCO1FBQzdELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzRCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsK0JBQStCLENBQUMsS0FBNkI7UUFDakUsTUFBTSxTQUFTLEdBQUcsaUJBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMvRCxJQUFBLGdCQUFNLEVBQ0osU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxTQUFTLEVBQzFDLDZCQUE2QixJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUMxRSxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN0RCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3hELE9BQU8sTUFBTSxJQUFBLDhDQUErQixFQUFDLEtBQUssRUFBRSxXQUFxQixFQUFFLFFBQWtCLENBQUMsQ0FBQztJQUNqRyxDQUFDO0NBQ0Y7QUFuREQsMEJBbURDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQmFzZUNvaW4sIEJpdEdvQmFzZSwgY29tbW9uLCBNUENBbGdvcml0aG0sIE11bHRpc2lnVHlwZSwgbXVsdGlzaWdUeXBlcyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgQ29pbkZlYXR1cmUsIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdEV0aExpa2VOZXdDb2lucyxcbiAgT2ZmbGluZVZhdWx0VHhJbmZvLFxuICBSZWNvdmVyT3B0aW9ucyxcbiAgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeSxcbiAgVHJhbnNhY3Rpb25CdWlsZGVyIGFzIEV0aExpa2VUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIFVuc2lnbmVkU3dlZXBUeE1QQ3YyLFxufSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9saWInO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5leHBvcnQgY2xhc3MgRXZtQ29pbiBleHRlbmRzIEFic3RyYWN0RXRoTGlrZU5ld0NvaW5zIHtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgRXZtQ29pbihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRyYW5zYWN0aW9uQnVpbGRlcigpOiBFdGhMaWtlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQnVpbGRlcihjb2lucy5nZXQodGhpcy5nZXRCYXNlQ2hhaW4oKSkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRpY3NDb2luPy5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5UU1MpID8/IGZhbHNlO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiB0aGlzLnN0YXRpY3NDb2luPy5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5UU1MpID8gbXVsdGlzaWdUeXBlcy50c3MgOiBtdWx0aXNpZ1R5cGVzLm9uY2hhaW47XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRVbnNpZ25lZFN3ZWVwVHhuVFNTKHBhcmFtczogUmVjb3Zlck9wdGlvbnMpOiBQcm9taXNlPE9mZmxpbmVWYXVsdFR4SW5mbyB8IFVuc2lnbmVkU3dlZXBUeE1QQ3YyPiB7XG4gICAgaWYgKHRoaXMuc3RhdGljc0NvaW4/LmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLk1QQ1YyKSkge1xuICAgICAgcmV0dXJuIHRoaXMuYnVpbGRVbnNpZ25lZFN3ZWVwVHhuTVBDdjIocGFyYW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmJ1aWxkVW5zaWduZWRTd2VlcFR4blRTUyhwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgYSBxdWVyeSB0byBjaGFpbiBleHBsb3JlciBmb3IgaW5mb3JtYXRpb24gc3VjaCBhcyBiYWxhbmNlLCB0b2tlbiBiYWxhbmNlLCBzb2xpZGl0eSBjYWxsc1xuICAgKiBAcGFyYW0ge09iamVjdH0gcXVlcnkga2V5LXZhbHVlIHBhaXJzIG9mIHBhcmFtZXRlcnMgdG8gYXBwZW5kIGFmdGVyIC9hcGlcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0Pn0gcmVzcG9uc2UgZnJvbSBjaGFpbiBleHBsb3JlclxuICAgKi9cbiAgYXN5bmMgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeShxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICBjb25zdCBldm1Db25maWcgPSBjb21tb24uRW52aXJvbm1lbnRzW3RoaXMuYml0Z28uZ2V0RW52KCldLmV2bTtcbiAgICBhc3NlcnQoXG4gICAgICBldm1Db25maWcgJiYgdGhpcy5nZXRGYW1pbHkoKSBpbiBldm1Db25maWcsXG4gICAgICBgZW52IGNvbmZpZyBpcyBtaXNzaW5nIGZvciAke3RoaXMuZ2V0RmFtaWx5KCl9IGluICR7dGhpcy5iaXRnby5nZXRFbnYoKX1gXG4gICAgKTtcblxuICAgIGNvbnN0IGFwaVRva2VuID0gZXZtQ29uZmlnW3RoaXMuZ2V0RmFtaWx5KCldLmFwaVRva2VuO1xuICAgIGNvbnN0IGV4cGxvcmVyVXJsID0gZXZtQ29uZmlnW3RoaXMuZ2V0RmFtaWx5KCldLmJhc2VVcmw7XG4gICAgcmV0dXJuIGF3YWl0IHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnkocXVlcnksIGV4cGxvcmVyVXJsIGFzIHN0cmluZywgYXBpVG9rZW4gYXMgc3RyaW5nKTtcbiAgfVxufVxuIl19
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZtQ29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldm1Db2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztHQUVHO0FBQ0gsbURBQThHO0FBQzlHLGlEQUFrRztBQUNsRywyREFRa0M7QUFDbEMsK0JBQTJDO0FBQzNDLHVDQUF1RTtBQUN2RSxvREFBNEI7QUFFNUIsTUFBYSxPQUFRLFNBQVEsc0NBQXVCO0lBQ2xELFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFUyxxQkFBcUI7UUFDN0IsT0FBTyxJQUFJLHdCQUFrQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxxQkFBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUN2RSxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxxQkFBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQWEsQ0FBQyxPQUFPLENBQUM7SUFDMUcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixlQUFlO1FBQ2IsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixzQkFBc0I7UUFDcEIs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LENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzNHLEVBQ0QsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsSUFBSSxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUUsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFFRCw2Q0FBNkM7UUFDN0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUF2SEQsMEJBdUhDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQmFzZUNvaW4sIEJpdEdvQmFzZSwgY29tbW9uLCBNUENBbGdvcml0aG0sIE11bHRpc2lnVHlwZSwgbXVsdGlzaWdUeXBlcyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgQ29pbkZlYXR1cmUsIGNvaW5zLCBDb2luRmFtaWx5IH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdEV0aExpa2VOZXdDb2lucyxcbiAgT2ZmbGluZVZhdWx0VHhJbmZvLFxuICBSZWNvdmVyT3B0aW9ucyxcbiAgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeSxcbiAgVHJhbnNhY3Rpb25CdWlsZGVyIGFzIEV0aExpa2VUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIFVuc2lnbmVkU3dlZXBUeE1QQ3YyLFxuICBWZXJpZnlFdGhUcmFuc2FjdGlvbk9wdGlvbnMsXG59IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2xpYic7XG5pbXBvcnQgeyByZWNvdmVyeV9IQkFSRVZNX0Jsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5IH0gZnJvbSAnLi9saWIvdXRpbHMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5leHBvcnQgY2xhc3MgRXZtQ29pbiBleHRlbmRzIEFic3RyYWN0RXRoTGlrZU5ld0NvaW5zIHtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgRXZtQ29pbihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRyYW5zYWN0aW9uQnVpbGRlcigpOiBFdGhMaWtlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQnVpbGRlcihjb2lucy5nZXQodGhpcy5nZXRCYXNlQ2hhaW4oKSkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRpY3NDb2luPy5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5UU1MpID8/IGZhbHNlO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiB0aGlzLnN0YXRpY3NDb2luPy5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5UU1MpID8gbXVsdGlzaWdUeXBlcy50c3MgOiBtdWx0aXNpZ1R5cGVzLm9uY2hhaW47XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgc3VwcG9ydHNNZXNzYWdlU2lnbmluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c1NpZ25pbmdUeXBlZERhdGEoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRVbnNpZ25lZFN3ZWVwVHhuVFNTKHBhcmFtczogUmVjb3Zlck9wdGlvbnMpOiBQcm9taXNlPE9mZmxpbmVWYXVsdFR4SW5mbyB8IFVuc2lnbmVkU3dlZXBUeE1QQ3YyPiB7XG4gICAgaWYgKHRoaXMuc3RhdGljc0NvaW4/LmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLk1QQ1YyKSkge1xuICAgICAgcmV0dXJuIHRoaXMuYnVpbGRVbnNpZ25lZFN3ZWVwVHhuTVBDdjIocGFyYW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmJ1aWxkVW5zaWduZWRTd2VlcFR4blRTUyhwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgYSBxdWVyeSB0byBjaGFpbiBleHBsb3JlciBmb3IgaW5mb3JtYXRpb24gc3VjaCBhcyBiYWxhbmNlLCB0b2tlbiBiYWxhbmNlLCBzb2xpZGl0eSBjYWxsc1xuICAgKiBAcGFyYW0ge09iamVjdH0gcXVlcnkga2V5LXZhbHVlIHBhaXJzIG9mIHBhcmFtZXRlcnMgdG8gYXBwZW5kIGFmdGVyIC9hcGlcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFwaUtleSBvcHRpb25hbCBBUEkga2V5IHRvIHVzZSBmb3IgdGhlIHF1ZXJ5IGZhbGxzIGJhY2sgdG8gRVZNIGNvbmZpZyBpZiBub3QgcHJvdmlkZWRcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0Pn0gcmVzcG9uc2UgZnJvbSBjaGFpbiBleHBsb3JlclxuICAgKi9cbiAgYXN5bmMgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeShcbiAgICBxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBhcGlLZXk/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIGNvbnN0IGV2bUNvbmZpZyA9IGNvbW1vbi5FbnZpcm9ubWVudHNbdGhpcy5iaXRnby5nZXRFbnYoKV0uZXZtO1xuICAgIGFzc2VydChcbiAgICAgIGV2bUNvbmZpZyAmJiB0aGlzLmdldEZhbWlseSgpIGluIGV2bUNvbmZpZyxcbiAgICAgIGBlbnYgY29uZmlnIGlzIG1pc3NpbmcgZm9yICR7dGhpcy5nZXRGYW1pbHkoKX0gaW4gJHt0aGlzLmJpdGdvLmdldEVudigpfWBcbiAgICApO1xuXG4gICAgY29uc3QgYXBpVG9rZW4gPSBhcGlLZXkgfHwgZXZtQ29uZmlnW3RoaXMuZ2V0RmFtaWx5KCldLmFwaVRva2VuO1xuICAgIGNvbnN0IGV4cGxvcmVyVXJsID0gZXZtQ29uZmlnW3RoaXMuZ2V0RmFtaWx5KCldLmJhc2VVcmw7XG4gICAgc3dpdGNoICh0aGlzLmdldEZhbWlseSgpKSB7XG4gICAgICBjYXNlIENvaW5GYW1pbHkuSEJBUkVWTTpcbiAgICAgICAgYXNzZXJ0KFxuICAgICAgICAgIGV2bUNvbmZpZ1t0aGlzLmdldEZhbWlseSgpXS5ycGNVcmwsXG4gICAgICAgICAgYHJwYyB1cmwgY29uZmlnIGlzIG1pc3NpbmcgZm9yICR7dGhpcy5nZXRGYW1pbHkoKX0gaW4gJHt0aGlzLmJpdGdvLmdldEVudigpfWBcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcnBjVXJsID0gZXZtQ29uZmlnW3RoaXMuZ2V0RmFtaWx5KCldLnJwY1VybDtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHJlY292ZXJ5X0hCQVJFVk1fQmxvY2tjaGFpbkV4cGxvcmVyUXVlcnkoXG4gICAgICAgICAgcXVlcnksXG4gICAgICAgICAgcnBjVXJsIGFzIHN0cmluZyxcbiAgICAgICAgICBleHBsb3JlclVybCBhcyBzdHJpbmcsXG4gICAgICAgICAgYXBpVG9rZW4gYXMgc3RyaW5nXG4gICAgICAgICk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gYXdhaXQgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeShxdWVyeSwgZXhwbG9yZXJVcmwgYXMgc3RyaW5nLCBhcGlUb2tlbiBhcyBzdHJpbmcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhc3luYyB2ZXJpZnlUc3NUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeUV0aFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHN1cHBvcnRzRUlQMTU1OSA9IHRoaXMuc3RhdGljc0NvaW4/LmZlYXR1cmVzPy5pbmNsdWRlcyhDb2luRmVhdHVyZS5FSVAxNTU5KTtcbiAgICBpZiAoc3VwcG9ydHNFSVAxNTU5KSB7XG4gICAgICByZXR1cm4gYXdhaXQgc3VwZXIudmVyaWZ5VHNzVHJhbnNhY3Rpb24ocGFyYW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudmVyaWZ5TGVnYWN5VHNzVHJhbnNhY3Rpb24ocGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpZXMgbGVnYWN5IChub24tRUlQLTE1NTkpIFRTUyB0cmFuc2FjdGlvbnMgd2l0aCBiYXNpYyB2YWxpZGF0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyB2ZXJpZnlMZWdhY3lUc3NUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeUV0aFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgdHhQYXJhbXMsIHR4UHJlYnVpbGQsIHdhbGxldCB9ID0gcGFyYW1zO1xuXG4gICAgLy8gQmFzaWMgdmFsaWRhdGlvbiBmb3IgbGVnYWN5IHRyYW5zYWN0aW9ucyBvbmx5XG4gICAgaWYgKFxuICAgICAgIXR4UGFyYW1zPy5yZWNpcGllbnRzICYmXG4gICAgICAhKFxuICAgICAgICB0eFBhcmFtcy5wcmVidWlsZFR4Py5jb25zb2xpZGF0ZUlkIHx8XG4gICAgICAgICh0eFBhcmFtcy50eXBlICYmIFsnYWNjZWxlcmF0aW9uJywgJ2ZpbGxOb25jZScsICd0cmFuc2ZlclRva2VuJywgJ3Rva2VuQXBwcm92YWwnXS5pbmNsdWRlcyh0eFBhcmFtcy50eXBlKSlcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbWlzc2luZyB0eFBhcmFtc2ApO1xuICAgIH1cblxuICAgIGlmICghd2FsbGV0IHx8ICF0eFByZWJ1aWxkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG1pc3NpbmcgcGFyYW1zYCk7XG4gICAgfVxuXG4gICAgaWYgKHR4UGFyYW1zLmhvcCAmJiB0eFBhcmFtcy5yZWNpcGllbnRzICYmIHR4UGFyYW1zLnJlY2lwaWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB0eCBjYW5ub3QgYmUgYm90aCBhIGJhdGNoIGFuZCBob3AgdHJhbnNhY3Rpb25gKTtcbiAgICB9XG5cbiAgICAvLyBJZiB2YWxpZGF0aW9uIHBhc3NlcywgY29uc2lkZXIgaXQgdmVyaWZpZWRcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
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"}
|
|
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;AACpC,cAAc,sBAAsB,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -17,4 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./evmCoin"), exports);
|
|
18
18
|
__exportStar(require("./lib"), exports);
|
|
19
19
|
__exportStar(require("./register"), exports);
|
|
20
|
-
|
|
20
|
+
__exportStar(require("./ethLikeErc20Token"), exports);
|
|
21
|
+
__exportStar(require("./ethLikeErc721Token"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQix3Q0FBc0I7QUFDdEIsNkNBQTJCO0FBQzNCLHNEQUFvQztBQUNwQyx1REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2V2bUNvaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL2V0aExpa2VFcmMyMFRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vZXRoTGlrZUVyYzcyMVRva2VuJztcbiJdfQ==
|
package/dist/src/lib/utils.d.ts
CHANGED
|
@@ -5,4 +5,13 @@ import EthereumCommon from '@ethereumjs/common';
|
|
|
5
5
|
* @returns {EthereumCommon} Ethereum common configuration object
|
|
6
6
|
*/
|
|
7
7
|
export declare function getCommon(coin: Readonly<BaseCoin>): EthereumCommon;
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param query - etherscan query parameters for the API call
|
|
11
|
+
* @param rpcUrl - RPC URL of the Hedera network
|
|
12
|
+
* @param explorerUrl - base URL of the Hedera Mirror Node API
|
|
13
|
+
* @param token - optional API key to use for the query
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export declare function recovery_HBAREVM_BlockchainExplorerQuery(query: Record<string, string>, rpcUrl: string, explorerUrl: string, token?: string): Promise<Record<string, unknown>>;
|
|
8
17
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,QAAQ,EAAmB,MAAM,qBAAqB,CAAC;AAC1F,OAAO,cAAc,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,QAAQ,EAAmB,MAAM,qBAAqB,CAAC;AAC1F,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAIhD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,cAAc,CAgBlE;AAQD;;;;;;;GAOG;AACH,wBAAsB,wCAAwC,CAC5D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAiClC"}
|
package/dist/src/lib/utils.js
CHANGED
|
@@ -4,8 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getCommon = getCommon;
|
|
7
|
+
exports.recovery_HBAREVM_BlockchainExplorerQuery = recovery_HBAREVM_BlockchainExplorerQuery;
|
|
7
8
|
const statics_1 = require("@bitgo-beta/statics");
|
|
8
9
|
const common_1 = __importDefault(require("@ethereumjs/common"));
|
|
10
|
+
const superagent_1 = __importDefault(require("superagent"));
|
|
9
11
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
10
12
|
/**
|
|
11
13
|
* @param {NetworkType} network either mainnet or testnet
|
|
@@ -25,4 +27,149 @@ function getCommon(coin) {
|
|
|
25
27
|
eips: coin.features.includes(statics_1.CoinFeature.EIP1559) ? [1559] : undefined,
|
|
26
28
|
});
|
|
27
29
|
}
|
|
28
|
-
|
|
30
|
+
function tinybarsToWei(tinybars) {
|
|
31
|
+
// Convert from tinybars to wei (1 HBAR = 10^8 tinybars, 1 HBAR = 10^18 wei)
|
|
32
|
+
// So: wei = tinybars * 10^10
|
|
33
|
+
return (BigInt(tinybars) * BigInt('10000000000')).toString();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
*
|
|
37
|
+
* @param query - etherscan query parameters for the API call
|
|
38
|
+
* @param rpcUrl - RPC URL of the Hedera network
|
|
39
|
+
* @param explorerUrl - base URL of the Hedera Mirror Node API
|
|
40
|
+
* @param token - optional API key to use for the query
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
async function recovery_HBAREVM_BlockchainExplorerQuery(query, rpcUrl, explorerUrl, token) {
|
|
44
|
+
// Hedera Mirror Node API does not use API keys, but we keep this for compatibility
|
|
45
|
+
if (token) {
|
|
46
|
+
query.apikey = token;
|
|
47
|
+
}
|
|
48
|
+
const { module, action } = query;
|
|
49
|
+
// Remove trailing slash from explorerUrl if present
|
|
50
|
+
const baseUrl = explorerUrl.replace(/\/$/, '');
|
|
51
|
+
switch (`${module}.${action}`) {
|
|
52
|
+
case 'account.balance':
|
|
53
|
+
return await queryAddressBalanceHedera(query, baseUrl);
|
|
54
|
+
case 'account.txlist':
|
|
55
|
+
return await getAddressNonceHedera(query, baseUrl);
|
|
56
|
+
case 'account.tokenbalance':
|
|
57
|
+
return await queryTokenBalanceHedera(query, baseUrl);
|
|
58
|
+
case 'proxy.eth_gasPrice':
|
|
59
|
+
return await getGasPriceFromRPC(query, rpcUrl);
|
|
60
|
+
case 'proxy.eth_estimateGas':
|
|
61
|
+
return await getGasLimitFromRPC(query, rpcUrl);
|
|
62
|
+
case 'proxy.eth_call':
|
|
63
|
+
return await querySequenceIdFromRPC(query, rpcUrl);
|
|
64
|
+
default:
|
|
65
|
+
throw new Error(`Unsupported API call: ${module}.${action}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* 1. Gets address balance using Hedera Mirror Node API
|
|
70
|
+
*/
|
|
71
|
+
async function queryAddressBalanceHedera(query, baseUrl) {
|
|
72
|
+
const address = query.address;
|
|
73
|
+
const url = `${baseUrl}/accounts/${address}?transactions=false`;
|
|
74
|
+
const response = await superagent_1.default.get(url).send();
|
|
75
|
+
if (!response.ok) {
|
|
76
|
+
throw new Error('could not reach explorer');
|
|
77
|
+
}
|
|
78
|
+
const balance = response.body.balance?.balance || '0';
|
|
79
|
+
const balanceInWei = tinybarsToWei(balance);
|
|
80
|
+
return { result: balanceInWei };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 2. Gets nonce using Hedera Mirror Node API
|
|
84
|
+
*/
|
|
85
|
+
async function getAddressNonceHedera(query, baseUrl) {
|
|
86
|
+
const address = query.address;
|
|
87
|
+
const accountUrl = `${baseUrl}/accounts/${address}?transactions=false`;
|
|
88
|
+
const response = await superagent_1.default.get(accountUrl).send();
|
|
89
|
+
if (!response.ok) {
|
|
90
|
+
throw new Error('could not reach explorer');
|
|
91
|
+
}
|
|
92
|
+
const nonce = response.body.ethereum_nonce || 0;
|
|
93
|
+
return { nonce: nonce };
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 3. Gets token balance using Hedera Mirror Node API
|
|
97
|
+
*/
|
|
98
|
+
async function queryTokenBalanceHedera(query, baseUrl) {
|
|
99
|
+
const contractAddress = query.contractaddress;
|
|
100
|
+
const address = query.address;
|
|
101
|
+
// Get token balances for the account
|
|
102
|
+
const url = `${baseUrl}/accounts/${address}/tokens`;
|
|
103
|
+
const response = await superagent_1.default.get(url).send();
|
|
104
|
+
if (!response.ok) {
|
|
105
|
+
throw new Error('could not reach explorer');
|
|
106
|
+
}
|
|
107
|
+
// Find the specific token balance
|
|
108
|
+
const tokens = response.body.tokens || [];
|
|
109
|
+
const tokenBalance = tokens.find((token) => token.token_id === contractAddress || token.contract_address === contractAddress);
|
|
110
|
+
const balance = tokenBalance && tokenBalance.balance !== null ? tokenBalance.balance.toString() : '0';
|
|
111
|
+
const balanceInWei = tinybarsToWei(balance);
|
|
112
|
+
return { result: balanceInWei };
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* 4. Gets sequence ID using RPC call
|
|
116
|
+
*/
|
|
117
|
+
async function querySequenceIdFromRPC(query, rpcUrl) {
|
|
118
|
+
const { to, data } = query;
|
|
119
|
+
const requestBody = {
|
|
120
|
+
jsonrpc: '2.0',
|
|
121
|
+
method: 'eth_call',
|
|
122
|
+
params: [
|
|
123
|
+
{
|
|
124
|
+
to: to,
|
|
125
|
+
data: data,
|
|
126
|
+
},
|
|
127
|
+
],
|
|
128
|
+
id: 1,
|
|
129
|
+
};
|
|
130
|
+
const response = await superagent_1.default.post(rpcUrl).send(requestBody).set('Content-Type', 'application/json');
|
|
131
|
+
if (!response.ok) {
|
|
132
|
+
throw new Error('could not fetch sequence ID from RPC');
|
|
133
|
+
}
|
|
134
|
+
return response.body;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* 5. getGasPriceFromRPC - Gets gas price using Hedera Mirror Node API
|
|
138
|
+
*/
|
|
139
|
+
async function getGasPriceFromRPC(query, rpcUrl) {
|
|
140
|
+
const requestBody = {
|
|
141
|
+
jsonrpc: '2.0',
|
|
142
|
+
method: 'eth_gasPrice',
|
|
143
|
+
params: [],
|
|
144
|
+
id: 1,
|
|
145
|
+
};
|
|
146
|
+
const response = await superagent_1.default.post(rpcUrl).send(requestBody).set('Content-Type', 'application/json');
|
|
147
|
+
if (!response.ok) {
|
|
148
|
+
throw new Error('could not fetch gas price from RPC');
|
|
149
|
+
}
|
|
150
|
+
return response.body;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* 6. getGasLimitFromRPC - Gets gas limit estimate using RPC call.
|
|
154
|
+
*/
|
|
155
|
+
async function getGasLimitFromRPC(query, rpcUrl) {
|
|
156
|
+
const { from, to, data } = query;
|
|
157
|
+
const requestBody = {
|
|
158
|
+
jsonrpc: '2.0',
|
|
159
|
+
method: 'eth_estimateGas',
|
|
160
|
+
params: [
|
|
161
|
+
{
|
|
162
|
+
from,
|
|
163
|
+
to,
|
|
164
|
+
data,
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
id: 1,
|
|
168
|
+
};
|
|
169
|
+
const response = await superagent_1.default.post(rpcUrl).send(requestBody).set('Content-Type', 'application/json');
|
|
170
|
+
if (!response.ok) {
|
|
171
|
+
throw new Error('could not estimate gas limit from RPC');
|
|
172
|
+
}
|
|
173
|
+
return response.body;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsOEJBZ0JDO0FBZ0JELDRGQXNDQztBQS9FRCxpREFBMEY7QUFDMUYsZ0VBQWdEO0FBQ2hELDREQUFpQztBQUNqQyxtREFBK0Q7QUFFL0Q7OztHQUdHO0FBQ0gsU0FBZ0IsU0FBUyxDQUFDLElBQXdCO0lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxxQkFBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDeEQsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDZDQUE2QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBQ0QsT0FBTyxnQkFBYyxDQUFDLE1BQU0sQ0FDMUI7UUFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ3ZCLFNBQVMsRUFBRyxJQUFJLENBQUMsT0FBMkIsQ0FBQyxPQUFPO1FBQ3BELE9BQU8sRUFBRyxJQUFJLENBQUMsT0FBMkIsQ0FBQyxPQUFPO0tBQ25ELEVBQ0Q7UUFDRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUsscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUM1RSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQzVFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0tBQ3ZFLENBQ0YsQ0FBQztBQUNKLENB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QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztBQUN2QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsS0FBNkIsRUFBRSxNQUFjO0lBQzdFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztJQUVqQyxNQUFNLFdBQVcsR0FBRztRQUNsQixPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxpQkFBaUI7UUFDekIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSTtnQkFDSixFQUFFO2dCQUNGLElBQUk7YUFDTDtTQUNGO1FBQ0QsRUFBRSxFQUFFLENBQUM7S0FDTixDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBRXRHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvaW5GZWF0dXJlLCBOZXR3b3JrVHlwZSwgQmFzZUNvaW4sIEV0aGVyZXVtTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IEV0aGVyZXVtQ29tbW9uIGZyb20gJ0BldGhlcmV1bWpzL2NvbW1vbic7XG5pbXBvcnQgcmVxdWVzdCBmcm9tICdzdXBlcmFnZW50JztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG4vKipcbiAqIEBwYXJhbSB7TmV0d29ya1R5cGV9IG5ldHdvcmsgZWl0aGVyIG1haW5uZXQgb3IgdGVzdG5ldFxuICogQHJldHVybnMge0V0aGVyZXVtQ29tbW9ufSBFdGhlcmV1bSBjb21tb24gY29uZmlndXJhdGlvbiBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbW1vbihjb2luOiBSZWFkb25seTxCYXNlQ29pbj4pOiBFdGhlcmV1bUNvbW1vbiB7XG4gIGlmICghY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfRVZNX1NESykpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYENhbm5vdCB1c2UgY29tbW9uIHNkayBtb2R1bGUgZm9yIHRoZSBjb2luICR7Y29pbi5uYW1lfWApO1xuICB9XG4gIHJldHVybiBFdGhlcmV1bUNvbW1vbi5jdXN0b20oXG4gICAge1xuICAgICAgbmFtZTogY29pbi5uZXR3b3JrLm5hbWUsXG4gICAgICBuZXR3b3JrSWQ6IChjb2luLm5ldHdvcmsgYXMgRXRoZXJldW1OZXR3b3JrKS5jaGFpbklkLFxuICAgICAgY2hhaW5JZDogKGNvaW4ubmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspLmNoYWluSWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBiYXNlQ2hhaW46IGNvaW4ubmV0d29yay50eXBlID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUID8gJ21haW5uZXQnIDogJ3NlcG9saWEnLFxuICAgICAgaGFyZGZvcms6IGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuRUlQMTU1OSkgPyAnbG9uZG9uJyA6IHVuZGVmaW5lZCxcbiAgICAgIGVpcHM6IGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuRUlQMTU1OSkgPyBbMTU1OV0gOiB1bmRlZmluZWQsXG4gICAgfVxuICApO1xufVxuXG5mdW5jdGlvbiB0aW55YmFyc1RvV2VpKHRpbnliYXJzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBDb252ZXJ0IGZyb20gdGlueWJhcnMgdG8gd2VpICgxIEhCQVIgPSAxMF44IHRpbnliYXJzLCAxIEhCQVIgPSAxMF4xOCB3ZWkpXG4gIC8vIFNvOiB3ZWkgPSB0aW55YmFycyAqIDEwXjEwXG4gIHJldHVybiAoQmlnSW50KHRpbnliYXJzKSAqIEJpZ0ludCgnMTAwMDAwMDAwMDAnKSkudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIHF1ZXJ5IC0gZXRoZXJzY2FuIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHRoZSBBUEkgY2FsbFxuICogQHBhcmFtIHJwY1VybCAtIFJQQyBVUkwgb2YgdGhlIEhlZGVyYSBuZXR3b3JrXG4gKiBAcGFyYW0gZXhwbG9yZXJVcmwgLSBiYXNlIFVSTCBvZiB0aGUgSGVkZXJhIE1pcnJvciBOb2RlIEFQSVxuICogQHBhcmFtIHRva2VuIC0gb3B0aW9uYWwgQVBJIGtleSB0byB1c2UgZm9yIHRoZSBxdWVyeVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlY292ZXJ5X0hCQVJFVk1fQmxvY2tjaGFpbkV4cGxvcmVyUXVlcnkoXG4gIHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICBycGNVcmw6IHN0cmluZyxcbiAgZXhwbG9yZXJVcmw6IHN0cmluZyxcbiAgdG9rZW4/OiBzdHJpbmdcbik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgLy8gSGVkZXJhIE1pcnJvciBOb2RlIEFQSSBkb2VzIG5vdCB1c2UgQVBJIGtleXMsIGJ1dCB3ZSBrZWVwIHRoaXMgZm9yIGNvbXBhdGliaWxpdHlcbiAgaWYgKHRva2VuKSB7XG4gICAgcXVlcnkuYXBpa2V5ID0gdG9rZW47XG4gIH1cblxuICBjb25zdCB7IG1vZHVsZSwgYWN0aW9uIH0gPSBxdWVyeTtcblxuICAvLyBSZW1vdmUgdHJhaWxpbmcgc2xhc2ggZnJvbSBleHBsb3JlclVybCBpZiBwcmVzZW50XG4gIGNvbnN0IGJhc2VVcmwgPSBleHBsb3JlclVybC5yZXBsYWNlKC9cXC8kLywgJycpO1xuXG4gIHN3aXRjaCAoYCR7bW9kdWxlfS4ke2FjdGlvbn1gKSB7XG4gICAgY2FzZSAnYWNjb3VudC5iYWxhbmNlJzpcbiAgICAgIHJldHVybiBhd2FpdCBxdWVyeUFkZHJlc3NCYWxhbmNlSGVkZXJhKHF1ZXJ5LCBiYXNlVXJsKTtcblxuICAgIGNhc2UgJ2FjY291bnQudHhsaXN0JzpcbiAgICAgIHJldHVybiBhd2FpdCBnZXRBZGRyZXNzTm9uY2VIZWRlcmEocXVlcnksIGJhc2VVcmwpO1xuXG4gICAgY2FzZSAnYWNjb3VudC50b2tlbmJhbGFuY2UnOlxuICAgICAgcmV0dXJuIGF3YWl0IHF1ZXJ5VG9rZW5CYWxhbmNlSGVkZXJhKHF1ZXJ5LCBiYXNlVXJsKTtcblxuICAgIGNhc2UgJ3Byb3h5LmV0aF9nYXNQcmljZSc6XG4gICAgICByZXR1cm4gYXdhaXQgZ2V0R2FzUHJpY2VGcm9tUlBDKHF1ZXJ5LCBycGNVcmwpO1xuXG4gICAgY2FzZSAncHJveHkuZXRoX2VzdGltYXRlR2FzJzpcbiAgICAgIHJldHVybiBhd2FpdCBnZXRHYXNMaW1pdEZyb21SUEMocXVlcnksIHJwY1VybCk7XG5cbiAgICBjYXNlICdwcm94eS5ldGhfY2FsbCc6XG4gICAgICByZXR1cm4gYXdhaXQgcXVlcnlTZXF1ZW5jZUlkRnJvbVJQQyhxdWVyeSwgcnBjVXJsKTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIEFQSSBjYWxsOiAke21vZHVsZX0uJHthY3Rpb259YCk7XG4gIH1cbn1cblxuLyoqXG4gKiAxLiBHZXRzIGFkZHJlc3MgYmFsYW5jZSB1c2luZyBIZWRlcmEgTWlycm9yIE5vZGUgQVBJXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHF1ZXJ5QWRkcmVzc0JhbGFuY2VIZWRlcmEoXG4gIHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICBiYXNlVXJsOiBzdHJpbmdcbik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgY29uc3QgYWRkcmVzcyA9IHF1ZXJ5LmFkZHJlc3M7XG4gIGNvbnN0IHVybCA9IGAke2Jhc2VVcmx9L2FjY291bnRzLyR7YWRkcmVzc30/dHJhbnNhY3Rpb25zPWZhbHNlYDtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LmdldCh1cmwpLnNlbmQoKTtcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjb3VsZCBub3QgcmVhY2ggZXhwbG9yZXInKTtcbiAgfVxuXG4gIGNvbnN0IGJhbGFuY2UgPSByZXNwb25zZS5ib2R5LmJhbGFuY2U/LmJhbGFuY2UgfHwgJzAnO1xuXG4gIGNvbnN0IGJhbGFuY2VJbldlaSA9IHRpbnliYXJzVG9XZWkoYmFsYW5jZSk7XG5cbiAgcmV0dXJuIHsgcmVzdWx0OiBiYWxhbmNlSW5XZWkgfTtcbn1cblxuLyoqXG4gKiAyLiBHZXRzIG5vbmNlIHVzaW5nIEhlZGVyYSBNaXJyb3IgTm9kZSBBUElcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0QWRkcmVzc05vbmNlSGVkZXJhKHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBiYXNlVXJsOiBzdHJpbmcpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gIGNvbnN0IGFkZHJlc3MgPSBxdWVyeS5hZGRyZXNzO1xuICBjb25zdCBhY2NvdW50VXJsID0gYCR7YmFzZVVybH0vYWNjb3VudHMvJHthZGRyZXNzfT90cmFuc2FjdGlvbnM9ZmFsc2VgO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3QuZ2V0KGFjY291bnRVcmwpLnNlbmQoKTtcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjb3VsZCBub3QgcmVhY2ggZXhwbG9yZXInKTtcbiAgfVxuXG4gIGNvbnN0IG5vbmNlID0gcmVzcG9uc2UuYm9keS5ldGhlcmV1bV9ub25jZSB8fCAwO1xuXG4gIHJldHVybiB7IG5vbmNlOiBub25jZSB9O1xufVxuXG4vKipcbiAqIDMuIEdldHMgdG9rZW4gYmFsYW5jZSB1c2luZyBIZWRlcmEgTWlycm9yIE5vZGUgQVBJXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHF1ZXJ5VG9rZW5CYWxhbmNlSGVkZXJhKFxuICBxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgYmFzZVVybDogc3RyaW5nXG4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gIGNvbnN0IGNvbnRyYWN0QWRkcmVzcyA9IHF1ZXJ5LmNvbnRyYWN0YWRkcmVzcztcbiAgY29uc3QgYWRkcmVzcyA9IHF1ZXJ5LmFkZHJlc3M7XG5cbiAgLy8gR2V0IHRva2VuIGJhbGFuY2VzIGZvciB0aGUgYWNjb3VudFxuICBjb25zdCB1cmwgPSBgJHtiYXNlVXJsfS9hY2NvdW50cy8ke2FkZHJlc3N9L3Rva2Vuc2A7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdC5nZXQodXJsKS5zZW5kKCk7XG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcignY291bGQgbm90IHJlYWNoIGV4cGxvcmVyJyk7XG4gIH1cblxuICAvLyBGaW5kIHRoZSBzcGVjaWZpYyB0b2tlbiBiYWxhbmNlXG4gIGNvbnN0IHRva2VucyA9IHJlc3BvbnNlLmJvZHkudG9rZW5zIHx8IFtdO1xuICBjb25zdCB0b2tlbkJhbGFuY2UgPSB0b2tlbnMuZmluZChcbiAgICAodG9rZW46IHsgdG9rZW5faWQ6IHN0cmluZzsgY29udHJhY3RfYWRkcmVzczogc3RyaW5nOyBiYWxhbmNlOiBudW1iZXIgfSkgPT5cbiAgICAgIHRva2VuLnRva2VuX2lkID09PSBjb250cmFjdEFkZHJlc3MgfHwgdG9rZW4uY29udHJhY3RfYWRkcmVzcyA9PT0gY29udHJhY3RBZGRyZXNzXG4gICk7XG5cbiAgY29uc3QgYmFsYW5jZSA9IHRva2VuQmFsYW5jZSAmJiB0b2tlbkJhbGFuY2UuYmFsYW5jZSAhPT0gbnVsbCA/IHRva2VuQmFsYW5jZS5iYWxhbmNlLnRvU3RyaW5nKCkgOiAnMCc7XG5cbiAgY29uc3QgYmFsYW5jZUluV2VpID0gdGlueWJhcnNUb1dlaShiYWxhbmNlKTtcblxuICByZXR1cm4geyByZXN1bHQ6IGJhbGFuY2VJbldlaSB9O1xufVxuXG4vKipcbiAqIDQuIEdldHMgc2VxdWVuY2UgSUQgdXNpbmcgUlBDIGNhbGxcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcXVlcnlTZXF1ZW5jZUlkRnJvbVJQQyhxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwgcnBjVXJsOiBzdHJpbmcpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gIGNvbnN0IHsgdG8sIGRhdGEgfSA9IHF1ZXJ5O1xuXG4gIGNvbnN0IHJlcXVlc3RCb2R5ID0ge1xuICAgIGpzb25ycGM6ICcyLjAnLFxuICAgIG1ldGhvZDogJ2V0aF9jYWxsJyxcbiAgICBwYXJhbXM6IFtcbiAgICAgIHtcbiAgICAgICAgdG86IHRvLFxuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGlkOiAxLFxuICB9O1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdC5wb3N0KHJwY1VybCkuc2VuZChyZXF1ZXN0Qm9keSkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvdWxkIG5vdCBmZXRjaCBzZXF1ZW5jZSBJRCBmcm9tIFJQQycpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlLmJvZHk7XG59XG5cbi8qKlxuICogNS4gZ2V0R2FzUHJpY2VGcm9tUlBDIC0gR2V0cyBnYXMgcHJpY2UgdXNpbmcgSGVkZXJhIE1pcnJvciBOb2RlIEFQSVxuICovXG5hc3luYyBmdW5jdGlvbiBnZXRHYXNQcmljZUZyb21SUEMocXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIHJwY1VybDogc3RyaW5nKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICBjb25zdCByZXF1ZXN0Qm9keSA9IHtcbiAgICBqc29ucnBjOiAnMi4wJyxcbiAgICBtZXRob2Q6ICdldGhfZ2FzUHJpY2UnLFxuICAgIHBhcmFtczogW10sXG4gICAgaWQ6IDEsXG4gIH07XG5cbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnBvc3QocnBjVXJsKS5zZW5kKHJlcXVlc3RCb2R5KS5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcignY291bGQgbm90IGZldGNoIGdhcyBwcmljZSBmcm9tIFJQQycpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlLmJvZHk7XG59XG5cbi8qKlxuICogNi4gZ2V0R2FzTGltaXRGcm9tUlBDIC0gR2V0cyBnYXMgbGltaXQgZXN0aW1hdGUgdXNpbmcgUlBDIGNhbGwuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldEdhc0xpbWl0RnJvbVJQQyhxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwgcnBjVXJsOiBzdHJpbmcpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gIGNvbnN0IHsgZnJvbSwgdG8sIGRhdGEgfSA9IHF1ZXJ5O1xuXG4gIGNvbnN0IHJlcXVlc3RCb2R5ID0ge1xuICAgIGpzb25ycGM6ICcyLjAnLFxuICAgIG1ldGhvZDogJ2V0aF9lc3RpbWF0ZUdhcycsXG4gICAgcGFyYW1zOiBbXG4gICAgICB7XG4gICAgICAgIGZyb20sXG4gICAgICAgIHRvLFxuICAgICAgICBkYXRhLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGlkOiAxLFxuICB9O1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3QucG9zdChycGNVcmwpLnNlbmQocmVxdWVzdEJvZHkpLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjb3VsZCBub3QgZXN0aW1hdGUgZ2FzIGxpbWl0IGZyb20gUlBDJyk7XG4gIH1cblxuICByZXR1cm4gcmVzcG9uc2UuYm9keTtcbn1cbiJdfQ==
|
package/dist/src/register.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { BitGoBase } from '@bitgo-beta/sdk-core';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const registerAll: (sdk: BitGoBase) => void;
|
|
3
|
+
export declare const register: (coinFamily: string, sdk: BitGoBase) => void;
|
|
3
4
|
//# sourceMappingURL=register.d.ts.map
|
|
@@ -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;AAMjD,eAAO,MAAM,WAAW,QAAS,SAAS,KAAG,IAS5C,CAAC;AAEF,eAAO,MAAM,QAAQ,eAAgB,MAAM,OAAO,SAAS,KAAG,IAkC7D,CAAC"}
|
package/dist/src/register.js
CHANGED
|
@@ -1,14 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.register = void 0;
|
|
3
|
+
exports.register = exports.registerAll = void 0;
|
|
4
4
|
const statics_1 = require("@bitgo-beta/statics");
|
|
5
5
|
const evmCoin_1 = require("./evmCoin");
|
|
6
|
-
const
|
|
6
|
+
const ethLikeErc20Token_1 = require("./ethLikeErc20Token");
|
|
7
|
+
const ethLikeErc721Token_1 = require("./ethLikeErc721Token");
|
|
8
|
+
const registerAll = (sdk) => {
|
|
7
9
|
statics_1.coins
|
|
8
|
-
.filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_SDK))
|
|
10
|
+
.filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_SDK) && coin.network.type === statics_1.NetworkType.MAINNET && !coin.isToken)
|
|
9
11
|
.forEach((coin) => {
|
|
10
|
-
|
|
12
|
+
(0, exports.register)(coin.family, sdk);
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
exports.registerAll = registerAll;
|
|
16
|
+
const register = (coinFamily, sdk) => {
|
|
17
|
+
const coinFeatures = statics_1.coins.get(coinFamily).features;
|
|
18
|
+
statics_1.coins
|
|
19
|
+
.filter((coin) => coin.family === coinFamily && !coin.isToken)
|
|
20
|
+
.forEach((coin) => {
|
|
21
|
+
// Handle SHARED_EVM_SDK registration
|
|
22
|
+
if (coinFeatures.includes(statics_1.CoinFeature.SHARED_EVM_SDK)) {
|
|
23
|
+
sdk.register(coin.name, evmCoin_1.EvmCoin.createInstance);
|
|
24
|
+
}
|
|
25
|
+
// Handle SUPPORTS_ERC20 registration
|
|
26
|
+
if (coinFeatures.includes(statics_1.CoinFeature.SUPPORTS_ERC20)) {
|
|
27
|
+
const coinNames = {
|
|
28
|
+
Mainnet: `${coin.name}`,
|
|
29
|
+
Testnet: `${coin.name}`,
|
|
30
|
+
};
|
|
31
|
+
ethLikeErc20Token_1.EthLikeErc20Token.createTokenConstructors(coinNames).forEach(({ name, coinConstructor }) => {
|
|
32
|
+
sdk.register(name, coinConstructor);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
// Handle SUPPORTS_ERC721 registration
|
|
36
|
+
if (coinFeatures.includes(statics_1.CoinFeature.SUPPORTS_ERC721)) {
|
|
37
|
+
const coinNames = {
|
|
38
|
+
Mainnet: `${coin.name}`,
|
|
39
|
+
Testnet: `${coin.name}`,
|
|
40
|
+
};
|
|
41
|
+
ethLikeErc721Token_1.EthLikeErc721Token.createTokenConstructors(coinNames).forEach(({ name, coinConstructor }) => {
|
|
42
|
+
sdk.register(name, coinConstructor);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
11
45
|
});
|
|
12
46
|
};
|
|
13
47
|
exports.register = register;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQXNFO0FBQ3RFLHVDQUFvQztBQUNwQywyREFBd0Q7QUFDeEQsNkRBQTBEO0FBRW5ELE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBYyxFQUFRLEVBQUU7SUFDbEQsZUFBSztTQUNGLE1BQU0sQ0FDTCxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMscUJBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxxQkFBVyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQ25IO1NBQ0EsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDaEIsSUFBQSxnQkFBUSxFQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFUVyxRQUFBLFdBQVcsZUFTdEI7QUFFSyxNQUFNLFFBQVEsR0FBRyxDQUFDLFVBQWtCLEVBQUUsR0FBYyxFQUFRLEVBQUU7SUFDbkUsTUFBTSxZQUFZLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDcEQsZUFBSztTQUNGLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQzdELE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ2hCLHFDQUFxQztRQUNyQyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMscUJBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3RELEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxpQkFBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxxQ0FBcUM7UUFDckMsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLHFCQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxNQUFNLFNBQVMsR0FBRztnQkFDaEIsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDdkIsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRTthQUN4QixDQUFDO1lBRUYscUNBQWlCLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtnQkFDekYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxxQkFBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDdkQsTUFBTSxTQUFTLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZCLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUU7YUFDeEIsQ0FBQztZQUVGLHVDQUFrQixDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7Z0JBQzFGLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBbENXLFFBQUEsUUFBUSxZQWtDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDb2luRmVhdHVyZSwgY29pbnMsIE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBFdm1Db2luIH0gZnJvbSAnLi9ldm1Db2luJztcbmltcG9ydCB7IEV0aExpa2VFcmMyMFRva2VuIH0gZnJvbSAnLi9ldGhMaWtlRXJjMjBUb2tlbic7XG5pbXBvcnQgeyBFdGhMaWtlRXJjNzIxVG9rZW4gfSBmcm9tICcuL2V0aExpa2VFcmM3MjFUb2tlbic7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlckFsbCA9IChzZGs6IEJpdEdvQmFzZSk6IHZvaWQgPT4ge1xuICBjb2luc1xuICAgIC5maWx0ZXIoXG4gICAgICAoY29pbikgPT5cbiAgICAgICAgY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfRVZNX1NESykgJiYgY29pbi5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVQgJiYgIWNvaW4uaXNUb2tlblxuICAgIClcbiAgICAuZm9yRWFjaCgoY29pbikgPT4ge1xuICAgICAgcmVnaXN0ZXIoY29pbi5mYW1pbHksIHNkayk7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXIgPSAoY29pbkZhbWlseTogc3RyaW5nLCBzZGs6IEJpdEdvQmFzZSk6IHZvaWQgPT4ge1xuICBjb25zdCBjb2luRmVhdHVyZXMgPSBjb2lucy5nZXQoY29pbkZhbWlseSkuZmVhdHVyZXM7XG4gIGNvaW5zXG4gICAgLmZpbHRlcigoY29pbikgPT4gY29pbi5mYW1pbHkgPT09IGNvaW5GYW1pbHkgJiYgIWNvaW4uaXNUb2tlbilcbiAgICAuZm9yRWFjaCgoY29pbikgPT4ge1xuICAgICAgLy8gSGFuZGxlIFNIQVJFRF9FVk1fU0RLIHJlZ2lzdHJhdGlvblxuICAgICAgaWYgKGNvaW5GZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfRVZNX1NESykpIHtcbiAgICAgICAgc2RrLnJlZ2lzdGVyKGNvaW4ubmFtZSwgRXZtQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSBTVVBQT1JUU19FUkMyMCByZWdpc3RyYXRpb25cbiAgICAgIGlmIChjb2luRmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU1VQUE9SVFNfRVJDMjApKSB7XG4gICAgICAgIGNvbnN0IGNvaW5OYW1lcyA9IHtcbiAgICAgICAgICBNYWlubmV0OiBgJHtjb2luLm5hbWV9YCxcbiAgICAgICAgICBUZXN0bmV0OiBgJHtjb2luLm5hbWV9YCxcbiAgICAgICAgfTtcblxuICAgICAgICBFdGhMaWtlRXJjMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhjb2luTmFtZXMpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICAgICAgICBzZGsucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSBTVVBQT1JUU19FUkM3MjEgcmVnaXN0cmF0aW9uXG4gICAgICBpZiAoY29pbkZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzcyMSkpIHtcbiAgICAgICAgY29uc3QgY29pbk5hbWVzID0ge1xuICAgICAgICAgIE1haW5uZXQ6IGAke2NvaW4ubmFtZX1gLFxuICAgICAgICAgIFRlc3RuZXQ6IGAke2NvaW4ubmFtZX1gLFxuICAgICAgICB9O1xuXG4gICAgICAgIEV0aExpa2VFcmM3MjFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhjb2luTmFtZXMpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICAgICAgICBzZGsucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59O1xuIl19
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-evm",
|
|
3
|
-
"version": "1.0.1-beta.
|
|
3
|
+
"version": "1.0.1-beta.550",
|
|
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",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "yarn tsc --build --incremental --verbose .",
|
|
9
9
|
"fmt": "prettier --write .",
|
|
10
|
-
"check-fmt": "prettier --check
|
|
10
|
+
"check-fmt": "prettier --check '**/*.{ts,js,json}'",
|
|
11
11
|
"clean": "rm -r ./dist",
|
|
12
12
|
"lint": "eslint --quiet .",
|
|
13
13
|
"test": "npm run coverage",
|
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
"prepare": "npm run build"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@bitgo-beta/abstract-eth": "1.0.2-beta.
|
|
20
|
-
"@bitgo-beta/sdk-core": "8.2.1-beta.
|
|
21
|
-
"@bitgo-beta/statics": "15.1.1-beta.
|
|
22
|
-
"@ethereumjs/common": "^2.6.5"
|
|
19
|
+
"@bitgo-beta/abstract-eth": "1.0.2-beta.1721",
|
|
20
|
+
"@bitgo-beta/sdk-core": "8.2.1-beta.1491",
|
|
21
|
+
"@bitgo-beta/statics": "15.1.1-beta.1494",
|
|
22
|
+
"@ethereumjs/common": "^2.6.5",
|
|
23
|
+
"superagent": "^9.0.1"
|
|
23
24
|
},
|
|
24
25
|
"author": "BitGo SDK Team <sdkteam@bitgo.com>",
|
|
25
26
|
"license": "MIT",
|
|
@@ -45,5 +46,5 @@
|
|
|
45
46
|
".ts"
|
|
46
47
|
]
|
|
47
48
|
},
|
|
48
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "5f8a50590b840b73532d43d7010cdfe029590075"
|
|
49
50
|
}
|