@injectivelabs/sdk-ts 1.0.418 → 1.0.420
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/dist/client/indexer/transformers/IndexerGrpcExplorerTransformer.js +1 -1
- package/dist/client/indexer/transformers/IndexerGrpcExplorerTransformer.js.map +1 -1
- package/dist/core/utils/Denom/DenomClient.d.ts +18 -3
- package/dist/core/utils/Denom/DenomClient.d.ts.map +1 -1
- package/dist/core/utils/Denom/DenomClient.js +81 -3
- package/dist/core/utils/Denom/DenomClient.js.map +1 -1
- package/dist/core/utils/Denom/DenomClientSync.d.ts +20 -0
- package/dist/core/utils/Denom/DenomClientSync.d.ts.map +1 -0
- package/dist/core/utils/Denom/DenomClientSync.js +37 -0
- package/dist/core/utils/Denom/DenomClientSync.js.map +1 -0
- package/dist/core/utils/Denom/index.d.ts +1 -1
- package/dist/core/utils/Denom/index.d.ts.map +1 -1
- package/dist/core/utils/Denom/index.js +1 -1
- package/dist/core/utils/Denom/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/core/utils/Denom/DenomClientAsync.d.ts +0 -31
- package/dist/core/utils/Denom/DenomClientAsync.d.ts.map +0 -1
- package/dist/core/utils/Denom/DenomClientAsync.js +0 -107
- package/dist/core/utils/Denom/DenomClientAsync.js.map +0 -1
|
@@ -109,7 +109,7 @@ class IndexerGrpcExplorerTransformer {
|
|
|
109
109
|
static grpcTransactionToTransaction(tx) {
|
|
110
110
|
const data = tx.getData();
|
|
111
111
|
return {
|
|
112
|
-
id: data.getId(),
|
|
112
|
+
id: data.getId !== undefined ? data.getId() : data.getHash(),
|
|
113
113
|
blockNumber: data.getBlockNumber(),
|
|
114
114
|
blockTimestamp: data.getBlockTimestamp(),
|
|
115
115
|
hash: data.getHash(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexerGrpcExplorerTransformer.js","sourceRoot":"","sources":["../../../../src/client/indexer/transformers/IndexerGrpcExplorerTransformer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"IndexerGrpcExplorerTransformer.js","sourceRoot":"","sources":["../../../../src/client/indexer/transformers/IndexerGrpcExplorerTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,35 @@
|
|
|
1
1
|
import { Token, TokenInfo, TokenMeta, TokenFactory, TokenMetaUtils } from '@injectivelabs/token-metadata';
|
|
2
|
+
import { DenomTrace } from '@injectivelabs/chain-api/ibc/applications/transfer/v1/transfer_pb';
|
|
2
3
|
import { Network } from '@injectivelabs/networks';
|
|
4
|
+
import { ChainGrpcIbcApi } from '../../../client/chain/grpc/ChainGrpcIbcApi';
|
|
3
5
|
/**
|
|
4
6
|
* This client can be used to fetch token
|
|
5
|
-
* denoms
|
|
7
|
+
* denoms including API calls as well
|
|
8
|
+
*
|
|
9
|
+
* Special Case:
|
|
10
|
+
* If IBC denom is not within the hardcoded
|
|
11
|
+
* IBC hashes we should query the denom traces API
|
|
12
|
+
* to find the token meta for the denom
|
|
6
13
|
*
|
|
7
14
|
* @category Utility Classes
|
|
8
15
|
*/
|
|
9
16
|
export declare class DenomClient {
|
|
17
|
+
protected cachedDenomTraces: Record<string, DenomTrace.AsObject>;
|
|
10
18
|
protected tokenFactory: TokenFactory;
|
|
11
19
|
protected tokenMetaUtils: TokenMetaUtils;
|
|
20
|
+
protected ibcApi: ChainGrpcIbcApi;
|
|
12
21
|
constructor(network?: Network);
|
|
13
|
-
getDenomTokenInfo(denom: string): TokenInfo | undefined
|
|
14
|
-
getDenomToken(denom: string): Token | undefined
|
|
22
|
+
getDenomTokenInfo(denom: string): Promise<TokenInfo | undefined>;
|
|
23
|
+
getDenomToken(denom: string): Promise<Token | undefined>;
|
|
15
24
|
getTokenMetaDataBySymbol(symbol: string): TokenMeta | undefined;
|
|
16
25
|
getTokenMetaDataByAddress(address: string): TokenMeta | undefined;
|
|
17
26
|
getTokenMetaDataByName(name: string): TokenMeta | undefined;
|
|
18
27
|
getCoinGeckoId(denom: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Find token based on the hash and the base denom
|
|
30
|
+
* from the denom trace of the particular hash
|
|
31
|
+
*/
|
|
32
|
+
private getIbcDenomToken;
|
|
33
|
+
private fetchAndCacheDenomTraces;
|
|
19
34
|
}
|
|
20
35
|
//# sourceMappingURL=DenomClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DenomClient.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/Denom/DenomClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,cAAc,EAEf,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"DenomClient.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/Denom/DenomClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,cAAc,EAEf,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,mEAAmE,CAAA;AAG9F,OAAO,EAAuB,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAE5E;;;;;;;;;;GAUG;AACH,qBAAa,WAAW;IACtB,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAK;IAErE,SAAS,CAAC,YAAY,EAAE,YAAY,CAAA;IAEpC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAA;IAExC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAA;gBAErB,OAAO,GAAE,OAAyB;IAMxC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAgBhE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAc9D,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI/D,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIjE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI3D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIrC;;;OAGG;YACW,gBAAgB;YAyChB,wBAAwB;CAoBvC"}
|
|
@@ -1,24 +1,63 @@
|
|
|
1
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
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.DenomClient = void 0;
|
|
4
13
|
const token_metadata_1 = require("@injectivelabs/token-metadata");
|
|
14
|
+
const exceptions_1 = require("@injectivelabs/exceptions");
|
|
15
|
+
const utf8_1 = require("../../../utils/utf8");
|
|
16
|
+
const crypto_1 = require("../../../utils/crypto");
|
|
5
17
|
const networks_1 = require("@injectivelabs/networks");
|
|
18
|
+
const ChainGrpcIbcApi_1 = require("../../../client/chain/grpc/ChainGrpcIbcApi");
|
|
6
19
|
/**
|
|
7
20
|
* This client can be used to fetch token
|
|
8
|
-
* denoms
|
|
21
|
+
* denoms including API calls as well
|
|
22
|
+
*
|
|
23
|
+
* Special Case:
|
|
24
|
+
* If IBC denom is not within the hardcoded
|
|
25
|
+
* IBC hashes we should query the denom traces API
|
|
26
|
+
* to find the token meta for the denom
|
|
9
27
|
*
|
|
10
28
|
* @category Utility Classes
|
|
11
29
|
*/
|
|
12
30
|
class DenomClient {
|
|
13
31
|
constructor(network = networks_1.Network.Mainnet) {
|
|
32
|
+
this.cachedDenomTraces = {};
|
|
14
33
|
this.tokenFactory = token_metadata_1.TokenFactory.make(network);
|
|
15
34
|
this.tokenMetaUtils = token_metadata_1.TokenMetaUtilsFactory.make(network);
|
|
35
|
+
this.ibcApi = new ChainGrpcIbcApi_1.ChainGrpcIbcApi((0, networks_1.getNetworkEndpoints)(network).grpc);
|
|
16
36
|
}
|
|
17
37
|
getDenomTokenInfo(denom) {
|
|
18
|
-
return this
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
const token = this.tokenFactory.toTokenInfo(denom);
|
|
40
|
+
if (token) {
|
|
41
|
+
return token;
|
|
42
|
+
}
|
|
43
|
+
if (denom.startsWith('ibc')) {
|
|
44
|
+
const token = yield this.getIbcDenomToken(denom);
|
|
45
|
+
return token ? token_metadata_1.TokenInfo.fromToken(token) : undefined;
|
|
46
|
+
}
|
|
47
|
+
return;
|
|
48
|
+
});
|
|
19
49
|
}
|
|
20
50
|
getDenomToken(denom) {
|
|
21
|
-
return this
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
const token = this.tokenFactory.toToken(denom);
|
|
53
|
+
if (token) {
|
|
54
|
+
return token;
|
|
55
|
+
}
|
|
56
|
+
if (denom.startsWith('ibc')) {
|
|
57
|
+
return yield this.getIbcDenomToken(denom);
|
|
58
|
+
}
|
|
59
|
+
return;
|
|
60
|
+
});
|
|
22
61
|
}
|
|
23
62
|
getTokenMetaDataBySymbol(symbol) {
|
|
24
63
|
return this.tokenMetaUtils.getMetaBySymbol(symbol);
|
|
@@ -32,6 +71,45 @@ class DenomClient {
|
|
|
32
71
|
getCoinGeckoId(denom) {
|
|
33
72
|
return this.tokenMetaUtils.getCoinGeckoIdFromSymbol(denom);
|
|
34
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Find token based on the hash and the base denom
|
|
76
|
+
* from the denom trace of the particular hash
|
|
77
|
+
*/
|
|
78
|
+
getIbcDenomToken(denom) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const hash = denom.replace('ibc/', '');
|
|
81
|
+
if (Object.keys(this.cachedDenomTraces).length === 0) {
|
|
82
|
+
yield this.fetchAndCacheDenomTraces();
|
|
83
|
+
}
|
|
84
|
+
const cachedDenomTrace = this.cachedDenomTraces[hash];
|
|
85
|
+
if (cachedDenomTrace) {
|
|
86
|
+
const token = this.tokenFactory.toToken(cachedDenomTrace.baseDenom);
|
|
87
|
+
return token
|
|
88
|
+
? Object.assign(Object.assign({}, token), { denom }) : undefined;
|
|
89
|
+
}
|
|
90
|
+
const denomTrace = yield this.ibcApi.fetchDenomTrace(hash);
|
|
91
|
+
if (!denomTrace) {
|
|
92
|
+
throw new exceptions_1.GeneralException(new Error(`Denom trace not found for ${denom}`), {
|
|
93
|
+
type: exceptions_1.ErrorType.NotFoundError,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
const token = this.tokenFactory.toToken(denomTrace.baseDenom);
|
|
97
|
+
return token
|
|
98
|
+
? Object.assign(Object.assign({}, token), { denom }) : undefined;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
fetchAndCacheDenomTraces() {
|
|
102
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
const denomTraces = yield this.ibcApi.fetchDenomsTrace();
|
|
104
|
+
const denomHashes = denomTraces.map((trace) => {
|
|
105
|
+
return {
|
|
106
|
+
trace: trace,
|
|
107
|
+
hash: Buffer.from((0, crypto_1.sha256)((0, utf8_1.fromUtf8)(`${trace.path}/${trace.baseDenom}`))).toString('hex'),
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
this.cachedDenomTraces = denomHashes.reduce((denomTraces, denomTrace) => (Object.assign(Object.assign({}, denomTraces), { [denomTrace.hash.toUpperCase()]: denomTrace.trace })), {});
|
|
111
|
+
});
|
|
112
|
+
}
|
|
35
113
|
}
|
|
36
114
|
exports.DenomClient = DenomClient;
|
|
37
115
|
//# sourceMappingURL=DenomClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DenomClient.js","sourceRoot":"","sources":["../../../../src/core/utils/Denom/DenomClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DenomClient.js","sourceRoot":"","sources":["../../../../src/core/utils/Denom/DenomClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Token, TokenInfo, TokenMeta, TokenFactory, TokenMetaUtils } from '@injectivelabs/token-metadata';
|
|
2
|
+
import { Network } from '@injectivelabs/networks';
|
|
3
|
+
/**
|
|
4
|
+
* This client can be used to fetch token
|
|
5
|
+
* denoms in a fully sync way (without API calls)
|
|
6
|
+
*
|
|
7
|
+
* @category Utility Classes
|
|
8
|
+
*/
|
|
9
|
+
export declare class DenomClientSync {
|
|
10
|
+
protected tokenFactory: TokenFactory;
|
|
11
|
+
protected tokenMetaUtils: TokenMetaUtils;
|
|
12
|
+
constructor(network?: Network);
|
|
13
|
+
getDenomTokenInfo(denom: string): TokenInfo | undefined;
|
|
14
|
+
getDenomToken(denom: string): Token | undefined;
|
|
15
|
+
getTokenMetaDataBySymbol(symbol: string): TokenMeta | undefined;
|
|
16
|
+
getTokenMetaDataByAddress(address: string): TokenMeta | undefined;
|
|
17
|
+
getTokenMetaDataByName(name: string): TokenMeta | undefined;
|
|
18
|
+
getCoinGeckoId(denom: string): string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=DenomClientSync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DenomClientSync.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/Denom/DenomClientSync.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,cAAc,EAEf,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,SAAS,CAAC,YAAY,EAAE,YAAY,CAAA;IAEpC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAA;gBAE5B,OAAO,GAAE,OAAyB;IAK9C,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIvD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI/C,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI/D,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIjE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI3D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGtC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DenomClientSync = void 0;
|
|
4
|
+
const token_metadata_1 = require("@injectivelabs/token-metadata");
|
|
5
|
+
const networks_1 = require("@injectivelabs/networks");
|
|
6
|
+
/**
|
|
7
|
+
* This client can be used to fetch token
|
|
8
|
+
* denoms in a fully sync way (without API calls)
|
|
9
|
+
*
|
|
10
|
+
* @category Utility Classes
|
|
11
|
+
*/
|
|
12
|
+
class DenomClientSync {
|
|
13
|
+
constructor(network = networks_1.Network.Mainnet) {
|
|
14
|
+
this.tokenFactory = token_metadata_1.TokenFactory.make(network);
|
|
15
|
+
this.tokenMetaUtils = token_metadata_1.TokenMetaUtilsFactory.make(network);
|
|
16
|
+
}
|
|
17
|
+
getDenomTokenInfo(denom) {
|
|
18
|
+
return this.tokenFactory.toTokenInfo(denom);
|
|
19
|
+
}
|
|
20
|
+
getDenomToken(denom) {
|
|
21
|
+
return this.tokenFactory.toToken(denom);
|
|
22
|
+
}
|
|
23
|
+
getTokenMetaDataBySymbol(symbol) {
|
|
24
|
+
return this.tokenMetaUtils.getMetaBySymbol(symbol);
|
|
25
|
+
}
|
|
26
|
+
getTokenMetaDataByAddress(address) {
|
|
27
|
+
return this.tokenMetaUtils.getMetaByAddress(address);
|
|
28
|
+
}
|
|
29
|
+
getTokenMetaDataByName(name) {
|
|
30
|
+
return this.tokenMetaUtils.getMetaByName(name);
|
|
31
|
+
}
|
|
32
|
+
getCoinGeckoId(denom) {
|
|
33
|
+
return this.tokenMetaUtils.getCoinGeckoIdFromSymbol(denom);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.DenomClientSync = DenomClientSync;
|
|
37
|
+
//# sourceMappingURL=DenomClientSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DenomClientSync.js","sourceRoot":"","sources":["../../../../src/core/utils/Denom/DenomClientSync.ts"],"names":[],"mappings":";;;AAAA,kEAOsC;AACtC,sDAAiD;AAEjD;;;;;GAKG;AACH,MAAa,eAAe;IAK1B,YAAY,UAAmB,kBAAO,CAAC,OAAO;QAC5C,IAAI,CAAC,YAAY,GAAG,6BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,cAAc,GAAG,sCAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC;IAED,wBAAwB,CAAC,MAAc;QACrC,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACpD,CAAC;IAED,yBAAyB,CAAC,OAAe;QACvC,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,sBAAsB,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AAjCD,0CAiCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/Denom/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/Denom/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA"}
|
|
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./DenomClientSync"), exports);
|
|
17
18
|
__exportStar(require("./DenomClient"), exports);
|
|
18
|
-
__exportStar(require("./DenomClientAsync"), exports);
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/utils/Denom/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/utils/Denom/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,gDAA6B"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@injectivelabs/sdk-ts",
|
|
3
3
|
"description": "SDK in TypeScript for building Injective applications in a browser, node, and react native environment.",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.420",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Bojan Angjelkoski",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@injectivelabs/indexer-api": "1.9.1",
|
|
46
46
|
"@injectivelabs/networks": "^1.0.87",
|
|
47
47
|
"@injectivelabs/ninja-api": "^1.0.11",
|
|
48
|
-
"@injectivelabs/token-metadata": "^1.0.
|
|
48
|
+
"@injectivelabs/token-metadata": "^1.0.153",
|
|
49
49
|
"@injectivelabs/ts-types": "^1.0.28",
|
|
50
50
|
"@injectivelabs/utils": "^1.0.75",
|
|
51
51
|
"@metamask/eth-sig-util": "^4.0.0",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"shx": "^0.3.2",
|
|
69
69
|
"snakecase-keys": "^5.4.1"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "fdbd963ccc30f474595faa9db4d4f1feffcc55e8",
|
|
72
72
|
"typedoc": {
|
|
73
73
|
"entryPoint": "./src/index.ts",
|
|
74
74
|
"readmeFile": "./README.md",
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Token, TokenInfo, TokenMeta, TokenFactory, TokenMetaUtils } from '@injectivelabs/token-metadata';
|
|
2
|
-
import { DenomTrace } from '@injectivelabs/chain-api/ibc/applications/transfer/v1/transfer_pb';
|
|
3
|
-
import { Network } from '@injectivelabs/networks';
|
|
4
|
-
import { ChainGrpcIbcApi } from '../../../client/chain/grpc/ChainGrpcIbcApi';
|
|
5
|
-
/**
|
|
6
|
-
* This client can be used to fetch token
|
|
7
|
-
* denoms including API calls as well
|
|
8
|
-
*
|
|
9
|
-
* Special Case:
|
|
10
|
-
* If IBC denom is not within the hardcoded
|
|
11
|
-
* IBC hashes we should query the denom traces API
|
|
12
|
-
* to find the token meta for the denom
|
|
13
|
-
*
|
|
14
|
-
* @category Utility Classes
|
|
15
|
-
*/
|
|
16
|
-
export declare class DenomClientAsync {
|
|
17
|
-
protected cachedDenomTraces: Record<string, DenomTrace.AsObject>;
|
|
18
|
-
protected tokenFactory: TokenFactory;
|
|
19
|
-
protected tokenMetaUtils: TokenMetaUtils;
|
|
20
|
-
protected ibcApi: ChainGrpcIbcApi;
|
|
21
|
-
constructor(network?: Network);
|
|
22
|
-
getDenomTokenInfo(denom: string): Promise<TokenInfo | undefined>;
|
|
23
|
-
getDenomToken(denom: string): Promise<Token | undefined>;
|
|
24
|
-
getTokenMetaDataBySymbol(symbol: string): TokenMeta | undefined;
|
|
25
|
-
getTokenMetaDataByAddress(address: string): TokenMeta | undefined;
|
|
26
|
-
getTokenMetaDataByName(name: string): TokenMeta | undefined;
|
|
27
|
-
getCoinGeckoId(denom: string): string;
|
|
28
|
-
private getIbcDenomToken;
|
|
29
|
-
private fetchAndCacheDenomTraces;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=DenomClientAsync.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DenomClientAsync.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/Denom/DenomClientAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,cAAc,EAEf,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,mEAAmE,CAAA;AAG9F,OAAO,EAAuB,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAE5E;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAK;IAErE,SAAS,CAAC,YAAY,EAAE,YAAY,CAAA;IAEpC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAA;IAExC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAA;gBAErB,OAAO,GAAE,OAAyB;IAMxC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAgBhE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAc9D,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI/D,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIjE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI3D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;YAIvB,gBAAgB;YA2BhB,wBAAwB;CAoBvC"}
|
|
@@ -1,107 +0,0 @@
|
|
|
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
|
-
exports.DenomClientAsync = void 0;
|
|
13
|
-
const token_metadata_1 = require("@injectivelabs/token-metadata");
|
|
14
|
-
const exceptions_1 = require("@injectivelabs/exceptions");
|
|
15
|
-
const utf8_1 = require("../../../utils/utf8");
|
|
16
|
-
const crypto_1 = require("../../../utils/crypto");
|
|
17
|
-
const networks_1 = require("@injectivelabs/networks");
|
|
18
|
-
const ChainGrpcIbcApi_1 = require("../../../client/chain/grpc/ChainGrpcIbcApi");
|
|
19
|
-
/**
|
|
20
|
-
* This client can be used to fetch token
|
|
21
|
-
* denoms including API calls as well
|
|
22
|
-
*
|
|
23
|
-
* Special Case:
|
|
24
|
-
* If IBC denom is not within the hardcoded
|
|
25
|
-
* IBC hashes we should query the denom traces API
|
|
26
|
-
* to find the token meta for the denom
|
|
27
|
-
*
|
|
28
|
-
* @category Utility Classes
|
|
29
|
-
*/
|
|
30
|
-
class DenomClientAsync {
|
|
31
|
-
constructor(network = networks_1.Network.Mainnet) {
|
|
32
|
-
this.cachedDenomTraces = {};
|
|
33
|
-
this.tokenFactory = token_metadata_1.TokenFactory.make(network);
|
|
34
|
-
this.tokenMetaUtils = token_metadata_1.TokenMetaUtilsFactory.make(network);
|
|
35
|
-
this.ibcApi = new ChainGrpcIbcApi_1.ChainGrpcIbcApi((0, networks_1.getNetworkEndpoints)(network).grpc);
|
|
36
|
-
}
|
|
37
|
-
getDenomTokenInfo(denom) {
|
|
38
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const token = this.tokenFactory.toTokenInfo(denom);
|
|
40
|
-
if (token) {
|
|
41
|
-
return token;
|
|
42
|
-
}
|
|
43
|
-
if (denom.startsWith('ibc')) {
|
|
44
|
-
const token = yield this.getIbcDenomToken(denom);
|
|
45
|
-
return token ? token_metadata_1.TokenInfo.fromToken(token) : undefined;
|
|
46
|
-
}
|
|
47
|
-
return;
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
getDenomToken(denom) {
|
|
51
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
const token = this.tokenFactory.toToken(denom);
|
|
53
|
-
if (token) {
|
|
54
|
-
return token;
|
|
55
|
-
}
|
|
56
|
-
if (denom.startsWith('ibc')) {
|
|
57
|
-
return yield this.getIbcDenomToken(denom);
|
|
58
|
-
}
|
|
59
|
-
return;
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
getTokenMetaDataBySymbol(symbol) {
|
|
63
|
-
return this.tokenMetaUtils.getMetaBySymbol(symbol);
|
|
64
|
-
}
|
|
65
|
-
getTokenMetaDataByAddress(address) {
|
|
66
|
-
return this.tokenMetaUtils.getMetaByAddress(address);
|
|
67
|
-
}
|
|
68
|
-
getTokenMetaDataByName(name) {
|
|
69
|
-
return this.tokenMetaUtils.getMetaByName(name);
|
|
70
|
-
}
|
|
71
|
-
getCoinGeckoId(denom) {
|
|
72
|
-
return this.tokenMetaUtils.getCoinGeckoIdFromSymbol(denom);
|
|
73
|
-
}
|
|
74
|
-
getIbcDenomToken(denom) {
|
|
75
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
const hash = denom.replace('ibc/', '');
|
|
77
|
-
if (Object.keys(this.cachedDenomTraces).length === 0) {
|
|
78
|
-
yield this.fetchAndCacheDenomTraces();
|
|
79
|
-
}
|
|
80
|
-
const cachedDenomTrace = this.cachedDenomTraces[hash];
|
|
81
|
-
if (cachedDenomTrace) {
|
|
82
|
-
return this.tokenFactory.toToken(cachedDenomTrace.baseDenom);
|
|
83
|
-
}
|
|
84
|
-
const denomTrace = yield this.ibcApi.fetchDenomTrace(hash);
|
|
85
|
-
if (!denomTrace) {
|
|
86
|
-
throw new exceptions_1.GeneralException(new Error(`Denom trace not found for ${denom}`), {
|
|
87
|
-
type: exceptions_1.ErrorType.NotFoundError,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
return this.tokenFactory.toToken(denomTrace.baseDenom);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
fetchAndCacheDenomTraces() {
|
|
94
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
const denomTraces = yield this.ibcApi.fetchDenomsTrace();
|
|
96
|
-
const denomHashes = denomTraces.map((trace) => {
|
|
97
|
-
return {
|
|
98
|
-
trace: trace,
|
|
99
|
-
hash: Buffer.from((0, crypto_1.sha256)((0, utf8_1.fromUtf8)(`${trace.path}/${trace.baseDenom}`))).toString('hex'),
|
|
100
|
-
};
|
|
101
|
-
});
|
|
102
|
-
this.cachedDenomTraces = denomHashes.reduce((denomTraces, denomTrace) => (Object.assign(Object.assign({}, denomTraces), { [denomTrace.hash.toUpperCase()]: denomTrace.trace })), {});
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
exports.DenomClientAsync = DenomClientAsync;
|
|
107
|
-
//# sourceMappingURL=DenomClientAsync.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DenomClientAsync.js","sourceRoot":"","sources":["../../../../src/core/utils/Denom/DenomClientAsync.ts"],"names":[],"mappings":"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"}
|