@bitgo-beta/statics 15.1.1-beta.98 → 15.1.1-beta.981

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.
Files changed (77) hide show
  1. package/.mocharc.js +1 -1
  2. package/CHANGELOG.md +2896 -0
  3. package/dist/src/account.d.ts +583 -31
  4. package/dist/src/account.d.ts.map +1 -1
  5. package/dist/src/account.js +960 -127
  6. package/dist/src/ada.d.ts.map +1 -1
  7. package/dist/src/ada.js +6 -3
  8. package/dist/src/avaxp.d.ts.map +1 -1
  9. package/dist/src/avaxp.js +7 -3
  10. package/dist/src/base.d.ts +1496 -40
  11. package/dist/src/base.d.ts.map +1 -1
  12. package/dist/src/base.js +1554 -50
  13. package/dist/src/coinFeatures.d.ts +87 -0
  14. package/dist/src/coinFeatures.d.ts.map +1 -0
  15. package/dist/src/coinFeatures.js +560 -0
  16. package/dist/src/coins/avaxTokens.d.ts +2 -0
  17. package/dist/src/coins/avaxTokens.d.ts.map +1 -0
  18. package/dist/src/coins/avaxTokens.js +97 -0
  19. package/dist/src/coins/bscTokens.d.ts +2 -0
  20. package/dist/src/coins/bscTokens.d.ts.map +1 -0
  21. package/dist/src/coins/bscTokens.js +157 -0
  22. package/dist/src/coins/erc20Coins.d.ts +2 -0
  23. package/dist/src/coins/erc20Coins.d.ts.map +1 -0
  24. package/dist/src/coins/erc20Coins.js +1437 -0
  25. package/dist/src/coins/nep141Tokens.d.ts +2 -0
  26. package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
  27. package/dist/src/coins/nep141Tokens.js +14 -0
  28. package/dist/src/coins/ofcCoins.d.ts +2 -0
  29. package/dist/src/coins/ofcCoins.d.ts.map +1 -0
  30. package/dist/src/coins/ofcCoins.js +566 -0
  31. package/dist/src/coins/ofcErc20Coins.d.ts +3 -0
  32. package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
  33. package/dist/src/coins/ofcErc20Coins.js +1337 -0
  34. package/dist/src/coins/polygonTokens.d.ts +2 -0
  35. package/dist/src/coins/polygonTokens.d.ts.map +1 -0
  36. package/dist/src/coins/polygonTokens.js +147 -0
  37. package/dist/src/coins/sip10Tokens.d.ts +2 -0
  38. package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
  39. package/dist/src/coins/sip10Tokens.js +25 -0
  40. package/dist/src/coins/solTokens.d.ts +2 -0
  41. package/dist/src/coins/solTokens.d.ts.map +1 -0
  42. package/dist/src/coins/solTokens.js +362 -0
  43. package/dist/src/coins/vetTokens.d.ts +2 -0
  44. package/dist/src/coins/vetTokens.d.ts.map +1 -0
  45. package/dist/src/coins/vetTokens.js +11 -0
  46. package/dist/src/coins.d.ts +10 -1
  47. package/dist/src/coins.d.ts.map +1 -1
  48. package/dist/src/coins.js +679 -1511
  49. package/dist/src/constants.d.ts +1 -0
  50. package/dist/src/constants.d.ts.map +1 -1
  51. package/dist/src/constants.js +3 -2
  52. package/dist/src/index.d.ts +3 -1
  53. package/dist/src/index.d.ts.map +1 -1
  54. package/dist/src/index.js +20 -3
  55. package/dist/src/lightning.d.ts +43 -0
  56. package/dist/src/lightning.d.ts.map +1 -0
  57. package/dist/src/lightning.js +60 -0
  58. package/dist/src/map.d.ts +4 -0
  59. package/dist/src/map.d.ts.map +1 -1
  60. package/dist/src/map.js +95 -19
  61. package/dist/src/networkFeatureMapForTokens.d.ts +3 -0
  62. package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
  63. package/dist/src/networkFeatureMapForTokens.js +29 -0
  64. package/dist/src/networks.d.ts +713 -1
  65. package/dist/src/networks.d.ts.map +1 -1
  66. package/dist/src/networks.js +941 -42
  67. package/dist/src/ofc.d.ts +349 -0
  68. package/dist/src/ofc.d.ts.map +1 -1
  69. package/dist/src/ofc.js +724 -14
  70. package/dist/src/tokenConfig.d.ts +168 -14
  71. package/dist/src/tokenConfig.d.ts.map +1 -1
  72. package/dist/src/tokenConfig.js +659 -238
  73. package/dist/src/utxo.d.ts +3 -1
  74. package/dist/src/utxo.d.ts.map +1 -1
  75. package/dist/src/utxo.js +82 -3
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/package.json +2 -2
@@ -1,2 +1,3 @@
1
1
  export declare const DOMAIN_PATTERN: RegExp;
2
+ export declare const HEDERA_NODE_ACCCOUNT_ID = "0.0.3";
2
3
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAiF,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAiF,CAAC;AAE7G,eAAO,MAAM,uBAAuB,UAAU,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DOMAIN_PATTERN = void 0;
3
+ exports.HEDERA_NODE_ACCCOUNT_ID = exports.DOMAIN_PATTERN = void 0;
4
4
  exports.DOMAIN_PATTERN = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGNBQWMsR0FBRyw4RUFBOEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBET01BSU5fUEFUVEVSTiA9IC9eKD86W2EtejAtOV0oPzpbYS16MC05LV17MCw2MX1bYS16MC05XSk/XFwuKStbYS16MC05XVthLXowLTktXXswLDYxfVthLXowLTldJC87XG4iXX0=
5
+ exports.HEDERA_NODE_ACCCOUNT_ID = '0.0.3';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGNBQWMsR0FBRyw4RUFBOEUsQ0FBQztBQUVoRyxRQUFBLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBET01BSU5fUEFUVEVSTiA9IC9eKD86W2EtejAtOV0oPzpbYS16MC05LV17MCw2MX1bYS16MC05XSk/XFwuKStbYS16MC05XVthLXowLTktXXswLDYxfVthLXowLTldJC87XG5cbmV4cG9ydCBjb25zdCBIRURFUkFfTk9ERV9BQ0NDT1VOVF9JRCA9ICcwLjAuMyc7XG4iXX0=
@@ -5,6 +5,8 @@ export * from './errors';
5
5
  export * from './tokenConfig';
6
6
  export { OfcCoin } from './ofc';
7
7
  export { UtxoCoin } from './utxo';
8
- export { AccountCoin, CeloCoin, ContractAddressDefinedToken, Erc20Coin, StellarCoin, EosCoin, AlgoCoin, AvaxERC20Token, SolCoin, HederaToken, TronErc20Coin, } from './account';
8
+ export { LightningCoin } from './lightning';
9
+ export { AccountCoin, GasTankAccountCoin, CeloCoin, ContractAddressDefinedToken, Erc20Coin, StellarCoin, EosCoin, AlgoCoin, AvaxERC20Token, NFTCollectionIdDefinedToken, SolCoin, HederaToken, TronErc20Coin, SuiCoin, XrpCoin, AptCoin, AptNFTCollection, Sip10Token, Nep141Token, VetToken, } from './account';
9
10
  export { CoinMap } from './map';
11
+ export { networkFeatureMapForTokens } from './networkFeatureMapForTokens';
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,2BAA2B,EAC3B,SAAS,EACT,WAAW,EACX,OAAO,EACP,QAAQ,EACR,cAAc,EACd,OAAO,EACP,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,2BAA2B,EAC3B,SAAS,EACT,WAAW,EACX,OAAO,EACP,QAAQ,EACR,cAAc,EACd,2BAA2B,EAC3B,OAAO,EACP,WAAW,EACX,aAAa,EACb,OAAO,EACP,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -10,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.CoinMap = exports.TronErc20Coin = exports.HederaToken = exports.SolCoin = exports.AvaxERC20Token = exports.AlgoCoin = exports.EosCoin = exports.StellarCoin = exports.Erc20Coin = exports.ContractAddressDefinedToken = exports.CeloCoin = exports.AccountCoin = exports.UtxoCoin = exports.OfcCoin = void 0;
17
+ exports.networkFeatureMapForTokens = exports.CoinMap = exports.VetToken = exports.Nep141Token = exports.Sip10Token = exports.AptNFTCollection = exports.AptCoin = exports.XrpCoin = exports.SuiCoin = exports.TronErc20Coin = exports.HederaToken = exports.SolCoin = exports.NFTCollectionIdDefinedToken = exports.AvaxERC20Token = exports.AlgoCoin = exports.EosCoin = exports.StellarCoin = exports.Erc20Coin = exports.ContractAddressDefinedToken = exports.CeloCoin = exports.GasTankAccountCoin = exports.AccountCoin = exports.LightningCoin = exports.UtxoCoin = exports.OfcCoin = void 0;
14
18
  __exportStar(require("./base"), exports);
15
19
  __exportStar(require("./coins"), exports);
16
20
  __exportStar(require("./networks"), exports);
@@ -20,8 +24,11 @@ var ofc_1 = require("./ofc");
20
24
  Object.defineProperty(exports, "OfcCoin", { enumerable: true, get: function () { return ofc_1.OfcCoin; } });
21
25
  var utxo_1 = require("./utxo");
22
26
  Object.defineProperty(exports, "UtxoCoin", { enumerable: true, get: function () { return utxo_1.UtxoCoin; } });
27
+ var lightning_1 = require("./lightning");
28
+ Object.defineProperty(exports, "LightningCoin", { enumerable: true, get: function () { return lightning_1.LightningCoin; } });
23
29
  var account_1 = require("./account");
24
30
  Object.defineProperty(exports, "AccountCoin", { enumerable: true, get: function () { return account_1.AccountCoin; } });
31
+ Object.defineProperty(exports, "GasTankAccountCoin", { enumerable: true, get: function () { return account_1.GasTankAccountCoin; } });
25
32
  Object.defineProperty(exports, "CeloCoin", { enumerable: true, get: function () { return account_1.CeloCoin; } });
26
33
  Object.defineProperty(exports, "ContractAddressDefinedToken", { enumerable: true, get: function () { return account_1.ContractAddressDefinedToken; } });
27
34
  Object.defineProperty(exports, "Erc20Coin", { enumerable: true, get: function () { return account_1.Erc20Coin; } });
@@ -29,9 +36,19 @@ Object.defineProperty(exports, "StellarCoin", { enumerable: true, get: function
29
36
  Object.defineProperty(exports, "EosCoin", { enumerable: true, get: function () { return account_1.EosCoin; } });
30
37
  Object.defineProperty(exports, "AlgoCoin", { enumerable: true, get: function () { return account_1.AlgoCoin; } });
31
38
  Object.defineProperty(exports, "AvaxERC20Token", { enumerable: true, get: function () { return account_1.AvaxERC20Token; } });
39
+ Object.defineProperty(exports, "NFTCollectionIdDefinedToken", { enumerable: true, get: function () { return account_1.NFTCollectionIdDefinedToken; } });
32
40
  Object.defineProperty(exports, "SolCoin", { enumerable: true, get: function () { return account_1.SolCoin; } });
33
41
  Object.defineProperty(exports, "HederaToken", { enumerable: true, get: function () { return account_1.HederaToken; } });
34
42
  Object.defineProperty(exports, "TronErc20Coin", { enumerable: true, get: function () { return account_1.TronErc20Coin; } });
43
+ Object.defineProperty(exports, "SuiCoin", { enumerable: true, get: function () { return account_1.SuiCoin; } });
44
+ Object.defineProperty(exports, "XrpCoin", { enumerable: true, get: function () { return account_1.XrpCoin; } });
45
+ Object.defineProperty(exports, "AptCoin", { enumerable: true, get: function () { return account_1.AptCoin; } });
46
+ Object.defineProperty(exports, "AptNFTCollection", { enumerable: true, get: function () { return account_1.AptNFTCollection; } });
47
+ Object.defineProperty(exports, "Sip10Token", { enumerable: true, get: function () { return account_1.Sip10Token; } });
48
+ Object.defineProperty(exports, "Nep141Token", { enumerable: true, get: function () { return account_1.Nep141Token; } });
49
+ Object.defineProperty(exports, "VetToken", { enumerable: true, get: function () { return account_1.VetToken; } });
35
50
  var map_1 = require("./map");
36
51
  Object.defineProperty(exports, "CoinMap", { enumerable: true, get: function () { return map_1.CoinMap; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QjtBQUN2QiwwQ0FBd0I7QUFDeEIsNkNBQTJCO0FBQzNCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIsNkJBQWdDO0FBQXZCLDhGQUFBLE9BQU8sT0FBQTtBQUNoQiwrQkFBa0M7QUFBekIsZ0dBQUEsUUFBUSxPQUFBO0FBQ2pCLHFDQVltQjtBQVhqQixzR0FBQSxXQUFXLE9BQUE7QUFDWCxtR0FBQSxRQUFRLE9BQUE7QUFDUixzSEFBQSwyQkFBMkIsT0FBQTtBQUMzQixvR0FBQSxTQUFTLE9BQUE7QUFDVCxzR0FBQSxXQUFXLE9BQUE7QUFDWCxrR0FBQSxPQUFPLE9BQUE7QUFDUCxtR0FBQSxRQUFRLE9BQUE7QUFDUix5R0FBQSxjQUFjLE9BQUE7QUFDZCxrR0FBQSxPQUFPLE9BQUE7QUFDUCxzR0FBQSxXQUFXLE9BQUE7QUFDWCx3R0FBQSxhQUFhLE9BQUE7QUFFZiw2QkFBZ0M7QUFBdkIsOEZBQUEsT0FBTyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29pbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9uZXR3b3Jrcyc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2VuQ29uZmlnJztcbmV4cG9ydCB7IE9mY0NvaW4gfSBmcm9tICcuL29mYyc7XG5leHBvcnQgeyBVdHhvQ29pbiB9IGZyb20gJy4vdXR4byc7XG5leHBvcnQge1xuICBBY2NvdW50Q29pbixcbiAgQ2Vsb0NvaW4sXG4gIENvbnRyYWN0QWRkcmVzc0RlZmluZWRUb2tlbixcbiAgRXJjMjBDb2luLFxuICBTdGVsbGFyQ29pbixcbiAgRW9zQ29pbixcbiAgQWxnb0NvaW4sXG4gIEF2YXhFUkMyMFRva2VuLFxuICBTb2xDb2luLFxuICBIZWRlcmFUb2tlbixcbiAgVHJvbkVyYzIwQ29pbixcbn0gZnJvbSAnLi9hY2NvdW50JztcbmV4cG9ydCB7IENvaW5NYXAgfSBmcm9tICcuL21hcCc7XG4iXX0=
52
+ var networkFeatureMapForTokens_1 = require("./networkFeatureMapForTokens");
53
+ Object.defineProperty(exports, "networkFeatureMapForTokens", { enumerable: true, get: function () { return networkFeatureMapForTokens_1.networkFeatureMapForTokens; } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLDZDQUEyQjtBQUMzQiwyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLDZCQUFnQztBQUF2Qiw4RkFBQSxPQUFPLE9BQUE7QUFDaEIsK0JBQWtDO0FBQXpCLGdHQUFBLFFBQVEsT0FBQTtBQUNqQix5Q0FBNEM7QUFBbkMsMEdBQUEsYUFBYSxPQUFBO0FBQ3RCLHFDQXFCbUI7QUFwQmpCLHNHQUFBLFdBQVcsT0FBQTtBQUNYLDZHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLG1HQUFBLFFBQVEsT0FBQTtBQUNSLHNIQUFBLDJCQUEyQixPQUFBO0FBQzNCLG9HQUFBLFNBQVMsT0FBQTtBQUNULHNHQUFBLFdBQVcsT0FBQTtBQUNYLGtHQUFBLE9BQU8sT0FBQTtBQUNQLG1HQUFBLFFBQVEsT0FBQTtBQUNSLHlHQUFBLGNBQWMsT0FBQTtBQUNkLHNIQUFBLDJCQUEyQixPQUFBO0FBQzNCLGtHQUFBLE9BQU8sT0FBQTtBQUNQLHNHQUFBLFdBQVcsT0FBQTtBQUNYLHdHQUFBLGFBQWEsT0FBQTtBQUNiLGtHQUFBLE9BQU8sT0FBQTtBQUNQLGtHQUFBLE9BQU8sT0FBQTtBQUNQLGtHQUFBLE9BQU8sT0FBQTtBQUNQLDJHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHFHQUFBLFVBQVUsT0FBQTtBQUNWLHNHQUFBLFdBQVcsT0FBQTtBQUNYLG1HQUFBLFFBQVEsT0FBQTtBQUVWLDZCQUFnQztBQUF2Qiw4RkFBQSxPQUFPLE9BQUE7QUFDaEIsMkVBQTBFO0FBQWpFLHdJQUFBLDBCQUEwQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29pbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9uZXR3b3Jrcyc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2VuQ29uZmlnJztcbmV4cG9ydCB7IE9mY0NvaW4gfSBmcm9tICcuL29mYyc7XG5leHBvcnQgeyBVdHhvQ29pbiB9IGZyb20gJy4vdXR4byc7XG5leHBvcnQgeyBMaWdodG5pbmdDb2luIH0gZnJvbSAnLi9saWdodG5pbmcnO1xuZXhwb3J0IHtcbiAgQWNjb3VudENvaW4sXG4gIEdhc1RhbmtBY2NvdW50Q29pbixcbiAgQ2Vsb0NvaW4sXG4gIENvbnRyYWN0QWRkcmVzc0RlZmluZWRUb2tlbixcbiAgRXJjMjBDb2luLFxuICBTdGVsbGFyQ29pbixcbiAgRW9zQ29pbixcbiAgQWxnb0NvaW4sXG4gIEF2YXhFUkMyMFRva2VuLFxuICBORlRDb2xsZWN0aW9uSWREZWZpbmVkVG9rZW4sXG4gIFNvbENvaW4sXG4gIEhlZGVyYVRva2VuLFxuICBUcm9uRXJjMjBDb2luLFxuICBTdWlDb2luLFxuICBYcnBDb2luLFxuICBBcHRDb2luLFxuICBBcHRORlRDb2xsZWN0aW9uLFxuICBTaXAxMFRva2VuLFxuICBOZXAxNDFUb2tlbixcbiAgVmV0VG9rZW4sXG59IGZyb20gJy4vYWNjb3VudCc7XG5leHBvcnQgeyBDb2luTWFwIH0gZnJvbSAnLi9tYXAnO1xuZXhwb3J0IHsgbmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnMgfSBmcm9tICcuL25ldHdvcmtGZWF0dXJlTWFwRm9yVG9rZW5zJztcbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { BaseCoin, BaseUnit, CoinFeature, KeyCurve, UnderlyingAsset } from './base';
2
+ import { LightningNetwork } from './networks';
3
+ interface LightningConstructorOptions {
4
+ id: string;
5
+ fullName: string;
6
+ name: string;
7
+ network: LightningNetwork;
8
+ features: CoinFeature[];
9
+ asset: UnderlyingAsset;
10
+ baseUnit: BaseUnit;
11
+ prefix?: string;
12
+ suffix?: string;
13
+ primaryKeyCurve: KeyCurve;
14
+ }
15
+ export declare class LightningCoin extends BaseCoin {
16
+ static readonly DEFAULT_FEATURES: CoinFeature[];
17
+ /**
18
+ * Additional fields for lightning coins
19
+ */
20
+ readonly network: LightningNetwork;
21
+ constructor(options: LightningConstructorOptions);
22
+ protected disallowedFeatures(): Set<CoinFeature>;
23
+ protected requiredFeatures(): Set<CoinFeature>;
24
+ }
25
+ /**
26
+ * Factory function for lightning coin instances.
27
+ *
28
+ * @param id uuid v4 of the coin
29
+ * @param name unique identifier of the coin
30
+ * @param fullName Complete human-readable name of the coin
31
+ * @param network Network object for this coin
32
+ * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
33
+ * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `LightningCoin`
34
+ * @param prefix? Optional coin prefix. Defaults to empty string
35
+ * @param suffix? Optional coin suffix. Defaults to coin name.
36
+ * @param primaryKeyCurve The elliptic curve for this chain/token
37
+ */
38
+ export declare function lightning(id: string, name: string, fullName: string, network: LightningNetwork, asset: UnderlyingAsset, baseUnit: BaseUnit, features?: CoinFeature[], prefix?: string, suffix?: string,
39
+ /** All Lightnings BitGo supports are SECP256K1 **/
40
+ primaryKeyCurve?: KeyCurve): Readonly<LightningCoin>;
41
+ export declare const lightningCoins: Readonly<BaseCoin>[];
42
+ export {};
43
+ //# sourceMappingURL=lightning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../src/lightning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAY,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;AAExD,UAAU,2BAA2B;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACzC,gBAAuB,gBAAgB,gBAAiC;IAExE;;OAEG;IACH,SAAgB,OAAO,EAAE,gBAAgB,CAAC;gBAE9B,OAAO,EAAE,2BAA2B;IAWhD,SAAS,CAAC,kBAAkB,IAAI,GAAG,CAAC,WAAW,CAAC;IAIhD,SAAS,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,CAAC;CAG/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,GAAE,WAAW,EAAmC,EACxD,MAAM,SAAK,EACX,MAAM,GAAE,MAA2B;AACnC,mDAAmD;AACnD,eAAe,GAAE,QAA6B,2BAgB/C;AAID,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAmB9C,CAAC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lightningCoins = exports.LightningCoin = void 0;
4
+ exports.lightning = lightning;
5
+ const base_1 = require("./base");
6
+ const networks_1 = require("./networks");
7
+ class LightningCoin extends base_1.BaseCoin {
8
+ constructor(options) {
9
+ super({
10
+ ...options,
11
+ kind: base_1.CoinKind.CRYPTO,
12
+ isToken: false,
13
+ decimalPlaces: 11,
14
+ });
15
+ this.network = options.network;
16
+ }
17
+ disallowedFeatures() {
18
+ return new Set([base_1.CoinFeature.ACCOUNT_MODEL]);
19
+ }
20
+ requiredFeatures() {
21
+ return new Set([base_1.CoinFeature.LIGHTNING_MODEL]);
22
+ }
23
+ }
24
+ exports.LightningCoin = LightningCoin;
25
+ LightningCoin.DEFAULT_FEATURES = [base_1.CoinFeature.LIGHTNING_MODEL];
26
+ /**
27
+ * Factory function for lightning coin instances.
28
+ *
29
+ * @param id uuid v4 of the coin
30
+ * @param name unique identifier of the coin
31
+ * @param fullName Complete human-readable name of the coin
32
+ * @param network Network object for this coin
33
+ * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
34
+ * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `LightningCoin`
35
+ * @param prefix? Optional coin prefix. Defaults to empty string
36
+ * @param suffix? Optional coin suffix. Defaults to coin name.
37
+ * @param primaryKeyCurve The elliptic curve for this chain/token
38
+ */
39
+ function lightning(id, name, fullName, network, asset, baseUnit, features = LightningCoin.DEFAULT_FEATURES, prefix = '', suffix = name.toUpperCase(),
40
+ /** All Lightnings BitGo supports are SECP256K1 **/
41
+ primaryKeyCurve = base_1.KeyCurve.Secp256k1) {
42
+ return Object.freeze(new LightningCoin({
43
+ id,
44
+ name,
45
+ fullName,
46
+ network,
47
+ prefix,
48
+ suffix,
49
+ features,
50
+ asset,
51
+ primaryKeyCurve,
52
+ baseUnit,
53
+ }));
54
+ }
55
+ const LNBTC_FEATURES = [...LightningCoin.DEFAULT_FEATURES];
56
+ exports.lightningCoins = [
57
+ lightning('051aab40-efbc-4f58-9506-14cc95369e0a', 'lnbtc', 'Lightning Bitcoin', networks_1.Networks.main.lnbtc, base_1.UnderlyingAsset.LNBTC, base_1.BaseUnit.LNBTC, LNBTC_FEATURES),
58
+ lightning('3cbabaa7-a063-4db3-b3a8-ea8cc38033e5', 'tlnbtc', 'Testnet Lightning Bitcoin', networks_1.Networks.test.lnbtc, base_1.UnderlyingAsset.LNBTC, base_1.BaseUnit.LNBTC, LNBTC_FEATURES),
59
+ ];
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpZ2h0bmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5REEsOEJBMkJDO0FBcEZELGlDQUE4RjtBQUM5Rix5Q0FBd0Q7QUFleEQsTUFBYSxhQUFjLFNBQVEsZUFBUTtJQVF6QyxZQUFZLE9BQW9DO1FBQzlDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxlQUFRLENBQUMsTUFBTTtZQUNyQixPQUFPLEVBQUUsS0FBSztZQUNkLGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxrQkFBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsa0JBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7O0FBekJILHNDQTBCQztBQXpCd0IsOEJBQWdCLEdBQUcsQ0FBQyxrQkFBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBMkIxRTs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxTQUFnQixTQUFTLENBQ3ZCLEVBQVUsRUFDVixJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsT0FBeUIsRUFDekIsS0FBc0IsRUFDdEIsUUFBa0IsRUFDbEIsV0FBMEIsYUFBYSxDQUFDLGdCQUFnQixFQUN4RCxNQUFNLEdBQUcsRUFBRSxFQUNYLFNBQWlCLElBQUksQ0FBQyxXQUFXLEVBQUU7QUFDbkMsbURBQW1EO0FBQ25ELGtCQUE0QixlQUFRLENBQUMsU0FBUztJQUU5QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLElBQUksYUFBYSxDQUFDO1FBQ2hCLEVBQUU7UUFDRixJQUFJO1FBQ0osUUFBUTtRQUNSLE9BQU87UUFDUCxNQUFNO1FBQ04sTUFBTTtRQUNOLFFBQVE7UUFDUixLQUFLO1FBQ0wsZUFBZTtRQUNmLFFBQVE7S0FDVCxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFOUMsUUFBQSxjQUFjLEdBQXlCO0lBQ2xELFNBQVMsQ0FDUCxzQ0FBc0MsRUFDdEMsT0FBTyxFQUNQLG1CQUFtQixFQUNuQixtQkFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQ25CLHNCQUFlLENBQUMsS0FBSyxFQUNyQixlQUFRLENBQUMsS0FBSyxFQUNkLGNBQWMsQ0FDZjtJQUNELFNBQVMsQ0FDUCxzQ0FBc0MsRUFDdEMsUUFBUSxFQUNSLDJCQUEyQixFQUMzQixtQkFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQ25CLHNCQUFlLENBQUMsS0FBSyxFQUNyQixlQUFRLENBQUMsS0FBSyxFQUNkLGNBQWMsQ0FDZjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiwgQmFzZVVuaXQsIENvaW5GZWF0dXJlLCBDb2luS2luZCwgS2V5Q3VydmUsIFVuZGVybHlpbmdBc3NldCB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBMaWdodG5pbmdOZXR3b3JrLCBOZXR3b3JrcyB9IGZyb20gJy4vbmV0d29ya3MnO1xuXG5pbnRlcmZhY2UgTGlnaHRuaW5nQ29uc3RydWN0b3JPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbiAgZnVsbE5hbWU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBuZXR3b3JrOiBMaWdodG5pbmdOZXR3b3JrO1xuICBmZWF0dXJlczogQ29pbkZlYXR1cmVbXTtcbiAgYXNzZXQ6IFVuZGVybHlpbmdBc3NldDtcbiAgYmFzZVVuaXQ6IEJhc2VVbml0O1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgcHJpbWFyeUtleUN1cnZlOiBLZXlDdXJ2ZTtcbn1cblxuZXhwb3J0IGNsYXNzIExpZ2h0bmluZ0NvaW4gZXh0ZW5kcyBCYXNlQ29pbiB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9GRUFUVVJFUyA9IFtDb2luRmVhdHVyZS5MSUdIVE5JTkdfTU9ERUxdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGZpZWxkcyBmb3IgbGlnaHRuaW5nIGNvaW5zXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbmV0d29yazogTGlnaHRuaW5nTmV0d29yaztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBMaWdodG5pbmdDb25zdHJ1Y3Rvck9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAga2luZDogQ29pbktpbmQuQ1JZUFRPLFxuICAgICAgaXNUb2tlbjogZmFsc2UsXG4gICAgICBkZWNpbWFsUGxhY2VzOiAxMSxcbiAgICB9KTtcblxuICAgIHRoaXMubmV0d29yayA9IG9wdGlvbnMubmV0d29yaztcbiAgfVxuXG4gIHByb3RlY3RlZCBkaXNhbGxvd2VkRmVhdHVyZXMoKTogU2V0PENvaW5GZWF0dXJlPiB7XG4gICAgcmV0dXJuIG5ldyBTZXQoW0NvaW5GZWF0dXJlLkFDQ09VTlRfTU9ERUxdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXF1aXJlZEZlYXR1cmVzKCk6IFNldDxDb2luRmVhdHVyZT4ge1xuICAgIHJldHVybiBuZXcgU2V0KFtDb2luRmVhdHVyZS5MSUdIVE5JTkdfTU9ERUxdKTtcbiAgfVxufVxuXG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gZm9yIGxpZ2h0bmluZyBjb2luIGluc3RhbmNlcy5cbiAqXG4gKiBAcGFyYW0gaWQgdXVpZCB2NCBvZiB0aGUgY29pblxuICogQHBhcmFtIG5hbWUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvaW5cbiAqIEBwYXJhbSBmdWxsTmFtZSBDb21wbGV0ZSBodW1hbi1yZWFkYWJsZSBuYW1lIG9mIHRoZSBjb2luXG4gKiBAcGFyYW0gbmV0d29yayBOZXR3b3JrIG9iamVjdCBmb3IgdGhpcyBjb2luXG4gKiBAcGFyYW0gYXNzZXQgQXNzZXQgd2hpY2ggdGhpcyBjb2luIHJlcHJlc2VudHMuIFRoaXMgaXMgdGhlIHNhbWUgZm9yIGJvdGggbWFpbm5ldCBhbmQgdGVzdG5ldCB2YXJpYW50cyBvZiBhIGNvaW4uXG4gKiBAcGFyYW0gZmVhdHVyZXM/IEZlYXR1cmVzIG9mIHRoaXMgY29pbi4gRGVmYXVsdHMgdG8gdGhlIERFRkFVTFRfRkVBVFVSRVMgZGVmaW5lZCBpbiBgTGlnaHRuaW5nQ29pbmBcbiAqIEBwYXJhbSBwcmVmaXg/IE9wdGlvbmFsIGNvaW4gcHJlZml4LiBEZWZhdWx0cyB0byBlbXB0eSBzdHJpbmdcbiAqIEBwYXJhbSBzdWZmaXg/IE9wdGlvbmFsIGNvaW4gc3VmZml4LiBEZWZhdWx0cyB0byBjb2luIG5hbWUuXG4gKiBAcGFyYW0gcHJpbWFyeUtleUN1cnZlIFRoZSBlbGxpcHRpYyBjdXJ2ZSBmb3IgdGhpcyBjaGFpbi90b2tlblxuICovXG5leHBvcnQgZnVuY3Rpb24gbGlnaHRuaW5nKFxuICBpZDogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIGZ1bGxOYW1lOiBzdHJpbmcsXG4gIG5ldHdvcms6IExpZ2h0bmluZ05ldHdvcmssXG4gIGFzc2V0OiBVbmRlcmx5aW5nQXNzZXQsXG4gIGJhc2VVbml0OiBCYXNlVW5pdCxcbiAgZmVhdHVyZXM6IENvaW5GZWF0dXJlW10gPSBMaWdodG5pbmdDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIHByZWZpeCA9ICcnLFxuICBzdWZmaXg6IHN0cmluZyA9IG5hbWUudG9VcHBlckNhc2UoKSxcbiAgLyoqIEFsbCBMaWdodG5pbmdzIEJpdEdvIHN1cHBvcnRzIGFyZSBTRUNQMjU2SzEgKiovXG4gIHByaW1hcnlLZXlDdXJ2ZTogS2V5Q3VydmUgPSBLZXlDdXJ2ZS5TZWNwMjU2azFcbikge1xuICByZXR1cm4gT2JqZWN0LmZyZWV6ZShcbiAgICBuZXcgTGlnaHRuaW5nQ29pbih7XG4gICAgICBpZCxcbiAgICAgIG5hbWUsXG4gICAgICBmdWxsTmFtZSxcbiAgICAgIG5ldHdvcmssXG4gICAgICBwcmVmaXgsXG4gICAgICBzdWZmaXgsXG4gICAgICBmZWF0dXJlcyxcbiAgICAgIGFzc2V0LFxuICAgICAgcHJpbWFyeUtleUN1cnZlLFxuICAgICAgYmFzZVVuaXQsXG4gICAgfSlcbiAgKTtcbn1cblxuY29uc3QgTE5CVENfRkVBVFVSRVMgPSBbLi4uTGlnaHRuaW5nQ29pbi5ERUZBVUxUX0ZFQVRVUkVTXTtcblxuZXhwb3J0IGNvbnN0IGxpZ2h0bmluZ0NvaW5zOiBSZWFkb25seTxCYXNlQ29pbj5bXSA9IFtcbiAgbGlnaHRuaW5nKFxuICAgICcwNTFhYWI0MC1lZmJjLTRmNTgtOTUwNi0xNGNjOTUzNjllMGEnLFxuICAgICdsbmJ0YycsXG4gICAgJ0xpZ2h0bmluZyBCaXRjb2luJyxcbiAgICBOZXR3b3Jrcy5tYWluLmxuYnRjLFxuICAgIFVuZGVybHlpbmdBc3NldC5MTkJUQyxcbiAgICBCYXNlVW5pdC5MTkJUQyxcbiAgICBMTkJUQ19GRUFUVVJFU1xuICApLFxuICBsaWdodG5pbmcoXG4gICAgJzNjYmFiYWE3LWEwNjMtNGRiMy1iM2E4LWVhOGNjMzgwMzNlNScsXG4gICAgJ3RsbmJ0YycsXG4gICAgJ1Rlc3RuZXQgTGlnaHRuaW5nIEJpdGNvaW4nLFxuICAgIE5ldHdvcmtzLnRlc3QubG5idGMsXG4gICAgVW5kZXJseWluZ0Fzc2V0LkxOQlRDLFxuICAgIEJhc2VVbml0LkxOQlRDLFxuICAgIExOQlRDX0ZFQVRVUkVTXG4gICksXG5dO1xuIl19
package/dist/src/map.d.ts CHANGED
@@ -3,8 +3,12 @@ export declare class CoinMap {
3
3
  private readonly _map;
4
4
  private readonly _coinByIds;
5
5
  private readonly _coinByAliases;
6
+ private readonly _coinByContractAddress;
7
+ private readonly _coinByNftCollectionID;
6
8
  private constructor();
7
9
  static fromCoins(coins: Readonly<BaseCoin>[]): CoinMap;
10
+ addCoin(coin: Readonly<BaseCoin>): void;
11
+ static coinNameFromChainId(chainId: number): string;
8
12
  /**
9
13
  * Override `get` to throw if a coin is missing, instead of returning undefined.
10
14
  * It will honor key equivalences in case given key is missing.
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAExE,OAAO;IAIP,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO;IAuBtD;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAUpC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAQtE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAQjG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAUnF,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI7E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;CAG3E"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAIlC,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAGxE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyC;IAEhF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyC;IAEhF,OAAO;IAIP,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO;IAQ/C,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IA0B9C,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAmDnD;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAepC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUzB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAQtE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAQjG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAUnF,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI7E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;CAG3E"}
package/dist/src/map.js CHANGED
@@ -2,33 +2,101 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoinMap = void 0;
4
4
  const errors_1 = require("./errors");
5
+ const account_1 = require("./account");
5
6
  class CoinMap {
6
7
  constructor() {
7
8
  this._map = new Map();
8
9
  this._coinByIds = new Map();
9
10
  // Holds key equivalences used during an asset name migration
10
11
  this._coinByAliases = new Map();
12
+ // map of coin by address -> the key is the family:contractAddress
13
+ // the family is the where the coin is e.g l1 chains like eth, bsc etc. or l2 like arbeth, celo etc.
14
+ this._coinByContractAddress = new Map();
15
+ // map of coin by NFT collection ID -> the key is the (t)family:nftCollectionID
16
+ this._coinByNftCollectionID = new Map();
11
17
  // Do not instantiate
12
18
  }
13
19
  static fromCoins(coins) {
14
- return coins.reduce((coinMap, coin) => {
15
- if (coinMap.has(coin.name)) {
16
- throw new errors_1.DuplicateCoinDefinitionError(coin.name);
17
- }
18
- coinMap._map.set(coin.name, coin);
19
- if (coinMap._coinByIds.has(coin.id)) {
20
- throw new errors_1.DuplicateCoinIdDefinitionError(coin.id);
20
+ const coinMap = new CoinMap();
21
+ coins.forEach((coin) => {
22
+ coinMap.addCoin(coin);
23
+ });
24
+ return coinMap;
25
+ }
26
+ addCoin(coin) {
27
+ if (this._map.has(coin.name)) {
28
+ throw new errors_1.DuplicateCoinDefinitionError(coin.name);
29
+ }
30
+ if (this._coinByIds.has(coin.id)) {
31
+ throw new errors_1.DuplicateCoinIdDefinitionError(coin.id);
32
+ }
33
+ const alias = coin.alias;
34
+ if (alias && this._coinByAliases.has(alias)) {
35
+ throw new errors_1.DuplicateCoinDefinitionError(alias);
36
+ }
37
+ this._map.set(coin.name, coin);
38
+ this._coinByIds.set(coin.id, coin);
39
+ if (alias) {
40
+ this._coinByAliases.set(coin.alias, coin);
41
+ }
42
+ if (coin.isToken) {
43
+ if (coin instanceof account_1.ContractAddressDefinedToken) {
44
+ this._coinByContractAddress.set(`${coin.family}:${coin.contractAddress}`, coin);
21
45
  }
22
- coinMap._coinByIds.set(coin.id, coin);
23
- const alias = coin.alias;
24
- if (alias) {
25
- if (coinMap.has(alias)) {
26
- throw new errors_1.DuplicateCoinDefinitionError(alias);
27
- }
28
- coinMap._coinByAliases.set(alias, coin);
46
+ else if (coin instanceof account_1.NFTCollectionIdDefinedToken) {
47
+ this._coinByNftCollectionID.set(`${coin.prefix}${coin.family}:${coin.nftCollectionId}`, coin);
29
48
  }
30
- return coinMap;
31
- }, new CoinMap());
49
+ }
50
+ }
51
+ static coinNameFromChainId(chainId) {
52
+ const ethLikeCoinFromChainId = {
53
+ 1: 'eth',
54
+ 42: 'teth',
55
+ 5: 'gteth',
56
+ 17000: 'hteth',
57
+ 10001: 'ethw',
58
+ 80002: 'tpolygon',
59
+ 137: 'polygon',
60
+ 56: 'bsc',
61
+ 97: 'tbsc',
62
+ 42161: 'arbeth',
63
+ 421614: 'tarbeth',
64
+ 10: 'opeth',
65
+ 11155420: 'topeth',
66
+ 1116: 'coredao',
67
+ 1114: 'tcoredao',
68
+ 248: 'oas',
69
+ 9372: 'toas',
70
+ 14: 'flr',
71
+ 114: 'tflr',
72
+ 19: 'sgb',
73
+ 16: 'tsgb',
74
+ 1111: 'wemix',
75
+ 1112: 'twemix',
76
+ 50: 'xdc',
77
+ 51: 'txdc',
78
+ 80094: 'bera',
79
+ 80000: 'tbera',
80
+ 42220: 'celo',
81
+ 44787: 'tcelo',
82
+ 2222: 'kava',
83
+ 2221: 'tkava',
84
+ 43114: 'avax',
85
+ 43113: 'tavax',
86
+ 100: 'gno',
87
+ 130: 'uni',
88
+ 324: 'zketh',
89
+ 8453: 'baseeth',
90
+ 10143: 'tmon',
91
+ 480: 'world',
92
+ 4801: 'tworld',
93
+ 50312: 'tstt',
94
+ 1868: 'soneium',
95
+ 1946: 'tsoneium',
96
+ 33111: 'apechain',
97
+ 33139: 'tapechain',
98
+ };
99
+ return ethLikeCoinFromChainId[chainId];
32
100
  }
33
101
  /**
34
102
  * Override `get` to throw if a coin is missing, instead of returning undefined.
@@ -37,14 +105,22 @@ class CoinMap {
37
105
  * @return {BaseCoin}
38
106
  */
39
107
  get(key) {
40
- const coin = this._map.get(key) || this._coinByIds.get(key) || this._coinByAliases.get(key);
108
+ const coin = this._map.get(key) ||
109
+ this._coinByIds.get(key) ||
110
+ this._coinByAliases.get(key) ||
111
+ this._coinByContractAddress.get(key) ||
112
+ this._coinByNftCollectionID.get(key);
41
113
  if (coin) {
42
114
  return coin;
43
115
  }
44
116
  throw new errors_1.CoinNotDefinedError(key);
45
117
  }
46
118
  has(key) {
47
- return this._map.has(key) || this._coinByIds.has(key) || this._coinByAliases.has(key);
119
+ return (this._map.has(key) ||
120
+ this._coinByIds.has(key) ||
121
+ this._coinByAliases.has(key) ||
122
+ this._coinByContractAddress.has(key) ||
123
+ this._coinByNftCollectionID.has(key));
48
124
  }
49
125
  map(mapper) {
50
126
  const mapResult = [];
@@ -77,4 +153,4 @@ class CoinMap {
77
153
  }
78
154
  }
79
155
  exports.CoinMap = CoinMap;
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxQ0FBNkc7QUFFN0csTUFBYSxPQUFPO0lBTWxCO1FBTGlCLFNBQUksR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztRQUM3QyxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDcEUsNkRBQTZEO1FBQzVDLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFHdEUscUJBQXFCO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQTJCO1FBQzFDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMxQixNQUFNLElBQUkscUNBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25EO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVsQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxJQUFJLHVDQUE4QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNuRDtZQUNELE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6QixJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3RCLE1BQU0sSUFBSSxxQ0FBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDL0M7Z0JBQ0QsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxFQUFFLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxHQUFHLENBQUMsR0FBVztRQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1RixJQUFJLElBQUksRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLElBQUksNEJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVNLEdBQUcsQ0FBSSxNQUF5RDtRQUNyRSxNQUFNLFNBQVMsR0FBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTSxDQUFJLE9BQWtFLEVBQUUsWUFBZTtRQUNsRyxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDL0IsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQWtFO1FBQzlFLE1BQU0sWUFBWSxHQUF5QixFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDL0IsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUN6QixZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxRQUE4RDtRQUMzRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUF0RkQsMEJBc0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgRHVwbGljYXRlQ29pbkRlZmluaXRpb25FcnJvciwgQ29pbk5vdERlZmluZWRFcnJvciwgRHVwbGljYXRlQ29pbklkRGVmaW5pdGlvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG5leHBvcnQgY2xhc3MgQ29pbk1hcCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21hcCA9IG5ldyBNYXA8c3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj4+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvaW5CeUlkcyA9IG5ldyBNYXA8c3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj4+KCk7XG4gIC8vIEhvbGRzIGtleSBlcXVpdmFsZW5jZXMgdXNlZCBkdXJpbmcgYW4gYXNzZXQgbmFtZSBtaWdyYXRpb25cbiAgcHJpdmF0ZSByZWFkb25seSBfY29pbkJ5QWxpYXNlcyA9IG5ldyBNYXA8c3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj4+KCk7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBEbyBub3QgaW5zdGFudGlhdGVcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29pbnMoY29pbnM6IFJlYWRvbmx5PEJhc2VDb2luPltdKTogQ29pbk1hcCB7XG4gICAgcmV0dXJuIGNvaW5zLnJlZHVjZSgoY29pbk1hcCwgY29pbikgPT4ge1xuICAgICAgaWYgKGNvaW5NYXAuaGFzKGNvaW4ubmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvaW5EZWZpbml0aW9uRXJyb3IoY29pbi5uYW1lKTtcbiAgICAgIH1cbiAgICAgIGNvaW5NYXAuX21hcC5zZXQoY29pbi5uYW1lLCBjb2luKTtcblxuICAgICAgaWYgKGNvaW5NYXAuX2NvaW5CeUlkcy5oYXMoY29pbi5pZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvaW5JZERlZmluaXRpb25FcnJvcihjb2luLmlkKTtcbiAgICAgIH1cbiAgICAgIGNvaW5NYXAuX2NvaW5CeUlkcy5zZXQoY29pbi5pZCwgY29pbik7XG5cbiAgICAgIGNvbnN0IGFsaWFzID0gY29pbi5hbGlhcztcbiAgICAgIGlmIChhbGlhcykge1xuICAgICAgICBpZiAoY29pbk1hcC5oYXMoYWxpYXMpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvaW5EZWZpbml0aW9uRXJyb3IoYWxpYXMpO1xuICAgICAgICB9XG4gICAgICAgIGNvaW5NYXAuX2NvaW5CeUFsaWFzZXMuc2V0KGFsaWFzLCBjb2luKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb2luTWFwO1xuICAgIH0sIG5ldyBDb2luTWFwKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIGBnZXRgIHRvIHRocm93IGlmIGEgY29pbiBpcyBtaXNzaW5nLCBpbnN0ZWFkIG9mIHJldHVybmluZyB1bmRlZmluZWQuXG4gICAqIEl0IHdpbGwgaG9ub3Iga2V5IGVxdWl2YWxlbmNlcyBpbiBjYXNlIGdpdmVuIGtleSBpcyBtaXNzaW5nLlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5XG4gICAqIEByZXR1cm4ge0Jhc2VDb2lufVxuICAgKi9cbiAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IFJlYWRvbmx5PEJhc2VDb2luPiB7XG4gICAgY29uc3QgY29pbiA9IHRoaXMuX21hcC5nZXQoa2V5KSB8fCB0aGlzLl9jb2luQnlJZHMuZ2V0KGtleSkgfHwgdGhpcy5fY29pbkJ5QWxpYXNlcy5nZXQoa2V5KTtcblxuICAgIGlmIChjb2luKSB7XG4gICAgICByZXR1cm4gY29pbjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ29pbk5vdERlZmluZWRFcnJvcihrZXkpO1xuICB9XG5cbiAgcHVibGljIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tYXAuaGFzKGtleSkgfHwgdGhpcy5fY29pbkJ5SWRzLmhhcyhrZXkpIHx8IHRoaXMuX2NvaW5CeUFsaWFzZXMuaGFzKGtleSk7XG4gIH1cblxuICBwdWJsaWMgbWFwPFQ+KG1hcHBlcjogKGNvaW46IFJlYWRvbmx5PEJhc2VDb2luPiwgY29pbk5hbWU6IHN0cmluZykgPT4gVCk6IFRbXSB7XG4gICAgY29uc3QgbWFwUmVzdWx0OiBUW10gPSBbXTtcbiAgICB0aGlzLl9tYXAuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgbWFwUmVzdWx0LnB1c2gobWFwcGVyKHZhbHVlLCBrZXkpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbWFwUmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHJlZHVjZTxUPihyZWR1Y2VyOiAoYWNjOiBULCBjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IFQsIGluaXRpYWxWYWx1ZTogVCk6IFQge1xuICAgIGxldCBhY2MgPSBpbml0aWFsVmFsdWU7XG4gICAgdGhpcy5fbWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGFjYyA9IHJlZHVjZXIoYWNjLCB2YWx1ZSwga2V5KTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWNjO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcihwcmVkaWNhdGU6IChjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IGJvb2xlYW4pOiBDb2luTWFwIHtcbiAgICBjb25zdCBmaWx0ZXJSZXN1bHQ6IFJlYWRvbmx5PEJhc2VDb2luPltdID0gW107XG4gICAgdGhpcy5fbWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIGtleSkpIHtcbiAgICAgICAgZmlsdGVyUmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBDb2luTWFwLmZyb21Db2lucyhmaWx0ZXJSZXN1bHQpO1xuICB9XG5cbiAgcHVibGljIGZvckVhY2goY2FsbGJhY2s6IChjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAuZm9yRWFjaChjYWxsYmFjayk7XG4gIH1cblxuICBwdWJsaWMgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmFibGVJdGVyYXRvcjxbc3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj5dPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hcFtTeW1ib2wuaXRlcmF0b3JdKCk7XG4gIH1cbn1cbiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxQ0FBNkc7QUFDN0csdUNBQXFGO0FBRXJGLE1BQWEsT0FBTztJQVdsQjtRQVZpQixTQUFJLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDN0MsZUFBVSxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ3BFLDZEQUE2RDtRQUM1QyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ3hFLGtFQUFrRTtRQUNsRSxvR0FBb0c7UUFDbkYsMkJBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDaEYsK0VBQStFO1FBQzlELDJCQUFzQixHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBRzlFLHFCQUFxQjtJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUEyQjtRQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzlCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNyQixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUF3QjtRQUNyQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sSUFBSSxxQ0FBNEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLHVDQUE4QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMs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Q3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBSSxPQUFrRSxFQUFFLFlBQWU7UUFDbEcsSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQy9CLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFrRTtRQUM5RSxNQUFNLFlBQVksR0FBeUIsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQy9CLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMxQixZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQThEO1FBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQXBLRCwwQkFvS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBEdXBsaWNhdGVDb2luRGVmaW5pdGlvbkVycm9yLCBDb2luTm90RGVmaW5lZEVycm9yLCBEdXBsaWNhdGVDb2luSWREZWZpbml0aW9uRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQgeyBDb250cmFjdEFkZHJlc3NEZWZpbmVkVG9rZW4sIE5GVENvbGxlY3Rpb25JZERlZmluZWRUb2tlbiB9IGZyb20gJy4vYWNjb3VudCc7XG5cbmV4cG9ydCBjbGFzcyBDb2luTWFwIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWFwID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29pbkJ5SWRzID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgLy8gSG9sZHMga2V5IGVxdWl2YWxlbmNlcyB1c2VkIGR1cmluZyBhbiBhc3NldCBuYW1lIG1pZ3JhdGlvblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb2luQnlBbGlhc2VzID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgLy8gbWFwIG9mIGNvaW4gYnkgYWRkcmVzcyAtPiB0aGUga2V5IGlzIHRoZSBmYW1pbHk6Y29udHJhY3RBZGRyZXNzXG4gIC8vIHRoZSBmYW1pbHkgaXMgdGhlIHdoZXJlIHRoZSBjb2luIGlzIGUuZyBsMSBjaGFpbnMgbGlrZSBldGgsIGJzYyBldGMuIG9yIGwyIGxpa2UgYXJiZXRoLCBjZWxvIGV0Yy5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29pbkJ5Q29udHJhY3RBZGRyZXNzID0gbmV3IE1hcDxzdHJpbmcsIFJlYWRvbmx5PEJhc2VDb2luPj4oKTtcbiAgLy8gbWFwIG9mIGNvaW4gYnkgTkZUIGNvbGxlY3Rpb24gSUQgLT4gdGhlIGtleSBpcyB0aGUgKHQpZmFtaWx5Om5mdENvbGxlY3Rpb25JRFxuICBwcml2YXRlIHJlYWRvbmx5IF9jb2luQnlOZnRDb2xsZWN0aW9uSUQgPSBuZXcgTWFwPHN0cmluZywgUmVhZG9ubHk8QmFzZUNvaW4+PigpO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gRG8gbm90IGluc3RhbnRpYXRlXG4gIH1cblxuICBzdGF0aWMgZnJvbUNvaW5zKGNvaW5zOiBSZWFkb25seTxCYXNlQ29pbj5bXSk6IENvaW5NYXAge1xuICAgIGNvbnN0IGNvaW5NYXAgPSBuZXcgQ29pbk1hcCgpO1xuICAgIGNvaW5zLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICAgIGNvaW5NYXAuYWRkQ29pbihjb2luKTtcbiAgICB9KTtcbiAgICByZXR1cm4gY29pbk1hcDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRDb2luKGNvaW46IFJlYWRvbmx5PEJhc2VDb2luPik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9tYXAuaGFzKGNvaW4ubmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBEdXBsaWNhdGVDb2luRGVmaW5pdGlvbkVycm9yKGNvaW4ubmFtZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9jb2luQnlJZHMuaGFzKGNvaW4uaWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRHVwbGljYXRlQ29pbklkRGVmaW5pdGlvbkVycm9yKGNvaW4uaWQpO1xuICAgIH1cbiAgICBjb25zdCBhbGlhcyA9IGNvaW4uYWxpYXM7XG4gICAgaWYgKGFsaWFzICYmIHRoaXMuX2NvaW5CeUFsaWFzZXMuaGFzKGFsaWFzKSkge1xuICAgICAgdGhyb3cgbmV3IER1cGxpY2F0ZUNvaW5EZWZpbml0aW9uRXJyb3IoYWxpYXMpO1xuICAgIH1cbiAgICB0aGlzLl9tYXAuc2V0KGNvaW4ubmFtZSwgY29pbik7XG4gICAgdGhpcy5fY29pbkJ5SWRzLnNldChjb2luLmlkLCBjb2luKTtcbiAgICBpZiAoYWxpYXMpIHtcbiAgICAgIHRoaXMuX2NvaW5CeUFsaWFzZXMuc2V0KGNvaW4uYWxpYXMsIGNvaW4pO1xuICAgIH1cblxuICAgIGlmIChjb2luLmlzVG9rZW4pIHtcbiAgICAgIGlmIChjb2luIGluc3RhbmNlb2YgQ29udHJhY3RBZGRyZXNzRGVmaW5lZFRva2VuKSB7XG4gICAgICAgIHRoaXMuX2NvaW5CeUNvbnRyYWN0QWRkcmVzcy5zZXQoYCR7Y29pbi5mYW1pbHl9OiR7Y29pbi5jb250cmFjdEFkZHJlc3N9YCwgY29pbik7XG4gICAgICB9IGVsc2UgaWYgKGNvaW4gaW5zdGFuY2VvZiBORlRDb2xsZWN0aW9uSWREZWZpbmVkVG9rZW4pIHtcbiAgICAgICAgdGhpcy5fY29pbkJ5TmZ0Q29sbGVjdGlvbklELnNldChgJHtjb2luLnByZWZpeH0ke2NvaW4uZmFtaWx5fToke2NvaW4ubmZ0Q29sbGVjdGlvbklkfWAsIGNvaW4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBjb2luTmFtZUZyb21DaGFpbklkKGNoYWluSWQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgZXRoTGlrZUNvaW5Gcm9tQ2hhaW5JZDogUmVjb3JkPG51bWJlciwgc3RyaW5nPiA9IHtcbiAgICAgIDE6ICdldGgnLFxuICAgICAgNDI6ICd0ZXRoJyxcbiAgICAgIDU6ICdndGV0aCcsXG4gICAgICAxNzAwMDogJ2h0ZXRoJyxcbiAgICAgIDEwMDAxOiAnZXRodycsXG4gICAgICA4MDAwMjogJ3Rwb2x5Z29uJyxcbiAgICAgIDEzNzogJ3BvbHlnb24nLFxuICAgICAgNTY6ICdic2MnLFxuICAgICAgOTc6ICd0YnNjJyxcbiAgICAgIDQyMTYxOiAnYXJiZXRoJyxcbiAgICAgIDQyMTYxNDogJ3RhcmJldGgnLFxuICAgICAgMTA6ICdvcGV0aCcsXG4gICAgICAxMTE1NTQyMDogJ3RvcGV0aCcsXG4gICAgICAxMTE2OiAnY29yZWRhbycsXG4gICAgICAxMTE0OiAndGNvcmVkYW8nLFxuICAgICAgMjQ4OiAnb2FzJyxcbiAgICAgIDkzNzI6ICd0b2FzJyxcbiAgICAgIDE0OiAnZmxyJyxcbiAgICAgIDExNDogJ3RmbHInLFxuICAgICAgMTk6ICdzZ2InLFxuICAgICAgMTY6ICd0c2diJyxcbiAgICAgIDExMTE6ICd3ZW1peCcsXG4gICAgICAxMTEyOiAndHdlbWl4JyxcbiAgICAgIDUwOiAneGRjJyxcbiAgICAgIDUxOiAndHhkYycsXG4gICAgICA4MDA5NDogJ2JlcmEnLFxuICAgICAgODAwMDA6ICd0YmVyYScsXG4gICAgICA0MjIyMDogJ2NlbG8nLFxuICAgICAgNDQ3ODc6ICd0Y2VsbycsXG4gICAgICAyMjIyOiAna2F2YScsXG4gICAgICAyMjIxOiAndGthdmEnLFxuICAgICAgNDMxMTQ6ICdhdmF4JyxcbiAgICAgIDQzMTEzOiAndGF2YXgnLFxuICAgICAgMTAwOiAnZ25vJyxcbiAgICAgIDEzMDogJ3VuaScsXG4gICAgICAzMjQ6ICd6a2V0aCcsXG4gICAgICA4NDUzOiAnYmFzZWV0aCcsXG4gICAgICAxMDE0MzogJ3Rtb24nLFxuICAgICAgNDgwOiAnd29ybGQnLFxuICAgICAgNDgwMTogJ3R3b3JsZCcsXG4gICAgICA1MDMxMjogJ3RzdHQnLFxuICAgICAgMTg2ODogJ3NvbmVpdW0nLFxuICAgICAgMTk0NjogJ3Rzb25laXVtJyxcbiAgICAgIDMzMTExOiAnYXBlY2hhaW4nLFxuICAgICAgMzMxMzk6ICd0YXBlY2hhaW4nLFxuICAgIH07XG4gICAgcmV0dXJuIGV0aExpa2VDb2luRnJvbUNoYWluSWRbY2hhaW5JZF07XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgYGdldGAgdG8gdGhyb3cgaWYgYSBjb2luIGlzIG1pc3NpbmcsIGluc3RlYWQgb2YgcmV0dXJuaW5nIHVuZGVmaW5lZC5cbiAgICogSXQgd2lsbCBob25vciBrZXkgZXF1aXZhbGVuY2VzIGluIGNhc2UgZ2l2ZW4ga2V5IGlzIG1pc3NpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAgICogQHJldHVybiB7QmFzZUNvaW59XG4gICAqL1xuICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nKTogUmVhZG9ubHk8QmFzZUNvaW4+IHtcbiAgICBjb25zdCBjb2luID1cbiAgICAgIHRoaXMuX21hcC5nZXQoa2V5KSB8fFxuICAgICAgdGhpcy5fY29pbkJ5SWRzLmdldChrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlBbGlhc2VzLmdldChrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlDb250cmFjdEFkZHJlc3MuZ2V0KGtleSkgfHxcbiAgICAgIHRoaXMuX2NvaW5CeU5mdENvbGxlY3Rpb25JRC5nZXQoa2V5KTtcblxuICAgIGlmIChjb2luKSB7XG4gICAgICByZXR1cm4gY29pbjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ29pbk5vdERlZmluZWRFcnJvcihrZXkpO1xuICB9XG5cbiAgcHVibGljIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9tYXAuaGFzKGtleSkgfHxcbiAgICAgIHRoaXMuX2NvaW5CeUlkcy5oYXMoa2V5KSB8fFxuICAgICAgdGhpcy5fY29pbkJ5QWxpYXNlcy5oYXMoa2V5KSB8fFxuICAgICAgdGhpcy5fY29pbkJ5Q29udHJhY3RBZGRyZXNzLmhhcyhrZXkpIHx8XG4gICAgICB0aGlzLl9jb2luQnlOZnRDb2xsZWN0aW9uSUQuaGFzKGtleSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1hcDxUPihtYXBwZXI6IChjb2luOiBSZWFkb25seTxCYXNlQ29pbj4sIGNvaW5OYW1lOiBzdHJpbmcpID0+IFQpOiBUW10ge1xuICAgIGNvbnN0IG1hcFJlc3VsdDogVFtdID0gW107XG4gICAgdGhpcy5fbWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIG1hcFJlc3VsdC5wdXNoKG1hcHBlcih2YWx1ZSwga2V5KSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG1hcFJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyByZWR1Y2U8VD4ocmVkdWNlcjogKGFjYzogVCwgY29pbjogUmVhZG9ubHk8QmFzZUNvaW4+LCBjb2luTmFtZTogc3RyaW5nKSA9PiBULCBpbml0aWFsVmFsdWU6IFQpOiBUIHtcbiAgICBsZXQgYWNjID0gaW5pdGlhbFZhbHVlO1xuICAgIHRoaXMuX21hcC5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBhY2MgPSByZWR1Y2VyKGFjYywgdmFsdWUsIGtleSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjYztcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIocHJlZGljYXRlOiAoY29pbjogUmVhZG9ubHk8QmFzZUNvaW4+LCBjb2luTmFtZTogc3RyaW5nKSA9PiBib29sZWFuKTogQ29pbk1hcCB7XG4gICAgY29uc3QgZmlsdGVyUmVzdWx0OiBSZWFkb25seTxCYXNlQ29pbj5bXSA9IFtdO1xuICAgIHRoaXMuX21hcC5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBrZXkpKSB7XG4gICAgICAgIGZpbHRlclJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gQ29pbk1hcC5mcm9tQ29pbnMoZmlsdGVyUmVzdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JFYWNoKGNhbGxiYWNrOiAoY29pbjogUmVhZG9ubHk8QmFzZUNvaW4+LCBjb2luTmFtZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fbWFwLmZvckVhY2goY2FsbGJhY2spO1xuICB9XG5cbiAgcHVibGljIFtTeW1ib2wuaXRlcmF0b3JdKCk6IEl0ZXJhYmxlSXRlcmF0b3I8W3N0cmluZywgUmVhZG9ubHk8QmFzZUNvaW4+XT4ge1xuICAgIHJldHVybiB0aGlzLl9tYXBbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { CoinFamily, CoinFeature } from './base';
2
+ export declare const networkFeatureMapForTokens: Partial<Record<CoinFamily, CoinFeature[]>>;
3
+ //# sourceMappingURL=networkFeatureMapForTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkFeatureMapForTokens.d.ts","sourceRoot":"","sources":["../../src/networkFeatureMapForTokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAWjD,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,CAoBjF,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.networkFeatureMapForTokens = void 0;
4
+ const account_1 = require("./account");
5
+ const base_1 = require("./base");
6
+ const coinFeatures_1 = require("./coinFeatures");
7
+ const ofc_1 = require("./ofc");
8
+ exports.networkFeatureMapForTokens = {
9
+ algo: account_1.AccountCoin.DEFAULT_FEATURES,
10
+ apt: coinFeatures_1.APT_FEATURES,
11
+ arbeth: [...account_1.AccountCoin.DEFAULT_FEATURES, base_1.CoinFeature.EIP1559],
12
+ avaxc: account_1.AccountCoin.DEFAULT_FEATURES,
13
+ bera: [...account_1.AccountCoin.DEFAULT_FEATURES, base_1.CoinFeature.EIP1559],
14
+ bsc: coinFeatures_1.BSC_TOKEN_FEATURES,
15
+ celo: account_1.AccountCoin.DEFAULT_FEATURES,
16
+ eth: account_1.AccountCoin.DEFAULT_FEATURES,
17
+ eos: account_1.AccountCoin.DEFAULT_FEATURES,
18
+ hbar: account_1.AccountCoin.DEFAULT_FEATURES,
19
+ opeth: [...account_1.AccountCoin.DEFAULT_FEATURES, base_1.CoinFeature.EIP1559],
20
+ polygon: coinFeatures_1.POLYGON_TOKEN_FEATURES,
21
+ sol: coinFeatures_1.SOL_TOKEN_FEATURES,
22
+ stx: coinFeatures_1.STX_TOKEN_FEATURES,
23
+ sui: coinFeatures_1.SUI_TOKEN_FEATURES,
24
+ trx: account_1.AccountCoin.DEFAULT_FEATURES,
25
+ xlm: account_1.AccountCoin.DEFAULT_FEATURES,
26
+ xrp: account_1.AccountCoin.DEFAULT_FEATURES,
27
+ ofc: ofc_1.OfcCoin.DEFAULT_FEATURES,
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQXdDO0FBQ3hDLGlDQUFpRDtBQUNqRCxpREFPd0I7QUFDeEIsK0JBQWdDO0FBRW5CLFFBQUEsMEJBQTBCLEdBQStDO0lBQ3BGLElBQUksRUFBRSxxQkFBVyxDQUFDLGdCQUFnQjtJQUNsQyxHQUFHLEVBQUUsMkJBQVk7SUFDakIsTUFBTSxFQUFFLENBQUMsR0FBRyxxQkFBVyxDQUFDLGdCQUFnQixFQUFFLGtCQUFXLENBQUMsT0FBTyxDQUFDO0lBQzlELEtBQUssRUFBRSxxQkFBVyxDQUFDLGdCQUFnQjtJQUNuQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLHFCQUFXLENBQUMsZ0JBQWdCLEVBQUUsa0JBQVcsQ0FBQyxPQUFPLENBQUM7SUFDNUQsR0FBRyxFQUFFLGlDQUFrQjtJQUN2QixJQUFJLEVBQUUscUJBQVcsQ0FBQyxnQkFBZ0I7SUFDbEMsR0FBRyxFQUFFLHFCQUFXLENBQUMsZ0JBQWdCO0lBQ2pDLEdBQUcsRUFBRSxxQkFBVyxDQUFDLGdCQUFnQjtJQUNqQyxJQUFJLEVBQUUscUJBQVcsQ0FBQyxnQkFBZ0I7SUFDbEMsS0FBSyxFQUFFLENBQUMsR0FBRyxxQkFBVyxDQUFDLGdCQUFnQixFQUFFLGtCQUFXLENBQUMsT0FBTyxDQUFDO0lBQzdELE9BQU8sRUFBRSxxQ0FBc0I7SUFDL0IsR0FBRyxFQUFFLGlDQUFrQjtJQUN2QixHQUFHLEVBQUUsaUNBQWtCO0lBQ3ZCLEdBQUcsRUFBRSxpQ0FBa0I7SUFDdkIsR0FBRyxFQUFFLHFCQUFXLENBQUMsZ0JBQWdCO0lBQ2pDLEdBQUcsRUFBRSxxQkFBVyxDQUFDLGdCQUFnQjtJQUNqQyxHQUFHLEVBQUUscUJBQVcsQ0FBQyxnQkFBZ0I7SUFDakMsR0FBRyxFQUFFLGFBQU8sQ0FBQyxnQkFBZ0I7Q0FDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY291bnRDb2luIH0gZnJvbSAnLi9hY2NvdW50JztcbmltcG9ydCB7IENvaW5GYW1pbHksIENvaW5GZWF0dXJlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7XG4gIEFQVF9GRUFUVVJFUyxcbiAgQlNDX1RPS0VOX0ZFQVRVUkVTLFxuICBQT0xZR09OX1RPS0VOX0ZFQVRVUkVTLFxuICBTT0xfVE9LRU5fRkVBVFVSRVMsXG4gIFNUWF9UT0tFTl9GRUFUVVJFUyxcbiAgU1VJX1RPS0VOX0ZFQVRVUkVTLFxufSBmcm9tICcuL2NvaW5GZWF0dXJlcyc7XG5pbXBvcnQgeyBPZmNDb2luIH0gZnJvbSAnLi9vZmMnO1xuXG5leHBvcnQgY29uc3QgbmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnM6IFBhcnRpYWw8UmVjb3JkPENvaW5GYW1pbHksIENvaW5GZWF0dXJlW10+PiA9IHtcbiAgYWxnbzogQWNjb3VudENvaW4uREVGQVVMVF9GRUFUVVJFUyxcbiAgYXB0OiBBUFRfRkVBVFVSRVMsXG4gIGFyYmV0aDogWy4uLkFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLkVJUDE1NTldLFxuICBhdmF4YzogQWNjb3VudENvaW4uREVGQVVMVF9GRUFUVVJFUyxcbiAgYmVyYTogWy4uLkFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLkVJUDE1NTldLFxuICBic2M6IEJTQ19UT0tFTl9GRUFUVVJFUyxcbiAgY2VsbzogQWNjb3VudENvaW4uREVGQVVMVF9GRUFUVVJFUyxcbiAgZXRoOiBBY2NvdW50Q29pbi5ERUZBVUxUX0ZFQVRVUkVTLFxuICBlb3M6IEFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIGhiYXI6IEFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIG9wZXRoOiBbLi4uQWNjb3VudENvaW4uREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuRUlQMTU1OV0sXG4gIHBvbHlnb246IFBPTFlHT05fVE9LRU5fRkVBVFVSRVMsXG4gIHNvbDogU09MX1RPS0VOX0ZFQVRVUkVTLFxuICBzdHg6IFNUWF9UT0tFTl9GRUFUVVJFUyxcbiAgc3VpOiBTVUlfVE9LRU5fRkVBVFVSRVMsXG4gIHRyeDogQWNjb3VudENvaW4uREVGQVVMVF9GRUFUVVJFUyxcbiAgeGxtOiBBY2NvdW50Q29pbi5ERUZBVUxUX0ZFQVRVUkVTLFxuICB4cnA6IEFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIG9mYzogT2ZjQ29pbi5ERUZBVUxUX0ZFQVRVUkVTLFxufTtcbiJdfQ==