@bitgo-beta/statics 10.0.1-alpha.403 → 10.0.1-alpha.404

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 (101) hide show
  1. package/dist/tsconfig.tsbuildinfo +1 -1
  2. package/package.json +2 -2
  3. package/dist/src/account.d.ts +0 -1600
  4. package/dist/src/account.d.ts.map +0 -1
  5. package/dist/src/account.js +0 -2491
  6. package/dist/src/ada.d.ts +0 -35
  7. package/dist/src/ada.d.ts.map +0 -1
  8. package/dist/src/ada.js +0 -65
  9. package/dist/src/allCoinsAndTokens.d.ts +0 -2
  10. package/dist/src/allCoinsAndTokens.d.ts.map +0 -1
  11. package/dist/src/allCoinsAndTokens.js +0 -830
  12. package/dist/src/avaxp.d.ts +0 -40
  13. package/dist/src/avaxp.d.ts.map +0 -1
  14. package/dist/src/avaxp.js +0 -65
  15. package/dist/src/base.d.ts +0 -3046
  16. package/dist/src/base.d.ts.map +0 -1
  17. package/dist/src/base.js +0 -3235
  18. package/dist/src/coinFeatures.d.ts +0 -106
  19. package/dist/src/coinFeatures.d.ts.map +0 -1
  20. package/dist/src/coinFeatures.js +0 -627
  21. package/dist/src/coins/adaTokens.d.ts +0 -2
  22. package/dist/src/coins/adaTokens.d.ts.map +0 -1
  23. package/dist/src/coins/adaTokens.js +0 -12
  24. package/dist/src/coins/avaxTokens.d.ts +0 -2
  25. package/dist/src/coins/avaxTokens.d.ts.map +0 -1
  26. package/dist/src/coins/avaxTokens.js +0 -124
  27. package/dist/src/coins/botOfcTokens.d.ts +0 -2
  28. package/dist/src/coins/botOfcTokens.d.ts.map +0 -1
  29. package/dist/src/coins/botOfcTokens.js +0 -5
  30. package/dist/src/coins/botTokens.d.ts +0 -3
  31. package/dist/src/coins/botTokens.d.ts.map +0 -1
  32. package/dist/src/coins/botTokens.js +0 -43
  33. package/dist/src/coins/bscTokens.d.ts +0 -2
  34. package/dist/src/coins/bscTokens.d.ts.map +0 -1
  35. package/dist/src/coins/bscTokens.js +0 -176
  36. package/dist/src/coins/cosmosTokens.d.ts +0 -2
  37. package/dist/src/coins/cosmosTokens.d.ts.map +0 -1
  38. package/dist/src/coins/cosmosTokens.js +0 -12
  39. package/dist/src/coins/erc20Coins.d.ts +0 -2
  40. package/dist/src/coins/erc20Coins.d.ts.map +0 -1
  41. package/dist/src/coins/erc20Coins.js +0 -1743
  42. package/dist/src/coins/jettonTokens.d.ts +0 -2
  43. package/dist/src/coins/jettonTokens.d.ts.map +0 -1
  44. package/dist/src/coins/jettonTokens.js +0 -13
  45. package/dist/src/coins/nep141Tokens.d.ts +0 -2
  46. package/dist/src/coins/nep141Tokens.d.ts.map +0 -1
  47. package/dist/src/coins/nep141Tokens.js +0 -14
  48. package/dist/src/coins/ofcCoins.d.ts +0 -2
  49. package/dist/src/coins/ofcCoins.d.ts.map +0 -1
  50. package/dist/src/coins/ofcCoins.js +0 -708
  51. package/dist/src/coins/ofcErc20Coins.d.ts +0 -3
  52. package/dist/src/coins/ofcErc20Coins.d.ts.map +0 -1
  53. package/dist/src/coins/ofcErc20Coins.js +0 -1539
  54. package/dist/src/coins/polygonTokens.d.ts +0 -2
  55. package/dist/src/coins/polygonTokens.d.ts.map +0 -1
  56. package/dist/src/coins/polygonTokens.js +0 -155
  57. package/dist/src/coins/sip10Tokens.d.ts +0 -2
  58. package/dist/src/coins/sip10Tokens.d.ts.map +0 -1
  59. package/dist/src/coins/sip10Tokens.js +0 -25
  60. package/dist/src/coins/solTokens.d.ts +0 -3
  61. package/dist/src/coins/solTokens.d.ts.map +0 -1
  62. package/dist/src/coins/solTokens.js +0 -396
  63. package/dist/src/coins/vetTokens.d.ts +0 -2
  64. package/dist/src/coins/vetTokens.d.ts.map +0 -1
  65. package/dist/src/coins/vetTokens.js +0 -11
  66. package/dist/src/coins.d.ts +0 -14
  67. package/dist/src/coins.d.ts.map +0 -1
  68. package/dist/src/coins.js +0 -331
  69. package/dist/src/constants.d.ts +0 -3
  70. package/dist/src/constants.d.ts.map +0 -1
  71. package/dist/src/constants.js +0 -6
  72. package/dist/src/errors.d.ts +0 -37
  73. package/dist/src/errors.d.ts.map +0 -1
  74. package/dist/src/errors.js +0 -74
  75. package/dist/src/flrp.d.ts +0 -40
  76. package/dist/src/flrp.d.ts.map +0 -1
  77. package/dist/src/flrp.js +0 -65
  78. package/dist/src/index.d.ts +0 -12
  79. package/dist/src/index.d.ts.map +0 -1
  80. package/dist/src/index.js +0 -60
  81. package/dist/src/lightning.d.ts +0 -43
  82. package/dist/src/lightning.d.ts.map +0 -1
  83. package/dist/src/lightning.js +0 -60
  84. package/dist/src/map.d.ts +0 -32
  85. package/dist/src/map.d.ts.map +0 -1
  86. package/dist/src/map.js +0 -181
  87. package/dist/src/networkFeatureMapForTokens.d.ts +0 -3
  88. package/dist/src/networkFeatureMapForTokens.d.ts.map +0 -1
  89. package/dist/src/networkFeatureMapForTokens.js +0 -31
  90. package/dist/src/networks.d.ts +0 -1952
  91. package/dist/src/networks.d.ts.map +0 -1
  92. package/dist/src/networks.js +0 -2429
  93. package/dist/src/ofc.d.ts +0 -727
  94. package/dist/src/ofc.d.ts.map +0 -1
  95. package/dist/src/ofc.js +0 -1617
  96. package/dist/src/tokenConfig.d.ts +0 -389
  97. package/dist/src/tokenConfig.d.ts.map +0 -1
  98. package/dist/src/tokenConfig.js +0 -1046
  99. package/dist/src/utxo.d.ts +0 -43
  100. package/dist/src/utxo.d.ts.map +0 -1
  101. package/dist/src/utxo.js +0 -141
@@ -1,2 +0,0 @@
1
- export declare const vetTokens: Readonly<import("../account").VetToken>[];
2
- //# sourceMappingURL=vetTokens.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vetTokens.d.ts","sourceRoot":"","sources":["../../../src/coins/vetTokens.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,2CAmBrB,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.vetTokens = void 0;
4
- const account_1 = require("../account");
5
- const base_1 = require("../base");
6
- const coinFeatures_1 = require("../coinFeatures");
7
- exports.vetTokens = [
8
- (0, account_1.vetToken)('09717591-d7be-46d3-9fe0-b638e274028f', 'vet:vtho', 'VeThor', 18, '0x0000000000000000000000000000456e65726779', base_1.UnderlyingAsset['vet:vtho'], coinFeatures_1.VET_TOKEN_FEATURES),
9
- (0, account_1.tvetToken)('27dd32d2-7311-4552-9beb-c57f76d09205', 'tvet:vtho', 'Testnet VeThor', 18, '0x0000000000000000000000000000456e65726779', base_1.UnderlyingAsset['tvet:vtho'], coinFeatures_1.VET_TOKEN_FEATURES),
10
- ];
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmV0VG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvaW5zL3ZldFRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3Q0FBaUQ7QUFDakQsa0NBQTBDO0FBQzFDLGtEQUFxRDtBQUV4QyxRQUFBLFNBQVMsR0FBRztJQUN2QixJQUFBLGtCQUFRLEVBQ04sc0NBQXNDLEVBQ3RDLFVBQVUsRUFDVixRQUFRLEVBQ1IsRUFBRSxFQUNGLDRDQUE0QyxFQUM1QyxzQkFBZSxDQUFDLFVBQVUsQ0FBQyxFQUMzQixpQ0FBa0IsQ0FDbkI7SUFDRCxJQUFBLG1CQUFTLEVBQ1Asc0NBQXNDLEVBQ3RDLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsRUFBRSxFQUNGLDRDQUE0QyxFQUM1QyxzQkFBZSxDQUFDLFdBQVcsQ0FBQyxFQUM1QixpQ0FBa0IsQ0FDbkI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHZldFRva2VuLCB2ZXRUb2tlbiB9IGZyb20gJy4uL2FjY291bnQnO1xuaW1wb3J0IHsgVW5kZXJseWluZ0Fzc2V0IH0gZnJvbSAnLi4vYmFzZSc7XG5pbXBvcnQgeyBWRVRfVE9LRU5fRkVBVFVSRVMgfSBmcm9tICcuLi9jb2luRmVhdHVyZXMnO1xuXG5leHBvcnQgY29uc3QgdmV0VG9rZW5zID0gW1xuICB2ZXRUb2tlbihcbiAgICAnMDk3MTc1OTEtZDdiZS00NmQzLTlmZTAtYjYzOGUyNzQwMjhmJyxcbiAgICAndmV0OnZ0aG8nLFxuICAgICdWZVRob3InLFxuICAgIDE4LFxuICAgICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3NzknLFxuICAgIFVuZGVybHlpbmdBc3NldFsndmV0OnZ0aG8nXSxcbiAgICBWRVRfVE9LRU5fRkVBVFVSRVNcbiAgKSxcbiAgdHZldFRva2VuKFxuICAgICcyN2RkMzJkMi03MzExLTQ1NTItOWJlYi1jNTdmNzZkMDkyMDUnLFxuICAgICd0dmV0OnZ0aG8nLFxuICAgICdUZXN0bmV0IFZlVGhvcicsXG4gICAgMTgsXG4gICAgJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OScsXG4gICAgVW5kZXJseWluZ0Fzc2V0Wyd0dmV0OnZ0aG8nXSxcbiAgICBWRVRfVE9LRU5fRkVBVFVSRVNcbiAgKSxcbl07XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { BaseCoin } from './base';
2
- import { AmsTokenConfig, TrimmedAmsTokenConfig } from './tokenConfig';
3
- import { CoinMap } from './map';
4
- export declare const coins: CoinMap;
5
- export declare function createToken(token: AmsTokenConfig): Readonly<BaseCoin> | undefined;
6
- export declare function isCoinPresentInCoinMap({ name, id, alias }: {
7
- name: string;
8
- id?: string;
9
- alias?: string;
10
- }): boolean;
11
- export declare function createTokenMapUsingConfigDetails(tokenConfigMap: Record<string, AmsTokenConfig[]>): CoinMap;
12
- export declare function createTokenMapUsingTrimmedConfigDetails(reducedTokenConfigMap: Record<string, TrimmedAmsTokenConfig[]>): CoinMap;
13
- export declare function createTokenUsingTrimmedConfigDetails(tokenConfig: TrimmedAmsTokenConfig): Readonly<BaseCoin> | undefined;
14
- //# sourceMappingURL=coins.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coins.d.ts","sourceRoot":"","sources":["../../src/coins.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAOhC,eAAO,MAAM,KAAK,SAA8F,CAAC;AAEjH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CAmPjF;AAiCD,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAElH;AAED,wBAAgB,gCAAgC,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,GAAG,OAAO,CAkD1G;AAED,wBAAgB,uCAAuC,CACrD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,GAC7D,OAAO,CA2BT;AAED,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,qBAAqB,GACjC,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CAsBhC"}
package/dist/src/coins.js DELETED
@@ -1,331 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.coins = void 0;
4
- exports.createToken = createToken;
5
- exports.isCoinPresentInCoinMap = isCoinPresentInCoinMap;
6
- exports.createTokenMapUsingConfigDetails = createTokenMapUsingConfigDetails;
7
- exports.createTokenMapUsingTrimmedConfigDetails = createTokenMapUsingTrimmedConfigDetails;
8
- exports.createTokenUsingTrimmedConfigDetails = createTokenUsingTrimmedConfigDetails;
9
- const account_1 = require("./account");
10
- const ofc_1 = require("./ofc");
11
- const map_1 = require("./map");
12
- const networks_1 = require("./networks");
13
- const networkFeatureMapForTokens_1 = require("./networkFeatureMapForTokens");
14
- const ofcErc20Coins_1 = require("./coins/ofcErc20Coins");
15
- const ofcCoins_1 = require("./coins/ofcCoins");
16
- const allCoinsAndTokens_1 = require("./allCoinsAndTokens");
17
- exports.coins = map_1.CoinMap.fromCoins([...allCoinsAndTokens_1.allCoinsAndTokens, ...ofcErc20Coins_1.ofcErc20Coins, ...ofcErc20Coins_1.tOfcErc20Coins, ...ofcCoins_1.ofcCoins]);
18
- function createToken(token) {
19
- const initializerMap = {
20
- algo: account_1.algoToken,
21
- apt: account_1.aptToken,
22
- arbeth: account_1.arbethErc20,
23
- avaxc: account_1.avaxErc20,
24
- baseeth: account_1.erc20Token,
25
- bera: account_1.beraErc20,
26
- flow: account_1.erc20Token,
27
- lineaeth: account_1.erc20Token,
28
- seievm: account_1.erc20Token,
29
- bsc: account_1.bscToken,
30
- celo: account_1.celoToken,
31
- cosmos: account_1.cosmosToken,
32
- eth: account_1.erc20,
33
- eos: account_1.eosToken,
34
- hbar: account_1.hederaToken,
35
- near: account_1.nep141Token,
36
- opeth: account_1.opethErc20,
37
- polygon: account_1.polygonErc20,
38
- sol: account_1.solToken,
39
- stx: account_1.sip10Token,
40
- sui: account_1.suiToken,
41
- tao: account_1.taoToken,
42
- polyx: account_1.polyxToken,
43
- trx: account_1.tronToken,
44
- vet: account_1.vetToken,
45
- xlm: account_1.stellarToken,
46
- xrp: account_1.xrpToken,
47
- ofc: ofc_1.ofcToken,
48
- ada: account_1.adaToken,
49
- ton: account_1.jettonToken,
50
- };
51
- //return the BaseCoin from default coin map if present
52
- if (isCoinPresentInCoinMap({ ...token })) {
53
- if (exports.coins.has(token.name)) {
54
- return exports.coins.get(token.name);
55
- }
56
- if (exports.coins.has(token.id)) {
57
- return exports.coins.get(token.id);
58
- }
59
- if (token.alias && exports.coins.has(token.alias)) {
60
- return exports.coins.get(token.alias);
61
- }
62
- }
63
- const family = token.family;
64
- const initializer = initializerMap[family];
65
- if (!initializer) {
66
- return undefined;
67
- }
68
- const commonArgs = [
69
- token.id,
70
- token.name,
71
- token.fullName,
72
- token.decimalPlaces,
73
- token.asset,
74
- token.features,
75
- token.prefix,
76
- token.suffix,
77
- token.network,
78
- token.primaryKeyCurve,
79
- ];
80
- switch (family) {
81
- case 'arbeth':
82
- case 'avaxc':
83
- case 'baseeth':
84
- case 'bera':
85
- case 'bsc':
86
- case 'flow':
87
- case 'lineaeth':
88
- case 'seievm':
89
- case 'celo':
90
- case 'eth':
91
- case 'opeth':
92
- case 'polygon':
93
- case 'trx':
94
- return initializer(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
95
- token.contractAddress || token.tokenAddress, // contractAddress
96
- ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
97
- );
98
- case 'apt':
99
- const { initFunc, objectId } = getAptTokenInitializer(token);
100
- return initFunc(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
101
- objectId, ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
102
- );
103
- case 'vet':
104
- const { vetInitFunc, vetObjectId, isNFT } = getVetTokenInitializer(token);
105
- if (isNFT) {
106
- return vetInitFunc(...commonArgs.slice(0, 3), // id, name, fullName
107
- vetObjectId, ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
108
- );
109
- }
110
- else {
111
- return vetInitFunc(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
112
- vetObjectId, ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
113
- );
114
- }
115
- case 'stx':
116
- return initializer(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
117
- token.assetId, // assetId
118
- ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
119
- );
120
- case 'algo':
121
- return initializer(...commonArgs.slice(0, 2), // id, name
122
- token.alias, // alias
123
- ...commonArgs.slice(2) // fullName, decimal, asset, features, prefix, suffix, network, primaryKeyCurve
124
- );
125
- case 'eos':
126
- return initializer(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
127
- token.contractName, // contractName
128
- token.contractAddress, // contractAddress
129
- ...commonArgs.slice(4, 8), // asset, features, prefix, suffix
130
- token.symbol, // symbol
131
- ...commonArgs.slice(8) // network, primaryKeyCurve
132
- );
133
- case 'hbar':
134
- return initializer(...commonArgs.slice(0, 3), // id, name, fullName
135
- token.network, // network
136
- token.decimalPlaces, token.asset, token.contractAddress, // contractAddress
137
- ...commonArgs.slice(5, 8), // features, prefix, suffix
138
- token.primaryKeyCurve);
139
- case 'sol':
140
- return initializer(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
141
- token.tokenAddress, // tokenAddress
142
- token.contractAddress, // contractAddress
143
- token.asset, token.features, token.programId, ...commonArgs.slice(6) // prefix, suffix, network, primaryKeyCurve
144
- );
145
- case 'sui':
146
- return initializer(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
147
- token.packageId, // packageId
148
- token.module, // module
149
- token.symbol, // symbol
150
- token.contractAddress, // contractAddress
151
- ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
152
- );
153
- case 'tao':
154
- return initializer(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
155
- token.subnetId, // subnetId
156
- ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
157
- );
158
- case 'polyx':
159
- return initializer(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
160
- token.ticker, // ticker
161
- token.assetId, // assetId
162
- ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
163
- );
164
- case 'xlm':
165
- return initializer(...commonArgs.slice(0, 5), // id, name, fullName, decimalPlaces, asset
166
- token.domain, // domain
167
- ...commonArgs.slice(5) // features, prefix, suffix, network, primaryKeyCurve
168
- );
169
- case 'xrp':
170
- return initializer(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
171
- token.issuerAddress, // issuerAddress
172
- token.currecnycode, // currencyCode
173
- token.contractAddress, // contractAddress
174
- token.domain, // domain
175
- ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
176
- );
177
- case 'ofc':
178
- return initializer(...commonArgs, // id, name, fullName, decimalPlaces, asset, prefix, suffix, network, primaryKeyCurve
179
- token.baseUnit, // baseUnit
180
- token.isToken, // isToken
181
- token.kind, // kind
182
- token.addressCoin // addressCoin
183
- );
184
- case 'asi':
185
- case 'atom':
186
- case 'baby':
187
- case 'bld':
188
- case 'coreum':
189
- case 'cronos':
190
- case 'hash':
191
- case 'injective':
192
- case 'initia':
193
- case 'osmo':
194
- case 'thor':
195
- case 'sei':
196
- case 'tia':
197
- case 'zeta':
198
- return initializer(...commonArgs.slice(0, 3), // id, name, fullName
199
- token.denom, // denom
200
- token.decimalPlaces, // decimalPlaces
201
- token.network, // network
202
- token.baseUnit, // baseUnit
203
- ...commonArgs.slice(4, 8), // asset, features, prefix, suffix
204
- token.primaryKeyCurve // primaryKeyCurve
205
- );
206
- case 'ada':
207
- return initializer(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
208
- token.assetName, token.policyId, token.contractAddress, ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
209
- );
210
- case 'ton':
211
- return initializer(...commonArgs.slice(0, 4), // id, name, fullName, decimalPlaces
212
- token.contractAddress, // contractAddress
213
- ...commonArgs.slice(4) // asset, features, prefix, suffix, network, primaryKeyCurve
214
- );
215
- default:
216
- return undefined;
217
- }
218
- }
219
- function getAptTokenInitializer(token) {
220
- if (token.assetId) {
221
- // used for fungible-assets / legacy coins etc.
222
- return {
223
- initFunc: account_1.aptToken,
224
- objectId: token.assetId,
225
- };
226
- }
227
- // used for non-fungible token (NFT) collections
228
- return {
229
- initFunc: account_1.aptNFTCollection,
230
- objectId: token.nftCollectionId,
231
- };
232
- }
233
- function getVetTokenInitializer(token) {
234
- if (token.nftCollectionId) {
235
- return {
236
- vetInitFunc: account_1.vetNFTCollection,
237
- vetObjectId: token.nftCollectionId,
238
- isNFT: true,
239
- };
240
- }
241
- return {
242
- vetInitFunc: account_1.vetToken,
243
- vetObjectId: token.contractAddress,
244
- isNFT: false,
245
- };
246
- }
247
- function isCoinPresentInCoinMap({ name, id, alias }) {
248
- return Boolean(exports.coins.has(name) || (id && exports.coins.has(id)) || (alias && exports.coins.has(alias)));
249
- }
250
- function createTokenMapUsingConfigDetails(tokenConfigMap) {
251
- const BaseCoins = new Map();
252
- const nftAndOtherTokens = new Set([
253
- 'erc721:bsctoken',
254
- 'terc721:bsctoken',
255
- 'erc1155:bsctoken',
256
- 'terc1155:bsctoken',
257
- 'erc721:witch',
258
- 'erc721:token',
259
- 'erc1155:token',
260
- 'nonstandard:token',
261
- 'terc721:token',
262
- 'terc1155:token',
263
- 'tnonstandard:token',
264
- 'terc721:bitgoerc721',
265
- 'terc1155:bitgoerc1155',
266
- 'terc721:hoodidj',
267
- 'erc721:polygontoken',
268
- 'erc1155:polygontoken',
269
- 'terc721:polygontoken',
270
- 'terc1155:polygontoken',
271
- 'erc721:soneiumtoken',
272
- 'erc1155:soneiumtoken',
273
- 'terc721:soneiumtoken',
274
- 'terc1155:soneiumtoken',
275
- ]);
276
- // Add all the coins from statics coin map first
277
- exports.coins.forEach((coin, coinName) => {
278
- BaseCoins.set(coinName, coin);
279
- });
280
- // add the tokens not present in the static coin map
281
- for (const tokenConfigs of Object.values(tokenConfigMap)) {
282
- const tokenConfig = tokenConfigs[0];
283
- if (!isCoinPresentInCoinMap({ ...tokenConfig }) &&
284
- tokenConfig.isToken &&
285
- !nftAndOtherTokens.has(tokenConfig.name)) {
286
- const token = createToken(tokenConfig);
287
- if (token) {
288
- BaseCoins.set(token.name, token);
289
- }
290
- }
291
- }
292
- return map_1.CoinMap.fromCoins(Array.from(BaseCoins.values()));
293
- }
294
- function createTokenMapUsingTrimmedConfigDetails(reducedTokenConfigMap) {
295
- const amsTokenConfigMap = {};
296
- const networkNameMap = new Map(Object.values(networks_1.Networks).flatMap((networkType) => Object.values(networkType).map((network) => [network.name, network])));
297
- for (const tokenConfigs of Object.values(reducedTokenConfigMap)) {
298
- const tokenConfig = tokenConfigs[0];
299
- const network = networkNameMap.get(tokenConfig.network.name);
300
- if (!isCoinPresentInCoinMap({ ...tokenConfig }) &&
301
- network &&
302
- tokenConfig.isToken &&
303
- networkFeatureMapForTokens_1.networkFeatureMapForTokens[network.family]) {
304
- const features = new Set([
305
- ...(networkFeatureMapForTokens_1.networkFeatureMapForTokens[network.family] || []),
306
- ...(tokenConfig.additionalFeatures || []),
307
- ]);
308
- tokenConfig.excludedFeatures?.forEach((feature) => features.delete(feature));
309
- amsTokenConfigMap[tokenConfig.name] = [{ ...tokenConfig, features: Array.from(features), network }];
310
- }
311
- }
312
- return createTokenMapUsingConfigDetails(amsTokenConfigMap);
313
- }
314
- function createTokenUsingTrimmedConfigDetails(tokenConfig) {
315
- let fullTokenConfig;
316
- const networkNameMap = new Map(Object.values(networks_1.Networks).flatMap((networkType) => Object.values(networkType).map((network) => [network.name, network])));
317
- const network = networkNameMap.get(tokenConfig.network.name);
318
- if (!isCoinPresentInCoinMap({ ...tokenConfig }) &&
319
- network &&
320
- tokenConfig.isToken &&
321
- networkFeatureMapForTokens_1.networkFeatureMapForTokens[network.family]) {
322
- const features = new Set([
323
- ...(networkFeatureMapForTokens_1.networkFeatureMapForTokens[network.family] || []),
324
- ...(tokenConfig.additionalFeatures || []),
325
- ]);
326
- tokenConfig.excludedFeatures?.forEach((feature) => features.delete(feature));
327
- fullTokenConfig = { ...tokenConfig, features: Array.from(features), network };
328
- return createToken(fullTokenConfig);
329
- }
330
- }
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29pbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMENBLGtDQW1QQztBQWlDRCx3REFFQztBQUVELDRFQWtEQztBQUVELDBGQTZCQztBQUVELG9GQXdCQztBQTdhRCx1Q0E2Qm1CO0FBQ25CLCtCQUFpQztBQUdqQywrQkFBZ0M7QUFDaEMseUNBQXNDO0FBQ3RDLDZFQUEwRTtBQUMxRSx5REFBc0U7QUFDdEUsK0NBQTRDO0FBQzVDLDJEQUF3RDtBQUUzQyxRQUFBLEtBQUssR0FBRyxhQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxxQ0FBaUIsRUFBRSxHQUFHLDZCQUFhLEVBQUUsR0FBRyw4QkFBYyxFQUFFLEdBQUcsbUJBQVEsQ0FBQyxDQUFDLENBQUM7QUFFakgsU0FBZ0IsV0FBVyxDQUFDLEtBQXFCO0lBQy9DLE1BQU0sY0FBYyxHQUE0QjtRQUM5QyxJQUFJLEVBQUUsbUJBQVM7UUFDZixHQUFHLEVBQUUsa0JBQVE7UUFDYixNQUFNLEVBQUUscUJBQVc7UUFDbkIsS0FBSyxFQUFFLG1CQUFTO1FBQ2hCLE9BQU8sRUFBRSxvQkFBVTtRQUNuQixJQUFJLEVBQUUsbUJBQVM7UUFDZixJQUFJLEVBQUUsb0JBQVU7UUFDaEIsUUFBUSxFQUFFLG9CQUFVO1FBQ3BCLE1BQU0sRUFBRSxvQkFBVTtRQUNsQixHQUFHLEVBQUUsa0JBQVE7UUFDYixJQUFJLEVBQUUsbUJBQVM7UUFDZixNQUFNLEVBQUUscUJBQVc7UUFDbkIsR0FBRyxFQUFFLGVBQUs7UUFDVixHQUFHLEVBQUUsa0JBQVE7UUFDYixJQUFJLEVBQUUscUJBQVc7UUFDakIsSUFBSSxFQUFFLHFCQUFXO1FBQ2pCLEtBQUssRUFBRSxvQkFBVTtRQUNqQixPQUFPLEVBQUUsc0JBQVk7UUFDckIsR0FBRyxFQUFFLGtCQUFRO1FBQ2IsR0FBRyxFQUFFLG9CQUFVO1FBQ2YsR0FBRyxFQUFFLGtCQUFRO1FBQ2Is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LENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUNyRSxDQUNGLENBQUM7SUFDRixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsSUFDRSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUMzQyxPQUFPO1FBQ1AsV0FBVyxDQUFDLE9BQU87UUFDbkIsdURBQTBCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUMxQyxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDdkIsR0FBRyxDQUFDLHVEQUEwQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckQsR0FBRyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLENBQUM7U0FDMUMsQ0FBQyxDQUFDO1FBQ0gsV0FBVyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzdFLGVBQWUsR0FBRyxFQUFFLEdBQUcsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sRUFBb0IsQ0FBQztRQUNoRyxPQUFPLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFsZ29Ub2tlbixcbiAgYXB0TkZUQ29sbGVjdGlvbixcbiAgYXB0VG9rZW4sXG4gIGFyYmV0aEVyYzIwLFxuICBhdmF4RXJjMjAsXG4gIGJlcmFFcmMyMCxcbiAgYnNjVG9rZW4sXG4gIGNlbG9Ub2tlbixcbiAgY29zbW9zVG9rZW4sXG4gIGVvc1Rva2VuLFxuICBlcmMyMCxcbiAgaGVkZXJhVG9rZW4sXG4gIGpldHRvblRva2VuLFxuICBuZXAxNDFUb2tlbixcbiAgb3BldGhFcmMyMCxcbiAgcG9seWdvbkVyYzIwLFxuICBwb2x5eFRva2VuLFxuICBzaXAxMFRva2VuLFxuICBzb2xUb2tlbixcbiAgc3RlbGxhclRva2VuLFxuICBzdWlUb2tlbixcbiAgdGFvVG9rZW4sXG4gIHRyb25Ub2tlbixcbiAgdmV0TkZUQ29sbGVjdGlvbixcbiAgdmV0VG9rZW4sXG4gIHhycFRva2VuLFxuICBhZGFUb2tlbixcbiAgZXJjMjBUb2tlbixcbn0gZnJvbSAnLi9hY2NvdW50JztcbmltcG9ydCB7IG9mY1Rva2VuIH0gZnJvbSAnLi9vZmMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgQW1zVG9rZW5Db25maWcsIFRyaW1tZWRBbXNUb2tlbkNvbmZpZyB9IGZyb20gJy4vdG9rZW5Db25maWcnO1xuaW1wb3J0IHsgQ29pbk1hcCB9IGZyb20gJy4vbWFwJztcbmltcG9ydCB7IE5ldHdvcmtzIH0gZnJvbSAnLi9uZXR3b3Jrcyc7XG5pbXBvcnQgeyBuZXR3b3JrRmVhdHVyZU1hcEZvclRva2VucyB9IGZyb20gJy4vbmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnMnO1xuaW1wb3J0IHsgb2ZjRXJjMjBDb2lucywgdE9mY0VyYzIwQ29pbnMgfSBmcm9tICcuL2NvaW5zL29mY0VyYzIwQ29pbnMnO1xuaW1wb3J0IHsgb2ZjQ29pbnMgfSBmcm9tICcuL2NvaW5zL29mY0NvaW5zJztcbmltcG9ydCB7IGFsbENvaW5zQW5kVG9rZW5zIH0gZnJvbSAnLi9hbGxDb2luc0FuZFRva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBjb2lucyA9IENvaW5NYXAuZnJvbUNvaW5zKFsuLi5hbGxDb2luc0FuZFRva2VucywgLi4ub2ZjRXJjMjBDb2lucywgLi4udE9mY0VyYzIwQ29pbnMsIC4uLm9mY0NvaW5zXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUb2tlbih0b2tlbjogQW1zVG9rZW5Db25maWcpOiBSZWFkb25seTxCYXNlQ29pbj4gfCB1bmRlZmluZWQge1xuICBjb25zdCBpbml0aWFsaXplck1hcDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgYWxnbzogYWxnb1Rva2VuLFxuICAgIGFwdDogYXB0VG9rZW4sXG4gICAgYXJiZXRoOiBhcmJldGhFcmMyMCxcbiAgICBhdmF4YzogYXZheEVyYzIwLFxuICAgIGJhc2VldGg6IGVyYzIwVG9rZW4sXG4gICAgYmVyYTogYmVyYUVyYzIwLFxuICAgIGZsb3c6IGVyYzIwVG9rZW4sXG4gICAgbGluZWFldGg6IGVyYzIwVG9rZW4sXG4gICAgc2VpZXZtOiBlcmMyMFRva2VuLFxuICAgIGJzYzogYnNjVG9rZW4sXG4gICAgY2VsbzogY2Vsb1Rva2VuLFxuICAgIGNvc21vczogY29zbW9zVG9rZW4sXG4gICAgZXRoOiBlcmMyMCxcbiAgICBlb3M6IGVvc1Rva2VuLFxuICAgIGhiYXI6IGhlZGVyYVRva2VuLFxuICAgIG5lYXI6IG5lcDE0MVRva2VuLFxuICAgIG9wZXRoOiBvcGV0aEVyYzIwLFxuICAgIHBvbHlnb246IHBvbHlnb25FcmMyMCxcbiAgICBzb2w6IHNvbFRva2VuLFxuICAgIHN0eDogc2lwMTBUb2tlbixcbiAgICBzdWk6IHN1aVRva2VuLFxuICAgIHRhbzogdGFvVG9rZW4sXG4gICAgcG9seXg6IHBvbHl4VG9rZW4sXG4gICAgdHJ4OiB0cm9uVG9rZW4sXG4gICAgdmV0OiB2ZXRUb2tlbixcbiAgICB4bG06IHN0ZWxsYXJUb2tlbixcbiAgICB4cnA6IHhycFRva2VuLFxuICAgIG9mYzogb2ZjVG9rZW4sXG4gICAgYWRhOiBhZGFUb2tlbixcbiAgICB0b246IGpldHRvblRva2VuLFxuICB9O1xuXG4gIC8vcmV0dXJuIHRoZSBCYXNlQ29pbiBmcm9tIGRlZmF1bHQgY29pbiBtYXAgaWYgcHJlc2VudFxuICBpZiAoaXNDb2luUHJlc2VudEluQ29pbk1hcCh7IC4uLnRva2VuIH0pKSB7XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlbi5uYW1lKSkge1xuICAgICAgcmV0dXJuIGNvaW5zLmdldCh0b2tlbi5uYW1lKTtcbiAgICB9XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlbi5pZCkpIHtcbiAgICAgIHJldHVybiBjb2lucy5nZXQodG9rZW4uaWQpO1xuICAgIH1cbiAgICBpZiAodG9rZW4uYWxpYXMgJiYgY29pbnMuaGFzKHRva2VuLmFsaWFzKSkge1xuICAgICAgcmV0dXJuIGNvaW5zLmdldCh0b2tlbi5hbGlhcyk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGZhbWlseSA9IHRva2VuLmZhbWlseTtcbiAgY29uc3QgaW5pdGlhbGl6ZXIgPSBpbml0aWFsaXplck1hcFtmYW1pbHldIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IFJlYWRvbmx5PEJhc2VDb2luPjtcbiAgaWYgKCFpbml0aWFsaXplcikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBjb21tb25BcmdzID0gW1xuICAgIHRva2VuLmlkLFxuICAgIHRva2VuLm5hbWUsXG4gICAgdG9rZW4uZnVsbE5hbWUsXG4gICAgdG9rZW4uZGVjaW1hbFBsYWNlcyxcbiAgICB0b2tlbi5hc3NldCxcbiAgICB0b2tlbi5mZWF0dXJlcyxcbiAgICB0b2tlbi5wcmVmaXgsXG4gICAgdG9rZW4uc3VmZml4LFxuICAgIHRva2VuLm5ldHdvcmssXG4gICAgdG9rZW4ucHJpbWFyeUtleUN1cnZlLFxuICBdO1xuXG4gIHN3aXRjaCAoZmFtaWx5KSB7XG4gICAgY2FzZSAnYXJiZXRoJzpcbiAgICBjYXNlICdhdmF4Yyc6XG4gICAgY2FzZSAnYmFzZWV0aCc6XG4gICAgY2FzZSAnYmVyYSc6XG4gICAgY2FzZSAnYnNjJzpcbiAgICBjYXNlICdmbG93JzpcbiAgICBjYXNlICdsaW5lYWV0aCc6XG4gICAgY2FzZSAnc2VpZXZtJzpcbiAgICBjYXNlICdjZWxvJzpcbiAgICBjYXNlICdldGgnOlxuICAgIGNhc2UgJ29wZXRoJzpcbiAgICBjYXNlICdwb2x5Z29uJzpcbiAgICBjYXNlICd0cngnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzIHx8IHRva2VuLnRva2VuQWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAnYXB0JzpcbiAgICAgIGNvbnN0IHsgaW5pdEZ1bmMsIG9iamVjdElkIH0gPSBnZXRBcHRUb2tlbkluaXRpYWxpemVyKHRva2VuKTtcbiAgICAgIHJldHVybiBpbml0RnVuYyhcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIG9iamVjdElkLFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ3ZldCc6XG4gICAgICBjb25zdCB7IHZldEluaXRGdW5jLCB2ZXRPYmplY3RJZCwgaXNORlQgfSA9IGdldFZldFRva2VuSW5pdGlhbGl6ZXIodG9rZW4pO1xuICAgICAgaWYgKGlzTkZUKSB7XG4gICAgICAgIHJldHVybiB2ZXRJbml0RnVuYyhcbiAgICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDMpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWVcbiAgICAgICAgICB2ZXRPYmplY3RJZCxcbiAgICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZldEluaXRGdW5jKFxuICAgICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICAgIHZldE9iamVjdElkLFxuICAgICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICBjYXNlICdzdHgnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4uYXNzZXRJZCwgLy8gYXNzZXRJZFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ2FsZ28nOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDIpLCAvLyBpZCwgbmFtZVxuICAgICAgICB0b2tlbi5hbGlhcywgLy8gYWxpYXNcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgyKSAvLyBmdWxsTmFtZSwgZGVjaW1hbCwgYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuXG4gICAgY2FzZSAnZW9zJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLmNvbnRyYWN0TmFtZSwgLy8gY29udHJhY3ROYW1lXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCwgOCksIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXhcbiAgICAgICAgdG9rZW4uc3ltYm9sLCAvLyBzeW1ib2xcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg4KSAvLyBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICdoYmFyJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCAzKSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lXG4gICAgICAgIHRva2VuLm5ldHdvcmssIC8vIG5ldHdvcmtcbiAgICAgICAgdG9rZW4uZGVjaW1hbFBsYWNlcyxcbiAgICAgICAgdG9rZW4uYXNzZXQsXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNSwgOCksIC8vIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeFxuICAgICAgICB0b2tlbi5wcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG5cbiAgICBjYXNlICdzb2wnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4udG9rZW5BZGRyZXNzLCAvLyB0b2tlbkFkZHJlc3NcbiAgICAgICAgdG9rZW4uY29udHJhY3RBZGRyZXNzLCAvLyBjb250cmFjdEFkZHJlc3NcbiAgICAgICAgdG9rZW4uYXNzZXQsXG4gICAgICAgIHRva2VuLmZlYXR1cmVzLFxuICAgICAgICB0b2tlbi5wcm9ncmFtSWQsXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNikgLy8gcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ3N1aSc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5wYWNrYWdlSWQsIC8vIHBhY2thZ2VJZFxuICAgICAgICB0b2tlbi5tb2R1bGUsIC8vIG1vZHVsZVxuICAgICAgICB0b2tlbi5zeW1ib2wsIC8vIHN5bWJvbFxuICAgICAgICB0b2tlbi5jb250cmFjdEFkZHJlc3MsIC8vIGNvbnRyYWN0QWRkcmVzc1xuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ3Rhbyc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5zdWJuZXRJZCwgLy8gc3VibmV0SWRcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgY2FzZSAncG9seXgnOlxuICAgICAgcmV0dXJuIGluaXRpYWxpemVyKFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDAsIDQpLCAvLyBpZCwgbmFtZSwgZnVsbE5hbWUsIGRlY2ltYWxQbGFjZXNcbiAgICAgICAgdG9rZW4udGlja2VyLCAvLyB0aWNrZXJcbiAgICAgICAgdG9rZW4uYXNzZXRJZCwgLy8gYXNzZXRJZFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQpIC8vIGFzc2V0LCBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ3hsbSc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNSksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlcywgYXNzZXRcbiAgICAgICAgdG9rZW4uZG9tYWluLCAvLyBkb21haW5cbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg1KSAvLyBmZWF0dXJlcywgcHJlZml4LCBzdWZmaXgsIG5ldHdvcmssIHByaW1hcnlLZXlDdXJ2ZVxuICAgICAgKTtcblxuICAgIGNhc2UgJ3hycCc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgNCksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5pc3N1ZXJBZGRyZXNzLCAvLyBpc3N1ZXJBZGRyZXNzXG4gICAgICAgIHRva2VuLmN1cnJlY255Y29kZSwgLy8gY3VycmVuY3lDb2RlXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIHRva2VuLmRvbWFpbiwgLy8gZG9tYWluXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGNhc2UgJ29mYyc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3MsIC8vIGlkLCBuYW1lLCBmdWxsTmFtZSwgZGVjaW1hbFBsYWNlcywgYXNzZXQsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICAgdG9rZW4uYmFzZVVuaXQsIC8vIGJhc2VVbml0XG4gICAgICAgIHRva2VuLmlzVG9rZW4sIC8vIGlzVG9rZW5cbiAgICAgICAgdG9rZW4ua2luZCwgLy8ga2luZFxuICAgICAgICB0b2tlbi5hZGRyZXNzQ29pbiAvLyBhZGRyZXNzQ29pblxuICAgICAgKTtcbiAgICBjYXNlICdhc2knOlxuICAgIGNhc2UgJ2F0b20nOlxuICAgIGNhc2UgJ2JhYnknOlxuICAgIGNhc2UgJ2JsZCc6XG4gICAgY2FzZSAnY29yZXVtJzpcbiAgICBjYXNlICdjcm9ub3MnOlxuICAgIGNhc2UgJ2hhc2gnOlxuICAgIGNhc2UgJ2luamVjdGl2ZSc6XG4gICAgY2FzZSAnaW5pdGlhJzpcbiAgICBjYXNlICdvc21vJzpcbiAgICBjYXNlICd0aG9yJzpcbiAgICBjYXNlICdzZWknOlxuICAgIGNhc2UgJ3RpYSc6XG4gICAgY2FzZSAnemV0YSc6XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXIoXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoMCwgMyksIC8vIGlkLCBuYW1lLCBmdWxsTmFtZVxuICAgICAgICB0b2tlbi5kZW5vbSwgLy8gZGVub21cbiAgICAgICAgdG9rZW4uZGVjaW1hbFBsYWNlcywgLy8gZGVjaW1hbFBsYWNlc1xuICAgICAgICB0b2tlbi5uZXR3b3JrLCAvLyBuZXR3b3JrXG4gICAgICAgIHRva2VuLmJhc2VVbml0LCAvLyBiYXNlVW5pdFxuICAgICAgICAuLi5jb21tb25BcmdzLnNsaWNlKDQsIDgpLCAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4XG4gICAgICAgIHRva2VuLnByaW1hcnlLZXlDdXJ2ZSAvLyBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgY2FzZSAnYWRhJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLmFzc2V0TmFtZSxcbiAgICAgICAgdG9rZW4ucG9saWN5SWQsXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSg0KSAvLyBhc3NldCwgZmVhdHVyZXMsIHByZWZpeCwgc3VmZml4LCBuZXR3b3JrLCBwcmltYXJ5S2V5Q3VydmVcbiAgICAgICk7XG4gICAgY2FzZSAndG9uJzpcbiAgICAgIHJldHVybiBpbml0aWFsaXplcihcbiAgICAgICAgLi4uY29tbW9uQXJncy5zbGljZSgwLCA0KSwgLy8gaWQsIG5hbWUsIGZ1bGxOYW1lLCBkZWNpbWFsUGxhY2VzXG4gICAgICAgIHRva2VuLmNvbnRyYWN0QWRkcmVzcywgLy8gY29udHJhY3RBZGRyZXNzXG4gICAgICAgIC4uLmNvbW1vbkFyZ3Muc2xpY2UoNCkgLy8gYXNzZXQsIGZlYXR1cmVzLCBwcmVmaXgsIHN1ZmZpeCwgbmV0d29yaywgcHJpbWFyeUtleUN1cnZlXG4gICAgICApO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEFwdFRva2VuSW5pdGlhbGl6ZXIodG9rZW46IEFtc1Rva2VuQ29uZmlnKSB7XG4gIGlmICh0b2tlbi5hc3NldElkKSB7XG4gICAgLy8gdXNlZCBmb3IgZnVuZ2libGUtYXNzZXRzIC8gbGVnYWN5IGNvaW5zIGV0Yy5cbiAgICByZXR1cm4ge1xuICAgICAgaW5pdEZ1bmM6IGFwdFRva2VuIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IFJlYWRvbmx5PEJhc2VDb2luPixcbiAgICAgIG9iamVjdElkOiB0b2tlbi5hc3NldElkLFxuICAgIH07XG4gIH1cbiAgLy8gdXNlZCBmb3Igbm9uLWZ1bmdpYmxlIHRva2VuIChORlQpIGNvbGxlY3Rpb25zXG4gIHJldHVybiB7XG4gICAgaW5pdEZ1bmM6IGFwdE5GVENvbGxlY3Rpb24gYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUmVhZG9ubHk8QmFzZUNvaW4+LFxuICAgIG9iamVjdElkOiB0b2tlbi5uZnRDb2xsZWN0aW9uSWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFZldFRva2VuSW5pdGlhbGl6ZXIodG9rZW46IEFtc1Rva2VuQ29uZmlnKSB7XG4gIGlmICh0b2tlbi5uZnRDb2xsZWN0aW9uSWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmV0SW5pdEZ1bmM6IHZldE5GVENvbGxlY3Rpb24gYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUmVhZG9ubHk8QmFzZUNvaW4+LFxuICAgICAgdmV0T2JqZWN0SWQ6IHRva2VuLm5mdENvbGxlY3Rpb25JZCxcbiAgICAgIGlzTkZUOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHZldEluaXRGdW5jOiB2ZXRUb2tlbiBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBSZWFkb25seTxCYXNlQ29pbj4sXG4gICAgdmV0T2JqZWN0SWQ6IHRva2VuLmNvbnRyYWN0QWRkcmVzcyxcbiAgICBpc05GVDogZmFsc2UsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvaW5QcmVzZW50SW5Db2luTWFwKHsgbmFtZSwgaWQsIGFsaWFzIH06IHsgbmFtZTogc3RyaW5nOyBpZD86IHN0cmluZzsgYWxpYXM/OiBzdHJpbmcgfSk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihjb2lucy5oYXMobmFtZSkgfHwgKGlkICYmIGNvaW5zLmhhcyhpZCkpIHx8IChhbGlhcyAmJiBjb2lucy5oYXMoYWxpYXMpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUb2tlbk1hcFVzaW5nQ29uZmlnRGV0YWlscyh0b2tlbkNvbmZpZ01hcDogUmVjb3JkPHN0cmluZywgQW1zVG9rZW5Db25maWdbXT4pOiBDb2luTWFwIHtcbiAgY29uc3QgQmFzZUNvaW5zOiBNYXA8c3RyaW5nLCBSZWFkb25seTxCYXNlQ29pbj4+ID0gbmV3IE1hcCgpO1xuXG4gIGNvbnN0IG5mdEFuZE90aGVyVG9rZW5zID0gbmV3IFNldChbXG4gICAgJ2VyYzcyMTpic2N0b2tlbicsXG4gICAgJ3RlcmM3MjE6YnNjdG9rZW4nLFxuICAgICdlcmMxMTU1OmJzY3Rva2VuJyxcbiAgICAndGVyYzExNTU6YnNjdG9rZW4nLFxuICAgICdlcmM3MjE6d2l0Y2gnLFxuICAgICdlcmM3MjE6dG9rZW4nLFxuICAgICdlcmMxMTU1OnRva2VuJyxcbiAgICAnbm9uc3RhbmRhcmQ6dG9rZW4nLFxuICAgICd0ZXJjNzIxOnRva2VuJyxcbiAgICAndGVyYzExNTU6dG9rZW4nLFxuICAgICd0bm9uc3RhbmRhcmQ6dG9rZW4nLFxuICAgICd0ZXJjNzIxOmJpdGdvZXJjNzIxJyxcbiAgICAndGVyYzExNTU6Yml0Z29lcmMxMTU1JyxcbiAgICAndGVyYzcyMTpob29kaWRqJyxcbiAgICAnZXJjNzIxOnBvbHlnb250b2tlbicsXG4gICAgJ2VyYzExNTU6cG9seWdvbnRva2VuJyxcbiAgICAndGVyYzcyMTpwb2x5Z29udG9rZW4nLFxuICAgICd0ZXJjMTE1NTpwb2x5Z29udG9rZW4nLFxuICAgICdlcmM3MjE6c29uZWl1bXRva2VuJyxcbiAgICAnZXJjMTE1NTpzb25laXVtdG9rZW4nLFxuICAgICd0ZXJjNzIxOnNvbmVpdW10b2tlbicsXG4gICAgJ3RlcmMxMTU1OnNvbmVpdW10b2tlbicsXG4gIF0pO1xuXG4gIC8vIEFkZCBhbGwgdGhlIGNvaW5zIGZyb20gc3RhdGljcyBjb2luIG1hcCBmaXJzdFxuICBjb2lucy5mb3JFYWNoKChjb2luLCBjb2luTmFtZSkgPT4ge1xuICAgIEJhc2VDb2lucy5zZXQoY29pbk5hbWUsIGNvaW4pO1xuICB9KTtcblxuICAvLyBhZGQgdGhlIHRva2VucyBub3QgcHJlc2VudCBpbiB0aGUgc3RhdGljIGNvaW4gbWFwXG4gIGZvciAoY29uc3QgdG9rZW5Db25maWdzIG9mIE9iamVjdC52YWx1ZXModG9rZW5Db25maWdNYXApKSB7XG4gICAgY29uc3QgdG9rZW5Db25maWcgPSB0b2tlbkNvbmZpZ3NbMF07XG5cbiAgICBpZiAoXG4gICAgICAhaXNDb2luUHJlc2VudEluQ29pbk1hcCh7IC4uLnRva2VuQ29uZmlnIH0pICYmXG4gICAgICB0b2tlbkNvbmZpZy5pc1Rva2VuICYmXG4gICAgICAhbmZ0QW5kT3RoZXJUb2tlbnMuaGFzKHRva2VuQ29uZmlnLm5hbWUpXG4gICAgKSB7XG4gICAgICBjb25zdCB0b2tlbiA9IGNyZWF0ZVRva2VuKHRva2VuQ29uZmlnKTtcbiAgICAgIGlmICh0b2tlbikge1xuICAgICAgICBCYXNlQ29pbnMuc2V0KHRva2VuLm5hbWUsIHRva2VuKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gQ29pbk1hcC5mcm9tQ29pbnMoQXJyYXkuZnJvbShCYXNlQ29pbnMudmFsdWVzKCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRva2VuTWFwVXNpbmdUcmltbWVkQ29uZmlnRGV0YWlscyhcbiAgcmVkdWNlZFRva2VuQ29uZmlnTWFwOiBSZWNvcmQ8c3RyaW5nLCBUcmltbWVkQW1zVG9rZW5Db25maWdbXT5cbik6IENvaW5NYXAge1xuICBjb25zdCBhbXNUb2tlbkNvbmZpZ01hcDogUmVjb3JkPHN0cmluZywgQW1zVG9rZW5Db25maWdbXT4gPSB7fTtcbiAgY29uc3QgbmV0d29ya05hbWVNYXAgPSBuZXcgTWFwKFxuICAgIE9iamVjdC52YWx1ZXMoTmV0d29ya3MpLmZsYXRNYXAoKG5ldHdvcmtUeXBlKSA9PlxuICAgICAgT2JqZWN0LnZhbHVlcyhuZXR3b3JrVHlwZSkubWFwKChuZXR3b3JrKSA9PiBbbmV0d29yay5uYW1lLCBuZXR3b3JrXSlcbiAgICApXG4gICk7XG5cbiAgZm9yIChjb25zdCB0b2tlbkNvbmZpZ3Mgb2YgT2JqZWN0LnZhbHVlcyhyZWR1Y2VkVG9rZW5Db25maWdNYXApKSB7XG4gICAgY29uc3QgdG9rZW5Db25maWcgPSB0b2tlbkNvbmZpZ3NbMF07XG4gICAgY29uc3QgbmV0d29yayA9IG5ldHdvcmtOYW1lTWFwLmdldCh0b2tlbkNvbmZpZy5uZXR3b3JrLm5hbWUpO1xuICAgIGlmIChcbiAgICAgICFpc0NvaW5QcmVzZW50SW5Db2luTWFwKHsgLi4udG9rZW5Db25maWcgfSkgJiZcbiAgICAgIG5ldHdvcmsgJiZcbiAgICAgIHRva2VuQ29uZmlnLmlzVG9rZW4gJiZcbiAgICAgIG5ldHdvcmtGZWF0dXJlTWFwRm9yVG9rZW5zW25ldHdvcmsuZmFtaWx5XVxuICAgICkge1xuICAgICAgY29uc3QgZmVhdHVyZXMgPSBuZXcgU2V0KFtcbiAgICAgICAgLi4uKG5ldHdvcmtGZWF0dXJlTWFwRm9yVG9rZW5zW25ldHdvcmsuZmFtaWx5XSB8fCBbXSksXG4gICAgICAgIC4uLih0b2tlbkNvbmZpZy5hZGRpdGlvbmFsRmVhdHVyZXMgfHwgW10pLFxuICAgICAgXSk7XG4gICAgICB0b2tlbkNvbmZpZy5leGNsdWRlZEZlYXR1cmVzPy5mb3JFYWNoKChmZWF0dXJlKSA9PiBmZWF0dXJlcy5kZWxldGUoZmVhdHVyZSkpO1xuICAgICAgYW1zVG9rZW5Db25maWdNYXBbdG9rZW5Db25maWcubmFtZV0gPSBbeyAuLi50b2tlbkNvbmZpZywgZmVhdHVyZXM6IEFycmF5LmZyb20oZmVhdHVyZXMpLCBuZXR3b3JrIH1dO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjcmVhdGVUb2tlbk1hcFVzaW5nQ29uZmlnRGV0YWlscyhhbXNUb2tlbkNvbmZpZ01hcCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUb2tlblVzaW5nVHJpbW1lZENvbmZpZ0RldGFpbHMoXG4gIHRva2VuQ29uZmlnOiBUcmltbWVkQW1zVG9rZW5Db25maWdcbik6IFJlYWRvbmx5PEJhc2VDb2luPiB8IHVuZGVmaW5lZCB7XG4gIGxldCBmdWxsVG9rZW5Db25maWc6IEFtc1Rva2VuQ29uZmlnIHwgdW5kZWZpbmVkO1xuICBjb25zdCBuZXR3b3JrTmFtZU1hcCA9IG5ldyBNYXAoXG4gICAgT2JqZWN0LnZhbHVlcyhOZXR3b3JrcykuZmxhdE1hcCgobmV0d29ya1R5cGUpID0+XG4gICAgICBPYmplY3QudmFsdWVzKG5ldHdvcmtUeXBlKS5tYXAoKG5ldHdvcmspID0+IFtuZXR3b3JrLm5hbWUsIG5ldHdvcmtdKVxuICAgIClcbiAgKTtcbiAgY29uc3QgbmV0d29yayA9IG5ldHdvcmtOYW1lTWFwLmdldCh0b2tlbkNvbmZpZy5uZXR3b3JrLm5hbWUpO1xuICBpZiAoXG4gICAgIWlzQ29pblByZXNlbnRJbkNvaW5NYXAoeyAuLi50b2tlbkNvbmZpZyB9KSAmJlxuICAgIG5ldHdvcmsgJiZcbiAgICB0b2tlbkNvbmZpZy5pc1Rva2VuICYmXG4gICAgbmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnNbbmV0d29yay5mYW1pbHldXG4gICkge1xuICAgIGNvbnN0IGZlYXR1cmVzID0gbmV3IFNldChbXG4gICAgICAuLi4obmV0d29ya0ZlYXR1cmVNYXBGb3JUb2tlbnNbbmV0d29yay5mYW1pbHldIHx8IFtdKSxcbiAgICAgIC4uLih0b2tlbkNvbmZpZy5hZGRpdGlvbmFsRmVhdHVyZXMgfHwgW10pLFxuICAgIF0pO1xuICAgIHRva2VuQ29uZmlnLmV4Y2x1ZGVkRmVhdHVyZXM/LmZvckVhY2goKGZlYXR1cmUpID0+IGZlYXR1cmVzLmRlbGV0ZShmZWF0dXJlKSk7XG4gICAgZnVsbFRva2VuQ29uZmlnID0geyAuLi50b2tlbkNvbmZpZywgZmVhdHVyZXM6IEFycmF5LmZyb20oZmVhdHVyZXMpLCBuZXR3b3JrIH0gYXMgQW1zVG9rZW5Db25maWc7XG4gICAgcmV0dXJuIGNyZWF0ZVRva2VuKGZ1bGxUb2tlbkNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export declare const DOMAIN_PATTERN: RegExp;
2
- export declare const HEDERA_NODE_ACCCOUNT_ID = "0.0.3";
3
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
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,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HEDERA_NODE_ACCCOUNT_ID = exports.DOMAIN_PATTERN = void 0;
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
- exports.HEDERA_NODE_ACCCOUNT_ID = '0.0.3';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGNBQWMsR0FBRyw4RUFBOEUsQ0FBQztBQUVoRyxRQUFBLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBET01BSU5fUEFUVEVSTiA9IC9eKD86W2EtejAtOV0oPzpbYS16MC05LV17MCw2MX1bYS16MC05XSk/XFwuKStbYS16MC05XVthLXowLTktXXswLDYxfVthLXowLTldJC87XG5cbmV4cG9ydCBjb25zdCBIRURFUkFfTk9ERV9BQ0NDT1VOVF9JRCA9ICcwLjAuMyc7XG4iXX0=
@@ -1,37 +0,0 @@
1
- /**
2
- * Each subclass needs the explicit Object.setPrototypeOf() so that instanceof will work correctly.
3
- * See https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
4
- */
5
- import { CoinFeature } from './base';
6
- declare class BitGoStaticsError extends Error {
7
- constructor(message: string);
8
- }
9
- export declare class CoinNotDefinedError extends BitGoStaticsError {
10
- constructor(coinName: string);
11
- }
12
- export declare class DuplicateCoinDefinitionError extends BitGoStaticsError {
13
- constructor(coinName: string);
14
- }
15
- export declare class DuplicateCoinIdDefinitionError extends BitGoStaticsError {
16
- constructor(id: string);
17
- }
18
- export declare class DisallowedCoinFeatureError extends BitGoStaticsError {
19
- constructor(coinName: string, feature: CoinFeature);
20
- }
21
- export declare class MissingRequiredCoinFeatureError extends BitGoStaticsError {
22
- constructor(coinName: string, missingFeatures: CoinFeature[]);
23
- }
24
- export declare class InvalidIdError extends BitGoStaticsError {
25
- constructor(coinName: string, id: string);
26
- }
27
- export declare class InvalidContractAddressError extends BitGoStaticsError {
28
- constructor(coinName: string, contractAddress: string);
29
- }
30
- export declare class InvalidDomainError extends BitGoStaticsError {
31
- constructor(coinName: string, domain: string);
32
- }
33
- export declare class ConflictingCoinFeaturesError extends BitGoStaticsError {
34
- constructor(coinName: string, conflictingFeatures: CoinFeature[]);
35
- }
36
- export {};
37
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,cAAM,iBAAkB,SAAQ,KAAK;gBAChB,OAAO,EAAE,MAAM;CAKnC;AAED,qBAAa,mBAAoB,SAAQ,iBAAiB;gBACrC,QAAQ,EAAE,MAAM;CAIpC;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;gBAC9C,QAAQ,EAAE,MAAM;CAIpC;AAED,qBAAa,8BAA+B,SAAQ,iBAAiB;gBAChD,EAAE,EAAE,MAAM;CAI9B;AAED,qBAAa,0BAA2B,SAAQ,iBAAiB;gBAC5C,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;CAI1D;AAED,qBAAa,+BAAgC,SAAQ,iBAAiB;gBACjD,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE;CAIpE;AAED,qBAAa,cAAe,SAAQ,iBAAiB;gBAChC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAIhD;AAED,qBAAa,2BAA4B,SAAQ,iBAAiB;gBAC7C,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAI7D;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;gBACpC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAIpD;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;gBAC9C,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE;CAMxE"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConflictingCoinFeaturesError = exports.InvalidDomainError = exports.InvalidContractAddressError = exports.InvalidIdError = exports.MissingRequiredCoinFeatureError = exports.DisallowedCoinFeatureError = exports.DuplicateCoinIdDefinitionError = exports.DuplicateCoinDefinitionError = exports.CoinNotDefinedError = void 0;
4
- class BitGoStaticsError extends Error {
5
- constructor(message) {
6
- super(message);
7
- this.stack = new Error(message).stack;
8
- Object.setPrototypeOf(this, BitGoStaticsError.prototype);
9
- }
10
- }
11
- class CoinNotDefinedError extends BitGoStaticsError {
12
- constructor(coinName) {
13
- super(`coin '${coinName}' is not defined`);
14
- Object.setPrototypeOf(this, CoinNotDefinedError.prototype);
15
- }
16
- }
17
- exports.CoinNotDefinedError = CoinNotDefinedError;
18
- class DuplicateCoinDefinitionError extends BitGoStaticsError {
19
- constructor(coinName) {
20
- super(`coin '${coinName}' is already defined`);
21
- Object.setPrototypeOf(this, DuplicateCoinDefinitionError.prototype);
22
- }
23
- }
24
- exports.DuplicateCoinDefinitionError = DuplicateCoinDefinitionError;
25
- class DuplicateCoinIdDefinitionError extends BitGoStaticsError {
26
- constructor(id) {
27
- super(`coin with id '${id}' is already defined`);
28
- Object.setPrototypeOf(this, DuplicateCoinIdDefinitionError.prototype);
29
- }
30
- }
31
- exports.DuplicateCoinIdDefinitionError = DuplicateCoinIdDefinitionError;
32
- class DisallowedCoinFeatureError extends BitGoStaticsError {
33
- constructor(coinName, feature) {
34
- super(`coin feature '${feature}' is disallowed for coin ${coinName}.`);
35
- Object.setPrototypeOf(this, DisallowedCoinFeatureError.prototype);
36
- }
37
- }
38
- exports.DisallowedCoinFeatureError = DisallowedCoinFeatureError;
39
- class MissingRequiredCoinFeatureError extends BitGoStaticsError {
40
- constructor(coinName, missingFeatures) {
41
- super(`Required coin feature(s) '${missingFeatures.join(', ')}' were not found for coin ${coinName}.`);
42
- Object.setPrototypeOf(this, MissingRequiredCoinFeatureError.prototype);
43
- }
44
- }
45
- exports.MissingRequiredCoinFeatureError = MissingRequiredCoinFeatureError;
46
- class InvalidIdError extends BitGoStaticsError {
47
- constructor(coinName, id) {
48
- super(`invalid uuid '${id}' for coin '${coinName}'`);
49
- Object.setPrototypeOf(this, InvalidIdError.prototype);
50
- }
51
- }
52
- exports.InvalidIdError = InvalidIdError;
53
- class InvalidContractAddressError extends BitGoStaticsError {
54
- constructor(coinName, contractAddress) {
55
- super(`invalid contract address '${contractAddress}' for coin '${coinName}'`);
56
- Object.setPrototypeOf(this, InvalidContractAddressError.prototype);
57
- }
58
- }
59
- exports.InvalidContractAddressError = InvalidContractAddressError;
60
- class InvalidDomainError extends BitGoStaticsError {
61
- constructor(coinName, domain) {
62
- super(`invalid domain '${domain}' for coin '${coinName}'`);
63
- Object.setPrototypeOf(this, InvalidDomainError.prototype);
64
- }
65
- }
66
- exports.InvalidDomainError = InvalidDomainError;
67
- class ConflictingCoinFeaturesError extends BitGoStaticsError {
68
- constructor(coinName, conflictingFeatures) {
69
- super(`coin feature(s) for coin '${coinName}' cannot be both required and disallowed: ${conflictingFeatures.join(', ')}`);
70
- Object.setPrototypeOf(this, ConflictingCoinFeaturesError.prototype);
71
- }
72
- }
73
- exports.ConflictingCoinFeaturesError = ConflictingCoinFeaturesError;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxNQUFNLGlCQUFrQixTQUFRLEtBQUs7SUFDbkMsWUFBbUIsT0FBZTtRQUNoQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN0QyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUFFRCxNQUFhLG1CQUFvQixTQUFRLGlCQUFpQjtJQUN4RCxZQUFtQixRQUFnQjtRQUNqQyxLQUFLLENBQUMsU0FBUyxRQUFRLGtCQUFrQixDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGO0FBTEQsa0RBS0M7QUFFRCxNQUFhLDRCQUE2QixTQUFRLGlCQUFpQjtJQUNqRSxZQUFtQixRQUFnQjtRQUNqQyxLQUFLLENBQUMsU0FBUyxRQUFRLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBTEQsb0VBS0M7QUFFRCxNQUFhLDhCQUErQixTQUFRLGlCQUFpQjtJQUNuRSxZQUFtQixFQUFVO1FBQzNCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRjtBQUxELHdFQUtDO0FBRUQsTUFBYSwwQkFBMkIsU0FBUSxpQkFBaUI7SUFDL0QsWUFBbUIsUUFBZ0IsRUFBRSxPQUFvQjtRQUN2RCxLQUFLLENBQUMsaUJBQWlCLE9BQU8sNEJBQTRCLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDdkUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGO0FBTEQsZ0VBS0M7QUFFRCxNQUFhLCtCQUFnQyxTQUFRLGlCQUFpQjtJQUNwRSxZQUFtQixRQUFnQixFQUFFLGVBQThCO1FBQ2pFLEtBQUssQ0FBQyw2QkFBNkIsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDdkcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsK0JBQStCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekUsQ0FBQztDQUNGO0FBTEQsMEVBS0M7QUFFRCxNQUFhLGNBQWUsU0FBUSxpQkFBaUI7SUFDbkQsWUFBbUIsUUFBZ0IsRUFBRSxFQUFVO1FBQzdDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRjtBQUxELHdDQUtDO0FBRUQsTUFBYSwyQkFBNEIsU0FBUSxpQkFBaUI7SUFDaEUsWUFBbUIsUUFBZ0IsRUFBRSxlQUF1QjtRQUMxRCxLQUFLLENBQUMsNkJBQTZCLGVBQWUsZUFBZSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQUxELGtFQUtDO0FBRUQsTUFBYSxrQkFBbUIsU0FBUSxpQkFBaUI7SUFDdkQsWUFBbUIsUUFBZ0IsRUFBRSxNQUFjO1FBQ2pELEtBQUssQ0FBQyxtQkFBbUIsTUFBTSxlQUFlLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNGO0FBTEQsZ0RBS0M7QUFFRCxNQUFhLDRCQUE2QixTQUFRLGlCQUFpQjtJQUNqRSxZQUFtQixRQUFnQixFQUFFLG1CQUFrQztRQUNyRSxLQUFLLENBQ0gsNkJBQTZCLFFBQVEsNkNBQTZDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNuSCxDQUFDO1FBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBUEQsb0VBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEVhY2ggc3ViY2xhc3MgbmVlZHMgdGhlIGV4cGxpY2l0IE9iamVjdC5zZXRQcm90b3R5cGVPZigpIHNvIHRoYXQgaW5zdGFuY2VvZiB3aWxsIHdvcmsgY29ycmVjdGx5LlxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC13aWtpL2Jsb2IvbWFzdGVyL0JyZWFraW5nLUNoYW5nZXMubWQjZXh0ZW5kaW5nLWJ1aWx0LWlucy1saWtlLWVycm9yLWFycmF5LWFuZC1tYXAtbWF5LW5vLWxvbmdlci13b3JrXG4gKi9cbmltcG9ydCB7IENvaW5GZWF0dXJlIH0gZnJvbSAnLi9iYXNlJztcblxuY2xhc3MgQml0R29TdGF0aWNzRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLnN0YWNrID0gbmV3IEVycm9yKG1lc3NhZ2UpLnN0YWNrO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBCaXRHb1N0YXRpY3NFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb2luTm90RGVmaW5lZEVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZykge1xuICAgIHN1cGVyKGBjb2luICcke2NvaW5OYW1lfScgaXMgbm90IGRlZmluZWRgKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgQ29pbk5vdERlZmluZWRFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEdXBsaWNhdGVDb2luRGVmaW5pdGlvbkVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZykge1xuICAgIHN1cGVyKGBjb2luICcke2NvaW5OYW1lfScgaXMgYWxyZWFkeSBkZWZpbmVkYCk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIER1cGxpY2F0ZUNvaW5EZWZpbml0aW9uRXJyb3IucHJvdG90eXBlKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRHVwbGljYXRlQ29pbklkRGVmaW5pdGlvbkVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKGBjb2luIHdpdGggaWQgJyR7aWR9JyBpcyBhbHJlYWR5IGRlZmluZWRgKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgRHVwbGljYXRlQ29pbklkRGVmaW5pdGlvbkVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERpc2FsbG93ZWRDb2luRmVhdHVyZUVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZywgZmVhdHVyZTogQ29pbkZlYXR1cmUpIHtcbiAgICBzdXBlcihgY29pbiBmZWF0dXJlICcke2ZlYXR1cmV9JyBpcyBkaXNhbGxvd2VkIGZvciBjb2luICR7Y29pbk5hbWV9LmApO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBEaXNhbGxvd2VkQ29pbkZlYXR1cmVFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNaXNzaW5nUmVxdWlyZWRDb2luRmVhdHVyZUVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZywgbWlzc2luZ0ZlYXR1cmVzOiBDb2luRmVhdHVyZVtdKSB7XG4gICAgc3VwZXIoYFJlcXVpcmVkIGNvaW4gZmVhdHVyZShzKSAnJHttaXNzaW5nRmVhdHVyZXMuam9pbignLCAnKX0nIHdlcmUgbm90IGZvdW5kIGZvciBjb2luICR7Y29pbk5hbWV9LmApO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBNaXNzaW5nUmVxdWlyZWRDb2luRmVhdHVyZUVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRJZEVycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZywgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKGBpbnZhbGlkIHV1aWQgJyR7aWR9JyBmb3IgY29pbiAnJHtjb2luTmFtZX0nYCk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEludmFsaWRJZEVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRDb250cmFjdEFkZHJlc3NFcnJvciBleHRlbmRzIEJpdEdvU3RhdGljc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvaW5OYW1lOiBzdHJpbmcsIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nKSB7XG4gICAgc3VwZXIoYGludmFsaWQgY29udHJhY3QgYWRkcmVzcyAnJHtjb250cmFjdEFkZHJlc3N9JyBmb3IgY29pbiAnJHtjb2luTmFtZX0nYCk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEludmFsaWRDb250cmFjdEFkZHJlc3NFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkRG9tYWluRXJyb3IgZXh0ZW5kcyBCaXRHb1N0YXRpY3NFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb2luTmFtZTogc3RyaW5nLCBkb21haW46IHN0cmluZykge1xuICAgIHN1cGVyKGBpbnZhbGlkIGRvbWFpbiAnJHtkb21haW59JyBmb3IgY29pbiAnJHtjb2luTmFtZX0nYCk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEludmFsaWREb21haW5FcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25mbGljdGluZ0NvaW5GZWF0dXJlc0Vycm9yIGV4dGVuZHMgQml0R29TdGF0aWNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbk5hbWU6IHN0cmluZywgY29uZmxpY3RpbmdGZWF0dXJlczogQ29pbkZlYXR1cmVbXSkge1xuICAgIHN1cGVyKFxuICAgICAgYGNvaW4gZmVhdHVyZShzKSBmb3IgY29pbiAnJHtjb2luTmFtZX0nIGNhbm5vdCBiZSBib3RoIHJlcXVpcmVkIGFuZCBkaXNhbGxvd2VkOiAke2NvbmZsaWN0aW5nRmVhdHVyZXMuam9pbignLCAnKX1gXG4gICAgKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgQ29uZmxpY3RpbmdDb2luRmVhdHVyZXNFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG4iXX0=
@@ -1,40 +0,0 @@
1
- import { BaseCoin, CoinFeature, KeyCurve, UnderlyingAsset } from './base';
2
- import { FlareP } from './networks';
3
- export interface FLRPConstructorOptions {
4
- id: string;
5
- fullName: string;
6
- name: string;
7
- network: FlareP;
8
- features: CoinFeature[];
9
- asset: UnderlyingAsset;
10
- prefix?: string;
11
- suffix?: string;
12
- primaryKeyCurve: KeyCurve;
13
- }
14
- export declare class FLRPCoin extends BaseCoin {
15
- static readonly DEFAULT_FEATURES: CoinFeature[];
16
- /**
17
- * Additional fields for utxo coins
18
- */
19
- readonly network: FlareP;
20
- constructor(options: FLRPConstructorOptions);
21
- protected disallowedFeatures(): Set<CoinFeature>;
22
- protected requiredFeatures(): Set<CoinFeature>;
23
- }
24
- /**
25
- * Factory function for utxo coin instances.
26
- *
27
- * @param id uuid v4
28
- * @param name unique identifier of the coin
29
- * @param fullName Complete human-readable name of the coin
30
- * @param network Network object for this coin
31
- * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
32
- * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `UtxoCoin`
33
- * @param prefix? Optional coin prefix. Defaults to empty string
34
- * @param suffix? Optional coin suffix. Defaults to coin name.
35
- * @param primaryKeyCurve The elliptic curve for this chain/token
36
- */
37
- export declare function flrp(id: string, name: string, fullName: string, network: FlareP, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string,
38
- /** All UTXOs BitGo supports are SECP256K1 **/
39
- primaryKeyCurve?: KeyCurve): Readonly<FLRPCoin>;
40
- //# sourceMappingURL=flrp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flrp.d.ts","sourceRoot":"","sources":["../../src/flrp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,WAAW,EAAY,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED,qBAAa,QAAS,SAAQ,QAAQ;IACpC,gBAAuB,gBAAgB,gBAWrC;IAEF;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;gBAEpB,OAAO,EAAE,sBAAsB;IAY3C,SAAS,CAAC,kBAAkB,IAAI,GAAG,CAAC,WAAW,CAAC;IAIhD,SAAS,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,CAAC;CAG/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,EACtB,QAAQ,GAAE,WAAW,EAA8B,EACnD,MAAM,SAAK,EACX,MAAM,GAAE,MAA2B;AACnC,8CAA8C;AAC9C,eAAe,GAAE,QAA6B,sBAe/C"}