@injectivelabs/sdk-ts 1.0.412 → 1.0.414
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/core/utils/Denom/DenomClient.d.ts.map +1 -1
- package/dist/core/utils/Denom/DenomClient.js +2 -3
- package/dist/core/utils/Denom/DenomClient.js.map +1 -1
- package/dist/core/utils/Denom/DenomClientAsync.d.ts +6 -1
- package/dist/core/utils/Denom/DenomClientAsync.d.ts.map +1 -1
- package/dist/core/utils/Denom/DenomClientAsync.js +19 -20
- package/dist/core/utils/Denom/DenomClientAsync.js.map +1 -1
- package/package.json +3 -3
|
@@ -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,cAAc,EACd,gBAAgB,EAEjB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAE5C,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;
|
|
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,cAAc,EACd,gBAAgB,EAEjB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAE5C,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"}
|
|
@@ -15,11 +15,10 @@ class DenomClient {
|
|
|
15
15
|
this.tokenMetaUtils = token_metadata_1.TokenMetaUtilsFactory.make(network);
|
|
16
16
|
}
|
|
17
17
|
getDenomTokenInfo(denom) {
|
|
18
|
-
return this.tokenInfoFactory.
|
|
18
|
+
return this.tokenInfoFactory.toTokenInfo(denom);
|
|
19
19
|
}
|
|
20
20
|
getDenomToken(denom) {
|
|
21
|
-
|
|
22
|
-
return tokenInfo ? tokenInfo.toToken() : undefined;
|
|
21
|
+
return this.tokenInfoFactory.toToken(denom);
|
|
23
22
|
}
|
|
24
23
|
getTokenMetaDataBySymbol(symbol) {
|
|
25
24
|
return this.tokenMetaUtils.getMetaBySymbol(symbol);
|
|
@@ -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,gBAAgB,GAAG,iCAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,cAAc,GAAG,sCAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC,
|
|
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,gBAAgB,GAAG,iCAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,cAAc,GAAG,sCAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,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"}
|
|
@@ -6,6 +6,11 @@ import { ChainGrpcIbcApi } from '../../../client/chain/grpc/ChainGrpcIbcApi';
|
|
|
6
6
|
* This client can be used to fetch token
|
|
7
7
|
* denoms including API calls as well
|
|
8
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
|
+
*
|
|
9
14
|
* @category Utility Classes
|
|
10
15
|
*/
|
|
11
16
|
export declare class DenomClientAsync {
|
|
@@ -20,7 +25,7 @@ export declare class DenomClientAsync {
|
|
|
20
25
|
getTokenMetaDataByAddress(address: string): TokenMeta | undefined;
|
|
21
26
|
getTokenMetaDataByName(name: string): TokenMeta | undefined;
|
|
22
27
|
getCoinGeckoId(denom: string): string;
|
|
23
|
-
private
|
|
28
|
+
private getIbcDenomToken;
|
|
24
29
|
private fetchAndCacheDenomTraces;
|
|
25
30
|
}
|
|
26
31
|
//# sourceMappingURL=DenomClientAsync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,cAAc,EACd,gBAAgB,EAEjB,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
|
|
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,cAAc,EACd,gBAAgB,EAEjB,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,gBAAgB,EAAE,gBAAgB,CAAA;IAE5C,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"}
|
|
@@ -20,6 +20,11 @@ const ChainGrpcIbcApi_1 = require("../../../client/chain/grpc/ChainGrpcIbcApi");
|
|
|
20
20
|
* This client can be used to fetch token
|
|
21
21
|
* denoms including API calls as well
|
|
22
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
|
+
*
|
|
23
28
|
* @category Utility Classes
|
|
24
29
|
*/
|
|
25
30
|
class DenomClientAsync {
|
|
@@ -31,33 +36,27 @@ class DenomClientAsync {
|
|
|
31
36
|
}
|
|
32
37
|
getDenomTokenInfo(denom) {
|
|
33
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
const token = this.tokenInfoFactory.
|
|
39
|
+
const token = this.tokenInfoFactory.toTokenInfo(denom);
|
|
35
40
|
if (token) {
|
|
36
41
|
return token;
|
|
37
42
|
}
|
|
38
|
-
/**
|
|
39
|
-
* If IBC denom is not within the hardcoded
|
|
40
|
-
* IBC hashes we should query the denom traces API
|
|
41
|
-
* to find the token meta for the denom
|
|
42
|
-
*/
|
|
43
43
|
if (denom.startsWith('ibc')) {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
return token_metadata_1.TokenInfo.fromMeta(meta, denom);
|
|
44
|
+
const token = yield this.getIbcDenomToken(denom);
|
|
45
|
+
return token ? token_metadata_1.TokenInfo.fromToken(token) : undefined;
|
|
49
46
|
}
|
|
50
|
-
/**
|
|
51
|
-
* TODO: Handle CW20 addresses and fetch metadata from
|
|
52
|
-
* the CW20 contract address
|
|
53
|
-
*/
|
|
54
47
|
return;
|
|
55
48
|
});
|
|
56
49
|
}
|
|
57
50
|
getDenomToken(denom) {
|
|
58
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
const
|
|
60
|
-
|
|
52
|
+
const token = this.tokenInfoFactory.toToken(denom);
|
|
53
|
+
if (token) {
|
|
54
|
+
return token;
|
|
55
|
+
}
|
|
56
|
+
if (denom.startsWith('ibc')) {
|
|
57
|
+
return yield this.getIbcDenomToken(denom);
|
|
58
|
+
}
|
|
59
|
+
return;
|
|
61
60
|
});
|
|
62
61
|
}
|
|
63
62
|
getTokenMetaDataBySymbol(symbol) {
|
|
@@ -72,7 +71,7 @@ class DenomClientAsync {
|
|
|
72
71
|
getCoinGeckoId(denom) {
|
|
73
72
|
return this.tokenMetaUtils.getCoinGeckoIdFromSymbol(denom);
|
|
74
73
|
}
|
|
75
|
-
|
|
74
|
+
getIbcDenomToken(denom) {
|
|
76
75
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
76
|
const hash = denom.replace('ibc/', '');
|
|
78
77
|
if (Object.keys(this.cachedDenomTraces).length === 0) {
|
|
@@ -80,7 +79,7 @@ class DenomClientAsync {
|
|
|
80
79
|
}
|
|
81
80
|
const cachedDenomTrace = this.cachedDenomTraces[hash];
|
|
82
81
|
if (cachedDenomTrace) {
|
|
83
|
-
return this.
|
|
82
|
+
return this.tokenInfoFactory.toToken(cachedDenomTrace.baseDenom);
|
|
84
83
|
}
|
|
85
84
|
const denomTrace = yield this.ibcApi.fetchDenomTrace(hash);
|
|
86
85
|
if (!denomTrace) {
|
|
@@ -88,7 +87,7 @@ class DenomClientAsync {
|
|
|
88
87
|
type: exceptions_1.ErrorType.NotFoundError,
|
|
89
88
|
});
|
|
90
89
|
}
|
|
91
|
-
return this.
|
|
90
|
+
return this.tokenInfoFactory.toToken(denomTrace.baseDenom);
|
|
92
91
|
});
|
|
93
92
|
}
|
|
94
93
|
fetchAndCacheDenomTraces() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DenomClientAsync.js","sourceRoot":"","sources":["../../../../src/core/utils/Denom/DenomClientAsync.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAOsC;AACtC,0DAAuE;AAEvE,8CAA8C;AAC9C,kDAA8C;AAC9C,sDAAsE;AACtE,gFAA4E;AAE5E
|
|
1
|
+
{"version":3,"file":"DenomClientAsync.js","sourceRoot":"","sources":["../../../../src/core/utils/Denom/DenomClientAsync.ts"],"names":[],"mappings":"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"}
|
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.414",
|
|
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.147",
|
|
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": "b6eb801019407454d7011d31e67b16d06a112f21",
|
|
72
72
|
"typedoc": {
|
|
73
73
|
"entryPoint": "./src/index.ts",
|
|
74
74
|
"readmeFile": "./README.md",
|