@bitgo-beta/sdk-coin-evm 1.0.1-beta.3 → 1.0.1-beta.300

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.
@@ -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,32 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import { BaseCoin, BitGoBase, MPCAlgorithm, MultisigType } from '@bitgo-beta/sdk-core';
5
+ import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
6
+ import { AbstractEthLikeNewCoins, OfflineVaultTxInfo, RecoverOptions, TransactionBuilder as EthLikeTransactionBuilder, UnsignedSweepTxMPCv2, VerifyEthTransactionOptions } from '@bitgo-beta/abstract-eth';
7
+ export declare class EvmCoin extends AbstractEthLikeNewCoins {
8
+ protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
9
+ static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
10
+ protected getTransactionBuilder(): EthLikeTransactionBuilder;
11
+ /** @inheritDoc */
12
+ supportsTss(): boolean;
13
+ /** inherited doc */
14
+ getDefaultMultisigType(): MultisigType;
15
+ /** @inheritDoc */
16
+ getMPCAlgorithm(): MPCAlgorithm;
17
+ protected buildUnsignedSweepTxnTSS(params: RecoverOptions): Promise<OfflineVaultTxInfo | UnsignedSweepTxMPCv2>;
18
+ /**
19
+ * Make a query to chain explorer for information such as balance, token balance, solidity calls
20
+ * @param {Object} query key-value pairs of parameters to append after /api
21
+ * @param {string} apiKey optional API key to use for the query falls back to EVM config if not provided
22
+ * @returns {Promise<Object>} response from chain explorer
23
+ */
24
+ recoveryBlockchainExplorerQuery(query: Record<string, string>, apiKey?: string): Promise<Record<string, unknown>>;
25
+ /** @inheritDoc */
26
+ verifyTssTransaction(params: VerifyEthTransactionOptions): Promise<boolean>;
27
+ /**
28
+ * Verifies legacy (non-EIP-1559) TSS transactions with basic validation.
29
+ */
30
+ private verifyLegacyTssTransaction;
31
+ }
32
+ //# sourceMappingURL=evmCoin.d.ts.map
@@ -0,0 +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,EAAsB,MAAM,qBAAqB,CAAC;AACtF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EAEd,kBAAkB,IAAI,yBAAyB,EAC/C,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAIlC,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;cAIf,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;IAYnC,kBAAkB;IACZ,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC;IASjF;;OAEG;YACW,0BAA0B;CAyBzC"}
@@ -0,0 +1,88 @@
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.EvmCoin = void 0;
7
+ /**
8
+ * @prettier
9
+ */
10
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
11
+ const statics_1 = require("@bitgo-beta/statics");
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 EvmCoin extends abstract_eth_1.AbstractEthLikeNewCoins {
16
+ constructor(bitgo, staticsCoin) {
17
+ super(bitgo, staticsCoin);
18
+ }
19
+ static createInstance(bitgo, staticsCoin) {
20
+ return new EvmCoin(bitgo, staticsCoin);
21
+ }
22
+ getTransactionBuilder() {
23
+ return new lib_1.TransactionBuilder(statics_1.coins.get(this.getBaseChain()));
24
+ }
25
+ /** @inheritDoc */
26
+ supportsTss() {
27
+ return this.staticsCoin?.features.includes(statics_1.CoinFeature.TSS) ?? false;
28
+ }
29
+ /** inherited doc */
30
+ getDefaultMultisigType() {
31
+ return this.staticsCoin?.features.includes(statics_1.CoinFeature.TSS) ? sdk_core_1.multisigTypes.tss : sdk_core_1.multisigTypes.onchain;
32
+ }
33
+ /** @inheritDoc */
34
+ getMPCAlgorithm() {
35
+ return 'ecdsa';
36
+ }
37
+ async buildUnsignedSweepTxnTSS(params) {
38
+ if (this.staticsCoin?.features.includes(statics_1.CoinFeature.MPCV2)) {
39
+ return this.buildUnsignedSweepTxnMPCv2(params);
40
+ }
41
+ return super.buildUnsignedSweepTxnTSS(params);
42
+ }
43
+ /**
44
+ * Make a query to chain explorer for information such as balance, token balance, solidity calls
45
+ * @param {Object} query key-value pairs of parameters to append after /api
46
+ * @param {string} apiKey optional API key to use for the query falls back to EVM config if not provided
47
+ * @returns {Promise<Object>} response from chain explorer
48
+ */
49
+ async recoveryBlockchainExplorerQuery(query, apiKey) {
50
+ const evmConfig = sdk_core_1.common.Environments[this.bitgo.getEnv()].evm;
51
+ (0, assert_1.default)(evmConfig && this.getFamily() in evmConfig, `env config is missing for ${this.getFamily()} in ${this.bitgo.getEnv()}`);
52
+ const apiToken = apiKey || evmConfig[this.getFamily()].apiToken;
53
+ const explorerUrl = evmConfig[this.getFamily()].baseUrl;
54
+ return await (0, abstract_eth_1.recoveryBlockchainExplorerQuery)(query, explorerUrl, apiToken);
55
+ }
56
+ /** @inheritDoc */
57
+ async verifyTssTransaction(params) {
58
+ const supportsEIP1559 = this.staticsCoin?.features?.includes(statics_1.CoinFeature.EIP1559);
59
+ if (supportsEIP1559) {
60
+ return await super.verifyTssTransaction(params);
61
+ }
62
+ else {
63
+ return await this.verifyLegacyTssTransaction(params);
64
+ }
65
+ }
66
+ /**
67
+ * Verifies legacy (non-EIP-1559) TSS transactions with basic validation.
68
+ */
69
+ async verifyLegacyTssTransaction(params) {
70
+ const { txParams, txPrebuild, wallet } = params;
71
+ // Basic validation for legacy transactions only
72
+ if (!txParams?.recipients &&
73
+ !(txParams.prebuildTx?.consolidateId ||
74
+ (txParams.type && ['acceleration', 'fillNonce', 'transferToken', 'tokenApproval'].includes(txParams.type)))) {
75
+ throw new Error(`missing txParams`);
76
+ }
77
+ if (!wallet || !txPrebuild) {
78
+ throw new Error(`missing params`);
79
+ }
80
+ if (txParams.hop && txParams.recipients && txParams.recipients.length > 1) {
81
+ throw new Error(`tx cannot be both a batch and hop transaction`);
82
+ }
83
+ // If validation passes, consider it verified
84
+ return true;
85
+ }
86
+ }
87
+ exports.EvmCoin = EvmCoin;
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZtQ29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldm1Db2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztHQUVHO0FBQ0gsbURBQThHO0FBQzlHLGlEQUFzRjtBQUN0RiwyREFRa0M7QUFDbEMsK0JBQTJDO0FBQzNDLG9EQUE0QjtBQUU1QixNQUFhLE9BQVEsU0FBUSxzQ0FBdUI7SUFDbEQsWUFBc0IsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVTLHFCQUFxQjtRQUM3QixPQUFPLElBQUksd0JBQWtCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFXLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyx3QkFBYSxDQUFDLE9BQU8sQ0FBQztJQUMxRyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGVBQWU7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRVMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE1BQXNCO1FBQzdELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzRCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLCtCQUErQixDQUNuQyxLQUE2QixFQUM3QixNQUFlO1FBRWYsTUFBTSxTQUFTLEdBQUcsaUJBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMvRCxJQUFBLGdCQUFNLEVBQ0osU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxTQUFTLEVBQzFDLDZCQUE2QixJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUMxRSxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDaEUsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN4RCxPQUFPLE1BQU0sSUFBQSw4Q0FBK0IsRUFBQyxLQUFLLEVBQUUsV0FBcUIsRUFBRSxRQUFrQixDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBbUM7UUFDNUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEYsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixPQUFPLE1BQU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxNQUFNLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssS0FBSyxDQUFDLDBCQUEwQixDQUFDLE1BQW1DO1FBQzFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUVoRCxnREFBZ0Q7UUFDaEQsSUFDRSxDQUFDLFFBQVEsRUFBRSxVQUFVO1lBQ3JCLENBQUMsQ0FDQyxRQUFRLENBQUMsVUFBVSxFQUFFLGFBQWE7Z0JBQ2xDLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDM0csRUFDRCxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxRSxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUVELDZDQUE2QztRQUM3QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQTlGRCwwQkE4RkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlLCBjb21tb24sIE1QQ0FsZ29yaXRobSwgTXVsdGlzaWdUeXBlLCBtdWx0aXNpZ1R5cGVzIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBDb2luRmVhdHVyZSwgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEFic3RyYWN0RXRoTGlrZU5ld0NvaW5zLFxuICBPZmZsaW5lVmF1bHRUeEluZm8sXG4gIFJlY292ZXJPcHRpb25zLFxuICByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5LFxuICBUcmFuc2FjdGlvbkJ1aWxkZXIgYXMgRXRoTGlrZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgVW5zaWduZWRTd2VlcFR4TVBDdjIsXG4gIFZlcmlmeUV0aFRyYW5zYWN0aW9uT3B0aW9ucyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vbGliJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuZXhwb3J0IGNsYXNzIEV2bUNvaW4gZXh0ZW5kcyBBYnN0cmFjdEV0aExpa2VOZXdDb2lucyB7XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IEV2bUNvaW4oYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvbkJ1aWxkZXIoKTogRXRoTGlrZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KHRoaXMuZ2V0QmFzZUNoYWluKCkpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0aWNzQ29pbj8uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuVFNTKSA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKiBpbmhlcml0ZWQgZG9jICovXG4gIGdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKTogTXVsdGlzaWdUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0aWNzQ29pbj8uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuVFNTKSA/IG11bHRpc2lnVHlwZXMudHNzIDogbXVsdGlzaWdUeXBlcy5vbmNoYWluO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG0ge1xuICAgIHJldHVybiAnZWNkc2EnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkVW5zaWduZWRTd2VlcFR4blRTUyhwYXJhbXM6IFJlY292ZXJPcHRpb25zKTogUHJvbWlzZTxPZmZsaW5lVmF1bHRUeEluZm8gfCBVbnNpZ25lZFN3ZWVwVHhNUEN2Mj4ge1xuICAgIGlmICh0aGlzLnN0YXRpY3NDb2luPy5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5NUENWMikpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkVW5zaWduZWRTd2VlcFR4bk1QQ3YyKHBhcmFtcyk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5idWlsZFVuc2lnbmVkU3dlZXBUeG5UU1MocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYWtlIGEgcXVlcnkgdG8gY2hhaW4gZXhwbG9yZXIgZm9yIGluZm9ybWF0aW9uIHN1Y2ggYXMgYmFsYW5jZSwgdG9rZW4gYmFsYW5jZSwgc29saWRpdHkgY2FsbHNcbiAgICogQHBhcmFtIHtPYmplY3R9IHF1ZXJ5IGtleS12YWx1ZSBwYWlycyBvZiBwYXJhbWV0ZXJzIHRvIGFwcGVuZCBhZnRlciAvYXBpXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcGlLZXkgb3B0aW9uYWwgQVBJIGtleSB0byB1c2UgZm9yIHRoZSBxdWVyeSBmYWxscyBiYWNrIHRvIEVWTSBjb25maWcgaWYgbm90IHByb3ZpZGVkXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPE9iamVjdD59IHJlc3BvbnNlIGZyb20gY2hhaW4gZXhwbG9yZXJcbiAgICovXG4gIGFzeW5jIHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnkoXG4gICAgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgYXBpS2V5Pzogc3RyaW5nXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICBjb25zdCBldm1Db25maWcgPSBjb21tb24uRW52aXJvbm1lbnRzW3RoaXMuYml0Z28uZ2V0RW52KCldLmV2bTtcbiAgICBhc3NlcnQoXG4gICAgICBldm1Db25maWcgJiYgdGhpcy5nZXRGYW1pbHkoKSBpbiBldm1Db25maWcsXG4gICAgICBgZW52IGNvbmZpZyBpcyBtaXNzaW5nIGZvciAke3RoaXMuZ2V0RmFtaWx5KCl9IGluICR7dGhpcy5iaXRnby5nZXRFbnYoKX1gXG4gICAgKTtcblxuICAgIGNvbnN0IGFwaVRva2VuID0gYXBpS2V5IHx8IGV2bUNvbmZpZ1t0aGlzLmdldEZhbWlseSgpXS5hcGlUb2tlbjtcbiAgICBjb25zdCBleHBsb3JlclVybCA9IGV2bUNvbmZpZ1t0aGlzLmdldEZhbWlseSgpXS5iYXNlVXJsO1xuICAgIHJldHVybiBhd2FpdCByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KHF1ZXJ5LCBleHBsb3JlclVybCBhcyBzdHJpbmcsIGFwaVRva2VuIGFzIHN0cmluZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXN5bmMgdmVyaWZ5VHNzVHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlFdGhUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzdXBwb3J0c0VJUDE1NTkgPSB0aGlzLnN0YXRpY3NDb2luPy5mZWF0dXJlcz8uaW5jbHVkZXMoQ29pbkZlYXR1cmUuRUlQMTU1OSk7XG4gICAgaWYgKHN1cHBvcnRzRUlQMTU1OSkge1xuICAgICAgcmV0dXJuIGF3YWl0IHN1cGVyLnZlcmlmeVRzc1RyYW5zYWN0aW9uKHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnZlcmlmeUxlZ2FjeVRzc1RyYW5zYWN0aW9uKHBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIGxlZ2FjeSAobm9uLUVJUC0xNTU5KSBUU1MgdHJhbnNhY3Rpb25zIHdpdGggYmFzaWMgdmFsaWRhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgdmVyaWZ5TGVnYWN5VHNzVHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlFdGhUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IHR4UGFyYW1zLCB0eFByZWJ1aWxkLCB3YWxsZXQgfSA9IHBhcmFtcztcblxuICAgIC8vIEJhc2ljIHZhbGlkYXRpb24gZm9yIGxlZ2FjeSB0cmFuc2FjdGlvbnMgb25seVxuICAgIGlmIChcbiAgICAgICF0eFBhcmFtcz8ucmVjaXBpZW50cyAmJlxuICAgICAgIShcbiAgICAgICAgdHhQYXJhbXMucHJlYnVpbGRUeD8uY29uc29saWRhdGVJZCB8fFxuICAgICAgICAodHhQYXJhbXMudHlwZSAmJiBbJ2FjY2VsZXJhdGlvbicsICdmaWxsTm9uY2UnLCAndHJhbnNmZXJUb2tlbicsICd0b2tlbkFwcHJvdmFsJ10uaW5jbHVkZXModHhQYXJhbXMudHlwZSkpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG1pc3NpbmcgdHhQYXJhbXNgKTtcbiAgICB9XG5cbiAgICBpZiAoIXdhbGxldCB8fCAhdHhQcmVidWlsZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBtaXNzaW5nIHBhcmFtc2ApO1xuICAgIH1cblxuICAgIGlmICh0eFBhcmFtcy5ob3AgJiYgdHhQYXJhbXMucmVjaXBpZW50cyAmJiB0eFBhcmFtcy5yZWNpcGllbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdHggY2Fubm90IGJlIGJvdGggYSBiYXRjaCBhbmQgaG9wIHRyYW5zYWN0aW9uYCk7XG4gICAgfVxuXG4gICAgLy8gSWYgdmFsaWRhdGlvbiBwYXNzZXMsIGNvbnNpZGVyIGl0IHZlcmlmaWVkXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -1 +1,5 @@
1
+ export * from './evmCoin';
2
+ export * from './lib';
3
+ export * from './register';
4
+ export * from './ethLikeErc20Token';
1
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}
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
@@ -1 +1,21 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIiJdfQ==
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./evmCoin"), exports);
18
+ __exportStar(require("./lib"), exports);
19
+ __exportStar(require("./register"), exports);
20
+ __exportStar(require("./ethLikeErc20Token"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQix3Q0FBc0I7QUFDdEIsNkNBQTJCO0FBQzNCLHNEQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXZtQ29pbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZXRoTGlrZUVyYzIwVG9rZW4nO1xuIl19
@@ -0,0 +1,6 @@
1
+ import * as Utils from './utils';
2
+ export { TransactionBuilder } from './transactionBuilder';
3
+ export { TransferBuilder } from './transferBuilder';
4
+ export { Transaction, KeyPair } from '@bitgo-beta/abstract-eth';
5
+ export { Utils };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Utils = exports.KeyPair = exports.Transaction = exports.TransferBuilder = exports.TransactionBuilder = void 0;
37
+ const Utils = __importStar(require("./utils"));
38
+ exports.Utils = Utils;
39
+ var transactionBuilder_1 = require("./transactionBuilder");
40
+ Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
41
+ var transferBuilder_1 = require("./transferBuilder");
42
+ Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
43
+ var abstract_eth_1 = require("@bitgo-beta/abstract-eth");
44
+ Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return abstract_eth_1.Transaction; } });
45
+ Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return abstract_eth_1.KeyPair; } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUt4QixzQkFBSztBQUhkLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHlEQUFnRTtBQUF2RCwyR0FBQSxXQUFXLE9BQUE7QUFBRSx1R0FBQSxPQUFPLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb24sIEtleVBhaXIgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuZXhwb3J0IHsgVXRpbHMgfTtcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { TransactionBuilder as AbstractTransactionBuilder } from '@bitgo-beta/abstract-eth';
3
+ import { TransferBuilder } from './transferBuilder';
4
+ export declare class TransactionBuilder extends AbstractTransactionBuilder {
5
+ protected _transfer: TransferBuilder;
6
+ private _signatures;
7
+ constructor(_coinConfig: Readonly<CoinConfig>);
8
+ /** @inheritdoc */
9
+ transfer(data?: string): TransferBuilder;
10
+ addSignature(publicKey: any, signature: any): void;
11
+ protected getContractData(addresses: string[]): string;
12
+ }
13
+ //# sourceMappingURL=transactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,IAAI,0BAA0B,EAAe,MAAM,0BAA0B,CAAC;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,kBAAmB,SAAQ,0BAA0B;IAChE,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;IACrC,OAAO,CAAC,WAAW,CAAM;gBAEb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe;IAUxC,YAAY,CAAC,SAAS,KAAA,EAAE,SAAS,KAAA;IAKjC,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;CAGvD"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
6
+ const utils_1 = require("./utils");
7
+ const transferBuilder_1 = require("./transferBuilder");
8
+ class TransactionBuilder extends abstract_eth_1.TransactionBuilder {
9
+ constructor(_coinConfig) {
10
+ super(_coinConfig);
11
+ this._common = (0, utils_1.getCommon)(this._coinConfig);
12
+ this.transaction = new abstract_eth_1.Transaction(this._coinConfig, this._common);
13
+ }
14
+ /** @inheritdoc */
15
+ transfer(data) {
16
+ if (this._type !== sdk_core_1.TransactionType.Send) {
17
+ throw new sdk_core_1.BuildTransactionError('Transfers can only be set for send transactions');
18
+ }
19
+ if (!this._transfer) {
20
+ this._transfer = new transferBuilder_1.TransferBuilder(data);
21
+ }
22
+ return this._transfer;
23
+ }
24
+ addSignature(publicKey, signature) {
25
+ this._signatures = [];
26
+ this._signatures.push({ publicKey, signature });
27
+ }
28
+ getContractData(addresses) {
29
+ throw new Error('Method not implemented.');
30
+ }
31
+ }
32
+ exports.TransactionBuilder = TransactionBuilder;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQThFO0FBQzlFLDJEQUF5RztBQUN6RyxtQ0FBb0M7QUFDcEMsdURBQW9EO0FBRXBELE1BQWEsa0JBQW1CLFNBQVEsaUNBQTBCO0lBSWhFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBQSxpQkFBUyxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksMEJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFFBQVEsQ0FBQyxJQUFhO1FBQ3BCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSywwQkFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFTLEVBQUUsU0FBUztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFUyxlQUFlLENBQUMsU0FBbUI7UUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRjtBQTdCRCxnREE2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciBhcyBBYnN0cmFjdFRyYW5zYWN0aW9uQnVpbGRlciwgVHJhbnNhY3Rpb24gfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHsgZ2V0Q29tbW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBBYnN0cmFjdFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfdHJhbnNmZXI6IFRyYW5zZmVyQnVpbGRlcjtcbiAgcHJpdmF0ZSBfc2lnbmF0dXJlczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9jb21tb24gPSBnZXRDb21tb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRyYW5zZmVyKGRhdGE/OiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIGlmICh0aGlzLl90eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU2VuZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNmZXJzIGNhbiBvbmx5IGJlIHNldCBmb3Igc2VuZCB0cmFuc2FjdGlvbnMnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl90cmFuc2Zlcikge1xuICAgICAgdGhpcy5fdHJhbnNmZXIgPSBuZXcgVHJhbnNmZXJCdWlsZGVyKGRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNmZXI7XG4gIH1cblxuICBhZGRTaWduYXR1cmUocHVibGljS2V5LCBzaWduYXR1cmUpIHtcbiAgICB0aGlzLl9zaWduYXR1cmVzID0gW107XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHsgcHVibGljS2V5LCBzaWduYXR1cmUgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29udHJhY3REYXRhKGFkZHJlc3Nlczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export { TransferBuilder } from '@bitgo-beta/abstract-eth';
2
+ //# sourceMappingURL=transferBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransferBuilder = void 0;
4
+ var abstract_eth_1 = require("@bitgo-beta/abstract-eth");
5
+ Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return abstract_eth_1.TransferBuilder; } });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseURBQTJEO0FBQWxELCtHQUFBLGVBQWUsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { BaseCoin } from '@bitgo-beta/statics';
2
+ import EthereumCommon from '@ethereumjs/common';
3
+ /**
4
+ * @param {NetworkType} network either mainnet or testnet
5
+ * @returns {EthereumCommon} Ethereum common configuration object
6
+ */
7
+ export declare function getCommon(coin: Readonly<BaseCoin>): EthereumCommon;
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +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;AAGhD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,cAAc,CAgBlE"}
@@ -0,0 +1,28 @@
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.getCommon = getCommon;
7
+ const statics_1 = require("@bitgo-beta/statics");
8
+ const common_1 = __importDefault(require("@ethereumjs/common"));
9
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
10
+ /**
11
+ * @param {NetworkType} network either mainnet or testnet
12
+ * @returns {EthereumCommon} Ethereum common configuration object
13
+ */
14
+ function getCommon(coin) {
15
+ if (!coin.features.includes(statics_1.CoinFeature.SHARED_EVM_SDK)) {
16
+ throw new sdk_core_1.InvalidTransactionError(`Cannot use common sdk module for the coin ${coin.name}`);
17
+ }
18
+ return common_1.default.custom({
19
+ name: coin.network.name,
20
+ networkId: coin.network.chainId,
21
+ chainId: coin.network.chainId,
22
+ }, {
23
+ baseChain: coin.network.type === statics_1.NetworkType.MAINNET ? 'mainnet' : 'sepolia',
24
+ hardfork: coin.features.includes(statics_1.CoinFeature.EIP1559) ? 'london' : undefined,
25
+ eips: coin.features.includes(statics_1.CoinFeature.EIP1559) ? [1559] : undefined,
26
+ });
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBUUEsOEJBZ0JDO0FBeEJELGlEQUEwRjtBQUMxRixnRUFBZ0Q7QUFDaEQsbURBQStEO0FBRS9EOzs7R0FHRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxJQUF3QjtJQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMscUJBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3hELE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2Q0FBNkMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUNELE9BQU8sZ0JBQWMsQ0FBQyxNQUFNLENBQzFCO1FBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTtRQUN2QixTQUFTLEVBQUcsSUFBSSxDQUFDLE9BQTJCLENBQUMsT0FBTztRQUNwRCxPQUFPLEVBQUcsSUFBSSxDQUFDLE9BQTJCLENBQUMsT0FBTztLQUNuRCxFQUNEO1FBQ0UsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLHFCQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDNUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUM1RSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztLQUN2RSxDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29pbkZlYXR1cmUsIE5ldHdvcmtUeXBlLCBCYXNlQ29pbiwgRXRoZXJldW1OZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgRXRoZXJldW1Db21tb24gZnJvbSAnQGV0aGVyZXVtanMvY29tbW9uJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG4vKipcbiAqIEBwYXJhbSB7TmV0d29ya1R5cGV9IG5ldHdvcmsgZWl0aGVyIG1haW5uZXQgb3IgdGVzdG5ldFxuICogQHJldHVybnMge0V0aGVyZXVtQ29tbW9ufSBFdGhlcmV1bSBjb21tb24gY29uZmlndXJhdGlvbiBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbW1vbihjb2luOiBSZWFkb25seTxCYXNlQ29pbj4pOiBFdGhlcmV1bUNvbW1vbiB7XG4gIGlmICghY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfRVZNX1NESykpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYENhbm5vdCB1c2UgY29tbW9uIHNkayBtb2R1bGUgZm9yIHRoZSBjb2luICR7Y29pbi5uYW1lfWApO1xuICB9XG4gIHJldHVybiBFdGhlcmV1bUNvbW1vbi5jdXN0b20oXG4gICAge1xuICAgICAgbmFtZTogY29pbi5uZXR3b3JrLm5hbWUsXG4gICAgICBuZXR3b3JrSWQ6IChjb2luLm5ldHdvcmsgYXMgRXRoZXJldW1OZXR3b3JrKS5jaGFpbklkLFxuICAgICAgY2hhaW5JZDogKGNvaW4ubmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspLmNoYWluSWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBiYXNlQ2hhaW46IGNvaW4ubmV0d29yay50eXBlID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUID8gJ21haW5uZXQnIDogJ3NlcG9saWEnLFxuICAgICAgaGFyZGZvcms6IGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuRUlQMTU1OSkgPyAnbG9uZG9uJyA6IHVuZGVmaW5lZCxcbiAgICAgIGVpcHM6IGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuRUlQMTU1OSkgPyBbMTU1OV0gOiB1bmRlZmluZWQsXG4gICAgfVxuICApO1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ import { BitGoBase } from '@bitgo-beta/sdk-core';
2
+ export declare const registerAll: (sdk: BitGoBase) => void;
3
+ export declare const register: (coinFamily: string, sdk: BitGoBase) => void;
4
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.register = exports.registerAll = void 0;
4
+ const statics_1 = require("@bitgo-beta/statics");
5
+ const evmCoin_1 = require("./evmCoin");
6
+ const ethLikeErc20Token_1 = require("./ethLikeErc20Token");
7
+ const registerAll = (sdk) => {
8
+ statics_1.coins
9
+ .filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_SDK) && coin.network.type === statics_1.NetworkType.MAINNET && !coin.isToken)
10
+ .forEach((coin) => {
11
+ (0, exports.register)(coin.family, sdk);
12
+ });
13
+ };
14
+ exports.registerAll = registerAll;
15
+ const register = (coinFamily, sdk) => {
16
+ const coinFeatures = statics_1.coins.get(coinFamily).features;
17
+ statics_1.coins
18
+ .filter((coin) => coin.family === coinFamily && !coin.isToken)
19
+ .forEach((coin) => {
20
+ // Handle SHARED_EVM_SDK registration
21
+ if (coinFeatures.includes(statics_1.CoinFeature.SHARED_EVM_SDK)) {
22
+ sdk.register(coin.name, evmCoin_1.EvmCoin.createInstance);
23
+ }
24
+ // Handle SUPPORTS_ERC20 registration
25
+ if (coinFeatures.includes(statics_1.CoinFeature.SUPPORTS_ERC20)) {
26
+ const coinNames = {
27
+ Mainnet: `${coin.name}`,
28
+ Testnet: `${coin.name}`,
29
+ };
30
+ ethLikeErc20Token_1.EthLikeErc20Token.createTokenConstructors(coinNames).forEach(({ name, coinConstructor }) => {
31
+ sdk.register(name, coinConstructor);
32
+ });
33
+ }
34
+ });
35
+ };
36
+ exports.register = register;
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.1-beta.3",
3
+ "version": "1.0.1-beta.300",
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",
@@ -15,6 +15,12 @@
15
15
  "unit-test": "mocha",
16
16
  "prepare": "npm run build"
17
17
  },
18
+ "dependencies": {
19
+ "@bitgo-beta/abstract-eth": "1.0.2-beta.1471",
20
+ "@bitgo-beta/sdk-core": "8.2.1-beta.1241",
21
+ "@bitgo-beta/statics": "15.1.1-beta.1244",
22
+ "@ethereumjs/common": "^2.6.5"
23
+ },
18
24
  "author": "BitGo SDK Team <sdkteam@bitgo.com>",
19
25
  "license": "MIT",
20
26
  "repository": {
@@ -39,5 +45,5 @@
39
45
  ".ts"
40
46
  ]
41
47
  },
42
- "gitHead": "a4fea00c0b9d2cf19155765dc6273fa4715abf25"
48
+ "gitHead": "e4034ba7aa2e93fe7683c6f08ce98ba9bafe0b79"
43
49
  }