@ledgerhq/cryptoassets 9.7.0-next.0 → 9.7.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +6 -0
- package/README.md +7 -43
- package/lib/tokens.d.ts +0 -5
- package/lib/tokens.d.ts.map +1 -1
- package/lib/tokens.js +10 -79
- package/lib/tokens.js.map +1 -1
- package/lib-es/tokens.d.ts +0 -5
- package/lib-es/tokens.d.ts.map +1 -1
- package/lib-es/tokens.js +9 -76
- package/lib-es/tokens.js.map +1 -1
- package/package.json +1 -1
- package/src/tokens.ts +9 -95
- package/lib/tokens.test.d.ts +0 -2
- package/lib/tokens.test.d.ts.map +0 -1
- package/lib/tokens.test.js +0 -119
- package/lib/tokens.test.js.map +0 -1
- package/lib-es/tokens.test.d.ts +0 -2
- package/lib-es/tokens.test.d.ts.map +0 -1
- package/lib-es/tokens.test.js +0 -117
- package/lib-es/tokens.test.js.map +0 -1
- package/src/tokens.test.ts +0 -135
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/cryptoassets@9.
|
|
2
|
+
> @ledgerhq/cryptoassets@9.7.0-next.0 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/cryptoassets
|
|
3
3
|
> tsc && tsc -m ES6 --outDir lib-es
|
|
4
4
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @ledgerhq/cryptoassets
|
|
2
2
|
|
|
3
|
+
## 9.7.0-next.1
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#3564](https://github.com/LedgerHQ/ledger-live/pull/3564) [`30bf4d92c7`](https://github.com/LedgerHQ/ledger-live/commit/30bf4d92c7d79cb81b1e4ad014857459739c33be) Thanks [@henrily-ledger](https://github.com/henrily-ledger)! - revert crypto asset dyn cal change
|
|
8
|
+
|
|
3
9
|
## 9.7.0-next.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -49,26 +49,20 @@ There are two modes of usage of this library.
|
|
|
49
49
|
* [getFiatCurrencyByTicker](#getfiatcurrencybyticker)
|
|
50
50
|
* [Parameters](#parameters-13)
|
|
51
51
|
* [listFiatCurrencies](#listfiatcurrencies)
|
|
52
|
-
* [\__clearObject](#\__clearobject)
|
|
53
|
-
* [Parameters](#parameters-14)
|
|
54
|
-
* [\__clearAllLists](#\__clearalllists)
|
|
55
52
|
* [listTokens](#listtokens)
|
|
56
|
-
* [Parameters](#parameters-
|
|
53
|
+
* [Parameters](#parameters-14)
|
|
57
54
|
* [listTokensForCryptoCurrency](#listtokensforcryptocurrency)
|
|
58
|
-
* [Parameters](#parameters-
|
|
55
|
+
* [Parameters](#parameters-15)
|
|
59
56
|
* [listTokenTypesForCryptoCurrency](#listtokentypesforcryptocurrency)
|
|
60
|
-
* [Parameters](#parameters-
|
|
57
|
+
* [Parameters](#parameters-16)
|
|
61
58
|
* [findTokenByTicker](#findtokenbyticker)
|
|
62
|
-
* [Parameters](#parameters-
|
|
59
|
+
* [Parameters](#parameters-17)
|
|
63
60
|
* [findTokenById](#findtokenbyid)
|
|
64
|
-
* [Parameters](#parameters-
|
|
61
|
+
* [Parameters](#parameters-18)
|
|
65
62
|
* [hasTokenId](#hastokenid)
|
|
66
|
-
* [Parameters](#parameters-
|
|
63
|
+
* [Parameters](#parameters-19)
|
|
67
64
|
* [getTokenById](#gettokenbyid)
|
|
68
|
-
* [Parameters](#parameters-
|
|
69
|
-
* [removeTokenFromAllLists](#removetokenfromalllists)
|
|
70
|
-
* [Parameters](#parameters-22)
|
|
71
|
-
* [removeTokenFromAllLists](#removetokenfromalllists-1)
|
|
65
|
+
* [Parameters](#parameters-20)
|
|
72
66
|
|
|
73
67
|
### abandonSeedAddresses
|
|
74
68
|
|
|
@@ -203,22 +197,6 @@ Returns **FiatCurrency**
|
|
|
203
197
|
|
|
204
198
|
Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<FiatCurrency>**
|
|
205
199
|
|
|
206
|
-
### \__clearObject
|
|
207
|
-
|
|
208
|
-
Only for jest purpose, clean object to be empty
|
|
209
|
-
|
|
210
|
-
#### Parameters
|
|
211
|
-
|
|
212
|
-
* `obj` **Record<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), (TokenCurrency | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<TokenCurrency>)>**
|
|
213
|
-
|
|
214
|
-
Returns **void**
|
|
215
|
-
|
|
216
|
-
### \__clearAllLists
|
|
217
|
-
|
|
218
|
-
Only for jest purpose, clear all the init list
|
|
219
|
-
|
|
220
|
-
Returns **void**
|
|
221
|
-
|
|
222
200
|
### listTokens
|
|
223
201
|
|
|
224
202
|
#### Parameters
|
|
@@ -276,20 +254,6 @@ Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/
|
|
|
276
254
|
|
|
277
255
|
Returns **TokenCurrency**
|
|
278
256
|
|
|
279
|
-
### removeTokenFromAllLists
|
|
280
|
-
|
|
281
|
-
Delete previous token entry to all array
|
|
282
|
-
|
|
283
|
-
#### Parameters
|
|
284
|
-
|
|
285
|
-
* `token` **TokenCurrency**
|
|
286
|
-
|
|
287
|
-
### removeTokenFromAllLists
|
|
288
|
-
|
|
289
|
-
We clean all the reference of an existing token, if an hash doesn't match.
|
|
290
|
-
Like this we can update any change from a already added token coming from Dynamic CAL
|
|
291
|
-
and maintain it up to date without having to release a new version of LLD or LLM
|
|
292
|
-
|
|
293
257
|
## Maintainance notes
|
|
294
258
|
|
|
295
259
|
Import crypto assets data guide:
|
package/lib/tokens.d.ts
CHANGED
|
@@ -4,11 +4,6 @@ import { PolygonERC20Token } from "./data/polygon-erc20";
|
|
|
4
4
|
type TokensListOptions = {
|
|
5
5
|
withDelisted: boolean;
|
|
6
6
|
};
|
|
7
|
-
export declare function createTokenHash(token: TokenCurrency): string;
|
|
8
|
-
/**
|
|
9
|
-
* Only for jest purpose, clear all the init list
|
|
10
|
-
*/
|
|
11
|
-
export declare function __clearAllLists(): void;
|
|
12
7
|
/**
|
|
13
8
|
*
|
|
14
9
|
*/
|
package/lib/tokens.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,8BAA8B,CAAC;AAKtC,OAAoB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAsB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,8BAA8B,CAAC;AAKtC,OAAoB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAsB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAwBxE,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAKF;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACnC,aAAa,EAAE,CAGjB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACnC,aAAa,EAAE,CAQjB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,cAAc,GACvB,MAAM,EAAE,CAUV;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,IAAI,GAAG,SAAS,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,SAAS,CAE1E;AAGD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GACd,aAAa,GAAG,IAAI,GAAG,SAAS,CAQlC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,aAAa,GAAG,IAAI,GAAG,SAAS,CAElC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,OAAQ,MAAM,KAAG,OAA2B,CAAC;AAEpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAQtD;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CA8BrD;AAED,wBAAgB,YAAY,CAAC,CAC3B,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,SAAS,EACT,IAAI,EACJ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EACnB,EAAE,UAAU,GAAG,iBAAiB,GAAG,aAAa,CAsBhD"}
|
package/lib/tokens.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.convertERC20 = exports.addTokens = exports.getTokenById = exports.hasTokenId = exports.findTokenByAddressInCurrency = exports.findTokenByAddress = exports.findTokenById = exports.findTokenByTicker = exports.listTokenTypesForCryptoCurrency = exports.listTokensForCryptoCurrency = exports.listTokens =
|
|
6
|
+
exports.convertERC20 = exports.addTokens = exports.getTokenById = exports.hasTokenId = exports.findTokenByAddressInCurrency = exports.findTokenByAddress = exports.findTokenById = exports.findTokenByTicker = exports.listTokenTypesForCryptoCurrency = exports.listTokensForCryptoCurrency = exports.listTokens = void 0;
|
|
7
7
|
const currencies_1 = require("./currencies");
|
|
8
8
|
const asa_1 = __importDefault(require("./data/asa"));
|
|
9
9
|
const bep20_1 = __importDefault(require("./data/bep20"));
|
|
@@ -24,7 +24,6 @@ const tokensById = {};
|
|
|
24
24
|
const tokensByTicker = {};
|
|
25
25
|
const tokensByAddress = {};
|
|
26
26
|
const tokensByCurrencyAddress = {};
|
|
27
|
-
const tokenListHashes = new Set();
|
|
28
27
|
addTokens(erc20_1.default.map(convertERC20));
|
|
29
28
|
addTokens(polygon_erc20_1.default.map(convertERC20));
|
|
30
29
|
addTokens(trc10_1.default.map(convertTRONTokens("trc10")));
|
|
@@ -37,36 +36,6 @@ addTokens(stellar_1.default.map(convertStellarTokens));
|
|
|
37
36
|
const defaultTokenListOptions = {
|
|
38
37
|
withDelisted: false,
|
|
39
38
|
};
|
|
40
|
-
function createTokenHash(token) {
|
|
41
|
-
return token
|
|
42
|
-
? `${token.id}${token.contractAddress}${token.delisted}${token.disableCountervalue}${token.ticker}${token.countervalueTicker}${token.ledgerSignature}`
|
|
43
|
-
: "";
|
|
44
|
-
}
|
|
45
|
-
exports.createTokenHash = createTokenHash;
|
|
46
|
-
/**
|
|
47
|
-
* Only for jest purpose, clean object to be empty
|
|
48
|
-
* @param obj
|
|
49
|
-
*/
|
|
50
|
-
const __clearObject = (obj) => {
|
|
51
|
-
for (const key in obj) {
|
|
52
|
-
delete obj[key];
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Only for jest purpose, clear all the init list
|
|
57
|
-
*/
|
|
58
|
-
function __clearAllLists() {
|
|
59
|
-
tokensArray.length = 0;
|
|
60
|
-
tokensArrayWithDelisted.length = 0;
|
|
61
|
-
__clearObject(tokensByCryptoCurrency);
|
|
62
|
-
__clearObject(tokensByCryptoCurrencyWithDelisted);
|
|
63
|
-
__clearObject(tokensById);
|
|
64
|
-
__clearObject(tokensByTicker);
|
|
65
|
-
__clearObject(tokensByAddress);
|
|
66
|
-
__clearObject(tokensByCurrencyAddress);
|
|
67
|
-
tokenListHashes.clear();
|
|
68
|
-
}
|
|
69
|
-
exports.__clearAllLists = __clearAllLists;
|
|
70
39
|
/**
|
|
71
40
|
*
|
|
72
41
|
*/
|
|
@@ -145,58 +114,21 @@ exports.getTokenById = getTokenById;
|
|
|
145
114
|
function comparePriority(a, b) {
|
|
146
115
|
return Number(!!b.disableCountervalue) - Number(!!a.disableCountervalue);
|
|
147
116
|
}
|
|
148
|
-
function removeTokenFromArray(array, tokenId) {
|
|
149
|
-
if (array && array.length > 0) {
|
|
150
|
-
const index = array.findIndex((currentToken) => currentToken && currentToken.id === tokenId);
|
|
151
|
-
if (index === -1)
|
|
152
|
-
return array;
|
|
153
|
-
return array.splice(index, 1);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
function removeTokenFromRecord(record, key) {
|
|
157
|
-
tokenListHashes.delete(record[key]);
|
|
158
|
-
delete record[key];
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Delete previous token entry to all array
|
|
162
|
-
* @param token
|
|
163
|
-
*/
|
|
164
|
-
function removeTokenFromAllLists(token) {
|
|
165
|
-
const { id, contractAddress, parentCurrency, ticker } = token;
|
|
166
|
-
const lowCaseContract = contractAddress.toLowerCase();
|
|
167
|
-
removeTokenFromRecord(tokensById, id);
|
|
168
|
-
removeTokenFromRecord(tokensByCurrencyAddress, parentCurrency.id + ":" + lowCaseContract);
|
|
169
|
-
removeTokenFromRecord(tokensByAddress, lowCaseContract);
|
|
170
|
-
removeTokenFromRecord(tokensByTicker, ticker);
|
|
171
|
-
removeTokenFromArray(tokensArray, id);
|
|
172
|
-
removeTokenFromArray(tokensArrayWithDelisted, id);
|
|
173
|
-
removeTokenFromArray(tokensByCryptoCurrency[parentCurrency.id], id);
|
|
174
|
-
removeTokenFromArray(tokensByCryptoCurrencyWithDelisted[parentCurrency.id], id);
|
|
175
|
-
}
|
|
176
117
|
function addTokens(list) {
|
|
177
118
|
list.forEach((token) => {
|
|
178
|
-
if (
|
|
179
|
-
return;
|
|
180
|
-
const tokenHash = createTokenHash(token);
|
|
181
|
-
if (tokenListHashes.has(tokenHash))
|
|
119
|
+
if (tokensById[token.id])
|
|
182
120
|
return;
|
|
183
|
-
|
|
184
|
-
* We clean all the reference of an existing token, if an hash doesn't match.
|
|
185
|
-
* Like this we can update any change from a already added token coming from Dynamic CAL
|
|
186
|
-
* and maintain it up to date without having to release a new version of LLD or LLM
|
|
187
|
-
*/
|
|
188
|
-
removeTokenFromAllLists(token);
|
|
189
|
-
const { id, contractAddress, parentCurrency, delisted, ticker } = token;
|
|
190
|
-
const lowCaseContract = contractAddress.toLowerCase();
|
|
191
|
-
if (!delisted)
|
|
121
|
+
if (!token.delisted)
|
|
192
122
|
tokensArray.push(token);
|
|
193
123
|
tokensArrayWithDelisted.push(token);
|
|
194
|
-
tokensById[id] = token;
|
|
195
|
-
if (!tokensByTicker[ticker] ||
|
|
196
|
-
comparePriority(token, tokensByTicker[ticker]) > 0) {
|
|
197
|
-
tokensByTicker[ticker] = token;
|
|
124
|
+
tokensById[token.id] = token;
|
|
125
|
+
if (!tokensByTicker[token.ticker] ||
|
|
126
|
+
comparePriority(token, tokensByTicker[token.ticker]) > 0) {
|
|
127
|
+
tokensByTicker[token.ticker] = token;
|
|
198
128
|
}
|
|
129
|
+
const lowCaseContract = token.contractAddress.toLowerCase();
|
|
199
130
|
tokensByAddress[lowCaseContract] = token;
|
|
131
|
+
const { parentCurrency } = token;
|
|
200
132
|
tokensByCurrencyAddress[parentCurrency.id + ":" + lowCaseContract] = token;
|
|
201
133
|
if (!(parentCurrency.id in tokensByCryptoCurrency)) {
|
|
202
134
|
tokensByCryptoCurrency[parentCurrency.id] = [];
|
|
@@ -204,10 +136,9 @@ function addTokens(list) {
|
|
|
204
136
|
if (!(parentCurrency.id in tokensByCryptoCurrencyWithDelisted)) {
|
|
205
137
|
tokensByCryptoCurrencyWithDelisted[parentCurrency.id] = [];
|
|
206
138
|
}
|
|
207
|
-
if (!delisted)
|
|
139
|
+
if (!token.delisted)
|
|
208
140
|
tokensByCryptoCurrency[parentCurrency.id].push(token);
|
|
209
141
|
tokensByCryptoCurrencyWithDelisted[parentCurrency.id].push(token);
|
|
210
|
-
tokenListHashes.add(tokenHash);
|
|
211
142
|
});
|
|
212
143
|
}
|
|
213
144
|
exports.addTokens = addTokens;
|
package/lib/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;;;;AAIA,6CAAqD;AACrD,qDAAyD;AACzD,yDAAuD;AACvD,yEAA+E;AAC/E,yDAAuD;AACvD,uDAA0D;AAC1D,yEAAwE;AACxE,6DAA6D;AAC7D,yDAAuD;AACvD,yDAAuD;AACvD,sCAAsC;AACtC,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,WAAW,GAAoB,EAAE,CAAC;AACxC,MAAM,uBAAuB,GAAoB,EAAE,CAAC;AACpD,MAAM,sBAAsB,GAAoC,EAAE,CAAC;AACnE,MAAM,kCAAkC,GAAoC,EAAE,CAAC;AAC/E,MAAM,UAAU,GAAkC,EAAE,CAAC;AACrD,MAAM,cAAc,GAAkC,EAAE,CAAC;AACzD,MAAM,eAAe,GAAkC,EAAE,CAAC;AAC1D,MAAM,uBAAuB,GAAkC,EAAE,CAAC;AAClE,
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
|
package/lib-es/tokens.d.ts
CHANGED
|
@@ -4,11 +4,6 @@ import { PolygonERC20Token } from "./data/polygon-erc20";
|
|
|
4
4
|
type TokensListOptions = {
|
|
5
5
|
withDelisted: boolean;
|
|
6
6
|
};
|
|
7
|
-
export declare function createTokenHash(token: TokenCurrency): string;
|
|
8
|
-
/**
|
|
9
|
-
* Only for jest purpose, clear all the init list
|
|
10
|
-
*/
|
|
11
|
-
export declare function __clearAllLists(): void;
|
|
12
7
|
/**
|
|
13
8
|
*
|
|
14
9
|
*/
|
package/lib-es/tokens.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,8BAA8B,CAAC;AAKtC,OAAoB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAsB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,8BAA8B,CAAC;AAKtC,OAAoB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAsB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAwBxE,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAKF;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACnC,aAAa,EAAE,CAGjB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACnC,aAAa,EAAE,CAQjB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,cAAc,GACvB,MAAM,EAAE,CAUV;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,IAAI,GAAG,SAAS,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,SAAS,CAE1E;AAGD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GACd,aAAa,GAAG,IAAI,GAAG,SAAS,CAQlC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,aAAa,GAAG,IAAI,GAAG,SAAS,CAElC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,OAAQ,MAAM,KAAG,OAA2B,CAAC;AAEpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAQtD;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CA8BrD;AAED,wBAAgB,YAAY,CAAC,CAC3B,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,SAAS,EACT,IAAI,EACJ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EACnB,EAAE,UAAU,GAAG,iBAAiB,GAAG,aAAa,CAsBhD"}
|
package/lib-es/tokens.js
CHANGED
|
@@ -18,7 +18,6 @@ const tokensById = {};
|
|
|
18
18
|
const tokensByTicker = {};
|
|
19
19
|
const tokensByAddress = {};
|
|
20
20
|
const tokensByCurrencyAddress = {};
|
|
21
|
-
const tokenListHashes = new Set();
|
|
22
21
|
addTokens(erc20tokens.map(convertERC20));
|
|
23
22
|
addTokens(polygonTokens.map(convertERC20));
|
|
24
23
|
addTokens(trc10tokens.map(convertTRONTokens("trc10")));
|
|
@@ -31,34 +30,6 @@ addTokens(stellarTokens.map(convertStellarTokens));
|
|
|
31
30
|
const defaultTokenListOptions = {
|
|
32
31
|
withDelisted: false,
|
|
33
32
|
};
|
|
34
|
-
export function createTokenHash(token) {
|
|
35
|
-
return token
|
|
36
|
-
? `${token.id}${token.contractAddress}${token.delisted}${token.disableCountervalue}${token.ticker}${token.countervalueTicker}${token.ledgerSignature}`
|
|
37
|
-
: "";
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Only for jest purpose, clean object to be empty
|
|
41
|
-
* @param obj
|
|
42
|
-
*/
|
|
43
|
-
const __clearObject = (obj) => {
|
|
44
|
-
for (const key in obj) {
|
|
45
|
-
delete obj[key];
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Only for jest purpose, clear all the init list
|
|
50
|
-
*/
|
|
51
|
-
export function __clearAllLists() {
|
|
52
|
-
tokensArray.length = 0;
|
|
53
|
-
tokensArrayWithDelisted.length = 0;
|
|
54
|
-
__clearObject(tokensByCryptoCurrency);
|
|
55
|
-
__clearObject(tokensByCryptoCurrencyWithDelisted);
|
|
56
|
-
__clearObject(tokensById);
|
|
57
|
-
__clearObject(tokensByTicker);
|
|
58
|
-
__clearObject(tokensByAddress);
|
|
59
|
-
__clearObject(tokensByCurrencyAddress);
|
|
60
|
-
tokenListHashes.clear();
|
|
61
|
-
}
|
|
62
33
|
/**
|
|
63
34
|
*
|
|
64
35
|
*/
|
|
@@ -128,58 +99,21 @@ export function getTokenById(id) {
|
|
|
128
99
|
function comparePriority(a, b) {
|
|
129
100
|
return Number(!!b.disableCountervalue) - Number(!!a.disableCountervalue);
|
|
130
101
|
}
|
|
131
|
-
function removeTokenFromArray(array, tokenId) {
|
|
132
|
-
if (array && array.length > 0) {
|
|
133
|
-
const index = array.findIndex((currentToken) => currentToken && currentToken.id === tokenId);
|
|
134
|
-
if (index === -1)
|
|
135
|
-
return array;
|
|
136
|
-
return array.splice(index, 1);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
function removeTokenFromRecord(record, key) {
|
|
140
|
-
tokenListHashes.delete(record[key]);
|
|
141
|
-
delete record[key];
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Delete previous token entry to all array
|
|
145
|
-
* @param token
|
|
146
|
-
*/
|
|
147
|
-
function removeTokenFromAllLists(token) {
|
|
148
|
-
const { id, contractAddress, parentCurrency, ticker } = token;
|
|
149
|
-
const lowCaseContract = contractAddress.toLowerCase();
|
|
150
|
-
removeTokenFromRecord(tokensById, id);
|
|
151
|
-
removeTokenFromRecord(tokensByCurrencyAddress, parentCurrency.id + ":" + lowCaseContract);
|
|
152
|
-
removeTokenFromRecord(tokensByAddress, lowCaseContract);
|
|
153
|
-
removeTokenFromRecord(tokensByTicker, ticker);
|
|
154
|
-
removeTokenFromArray(tokensArray, id);
|
|
155
|
-
removeTokenFromArray(tokensArrayWithDelisted, id);
|
|
156
|
-
removeTokenFromArray(tokensByCryptoCurrency[parentCurrency.id], id);
|
|
157
|
-
removeTokenFromArray(tokensByCryptoCurrencyWithDelisted[parentCurrency.id], id);
|
|
158
|
-
}
|
|
159
102
|
export function addTokens(list) {
|
|
160
103
|
list.forEach((token) => {
|
|
161
|
-
if (
|
|
162
|
-
return;
|
|
163
|
-
const tokenHash = createTokenHash(token);
|
|
164
|
-
if (tokenListHashes.has(tokenHash))
|
|
104
|
+
if (tokensById[token.id])
|
|
165
105
|
return;
|
|
166
|
-
|
|
167
|
-
* We clean all the reference of an existing token, if an hash doesn't match.
|
|
168
|
-
* Like this we can update any change from a already added token coming from Dynamic CAL
|
|
169
|
-
* and maintain it up to date without having to release a new version of LLD or LLM
|
|
170
|
-
*/
|
|
171
|
-
removeTokenFromAllLists(token);
|
|
172
|
-
const { id, contractAddress, parentCurrency, delisted, ticker } = token;
|
|
173
|
-
const lowCaseContract = contractAddress.toLowerCase();
|
|
174
|
-
if (!delisted)
|
|
106
|
+
if (!token.delisted)
|
|
175
107
|
tokensArray.push(token);
|
|
176
108
|
tokensArrayWithDelisted.push(token);
|
|
177
|
-
tokensById[id] = token;
|
|
178
|
-
if (!tokensByTicker[ticker] ||
|
|
179
|
-
comparePriority(token, tokensByTicker[ticker]) > 0) {
|
|
180
|
-
tokensByTicker[ticker] = token;
|
|
109
|
+
tokensById[token.id] = token;
|
|
110
|
+
if (!tokensByTicker[token.ticker] ||
|
|
111
|
+
comparePriority(token, tokensByTicker[token.ticker]) > 0) {
|
|
112
|
+
tokensByTicker[token.ticker] = token;
|
|
181
113
|
}
|
|
114
|
+
const lowCaseContract = token.contractAddress.toLowerCase();
|
|
182
115
|
tokensByAddress[lowCaseContract] = token;
|
|
116
|
+
const { parentCurrency } = token;
|
|
183
117
|
tokensByCurrencyAddress[parentCurrency.id + ":" + lowCaseContract] = token;
|
|
184
118
|
if (!(parentCurrency.id in tokensByCryptoCurrency)) {
|
|
185
119
|
tokensByCryptoCurrency[parentCurrency.id] = [];
|
|
@@ -187,10 +121,9 @@ export function addTokens(list) {
|
|
|
187
121
|
if (!(parentCurrency.id in tokensByCryptoCurrencyWithDelisted)) {
|
|
188
122
|
tokensByCryptoCurrencyWithDelisted[parentCurrency.id] = [];
|
|
189
123
|
}
|
|
190
|
-
if (!delisted)
|
|
124
|
+
if (!token.delisted)
|
|
191
125
|
tokensByCryptoCurrency[parentCurrency.id].push(token);
|
|
192
126
|
tokensByCryptoCurrencyWithDelisted[parentCurrency.id].push(token);
|
|
193
|
-
tokenListHashes.add(tokenHash);
|
|
194
127
|
});
|
|
195
128
|
}
|
|
196
129
|
export function convertERC20([parentCurrencyId, token, ticker, magnitude, name, ledgerSignature, contractAddress, disableCountervalue, delisted, countervalueTicker,]) {
|
package/lib-es/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,SAA+B,MAAM,YAAY,CAAC;AACzD,OAAO,WAA2B,MAAM,cAAc,CAAC;AACvD,OAAO,mBAA2C,MAAM,sBAAsB,CAAC;AAC/E,OAAO,WAA2B,MAAM,cAAc,CAAC;AACvD,OAAO,UAA+B,MAAM,aAAa,CAAC;AAC1D,OAAO,aAAoC,MAAM,sBAAsB,CAAC;AACxE,OAAO,aAA+B,MAAM,gBAAgB,CAAC;AAC7D,OAAO,WAA2B,MAAM,cAAc,CAAC;AACvD,OAAO,WAA2B,MAAM,cAAc,CAAC;AACvD,sCAAsC;AACtC,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,WAAW,GAAoB,EAAE,CAAC;AACxC,MAAM,uBAAuB,GAAoB,EAAE,CAAC;AACpD,MAAM,sBAAsB,GAAoC,EAAE,CAAC;AACnE,MAAM,kCAAkC,GAAoC,EAAE,CAAC;AAC/E,MAAM,UAAU,GAAkC,EAAE,CAAC;AACrD,MAAM,cAAc,GAAkC,EAAE,CAAC;AACzD,MAAM,eAAe,GAAkC,EAAE,CAAC;AAC1D,MAAM,uBAAuB,GAAkC,EAAE,CAAC;AAClE,
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/tokens.ts
CHANGED
|
@@ -22,7 +22,6 @@ const tokensById: Record<string, TokenCurrency> = {};
|
|
|
22
22
|
const tokensByTicker: Record<string, TokenCurrency> = {};
|
|
23
23
|
const tokensByAddress: Record<string, TokenCurrency> = {};
|
|
24
24
|
const tokensByCurrencyAddress: Record<string, TokenCurrency> = {};
|
|
25
|
-
const tokenListHashes = new Set();
|
|
26
25
|
addTokens(erc20tokens.map(convertERC20));
|
|
27
26
|
addTokens(polygonTokens.map(convertERC20));
|
|
28
27
|
addTokens(trc10tokens.map(convertTRONTokens("trc10")));
|
|
@@ -39,37 +38,6 @@ type TokensListOptions = {
|
|
|
39
38
|
const defaultTokenListOptions: TokensListOptions = {
|
|
40
39
|
withDelisted: false,
|
|
41
40
|
};
|
|
42
|
-
export function createTokenHash(token: TokenCurrency): string {
|
|
43
|
-
return token
|
|
44
|
-
? `${token.id}${token.contractAddress}${token.delisted}${token.disableCountervalue}${token.ticker}${token.countervalueTicker}${token.ledgerSignature}`
|
|
45
|
-
: "";
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Only for jest purpose, clean object to be empty
|
|
50
|
-
* @param obj
|
|
51
|
-
*/
|
|
52
|
-
const __clearObject = (
|
|
53
|
-
obj: Record<string, TokenCurrency | TokenCurrency[]>
|
|
54
|
-
): void => {
|
|
55
|
-
for (const key in obj) {
|
|
56
|
-
delete obj[key];
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Only for jest purpose, clear all the init list
|
|
61
|
-
*/
|
|
62
|
-
export function __clearAllLists(): void {
|
|
63
|
-
tokensArray.length = 0;
|
|
64
|
-
tokensArrayWithDelisted.length = 0;
|
|
65
|
-
__clearObject(tokensByCryptoCurrency);
|
|
66
|
-
__clearObject(tokensByCryptoCurrencyWithDelisted);
|
|
67
|
-
__clearObject(tokensById);
|
|
68
|
-
__clearObject(tokensByTicker);
|
|
69
|
-
__clearObject(tokensByAddress);
|
|
70
|
-
__clearObject(tokensByCurrencyAddress);
|
|
71
|
-
tokenListHashes.clear();
|
|
72
|
-
}
|
|
73
41
|
|
|
74
42
|
/**
|
|
75
43
|
*
|
|
@@ -172,75 +140,23 @@ function comparePriority(a: TokenCurrency, b: TokenCurrency) {
|
|
|
172
140
|
return Number(!!b.disableCountervalue) - Number(!!a.disableCountervalue);
|
|
173
141
|
}
|
|
174
142
|
|
|
175
|
-
function removeTokenFromArray(array: TokenCurrency[], tokenId: string) {
|
|
176
|
-
if (array && array.length > 0) {
|
|
177
|
-
const index = array.findIndex(
|
|
178
|
-
(currentToken) => currentToken && currentToken.id === tokenId
|
|
179
|
-
);
|
|
180
|
-
if (index === -1) return array;
|
|
181
|
-
return array.splice(index, 1);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
function removeTokenFromRecord(
|
|
186
|
-
record: Record<string, TokenCurrency>,
|
|
187
|
-
key: string
|
|
188
|
-
) {
|
|
189
|
-
tokenListHashes.delete(record[key]);
|
|
190
|
-
delete record[key];
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Delete previous token entry to all array
|
|
195
|
-
* @param token
|
|
196
|
-
*/
|
|
197
|
-
function removeTokenFromAllLists(token: TokenCurrency) {
|
|
198
|
-
const { id, contractAddress, parentCurrency, ticker } = token;
|
|
199
|
-
const lowCaseContract = contractAddress.toLowerCase();
|
|
200
|
-
|
|
201
|
-
removeTokenFromRecord(tokensById, id);
|
|
202
|
-
removeTokenFromRecord(
|
|
203
|
-
tokensByCurrencyAddress,
|
|
204
|
-
parentCurrency.id + ":" + lowCaseContract
|
|
205
|
-
);
|
|
206
|
-
removeTokenFromRecord(tokensByAddress, lowCaseContract);
|
|
207
|
-
removeTokenFromRecord(tokensByTicker, ticker);
|
|
208
|
-
removeTokenFromArray(tokensArray, id);
|
|
209
|
-
removeTokenFromArray(tokensArrayWithDelisted, id);
|
|
210
|
-
removeTokenFromArray(tokensByCryptoCurrency[parentCurrency.id], id);
|
|
211
|
-
removeTokenFromArray(
|
|
212
|
-
tokensByCryptoCurrencyWithDelisted[parentCurrency.id],
|
|
213
|
-
id
|
|
214
|
-
);
|
|
215
|
-
}
|
|
216
|
-
|
|
217
143
|
export function addTokens(list: TokenCurrency[]): void {
|
|
218
144
|
list.forEach((token) => {
|
|
219
|
-
if (
|
|
220
|
-
|
|
221
|
-
if (tokenListHashes.has(tokenHash)) return;
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* We clean all the reference of an existing token, if an hash doesn't match.
|
|
225
|
-
* Like this we can update any change from a already added token coming from Dynamic CAL
|
|
226
|
-
* and maintain it up to date without having to release a new version of LLD or LLM
|
|
227
|
-
*/
|
|
228
|
-
removeTokenFromAllLists(token);
|
|
229
|
-
const { id, contractAddress, parentCurrency, delisted, ticker } = token;
|
|
230
|
-
const lowCaseContract = contractAddress.toLowerCase();
|
|
231
|
-
|
|
232
|
-
if (!delisted) tokensArray.push(token);
|
|
145
|
+
if (tokensById[token.id]) return;
|
|
146
|
+
if (!token.delisted) tokensArray.push(token);
|
|
233
147
|
tokensArrayWithDelisted.push(token);
|
|
234
|
-
tokensById[id] = token;
|
|
148
|
+
tokensById[token.id] = token;
|
|
235
149
|
|
|
236
150
|
if (
|
|
237
|
-
!tokensByTicker[ticker] ||
|
|
238
|
-
comparePriority(token, tokensByTicker[ticker]) > 0
|
|
151
|
+
!tokensByTicker[token.ticker] ||
|
|
152
|
+
comparePriority(token, tokensByTicker[token.ticker]) > 0
|
|
239
153
|
) {
|
|
240
|
-
tokensByTicker[ticker] = token;
|
|
154
|
+
tokensByTicker[token.ticker] = token;
|
|
241
155
|
}
|
|
242
156
|
|
|
157
|
+
const lowCaseContract = token.contractAddress.toLowerCase();
|
|
243
158
|
tokensByAddress[lowCaseContract] = token;
|
|
159
|
+
const { parentCurrency } = token;
|
|
244
160
|
tokensByCurrencyAddress[parentCurrency.id + ":" + lowCaseContract] = token;
|
|
245
161
|
|
|
246
162
|
if (!(parentCurrency.id in tokensByCryptoCurrency)) {
|
|
@@ -251,10 +167,8 @@ export function addTokens(list: TokenCurrency[]): void {
|
|
|
251
167
|
tokensByCryptoCurrencyWithDelisted[parentCurrency.id] = [];
|
|
252
168
|
}
|
|
253
169
|
|
|
254
|
-
if (!delisted) tokensByCryptoCurrency[parentCurrency.id].push(token);
|
|
170
|
+
if (!token.delisted) tokensByCryptoCurrency[parentCurrency.id].push(token);
|
|
255
171
|
tokensByCryptoCurrencyWithDelisted[parentCurrency.id].push(token);
|
|
256
|
-
|
|
257
|
-
tokenListHashes.add(tokenHash);
|
|
258
172
|
});
|
|
259
173
|
}
|
|
260
174
|
|
package/lib/tokens.test.d.ts
DELETED
package/lib/tokens.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.test.d.ts","sourceRoot":"","sources":["../src/tokens.test.ts"],"names":[],"mappings":""}
|
package/lib/tokens.test.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const currencies_1 = require("./currencies");
|
|
4
|
-
const tokens_1 = require("./tokens");
|
|
5
|
-
const initMainToken = [
|
|
6
|
-
[
|
|
7
|
-
"ethereum",
|
|
8
|
-
"ki",
|
|
9
|
-
"XKI",
|
|
10
|
-
6,
|
|
11
|
-
"Ki",
|
|
12
|
-
"304402201fe22e202db62b632e0647a12070c24f34de2006e667abedaed5ca6ea2986b18022054dd4eda5bf5e444601a48e5370cfcf0b51cc5fe1237259f6066311286dbfd55",
|
|
13
|
-
"0x4f6103BAd230295baCF30f914FDa7D4273B7F585",
|
|
14
|
-
true,
|
|
15
|
-
false,
|
|
16
|
-
],
|
|
17
|
-
[
|
|
18
|
-
"ethereum",
|
|
19
|
-
"kiba_inu",
|
|
20
|
-
"KIBA",
|
|
21
|
-
18,
|
|
22
|
-
"Kiba Inu",
|
|
23
|
-
"3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
|
|
24
|
-
"0x005D1123878Fc55fbd56b54C73963b234a64af3c",
|
|
25
|
-
false,
|
|
26
|
-
false,
|
|
27
|
-
],
|
|
28
|
-
[
|
|
29
|
-
"ethereum",
|
|
30
|
-
"kick",
|
|
31
|
-
"KICK",
|
|
32
|
-
8,
|
|
33
|
-
"KICK",
|
|
34
|
-
"3044022000b06bf563f55da06b142b6816e824492a4862673f29842aa8b46f23a7dcbe57022049309464e7123f79df5bcead066a2b0af929965d3d9dc683a324eda32f970b07",
|
|
35
|
-
"0x27695E09149AdC738A978e9A678F99E4c39e9eb9",
|
|
36
|
-
true,
|
|
37
|
-
true,
|
|
38
|
-
],
|
|
39
|
-
[
|
|
40
|
-
"ethereum",
|
|
41
|
-
"0xmonero",
|
|
42
|
-
"0XMR",
|
|
43
|
-
18,
|
|
44
|
-
"0xMonero",
|
|
45
|
-
"30440220544ecf38d2906770446f52557f2dd42b6aa274bc960c808c4dcee42c44e8412202206fab6769ebe15fbfb7245b0156d17e432a1acd9920f1ecbf25729f8d8594af6c",
|
|
46
|
-
"0x035dF12E0F3ac6671126525f1015E47D79dFEDDF",
|
|
47
|
-
false,
|
|
48
|
-
true,
|
|
49
|
-
],
|
|
50
|
-
];
|
|
51
|
-
const ethereumCurrency = (0, currencies_1.getCryptoCurrencyById)("ethereum");
|
|
52
|
-
describe("tokens", () => {
|
|
53
|
-
beforeEach(() => {
|
|
54
|
-
(0, tokens_1.__clearAllLists)();
|
|
55
|
-
});
|
|
56
|
-
describe("addTokens", () => {
|
|
57
|
-
it("Should list token to be empty", () => {
|
|
58
|
-
expect((0, tokens_1.listTokens)().length).toBe(0);
|
|
59
|
-
});
|
|
60
|
-
it("Add tokens normally and check if delisted work correclty", () => {
|
|
61
|
-
(0, tokens_1.addTokens)(initMainToken.map(tokens_1.convertERC20));
|
|
62
|
-
expect((0, tokens_1.listTokens)().length).toBe(2);
|
|
63
|
-
expect((0, tokens_1.listTokens)({ withDelisted: true }).length).toBe(4);
|
|
64
|
-
expect((0, tokens_1.listTokensForCryptoCurrency)(ethereumCurrency).length).toBe(2);
|
|
65
|
-
expect((0, tokens_1.listTokensForCryptoCurrency)(ethereumCurrency, { withDelisted: true })
|
|
66
|
-
.length).toBe(4);
|
|
67
|
-
});
|
|
68
|
-
it("Add token and readd the same token shouldn't delete anything", () => {
|
|
69
|
-
(0, tokens_1.addTokens)(initMainToken.map(tokens_1.convertERC20));
|
|
70
|
-
const changeToken = [
|
|
71
|
-
[
|
|
72
|
-
"ethereum",
|
|
73
|
-
"kiba_inu",
|
|
74
|
-
"KIBA",
|
|
75
|
-
18,
|
|
76
|
-
"Kiba Inu",
|
|
77
|
-
"3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
|
|
78
|
-
"0x005D1123878Fc55fbd56b54C73963b234a64af3c",
|
|
79
|
-
false,
|
|
80
|
-
false,
|
|
81
|
-
],
|
|
82
|
-
];
|
|
83
|
-
const tokenHash = (0, tokens_1.createTokenHash)((0, tokens_1.convertERC20)(changeToken[0]));
|
|
84
|
-
const existingToken = (0, tokens_1.listTokens)().find((t) => t.ticker === "KIBA");
|
|
85
|
-
if (!existingToken)
|
|
86
|
-
throw new Error("Should not be empty");
|
|
87
|
-
expect(tokenHash).toBe((0, tokens_1.createTokenHash)(existingToken));
|
|
88
|
-
(0, tokens_1.addTokens)(changeToken.map(tokens_1.convertERC20));
|
|
89
|
-
const tokenAfterChange = (0, tokens_1.listTokens)().find((t) => t.ticker === "KIBA");
|
|
90
|
-
if (!tokenAfterChange)
|
|
91
|
-
throw new Error("Should not be empty");
|
|
92
|
-
expect(tokenHash).toBe((0, tokens_1.createTokenHash)(tokenAfterChange));
|
|
93
|
-
});
|
|
94
|
-
it("Add tokens normally and then delist one token", () => {
|
|
95
|
-
(0, tokens_1.addTokens)(initMainToken.map(tokens_1.convertERC20));
|
|
96
|
-
const changeToken = [
|
|
97
|
-
[
|
|
98
|
-
"ethereum",
|
|
99
|
-
"kiba_inu",
|
|
100
|
-
"KIBA",
|
|
101
|
-
18,
|
|
102
|
-
"Kiba Inu",
|
|
103
|
-
"3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
|
|
104
|
-
"0x005D1123878Fc55fbd56b54C73963b234a64af3c",
|
|
105
|
-
false,
|
|
106
|
-
true,
|
|
107
|
-
],
|
|
108
|
-
];
|
|
109
|
-
(0, tokens_1.addTokens)(changeToken.map(tokens_1.convertERC20));
|
|
110
|
-
expect((0, tokens_1.listTokens)().length).toBe(1);
|
|
111
|
-
(0, tokens_1.findTokenById)("kiba_inu");
|
|
112
|
-
expect((0, tokens_1.listTokens)({ withDelisted: true }).length).toBe(4);
|
|
113
|
-
expect((0, tokens_1.listTokensForCryptoCurrency)(ethereumCurrency).length).toBe(1);
|
|
114
|
-
expect((0, tokens_1.listTokensForCryptoCurrency)(ethereumCurrency, { withDelisted: true })
|
|
115
|
-
.length).toBe(4);
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
//# sourceMappingURL=tokens.test.js.map
|
package/lib/tokens.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.test.js","sourceRoot":"","sources":["../src/tokens.test.ts"],"names":[],"mappings":"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"}
|
package/lib-es/tokens.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.test.d.ts","sourceRoot":"","sources":["../src/tokens.test.ts"],"names":[],"mappings":""}
|
package/lib-es/tokens.test.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { getCryptoCurrencyById } from "./currencies";
|
|
2
|
-
import { addTokens, convertERC20, listTokens, __clearAllLists, findTokenById, listTokensForCryptoCurrency, createTokenHash, } from "./tokens";
|
|
3
|
-
const initMainToken = [
|
|
4
|
-
[
|
|
5
|
-
"ethereum",
|
|
6
|
-
"ki",
|
|
7
|
-
"XKI",
|
|
8
|
-
6,
|
|
9
|
-
"Ki",
|
|
10
|
-
"304402201fe22e202db62b632e0647a12070c24f34de2006e667abedaed5ca6ea2986b18022054dd4eda5bf5e444601a48e5370cfcf0b51cc5fe1237259f6066311286dbfd55",
|
|
11
|
-
"0x4f6103BAd230295baCF30f914FDa7D4273B7F585",
|
|
12
|
-
true,
|
|
13
|
-
false,
|
|
14
|
-
],
|
|
15
|
-
[
|
|
16
|
-
"ethereum",
|
|
17
|
-
"kiba_inu",
|
|
18
|
-
"KIBA",
|
|
19
|
-
18,
|
|
20
|
-
"Kiba Inu",
|
|
21
|
-
"3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
|
|
22
|
-
"0x005D1123878Fc55fbd56b54C73963b234a64af3c",
|
|
23
|
-
false,
|
|
24
|
-
false,
|
|
25
|
-
],
|
|
26
|
-
[
|
|
27
|
-
"ethereum",
|
|
28
|
-
"kick",
|
|
29
|
-
"KICK",
|
|
30
|
-
8,
|
|
31
|
-
"KICK",
|
|
32
|
-
"3044022000b06bf563f55da06b142b6816e824492a4862673f29842aa8b46f23a7dcbe57022049309464e7123f79df5bcead066a2b0af929965d3d9dc683a324eda32f970b07",
|
|
33
|
-
"0x27695E09149AdC738A978e9A678F99E4c39e9eb9",
|
|
34
|
-
true,
|
|
35
|
-
true,
|
|
36
|
-
],
|
|
37
|
-
[
|
|
38
|
-
"ethereum",
|
|
39
|
-
"0xmonero",
|
|
40
|
-
"0XMR",
|
|
41
|
-
18,
|
|
42
|
-
"0xMonero",
|
|
43
|
-
"30440220544ecf38d2906770446f52557f2dd42b6aa274bc960c808c4dcee42c44e8412202206fab6769ebe15fbfb7245b0156d17e432a1acd9920f1ecbf25729f8d8594af6c",
|
|
44
|
-
"0x035dF12E0F3ac6671126525f1015E47D79dFEDDF",
|
|
45
|
-
false,
|
|
46
|
-
true,
|
|
47
|
-
],
|
|
48
|
-
];
|
|
49
|
-
const ethereumCurrency = getCryptoCurrencyById("ethereum");
|
|
50
|
-
describe("tokens", () => {
|
|
51
|
-
beforeEach(() => {
|
|
52
|
-
__clearAllLists();
|
|
53
|
-
});
|
|
54
|
-
describe("addTokens", () => {
|
|
55
|
-
it("Should list token to be empty", () => {
|
|
56
|
-
expect(listTokens().length).toBe(0);
|
|
57
|
-
});
|
|
58
|
-
it("Add tokens normally and check if delisted work correclty", () => {
|
|
59
|
-
addTokens(initMainToken.map(convertERC20));
|
|
60
|
-
expect(listTokens().length).toBe(2);
|
|
61
|
-
expect(listTokens({ withDelisted: true }).length).toBe(4);
|
|
62
|
-
expect(listTokensForCryptoCurrency(ethereumCurrency).length).toBe(2);
|
|
63
|
-
expect(listTokensForCryptoCurrency(ethereumCurrency, { withDelisted: true })
|
|
64
|
-
.length).toBe(4);
|
|
65
|
-
});
|
|
66
|
-
it("Add token and readd the same token shouldn't delete anything", () => {
|
|
67
|
-
addTokens(initMainToken.map(convertERC20));
|
|
68
|
-
const changeToken = [
|
|
69
|
-
[
|
|
70
|
-
"ethereum",
|
|
71
|
-
"kiba_inu",
|
|
72
|
-
"KIBA",
|
|
73
|
-
18,
|
|
74
|
-
"Kiba Inu",
|
|
75
|
-
"3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
|
|
76
|
-
"0x005D1123878Fc55fbd56b54C73963b234a64af3c",
|
|
77
|
-
false,
|
|
78
|
-
false,
|
|
79
|
-
],
|
|
80
|
-
];
|
|
81
|
-
const tokenHash = createTokenHash(convertERC20(changeToken[0]));
|
|
82
|
-
const existingToken = listTokens().find((t) => t.ticker === "KIBA");
|
|
83
|
-
if (!existingToken)
|
|
84
|
-
throw new Error("Should not be empty");
|
|
85
|
-
expect(tokenHash).toBe(createTokenHash(existingToken));
|
|
86
|
-
addTokens(changeToken.map(convertERC20));
|
|
87
|
-
const tokenAfterChange = listTokens().find((t) => t.ticker === "KIBA");
|
|
88
|
-
if (!tokenAfterChange)
|
|
89
|
-
throw new Error("Should not be empty");
|
|
90
|
-
expect(tokenHash).toBe(createTokenHash(tokenAfterChange));
|
|
91
|
-
});
|
|
92
|
-
it("Add tokens normally and then delist one token", () => {
|
|
93
|
-
addTokens(initMainToken.map(convertERC20));
|
|
94
|
-
const changeToken = [
|
|
95
|
-
[
|
|
96
|
-
"ethereum",
|
|
97
|
-
"kiba_inu",
|
|
98
|
-
"KIBA",
|
|
99
|
-
18,
|
|
100
|
-
"Kiba Inu",
|
|
101
|
-
"3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
|
|
102
|
-
"0x005D1123878Fc55fbd56b54C73963b234a64af3c",
|
|
103
|
-
false,
|
|
104
|
-
true,
|
|
105
|
-
],
|
|
106
|
-
];
|
|
107
|
-
addTokens(changeToken.map(convertERC20));
|
|
108
|
-
expect(listTokens().length).toBe(1);
|
|
109
|
-
findTokenById("kiba_inu");
|
|
110
|
-
expect(listTokens({ withDelisted: true }).length).toBe(4);
|
|
111
|
-
expect(listTokensForCryptoCurrency(ethereumCurrency).length).toBe(1);
|
|
112
|
-
expect(listTokensForCryptoCurrency(ethereumCurrency, { withDelisted: true })
|
|
113
|
-
.length).toBe(4);
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
//# sourceMappingURL=tokens.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.test.js","sourceRoot":"","sources":["../src/tokens.test.ts"],"names":[],"mappings":"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"}
|
package/src/tokens.test.ts
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { getCryptoCurrencyById } from "./currencies";
|
|
2
|
-
import {
|
|
3
|
-
addTokens,
|
|
4
|
-
convertERC20,
|
|
5
|
-
listTokens,
|
|
6
|
-
__clearAllLists,
|
|
7
|
-
findTokenById,
|
|
8
|
-
listTokensForCryptoCurrency,
|
|
9
|
-
createTokenHash,
|
|
10
|
-
} from "./tokens";
|
|
11
|
-
import { ERC20Token } from "./types";
|
|
12
|
-
|
|
13
|
-
const initMainToken: ERC20Token[] = [
|
|
14
|
-
[
|
|
15
|
-
"ethereum",
|
|
16
|
-
"ki",
|
|
17
|
-
"XKI",
|
|
18
|
-
6,
|
|
19
|
-
"Ki",
|
|
20
|
-
"304402201fe22e202db62b632e0647a12070c24f34de2006e667abedaed5ca6ea2986b18022054dd4eda5bf5e444601a48e5370cfcf0b51cc5fe1237259f6066311286dbfd55",
|
|
21
|
-
"0x4f6103BAd230295baCF30f914FDa7D4273B7F585",
|
|
22
|
-
true,
|
|
23
|
-
false,
|
|
24
|
-
],
|
|
25
|
-
[
|
|
26
|
-
"ethereum",
|
|
27
|
-
"kiba_inu",
|
|
28
|
-
"KIBA",
|
|
29
|
-
18,
|
|
30
|
-
"Kiba Inu",
|
|
31
|
-
"3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
|
|
32
|
-
"0x005D1123878Fc55fbd56b54C73963b234a64af3c",
|
|
33
|
-
false,
|
|
34
|
-
false,
|
|
35
|
-
],
|
|
36
|
-
[
|
|
37
|
-
"ethereum",
|
|
38
|
-
"kick",
|
|
39
|
-
"KICK",
|
|
40
|
-
8,
|
|
41
|
-
"KICK",
|
|
42
|
-
"3044022000b06bf563f55da06b142b6816e824492a4862673f29842aa8b46f23a7dcbe57022049309464e7123f79df5bcead066a2b0af929965d3d9dc683a324eda32f970b07",
|
|
43
|
-
"0x27695E09149AdC738A978e9A678F99E4c39e9eb9",
|
|
44
|
-
true,
|
|
45
|
-
true,
|
|
46
|
-
],
|
|
47
|
-
[
|
|
48
|
-
"ethereum",
|
|
49
|
-
"0xmonero",
|
|
50
|
-
"0XMR",
|
|
51
|
-
18,
|
|
52
|
-
"0xMonero",
|
|
53
|
-
"30440220544ecf38d2906770446f52557f2dd42b6aa274bc960c808c4dcee42c44e8412202206fab6769ebe15fbfb7245b0156d17e432a1acd9920f1ecbf25729f8d8594af6c",
|
|
54
|
-
"0x035dF12E0F3ac6671126525f1015E47D79dFEDDF",
|
|
55
|
-
false,
|
|
56
|
-
true,
|
|
57
|
-
],
|
|
58
|
-
];
|
|
59
|
-
|
|
60
|
-
const ethereumCurrency = getCryptoCurrencyById("ethereum");
|
|
61
|
-
|
|
62
|
-
describe("tokens", () => {
|
|
63
|
-
beforeEach(() => {
|
|
64
|
-
__clearAllLists();
|
|
65
|
-
});
|
|
66
|
-
describe("addTokens", () => {
|
|
67
|
-
it("Should list token to be empty", () => {
|
|
68
|
-
expect(listTokens().length).toBe(0);
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
it("Add tokens normally and check if delisted work correclty", () => {
|
|
72
|
-
addTokens(initMainToken.map(convertERC20));
|
|
73
|
-
expect(listTokens().length).toBe(2);
|
|
74
|
-
expect(listTokens({ withDelisted: true }).length).toBe(4);
|
|
75
|
-
expect(listTokensForCryptoCurrency(ethereumCurrency).length).toBe(2);
|
|
76
|
-
expect(
|
|
77
|
-
listTokensForCryptoCurrency(ethereumCurrency, { withDelisted: true })
|
|
78
|
-
.length
|
|
79
|
-
).toBe(4);
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
it("Add token and readd the same token shouldn't delete anything", () => {
|
|
83
|
-
addTokens(initMainToken.map(convertERC20));
|
|
84
|
-
const changeToken: ERC20Token[] = [
|
|
85
|
-
[
|
|
86
|
-
"ethereum",
|
|
87
|
-
"kiba_inu",
|
|
88
|
-
"KIBA",
|
|
89
|
-
18,
|
|
90
|
-
"Kiba Inu",
|
|
91
|
-
"3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
|
|
92
|
-
"0x005D1123878Fc55fbd56b54C73963b234a64af3c",
|
|
93
|
-
false,
|
|
94
|
-
false,
|
|
95
|
-
],
|
|
96
|
-
];
|
|
97
|
-
const tokenHash = createTokenHash(convertERC20(changeToken[0]));
|
|
98
|
-
const existingToken = listTokens().find((t) => t.ticker === "KIBA");
|
|
99
|
-
if (!existingToken) throw new Error("Should not be empty");
|
|
100
|
-
expect(tokenHash).toBe(createTokenHash(existingToken));
|
|
101
|
-
|
|
102
|
-
addTokens(changeToken.map(convertERC20));
|
|
103
|
-
const tokenAfterChange = listTokens().find((t) => t.ticker === "KIBA");
|
|
104
|
-
if (!tokenAfterChange) throw new Error("Should not be empty");
|
|
105
|
-
expect(tokenHash).toBe(createTokenHash(tokenAfterChange));
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
it("Add tokens normally and then delist one token", () => {
|
|
109
|
-
addTokens(initMainToken.map(convertERC20));
|
|
110
|
-
const changeToken: ERC20Token[] = [
|
|
111
|
-
[
|
|
112
|
-
"ethereum",
|
|
113
|
-
"kiba_inu",
|
|
114
|
-
"KIBA",
|
|
115
|
-
18,
|
|
116
|
-
"Kiba Inu",
|
|
117
|
-
"3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
|
|
118
|
-
"0x005D1123878Fc55fbd56b54C73963b234a64af3c",
|
|
119
|
-
false,
|
|
120
|
-
true,
|
|
121
|
-
],
|
|
122
|
-
];
|
|
123
|
-
addTokens(changeToken.map(convertERC20));
|
|
124
|
-
expect(listTokens().length).toBe(1);
|
|
125
|
-
findTokenById("kiba_inu");
|
|
126
|
-
expect(listTokens({ withDelisted: true }).length).toBe(4);
|
|
127
|
-
|
|
128
|
-
expect(listTokensForCryptoCurrency(ethereumCurrency).length).toBe(1);
|
|
129
|
-
expect(
|
|
130
|
-
listTokensForCryptoCurrency(ethereumCurrency, { withDelisted: true })
|
|
131
|
-
.length
|
|
132
|
-
).toBe(4);
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
});
|