@sonarwatch/portfolio-core 0.4.1 → 0.4.3
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/CHANGELOG.md +8 -0
- package/package.json +1 -1
- package/src/Cache.d.ts +15 -3
- package/src/Cache.js +39 -33
- package/src/Cache.js.map +1 -1
- package/src/Fetcher.d.ts +1 -1
- package/src/Fetcher.js +2 -2
- package/src/Fetcher.js.map +1 -1
- package/src/TokenPrice.d.ts +2 -2
- package/src/TokenPrice.js +1 -1
- package/src/TokenPrice.js.map +1 -1
- package/src/memoryDriver.d.ts +5 -0
- package/src/memoryDriver.js +46 -0
- package/src/memoryDriver.js.map +1 -0
- package/src/overlayDriver.d.ts +6 -0
- package/src/overlayDriver.js +90 -0
- package/src/overlayDriver.js.map +1 -0
- package/src/utils/formatAddress.js +5 -5
- package/src/utils/formatTokenAddress.js +10 -5
- package/src/utils/formatTokenAddress.js.map +1 -1
- package/src/utils/formatTokenPrice.js +2 -4
- package/src/utils/formatTokenPrice.js.map +1 -1
- package/src/utils/formatTokenPriceSource.d.ts +2 -0
- package/src/utils/formatTokenPriceSource.js +11 -0
- package/src/utils/formatTokenPriceSource.js.map +1 -0
- package/src/utils/formatTokenPriceUnderlying.d.ts +2 -0
- package/src/utils/formatTokenPriceUnderlying.js +9 -0
- package/src/utils/formatTokenPriceUnderlying.js.map +1 -0
- package/src/utils/index.d.ts +4 -1
- package/src/utils/index.js +4 -1
- package/src/utils/index.js.map +1 -1
- package/src/utils/isMd5.d.ts +1 -0
- package/src/utils/isMd5.js +9 -0
- package/src/utils/isMd5.js.map +1 -0
- package/src/utils/md5.d.ts +1 -0
- package/src/utils/md5.js +12 -0
- package/src/utils/md5.js.map +1 -0
- package/src/utils/{addressValid.d.ts → validAddress.d.ts} +1 -1
- package/src/utils/{addressValid.js → validAddress.js} +5 -5
- package/src/utils/{addressValid.js.map → validAddress.js.map} +1 -1
- package/src/utils/validTokenAddress.d.ts +11 -0
- package/src/utils/validTokenAddress.js +63 -0
- package/src/utils/validTokenAddress.js.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [0.4.3](https://github.com/sonarwatch/portfolio/compare/core-0.4.2...core-0.4.3) (2023-07-08)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [0.4.2](https://github.com/sonarwatch/portfolio/compare/core-0.4.1...core-0.4.2) (2023-07-07)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
5
13
|
## [0.4.1](https://github.com/sonarwatch/portfolio/compare/core-0.4.0...core-0.4.1) (2023-07-07)
|
|
6
14
|
|
|
7
15
|
|
package/package.json
CHANGED
package/src/Cache.d.ts
CHANGED
|
@@ -5,7 +5,19 @@ export type TransactionOptions = {
|
|
|
5
5
|
prefix: string;
|
|
6
6
|
networkId?: NetworkIdType;
|
|
7
7
|
};
|
|
8
|
-
export type CacheConfig = CacheConfigRedis | CacheConfigFilesystem | CacheConfigHttp;
|
|
8
|
+
export type CacheConfig = CacheConfigOverlayHttp | CacheConfigMemory | CacheConfigRedis | CacheConfigFilesystem | CacheConfigHttp;
|
|
9
|
+
export type CacheConfigOverlayHttp = {
|
|
10
|
+
type: 'overlayHttp';
|
|
11
|
+
params: CacheConfigOverlayHttpParams;
|
|
12
|
+
};
|
|
13
|
+
export type CacheConfigOverlayHttpParams = {
|
|
14
|
+
bases: string[];
|
|
15
|
+
};
|
|
16
|
+
export type CacheConfigMemory = {
|
|
17
|
+
type: 'memory';
|
|
18
|
+
params: CacheConfigMemoryParams;
|
|
19
|
+
};
|
|
20
|
+
export type CacheConfigMemoryParams = {};
|
|
9
21
|
export type CacheConfigHttp = {
|
|
10
22
|
type: 'http';
|
|
11
23
|
params: CacheConfigHttpParams;
|
|
@@ -47,13 +59,13 @@ export declare class Cache {
|
|
|
47
59
|
hasItem(key: string, opts: TransactionOptions): Promise<boolean>;
|
|
48
60
|
hasTokenPrice(address: string, networkId: NetworkIdType): Promise<boolean>;
|
|
49
61
|
getItem<K extends StorageValue>(key: string, opts: TransactionOptions): Promise<K | undefined>;
|
|
50
|
-
getCachedTokenPrice
|
|
62
|
+
private getCachedTokenPrice;
|
|
51
63
|
getTokenPrice(address: string, networkId: NetworkIdType): Promise<TokenPrice | undefined>;
|
|
52
64
|
private getTokenPriceSources;
|
|
53
65
|
getItems<K extends StorageValue>(opts: TransactionOptions): Promise<K[]>;
|
|
54
66
|
getItemsAsMap<K extends StorageValue>(opts: TransactionOptions): Promise<Map<string, K>>;
|
|
55
67
|
getTokenPrices(networkId: NetworkIdType): Promise<Map<string, TokenPrice>>;
|
|
56
|
-
setItem<K extends StorageValue>(key: string, value: K, opts: TransactionOptions
|
|
68
|
+
setItem<K extends StorageValue>(key: string, value: K, opts: TransactionOptions): Promise<void>;
|
|
57
69
|
setTokenPriceSource(source: TokenPriceSource): Promise<void>;
|
|
58
70
|
removeItem(key: string, opts: TransactionOptions): Promise<void>;
|
|
59
71
|
getKeys(opts: TransactionOptions): Promise<string[]>;
|
package/src/Cache.js
CHANGED
|
@@ -17,8 +17,10 @@ const unstorage_1 = require("unstorage");
|
|
|
17
17
|
const fs_1 = __importDefault(require("unstorage/drivers/fs"));
|
|
18
18
|
const redis_1 = __importDefault(require("unstorage/drivers/redis"));
|
|
19
19
|
const http_1 = __importDefault(require("unstorage/drivers/http"));
|
|
20
|
+
const overlayDriver_1 = __importDefault(require("./overlayDriver"));
|
|
21
|
+
const memoryDriver_1 = __importDefault(require("./memoryDriver"));
|
|
20
22
|
const TokenPrice_1 = require("./TokenPrice");
|
|
21
|
-
const
|
|
23
|
+
const utils_1 = require("./utils");
|
|
22
24
|
const tokenPriceSourcePrefix = 'tokenpricesource';
|
|
23
25
|
const tokenPricesCacheTtl = 10 * 1000;
|
|
24
26
|
class Cache {
|
|
@@ -37,23 +39,14 @@ class Cache {
|
|
|
37
39
|
}
|
|
38
40
|
hasTokenPrice(address, networkId) {
|
|
39
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const
|
|
42
|
+
const fAddress = (0, utils_1.formatTokenAddress)(address, networkId);
|
|
43
|
+
const tokenPrice = yield this.getTokenPrice(fAddress, networkId);
|
|
41
44
|
return tokenPrice !== undefined;
|
|
42
45
|
});
|
|
43
46
|
}
|
|
44
47
|
getItem(key, opts) {
|
|
45
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
49
|
const fullKey = getFullKey(key, opts);
|
|
47
|
-
let ttl;
|
|
48
|
-
if (opts.prefix !== ttlPrefix) {
|
|
49
|
-
ttl = yield this.getItem(fullKey, {
|
|
50
|
-
prefix: ttlPrefix,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
if (ttl && ttl < Date.now()) {
|
|
54
|
-
yield this.removeItem(key, opts);
|
|
55
|
-
return undefined;
|
|
56
|
-
}
|
|
57
50
|
const item = yield this.storage.getItem(fullKey).catch(() => null);
|
|
58
51
|
return item === null ? undefined : item;
|
|
59
52
|
});
|
|
@@ -74,17 +67,18 @@ class Cache {
|
|
|
74
67
|
}
|
|
75
68
|
getTokenPrice(address, networkId) {
|
|
76
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const fAddress = (0, utils_1.formatTokenAddress)(address, networkId);
|
|
77
71
|
// Check if in cache
|
|
78
|
-
const cTokenPrice = yield this.getCachedTokenPrice(
|
|
72
|
+
const cTokenPrice = yield this.getCachedTokenPrice(fAddress, networkId);
|
|
79
73
|
if (cTokenPrice)
|
|
80
74
|
return cTokenPrice;
|
|
81
|
-
const sources = yield this.getTokenPriceSources(
|
|
75
|
+
const sources = yield this.getTokenPriceSources(fAddress, networkId);
|
|
82
76
|
if (!sources)
|
|
83
77
|
return undefined;
|
|
84
78
|
const tokenPrice = (0, TokenPrice_1.tokenPriceFromSources)(sources);
|
|
85
79
|
// Set in cache if tokenPrice is valide
|
|
86
80
|
if (tokenPrice) {
|
|
87
|
-
this.tokenPricesCache.set(getTokenPriceCacheKey(
|
|
81
|
+
this.tokenPricesCache.set(getTokenPriceCacheKey(fAddress, networkId), {
|
|
88
82
|
tp: tokenPrice,
|
|
89
83
|
ts: Date.now(),
|
|
90
84
|
});
|
|
@@ -132,47 +126,38 @@ class Cache {
|
|
|
132
126
|
return tokenPrices;
|
|
133
127
|
});
|
|
134
128
|
}
|
|
135
|
-
setItem(key, value, opts
|
|
129
|
+
setItem(key, value, opts) {
|
|
136
130
|
return __awaiter(this, void 0, void 0, function* () {
|
|
137
131
|
const fullKey = getFullKey(key, opts);
|
|
138
|
-
if (ttl) {
|
|
139
|
-
yield this.setItem(fullKey, Date.now() + ttl, {
|
|
140
|
-
prefix: ttlPrefix,
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
132
|
return this.storage.setItem(fullKey, value);
|
|
144
133
|
});
|
|
145
134
|
}
|
|
146
135
|
setTokenPriceSource(source) {
|
|
147
136
|
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
-
|
|
137
|
+
const fSource = (0, utils_1.formatTokenPriceSource)(source);
|
|
138
|
+
let cSources = yield this.getItem(fSource.address, {
|
|
149
139
|
prefix: tokenPriceSourcePrefix,
|
|
150
|
-
networkId:
|
|
140
|
+
networkId: fSource.networkId,
|
|
151
141
|
});
|
|
152
142
|
if (!cSources)
|
|
153
143
|
cSources = [];
|
|
154
|
-
const newSources = (0, TokenPrice_1.pushTokenPriceSource)(cSources,
|
|
144
|
+
const newSources = (0, TokenPrice_1.pushTokenPriceSource)(cSources, fSource);
|
|
155
145
|
if (!newSources) {
|
|
156
|
-
yield this.removeItem(
|
|
146
|
+
yield this.removeItem(fSource.address, {
|
|
157
147
|
prefix: tokenPriceSourcePrefix,
|
|
158
|
-
networkId:
|
|
148
|
+
networkId: fSource.networkId,
|
|
159
149
|
});
|
|
160
150
|
return;
|
|
161
151
|
}
|
|
162
|
-
yield this.setItem(
|
|
152
|
+
yield this.setItem(fSource.address, newSources, {
|
|
163
153
|
prefix: tokenPriceSourcePrefix,
|
|
164
|
-
networkId:
|
|
154
|
+
networkId: fSource.networkId,
|
|
165
155
|
});
|
|
166
156
|
});
|
|
167
157
|
}
|
|
168
158
|
removeItem(key, opts) {
|
|
169
159
|
return __awaiter(this, void 0, void 0, function* () {
|
|
170
160
|
const fullKey = getFullKey(key, opts);
|
|
171
|
-
if (opts.prefix !== ttlPrefix) {
|
|
172
|
-
yield this.removeItem(fullKey, {
|
|
173
|
-
prefix: ttlPrefix,
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
161
|
return this.storage.removeItem(fullKey);
|
|
177
162
|
});
|
|
178
163
|
}
|
|
@@ -217,6 +202,14 @@ function getFullBase(opts) {
|
|
|
217
202
|
}
|
|
218
203
|
function getDriverFromCacheConfig(cacheConfig) {
|
|
219
204
|
switch (cacheConfig.type) {
|
|
205
|
+
case 'overlayHttp':
|
|
206
|
+
return (0, overlayDriver_1.default)({
|
|
207
|
+
layers: cacheConfig.params.bases.map((base) => (0, http_1.default)({ base })),
|
|
208
|
+
});
|
|
209
|
+
case 'memory':
|
|
210
|
+
return (0, memoryDriver_1.default)({
|
|
211
|
+
ttl: 60 * 60 * 1000,
|
|
212
|
+
});
|
|
220
213
|
case 'filesystem':
|
|
221
214
|
return (0, fs_1.default)({
|
|
222
215
|
base: cacheConfig.params.base,
|
|
@@ -238,6 +231,19 @@ function getDriverFromCacheConfig(cacheConfig) {
|
|
|
238
231
|
}
|
|
239
232
|
function getCacheConfig() {
|
|
240
233
|
switch (process.env['CACHE_CONFIG_TYPE']) {
|
|
234
|
+
case 'overlayHttp':
|
|
235
|
+
return {
|
|
236
|
+
type: 'overlayHttp',
|
|
237
|
+
params: {
|
|
238
|
+
bases: (process.env['CACHE_CONFIG_OVERLAY_HTTP_BASES'] ||
|
|
239
|
+
'http://localhost:3000/,https://portfolio-cache-server.sonar.watch/').split(','),
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
case 'memory':
|
|
243
|
+
return {
|
|
244
|
+
type: 'memory',
|
|
245
|
+
params: {},
|
|
246
|
+
};
|
|
241
247
|
case 'filesystem':
|
|
242
248
|
return {
|
|
243
249
|
type: 'filesystem',
|
package/src/Cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../../packages/core/src/Cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAyE;AACzE,8DAA4C;AAC5C,oEAAkD;AAClD,kEAAgD;
|
|
1
|
+
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../../packages/core/src/Cache.ts"],"names":[],"mappings":"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"}
|
package/src/Fetcher.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export type FetcherResult = {
|
|
|
15
15
|
succeededFetcherIds: string[];
|
|
16
16
|
failedFetcherIds: string[];
|
|
17
17
|
elements: PortfolioElement[];
|
|
18
|
-
errors:
|
|
18
|
+
errors: Record<string, string>;
|
|
19
19
|
};
|
|
20
20
|
export declare function runFetchers(owner: string, addressSystem: AddressSystemType, fetchers: Fetcher[], cache: Cache): Promise<FetcherResult>;
|
|
21
21
|
export declare function runFetchersByNetworkId(owner: string, networkId: NetworkIdType, fetchers: Fetcher[], cache: Cache): Promise<FetcherResult>;
|
package/src/Fetcher.js
CHANGED
|
@@ -22,12 +22,12 @@ function runFetchers(owner, addressSystem, fetchers, cache) {
|
|
|
22
22
|
const result = yield Promise.allSettled(promises);
|
|
23
23
|
const failedFetcherIds = [];
|
|
24
24
|
const succeededFetcherIds = [];
|
|
25
|
-
const errors =
|
|
25
|
+
const errors = {};
|
|
26
26
|
const elements = result.flatMap((r, index) => {
|
|
27
27
|
const fetcherId = fetchers[index].id;
|
|
28
28
|
if (r.status === 'rejected') {
|
|
29
29
|
failedFetcherIds.push(fetcherId);
|
|
30
|
-
errors
|
|
30
|
+
errors[fetcherId] = r.reason.message || 'Unknown error';
|
|
31
31
|
return [];
|
|
32
32
|
}
|
|
33
33
|
succeededFetcherIds.push(fetcherId);
|
package/src/Fetcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fetcher.js","sourceRoot":"","sources":["../../../../packages/core/src/Fetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,2CAAuC;AACvC,mCAAkE;AAuBlE,SAAsB,WAAW,CAC/B,KAAa,EACb,aAAgC,EAChC,QAAmB,EACnB,KAAY;;QAEZ,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,KAAK,aAAa,CAC7D,CAAC;QACF,IAAI,CAAC,gBAAgB;YACnB,MAAM,IAAI,KAAK,CACb,mDAAmD,aAAa,EAAE,CACnE,CAAC;QAEJ,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAElD,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Fetcher.js","sourceRoot":"","sources":["../../../../packages/core/src/Fetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,2CAAuC;AACvC,mCAAkE;AAuBlE,SAAsB,WAAW,CAC/B,KAAa,EACb,aAAgC,EAChC,QAAmB,EACnB,KAAY;;QAEZ,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,KAAK,aAAa,CAC7D,CAAC;QACF,IAAI,CAAC,gBAAgB;YACnB,MAAM,IAAI,KAAK,CACb,mDAAmD,aAAa,EAAE,CACnE,CAAC;QAEJ,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAElD,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE;gBAC3B,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC;gBACxD,OAAO,EAAE,CAAC;aACX;YACD,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAChE,OAAO;YACL,KAAK,EAAE,MAAM;YACb,aAAa;YACb,UAAU;YACV,mBAAmB;YACnB,gBAAgB;YAChB,QAAQ;YACR,MAAM;SACP,CAAC;IACJ,CAAC;CAAA;AAzCD,kCAyCC;AAED,SAAsB,sBAAsB,CAC1C,KAAa,EACb,SAAwB,EACxB,QAAmB,EACnB,KAAY;;QAEZ,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,gBAAgB;YACnB,MAAM,IAAI,KAAK,CAAC,+CAA+C,SAAS,EAAE,CAAC,CAAC;QAE9E,MAAM,EAAE,aAAa,EAAE,GAAG,oBAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,OAAO,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;CAAA;AAZD,wDAYC;AAED,SAAgB,UAAU,CAAC,KAAa,EAAE,OAAgB,EAAE,KAAY;IACtE,MAAM,MAAM,GAAG,IAAA,gCAAwB,EAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAHD,gCAGC"}
|
package/src/TokenPrice.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export type TokenPriceSource = {
|
|
|
11
11
|
weight: number;
|
|
12
12
|
address: string;
|
|
13
13
|
networkId: NetworkIdType;
|
|
14
|
-
|
|
14
|
+
platformId: string;
|
|
15
15
|
decimals: number;
|
|
16
16
|
price: number;
|
|
17
17
|
underlyings?: TokenPriceUnderlying[];
|
|
@@ -20,7 +20,7 @@ export type TokenPriceSource = {
|
|
|
20
20
|
export type TokenPrice = {
|
|
21
21
|
address: string;
|
|
22
22
|
networkId: NetworkIdType;
|
|
23
|
-
|
|
23
|
+
platformId: string;
|
|
24
24
|
decimals: number;
|
|
25
25
|
price: number;
|
|
26
26
|
underlyings?: TokenPriceUnderlying[];
|
package/src/TokenPrice.js
CHANGED
|
@@ -24,7 +24,7 @@ function tokenPriceFromSources(sources) {
|
|
|
24
24
|
return {
|
|
25
25
|
address: latestSource.address,
|
|
26
26
|
networkId: latestSource.networkId,
|
|
27
|
-
|
|
27
|
+
platformId: latestSource.platformId,
|
|
28
28
|
decimals: latestSource.decimals,
|
|
29
29
|
price,
|
|
30
30
|
underlyings: latestSource.underlyings,
|
package/src/TokenPrice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenPrice.js","sourceRoot":"","sources":["../../../../packages/core/src/TokenPrice.ts"],"names":[],"mappings":";;;AACA,uCAAsC;AAEtC,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAClC,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAiCtC,SAAgB,qBAAqB,CACnC,OAA2B;IAE3B,MAAM,cAAc,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAErE,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAC3D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CACpD,CAAC;IACF,IAAI,KAAa,CAAC;IAClB,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CACzC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,iBAAiB,CAC5C,CAAC;IACF,IAAI,eAAe;QAAE,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;SAC9C;QACH,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,MAAM,CACjD,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;YACnC,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM;YACxC,UAAU,GAAG,MAAM,CAAC,MAAM;SAC3B,EACD,CAAC,CAAC,EAAE,CAAC,CAAC,CACP,CAAC;QACF,KAAK,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC;KACpD;IACD,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,
|
|
1
|
+
{"version":3,"file":"TokenPrice.js","sourceRoot":"","sources":["../../../../packages/core/src/TokenPrice.ts"],"names":[],"mappings":";;;AACA,uCAAsC;AAEtC,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAClC,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAiCtC,SAAgB,qBAAqB,CACnC,OAA2B;IAE3B,MAAM,cAAc,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAErE,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAC3D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CACpD,CAAC;IACF,IAAI,KAAa,CAAC;IAClB,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CACzC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,iBAAiB,CAC5C,CAAC;IACF,IAAI,eAAe;QAAE,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;SAC9C;QACH,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,MAAM,CACjD,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;YACnC,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM;YACxC,UAAU,GAAG,MAAM,CAAC,MAAM;SAC3B,EACD,CAAC,CAAC,EAAE,CAAC,CAAC,CACP,CAAC;QACF,KAAK,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC;KACpD;IACD,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,KAAK;QACL,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,OAAO,EAAE,cAAc;KACxB,CAAC;AACJ,CAAC;AAlCD,sDAkCC;AAED,SAAgB,oBAAoB,CAClC,OAA2B,EAC3B,MAAwB;IAExB,gBAAgB;IAChB,MAAM,UAAU,GAAG,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC;IAEtC,cAAc;IACd,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;QACrC,UAAU,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IAEhC,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAbD,oDAaC;AAED,SAAgB,uBAAuB,CACrC,OAA2B;IAE3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,gBAAgB;IAChB,IAAI,UAAU,GAAG,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC;IAEpC,yBAAyB;IACzB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;IAC5C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;IAC3E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE9C,0BAA0B;IAC1B,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;QACnC,IAAI,OAAO,CAAC,EAAE,KAAK,iBAAiB;YAAE,OAAO,CAAC,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,EAAE,KAAK,iBAAiB;YAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEhD,OAAO,UAAU,CAAC;AACpB,CAAC;AArBD,0DAqBC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const unstorage_1 = require("unstorage");
|
|
4
|
+
const DRIVER_NAME = 'memory';
|
|
5
|
+
exports.default = (0, unstorage_1.defineDriver)((opts = {}) => {
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7
|
+
const data = new Map();
|
|
8
|
+
const { ttl } = opts;
|
|
9
|
+
return {
|
|
10
|
+
name: DRIVER_NAME,
|
|
11
|
+
options: opts,
|
|
12
|
+
hasItem(key) {
|
|
13
|
+
return data.has(key);
|
|
14
|
+
},
|
|
15
|
+
getItem(key) {
|
|
16
|
+
return data.get(key) || null;
|
|
17
|
+
},
|
|
18
|
+
getItemRaw(key) {
|
|
19
|
+
return data.get(key) || null;
|
|
20
|
+
},
|
|
21
|
+
setItem(key, value) {
|
|
22
|
+
data.set(key, value);
|
|
23
|
+
if (ttl) {
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
data.delete(key);
|
|
26
|
+
}, ttl);
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
setItemRaw(key, value) {
|
|
30
|
+
data.set(key, value);
|
|
31
|
+
},
|
|
32
|
+
removeItem(key) {
|
|
33
|
+
data.delete(key);
|
|
34
|
+
},
|
|
35
|
+
getKeys() {
|
|
36
|
+
return Array.from(data.keys());
|
|
37
|
+
},
|
|
38
|
+
clear() {
|
|
39
|
+
data.clear();
|
|
40
|
+
},
|
|
41
|
+
dispose() {
|
|
42
|
+
data.clear();
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=memoryDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryDriver.js","sourceRoot":"","sources":["../../../../packages/core/src/memoryDriver.ts"],"names":[],"mappings":";;AAAA,yCAAyC;AAEzC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAM7B,kBAAe,IAAA,wBAAY,EAAC,CAAC,OAA6B,EAAE,EAAE,EAAE;IAC9D,8DAA8D;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,IAAI;QACb,OAAO,CAAC,GAAG;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,GAAG;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC/B,CAAC;QACD,UAAU,CAAC,GAAG;YACZ,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC/B,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,KAAK;YAChB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;QACH,CAAC;QACD,UAAU,CAAC,GAAG,EAAE,KAAK;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,UAAU,CAAC,GAAG;YACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO;YACL,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,KAAK;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QACD,OAAO;YACL,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const unstorage_1 = require("unstorage");
|
|
13
|
+
const OVERLAY_REMOVED = '__OVERLAY_REMOVED__';
|
|
14
|
+
const DRIVER_NAME = 'overlay';
|
|
15
|
+
exports.default = (0, unstorage_1.defineDriver)((options) => ({
|
|
16
|
+
name: DRIVER_NAME,
|
|
17
|
+
options,
|
|
18
|
+
hasItem(key, opts) {
|
|
19
|
+
var _a;
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
for (const layer of options.layers) {
|
|
22
|
+
if (yield layer.hasItem(key, opts)) {
|
|
23
|
+
if (layer === options.layers[0]) {
|
|
24
|
+
if ((yield ((_a = options.layers[0]) === null || _a === void 0 ? void 0 : _a.getItem(key))) === OVERLAY_REMOVED) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
getItem(key) {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
for (const layer of options.layers) {
|
|
37
|
+
const value = yield layer.getItem(key);
|
|
38
|
+
if (value === OVERLAY_REMOVED) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
if (value !== null && value !== 'null') {
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
// TODO: Support native meta
|
|
49
|
+
// async getMeta (key) {},
|
|
50
|
+
setItem(key, value, opts) {
|
|
51
|
+
var _a, _b;
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
yield ((_b = (_a = options.layers[0]) === null || _a === void 0 ? void 0 : _a.setItem) === null || _b === void 0 ? void 0 : _b.call(_a, key, value, opts));
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
removeItem(key, opts) {
|
|
57
|
+
var _a, _b;
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
yield ((_b = (_a = options.layers[0]) === null || _a === void 0 ? void 0 : _a.setItem) === null || _b === void 0 ? void 0 : _b.call(_a, key, OVERLAY_REMOVED, opts));
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
getKeys(base, opts) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
const allKeys = yield Promise.all(options.layers.map((layer) => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
const keys = yield layer.getKeys(base, opts);
|
|
66
|
+
return keys.map((key) => (0, unstorage_1.normalizeKey)(key));
|
|
67
|
+
})));
|
|
68
|
+
const uniqueKeys = Array.from(new Set(allKeys.flat()));
|
|
69
|
+
const existingKeys = yield Promise.all(uniqueKeys.map((key) => __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
var _a;
|
|
71
|
+
if ((yield ((_a = options.layers[0]) === null || _a === void 0 ? void 0 : _a.getItem(key))) === OVERLAY_REMOVED) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return key;
|
|
75
|
+
})));
|
|
76
|
+
return existingKeys.filter(Boolean);
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
dispose() {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
// TODO: Graceful error handling
|
|
82
|
+
yield Promise.all(options.layers.map((layer) => __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
if (layer.dispose) {
|
|
84
|
+
yield layer.dispose();
|
|
85
|
+
}
|
|
86
|
+
})));
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
}));
|
|
90
|
+
//# sourceMappingURL=overlayDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlayDriver.js","sourceRoot":"","sources":["../../../../packages/core/src/overlayDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatAddressByNetworkId = exports.formatAddress = exports.formatSolanaAddress = exports.formatEvmAddress = exports.formatMoveAddress = exports.formatBitcoinAddress = void 0;
|
|
4
4
|
const address_1 = require("@ethersproject/address");
|
|
5
|
-
const
|
|
5
|
+
const validAddress_1 = require("./validAddress");
|
|
6
6
|
const Address_1 = require("../Address");
|
|
7
7
|
const constants_1 = require("../constants");
|
|
8
8
|
function formatBitcoinAddress(address) {
|
|
9
|
-
(0,
|
|
9
|
+
(0, validAddress_1.assertBitcoinAddress)(address);
|
|
10
10
|
return address;
|
|
11
11
|
}
|
|
12
12
|
exports.formatBitcoinAddress = formatBitcoinAddress;
|
|
13
13
|
function formatMoveAddress(address) {
|
|
14
|
-
(0,
|
|
14
|
+
(0, validAddress_1.assertMoveAddress)(address);
|
|
15
15
|
return address.toLocaleLowerCase();
|
|
16
16
|
}
|
|
17
17
|
exports.formatMoveAddress = formatMoveAddress;
|
|
18
18
|
function formatEvmAddress(address) {
|
|
19
|
-
(0,
|
|
19
|
+
(0, validAddress_1.assertEvmAddress)(address);
|
|
20
20
|
return (0, address_1.getAddress)(address.toLocaleLowerCase());
|
|
21
21
|
}
|
|
22
22
|
exports.formatEvmAddress = formatEvmAddress;
|
|
23
23
|
function formatSolanaAddress(address) {
|
|
24
|
-
(0,
|
|
24
|
+
(0, validAddress_1.assertSolanaAddress)(address);
|
|
25
25
|
return address;
|
|
26
26
|
}
|
|
27
27
|
exports.formatSolanaAddress = formatSolanaAddress;
|
|
@@ -2,25 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatTokenAddress = exports.formatSolanaTokenAddress = exports.formatEvmTokenAddress = exports.formatMoveTokenAddress = exports.formatBitcoinTokenAddress = void 0;
|
|
4
4
|
const address_1 = require("@ethersproject/address");
|
|
5
|
-
const addressValid_1 = require("./addressValid");
|
|
6
5
|
const Address_1 = require("../Address");
|
|
7
6
|
const constants_1 = require("../constants");
|
|
7
|
+
const validTokenAddress_1 = require("./validTokenAddress");
|
|
8
|
+
const md5_1 = require("./md5");
|
|
9
|
+
const isMd5_1 = require("./isMd5");
|
|
8
10
|
function formatBitcoinTokenAddress(address) {
|
|
9
|
-
(0,
|
|
11
|
+
(0, validTokenAddress_1.assertBitcoinTokenAddress)(address);
|
|
10
12
|
return address;
|
|
11
13
|
}
|
|
12
14
|
exports.formatBitcoinTokenAddress = formatBitcoinTokenAddress;
|
|
13
15
|
function formatMoveTokenAddress(address) {
|
|
14
|
-
|
|
16
|
+
(0, validTokenAddress_1.assertMoveTokenAddress)(address);
|
|
17
|
+
if ((0, isMd5_1.isMd5)(address))
|
|
18
|
+
return address;
|
|
19
|
+
return (0, md5_1.md5)(address);
|
|
15
20
|
}
|
|
16
21
|
exports.formatMoveTokenAddress = formatMoveTokenAddress;
|
|
17
22
|
function formatEvmTokenAddress(address) {
|
|
18
|
-
(0,
|
|
23
|
+
(0, validTokenAddress_1.assertEvmTokenAddress)(address);
|
|
19
24
|
return (0, address_1.getAddress)(address.toLocaleLowerCase());
|
|
20
25
|
}
|
|
21
26
|
exports.formatEvmTokenAddress = formatEvmTokenAddress;
|
|
22
27
|
function formatSolanaTokenAddress(address) {
|
|
23
|
-
(0,
|
|
28
|
+
(0, validTokenAddress_1.assertSolanaTokenAddress)(address);
|
|
24
29
|
return address;
|
|
25
30
|
}
|
|
26
31
|
exports.formatSolanaTokenAddress = formatSolanaTokenAddress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatTokenAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/formatTokenAddress.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;
|
|
1
|
+
{"version":3,"file":"formatTokenAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/formatTokenAddress.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AAEpD,wCAA8D;AAC9D,4CAAwC;AACxC,2DAK6B;AAC7B,+BAA4B;AAC5B,mCAAgC;AAEhC,SAAgB,yBAAyB,CAAC,OAAe;IACvD,IAAA,6CAAyB,EAAC,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,8DAGC;AAED,SAAgB,sBAAsB,CAAC,OAAe;IACpD,IAAA,0CAAsB,EAAC,OAAO,CAAC,CAAC;IAChC,IAAI,IAAA,aAAK,EAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACnC,OAAO,IAAA,SAAG,EAAC,OAAO,CAAC,CAAC;AACtB,CAAC;AAJD,wDAIC;AAED,SAAgB,qBAAqB,CAAC,OAAe;IACnD,IAAA,yCAAqB,EAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,IAAA,oBAAU,EAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACjD,CAAC;AAHD,sDAGC;AAED,SAAgB,wBAAwB,CAAC,OAAe;IACtD,IAAA,4CAAwB,EAAC,OAAO,CAAC,CAAC;IAClC,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,4DAGC;AAED,MAAM,UAAU,GAA2D;IACzE,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE,wBAAwB;IAChD,CAAC,uBAAa,CAAC,OAAO,CAAC,EAAE,yBAAyB;IAClD,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,qBAAqB;IAC1C,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE,sBAAsB;CAC7C,CAAC;AAEF,SAAgB,kBAAkB,CAAC,OAAe,EAAE,SAAwB;IAC1E,MAAM,OAAO,GAAG,oBAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAND,gDAMC"}
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatTokenPrice = void 0;
|
|
4
4
|
const formatTokenAddress_1 = require("./formatTokenAddress");
|
|
5
|
-
|
|
6
|
-
return Object.assign(Object.assign({}, tpu), { address: (0, formatTokenAddress_1.formatTokenAddress)(tpu.address, tpu.networkId) });
|
|
7
|
-
}
|
|
5
|
+
const formatTokenPriceUnderlying_1 = require("./formatTokenPriceUnderlying");
|
|
8
6
|
function formatTokenPrice(tokenPrice) {
|
|
9
7
|
var _a;
|
|
10
|
-
return Object.assign(Object.assign({}, tokenPrice), { address: (0, formatTokenAddress_1.formatTokenAddress)(tokenPrice.address, tokenPrice.networkId), underlyings: (_a = tokenPrice.underlyings) === null || _a === void 0 ? void 0 : _a.map((tpu) => formatTokenPriceUnderlying(tpu)) });
|
|
8
|
+
return Object.assign(Object.assign({}, tokenPrice), { address: (0, formatTokenAddress_1.formatTokenAddress)(tokenPrice.address, tokenPrice.networkId), underlyings: (_a = tokenPrice.underlyings) === null || _a === void 0 ? void 0 : _a.map((tpu) => (0, formatTokenPriceUnderlying_1.formatTokenPriceUnderlying)(tpu)) });
|
|
11
9
|
}
|
|
12
10
|
exports.formatTokenPrice = formatTokenPrice;
|
|
13
11
|
//# sourceMappingURL=formatTokenPrice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatTokenPrice.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/formatTokenPrice.ts"],"names":[],"mappings":";;;AACA,6DAA0D;
|
|
1
|
+
{"version":3,"file":"formatTokenPrice.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/formatTokenPrice.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAC1D,6EAA0E;AAE1E,SAAgB,gBAAgB,CAAC,UAAsB;;IACrD,uCACK,UAAU,KACb,OAAO,EAAE,IAAA,uCAAkB,EAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EACrE,WAAW,EAAE,MAAA,UAAU,CAAC,WAAW,0CAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/C,IAAA,uDAA0B,EAAC,GAAG,CAAC,CAChC,IACD;AACJ,CAAC;AARD,4CAQC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatTokenPriceSource = void 0;
|
|
4
|
+
const formatTokenAddress_1 = require("./formatTokenAddress");
|
|
5
|
+
const formatTokenPriceUnderlying_1 = require("./formatTokenPriceUnderlying");
|
|
6
|
+
function formatTokenPriceSource(source) {
|
|
7
|
+
var _a;
|
|
8
|
+
return Object.assign(Object.assign({}, source), { address: (0, formatTokenAddress_1.formatTokenAddress)(source.address, source.networkId), underlyings: (_a = source.underlyings) === null || _a === void 0 ? void 0 : _a.map((tpu) => (0, formatTokenPriceUnderlying_1.formatTokenPriceUnderlying)(tpu)) });
|
|
9
|
+
}
|
|
10
|
+
exports.formatTokenPriceSource = formatTokenPriceSource;
|
|
11
|
+
//# sourceMappingURL=formatTokenPriceSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatTokenPriceSource.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/formatTokenPriceSource.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAC1D,6EAA0E;AAE1E,SAAgB,sBAAsB,CACpC,MAAwB;;IAExB,uCACK,MAAM,KACT,OAAO,EAAE,IAAA,uCAAkB,EAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAC7D,WAAW,EAAE,MAAA,MAAM,CAAC,WAAW,0CAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3C,IAAA,uDAA0B,EAAC,GAAG,CAAC,CAChC,IACD;AACJ,CAAC;AAVD,wDAUC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatTokenPriceUnderlying = void 0;
|
|
4
|
+
const formatTokenAddress_1 = require("./formatTokenAddress");
|
|
5
|
+
function formatTokenPriceUnderlying(tpu) {
|
|
6
|
+
return Object.assign(Object.assign({}, tpu), { address: (0, formatTokenAddress_1.formatTokenAddress)(tpu.address, tpu.networkId) });
|
|
7
|
+
}
|
|
8
|
+
exports.formatTokenPriceUnderlying = formatTokenPriceUnderlying;
|
|
9
|
+
//# sourceMappingURL=formatTokenPriceUnderlying.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatTokenPriceUnderlying.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/formatTokenPriceUnderlying.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAE1D,SAAgB,0BAA0B,CACxC,GAAyB;IAEzB,uCACK,GAAG,KACN,OAAO,EAAE,IAAA,uCAAkB,EAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,IACvD;AACJ,CAAC;AAPD,gEAOC"}
|
package/src/utils/index.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
export * from './networkIdIncluded';
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './validAddress';
|
|
3
|
+
export * from './validTokenAddress';
|
|
3
4
|
export * from './formatAddress';
|
|
4
5
|
export * from './formatTokenAddress';
|
|
5
6
|
export * from './getElementLendingValues';
|
|
6
7
|
export * from './compareName';
|
|
7
8
|
export * from './compareUsdValue';
|
|
8
9
|
export * from './formatTokenPrice';
|
|
10
|
+
export * from './formatTokenPriceUnderlying';
|
|
11
|
+
export * from './formatTokenPriceSource';
|
|
9
12
|
export * from './formatUniTokenInfo';
|
|
10
13
|
export * from './getAssetsFromElement';
|
|
11
14
|
export * from './getAssetsFromElements';
|
package/src/utils/index.js
CHANGED
|
@@ -15,13 +15,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./networkIdIncluded"), exports);
|
|
18
|
-
__exportStar(require("./
|
|
18
|
+
__exportStar(require("./validAddress"), exports);
|
|
19
|
+
__exportStar(require("./validTokenAddress"), exports);
|
|
19
20
|
__exportStar(require("./formatAddress"), exports);
|
|
20
21
|
__exportStar(require("./formatTokenAddress"), exports);
|
|
21
22
|
__exportStar(require("./getElementLendingValues"), exports);
|
|
22
23
|
__exportStar(require("./compareName"), exports);
|
|
23
24
|
__exportStar(require("./compareUsdValue"), exports);
|
|
24
25
|
__exportStar(require("./formatTokenPrice"), exports);
|
|
26
|
+
__exportStar(require("./formatTokenPriceUnderlying"), exports);
|
|
27
|
+
__exportStar(require("./formatTokenPriceSource"), exports);
|
|
25
28
|
__exportStar(require("./formatUniTokenInfo"), exports);
|
|
26
29
|
__exportStar(require("./getAssetsFromElement"), exports);
|
|
27
30
|
__exportStar(require("./getAssetsFromElements"), exports);
|
package/src/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iDAA+B;AAC/B,kDAAgC;AAChC,uDAAqC;AACrC,4DAA0C;AAC1C,gDAA8B;AAC9B,oDAAkC;AAClC,qDAAmC;AACnC,uDAAqC;AACrC,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,oDAAkC;AAClC,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC;AAChC,uDAAqC;AACrC,4DAA0C;AAC1C,gDAA8B;AAC9B,oDAAkC;AAClC,qDAAmC;AACnC,+DAA6C;AAC7C,2DAAyC;AACzC,uDAAqC;AACrC,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,oDAAkC;AAClC,wDAAsC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isMd5(str: string): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isMd5.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/isMd5.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AACpC,SAAgB,KAAK,CAAC,GAAW;IAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAFD,sBAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function md5(str: string): string;
|
package/src/utils/md5.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.md5 = void 0;
|
|
7
|
+
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
8
|
+
function md5(str) {
|
|
9
|
+
return node_crypto_1.default.createHash('md5').update(str).digest('hex');
|
|
10
|
+
}
|
|
11
|
+
exports.md5 = md5;
|
|
12
|
+
//# sourceMappingURL=md5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md5.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/md5.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAiC;AAEjC,SAAgB,GAAG,CAAC,GAAW;IAC7B,OAAO,qBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAFD,kBAEC"}
|
|
@@ -7,5 +7,5 @@ export declare function isMoveAddress(address: string): boolean;
|
|
|
7
7
|
export declare function assertMoveAddress(address: string): void;
|
|
8
8
|
export declare function isSolanaAddress(address: string): boolean;
|
|
9
9
|
export declare function assertSolanaAddress(address: string): void;
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function isAddress(address: string, networkId: NetworkIdType): boolean;
|
|
11
11
|
export declare function assertAddressValid(address: string, networkId: NetworkIdType): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.assertAddressValid = exports.
|
|
3
|
+
exports.assertAddressValid = exports.isAddress = exports.assertSolanaAddress = exports.isSolanaAddress = exports.assertMoveAddress = exports.isMoveAddress = exports.assertEvmAddress = exports.isEvmAddress = exports.assertBitcoinAddress = exports.isBitcoinAddress = void 0;
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
5
|
const bitcoin_address_validation_1 = require("bitcoin-address-validation");
|
|
6
6
|
const address_1 = require("@ethersproject/address");
|
|
@@ -60,17 +60,17 @@ const validators = {
|
|
|
60
60
|
[Address_1.AddressSystem.bitcoin]: isBitcoinAddress,
|
|
61
61
|
[Address_1.AddressSystem.move]: isMoveAddress,
|
|
62
62
|
};
|
|
63
|
-
function
|
|
63
|
+
function isAddress(address, networkId) {
|
|
64
64
|
const network = constants_1.networks[networkId];
|
|
65
65
|
if (!network)
|
|
66
66
|
throw new Error(`NetworkId not supported: ${networkId}`);
|
|
67
67
|
const validator = validators[network.addressSystem];
|
|
68
68
|
return validator(address);
|
|
69
69
|
}
|
|
70
|
-
exports.
|
|
70
|
+
exports.isAddress = isAddress;
|
|
71
71
|
function assertAddressValid(address, networkId) {
|
|
72
|
-
if (!
|
|
72
|
+
if (!isAddress(address, networkId))
|
|
73
73
|
throw new Error(`Address is not valid: [${networkId}][${address}]`);
|
|
74
74
|
}
|
|
75
75
|
exports.assertAddressValid = assertAddressValid;
|
|
76
|
-
//# sourceMappingURL=
|
|
76
|
+
//# sourceMappingURL=validAddress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"validAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/validAddress.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,2EAA+D;AAC/D,oDAAsE;AACtE,gDAAmD;AAEnD,wCAA8D;AAC9D,4CAAwC;AAExC,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,IAAA,qCAAQ,EAAC,OAAO,EAAE,oCAAO,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAFD,4CAEC;AACD,SAAgB,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAHD,oDAGC;AAED,SAAgB,YAAY,CAAC,OAAe;IAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,IAAA,mBAAe,EAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACtD,CAAC;AAHD,oCAGC;AACD,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC;AAHD,4CAGC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,IAAA,mBAAW,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAFD,sCAEC;AACD,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC;AAHD,8CAGC;AAED,SAAgB,eAAe,CAAC,OAAe;IAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI;QACF,kCAAkC;QAClC,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AATD,0CASC;AACD,SAAgB,mBAAmB,CAAC,OAAe;IACjD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAHD,kDAGC;AAED,MAAM,UAAU,GAA4D;IAC1E,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE,eAAe;IACvC,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,YAAY;IACjC,CAAC,uBAAa,CAAC,OAAO,CAAC,EAAE,gBAAgB;IACzC,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE,aAAa;CACpC,CAAC;AAEF,SAAgB,SAAS,CAAC,OAAe,EAAE,SAAwB;IACjE,MAAM,OAAO,GAAG,oBAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAND,8BAMC;AAED,SAAgB,kBAAkB,CAChC,OAAe,EACf,SAAwB;IAExB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,KAAK,OAAO,GAAG,CAAC,CAAC;AACxE,CAAC;AAND,gDAMC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NetworkIdType } from '../Network';
|
|
2
|
+
export declare function isBitcoinTokenAddress(address: string): boolean;
|
|
3
|
+
export declare function assertBitcoinTokenAddress(address: string): void;
|
|
4
|
+
export declare function isEvmTokenAddress(address: string): boolean;
|
|
5
|
+
export declare function assertEvmTokenAddress(address: string): void;
|
|
6
|
+
export declare function isMoveTokenAddress(address: string): boolean;
|
|
7
|
+
export declare function assertMoveTokenAddress(address: string): void;
|
|
8
|
+
export declare function isSolanaTokenAddress(address: string): boolean;
|
|
9
|
+
export declare function assertSolanaTokenAddress(address: string): void;
|
|
10
|
+
export declare function isTokenAddressValid(address: string, networkId: NetworkIdType): boolean;
|
|
11
|
+
export declare function assertTokenAddressValid(address: string, networkId: NetworkIdType): void;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertTokenAddressValid = exports.isTokenAddressValid = exports.assertSolanaTokenAddress = exports.isSolanaTokenAddress = exports.assertMoveTokenAddress = exports.isMoveTokenAddress = exports.assertEvmTokenAddress = exports.isEvmTokenAddress = exports.assertBitcoinTokenAddress = exports.isBitcoinTokenAddress = void 0;
|
|
4
|
+
const Address_1 = require("../Address");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const validAddress_1 = require("./validAddress");
|
|
7
|
+
function isBitcoinTokenAddress(address) {
|
|
8
|
+
return address === constants_1.bitcoinNativeAddress;
|
|
9
|
+
}
|
|
10
|
+
exports.isBitcoinTokenAddress = isBitcoinTokenAddress;
|
|
11
|
+
function assertBitcoinTokenAddress(address) {
|
|
12
|
+
if (!isBitcoinTokenAddress(address))
|
|
13
|
+
throw new Error(`Bitcoin token address is not valid: ${address}`);
|
|
14
|
+
}
|
|
15
|
+
exports.assertBitcoinTokenAddress = assertBitcoinTokenAddress;
|
|
16
|
+
function isEvmTokenAddress(address) {
|
|
17
|
+
return (0, validAddress_1.isEvmAddress)(address);
|
|
18
|
+
}
|
|
19
|
+
exports.isEvmTokenAddress = isEvmTokenAddress;
|
|
20
|
+
function assertEvmTokenAddress(address) {
|
|
21
|
+
if (!isEvmTokenAddress(address))
|
|
22
|
+
throw new Error(`Evm token address is not valid: ${address}`);
|
|
23
|
+
}
|
|
24
|
+
exports.assertEvmTokenAddress = assertEvmTokenAddress;
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
26
|
+
function isMoveTokenAddress(address) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
exports.isMoveTokenAddress = isMoveTokenAddress;
|
|
30
|
+
function assertMoveTokenAddress(address) {
|
|
31
|
+
if (!isMoveTokenAddress(address))
|
|
32
|
+
throw new Error(`Move token address is not valid: ${address}`);
|
|
33
|
+
}
|
|
34
|
+
exports.assertMoveTokenAddress = assertMoveTokenAddress;
|
|
35
|
+
function isSolanaTokenAddress(address) {
|
|
36
|
+
return (0, validAddress_1.isSolanaAddress)(address);
|
|
37
|
+
}
|
|
38
|
+
exports.isSolanaTokenAddress = isSolanaTokenAddress;
|
|
39
|
+
function assertSolanaTokenAddress(address) {
|
|
40
|
+
if (!isSolanaTokenAddress(address))
|
|
41
|
+
throw new Error(`Solana token address is not valid: ${address}`);
|
|
42
|
+
}
|
|
43
|
+
exports.assertSolanaTokenAddress = assertSolanaTokenAddress;
|
|
44
|
+
const validators = {
|
|
45
|
+
[Address_1.AddressSystem.solana]: isSolanaTokenAddress,
|
|
46
|
+
[Address_1.AddressSystem.evm]: isEvmTokenAddress,
|
|
47
|
+
[Address_1.AddressSystem.bitcoin]: isBitcoinTokenAddress,
|
|
48
|
+
[Address_1.AddressSystem.move]: isMoveTokenAddress,
|
|
49
|
+
};
|
|
50
|
+
function isTokenAddressValid(address, networkId) {
|
|
51
|
+
const network = constants_1.networks[networkId];
|
|
52
|
+
if (!network)
|
|
53
|
+
throw new Error(`NetworkId not supported: ${networkId}`);
|
|
54
|
+
const validator = validators[network.addressSystem];
|
|
55
|
+
return validator(address);
|
|
56
|
+
}
|
|
57
|
+
exports.isTokenAddressValid = isTokenAddressValid;
|
|
58
|
+
function assertTokenAddressValid(address, networkId) {
|
|
59
|
+
if (!isTokenAddressValid(address, networkId))
|
|
60
|
+
throw new Error(`Address is not valid: [${networkId}][${address}]`);
|
|
61
|
+
}
|
|
62
|
+
exports.assertTokenAddressValid = assertTokenAddressValid;
|
|
63
|
+
//# sourceMappingURL=validTokenAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validTokenAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/validTokenAddress.ts"],"names":[],"mappings":";;;AACA,wCAA8D;AAC9D,4CAA8D;AAC9D,iDAA+D;AAE/D,SAAgB,qBAAqB,CAAC,OAAe;IACnD,OAAO,OAAO,KAAK,gCAAoB,CAAC;AAC1C,CAAC;AAFD,sDAEC;AACD,SAAgB,yBAAyB,CAAC,OAAe;IACvD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;AACtE,CAAC;AAHD,8DAGC;AAED,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,OAAO,IAAA,2BAAY,EAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAFD,8CAEC;AACD,SAAgB,qBAAqB,CAAC,OAAe;IACnD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAHD,sDAGC;AAED,6DAA6D;AAC7D,SAAgB,kBAAkB,CAAC,OAAe;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AAFD,gDAEC;AACD,SAAgB,sBAAsB,CAAC,OAAe;IACpD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;AACnE,CAAC;AAHD,wDAGC;AAED,SAAgB,oBAAoB,CAAC,OAAe;IAClD,OAAO,IAAA,8BAAe,EAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAFD,oDAEC;AACD,SAAgB,wBAAwB,CAAC,OAAe;IACtD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;AACrE,CAAC;AAHD,4DAGC;AAED,MAAM,UAAU,GAA4D;IAC1E,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE,oBAAoB;IAC5C,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,iBAAiB;IACtC,CAAC,uBAAa,CAAC,OAAO,CAAC,EAAE,qBAAqB;IAC9C,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE,kBAAkB;CACzC,CAAC;AAEF,SAAgB,mBAAmB,CACjC,OAAe,EACf,SAAwB;IAExB,MAAM,OAAO,GAAG,oBAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AATD,kDASC;AAED,SAAgB,uBAAuB,CACrC,OAAe,EACf,SAAwB;IAExB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,KAAK,OAAO,GAAG,CAAC,CAAC;AACxE,CAAC;AAND,0DAMC"}
|