@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.
@@ -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 in a fully sync way (without API calls)
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;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,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"}
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 in a fully sync way (without API calls)
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.tokenFactory.toTokenInfo(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
+ });
19
49
  }
20
50
  getDenomToken(denom) {
21
- return this.tokenFactory.toToken(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
+ });
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":";;;AAAA,kEAOsC;AACtC,sDAAiD;AAEjD;;;;;GAKG;AACH,MAAa,WAAW;IAKtB,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,kCAiCC"}
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,3 +1,3 @@
1
+ export * from './DenomClientSync';
1
2
  export * from './DenomClient';
2
- export * from './DenomClientAsync';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/Denom/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA"}
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,gDAA6B;AAC7B,qDAAkC"}
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.418",
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.151",
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": "5a9e97b7dc3a083f148a739f6d34367755808209",
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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"}