@injectivelabs/sdk-ts 1.0.260 → 1.0.262

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.
@@ -1,9 +1,6 @@
1
- import { ChainGrpcIbcApi } from '../../client/chain/grpc/ChainGrpcIbcApi';
2
- import { TokenMetaUtil, TokenType, TokenMeta, IbcToken, Token } from '@injectivelabs/token-metadata';
1
+ import { ChainGrpcIbcApi } from '../../../client/chain/grpc/ChainGrpcIbcApi';
2
+ import { TokenMetaUtil, TokenMeta, IbcToken, Token } from '@injectivelabs/token-metadata';
3
3
  import { Network } from '@injectivelabs/networks';
4
- export declare const getTokenTypeFromDenom: (denom: string) => TokenType;
5
- export declare const checkIsIbcDenomCanonical: (path: string) => boolean;
6
- export declare const tokenMetaToToken: (tokenMeta: TokenMeta | undefined, denom: string) => Token | undefined;
7
4
  /**
8
5
  * @category Utility Classes
9
6
  */
@@ -14,6 +11,8 @@ export declare class Denom {
14
11
  constructor(denom: string, network?: Network);
15
12
  getPeggyDenomToken(): Promise<Token>;
16
13
  getIbcDenomToken(): Promise<IbcToken>;
14
+ getFactoryDenomToken(): Promise<Token>;
15
+ getCw20DenomToken(): Promise<Token>;
17
16
  getDenomToken(): Promise<Token>;
18
17
  getDenomTokenThrow(): Promise<Token>;
19
18
  getCoinGeckoId(): string;
@@ -24,7 +23,9 @@ export declare class Denom {
24
23
  baseDenom: string;
25
24
  }>;
26
25
  private getPeggyDenomTokenMeta;
26
+ private getCw20DenomTokenMeta;
27
27
  private getIbcDenomTokenMeta;
28
+ private getFactoryDenomTokenMeta;
28
29
  private getDenomTokenMeta;
29
30
  }
30
31
  //# sourceMappingURL=Denom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Denom.d.ts","sourceRoot":"","sources":["../../../../src/utils/classes/Denom/Denom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAEL,aAAa,EACb,SAAS,EACT,QAAQ,EACR,KAAK,EACN,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAA0B,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAQzE;;GAEG;AACH,qBAAa,KAAK;IAChB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAA;IAEvB,SAAS,CAAC,MAAM,EAAE,eAAe,CAAA;IAEjC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAA;gBAE1B,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,OAAyB;IAQvD,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IAOpC,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAarC,oBAAoB,IAAI,OAAO,CAAC,KAAK,CAAC;IAOtC,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;IAUnC,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;IAsC/B,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IAgB1C,cAAc,IAAI,MAAM;IAMxB,wBAAwB,IAAI,SAAS,GAAG,SAAS;IAMjD,yBAAyB,IAAI,SAAS,GAAG,SAAS;IAM5C,eAAe;;;;IAqBrB,OAAO,CAAC,sBAAsB;YAehB,qBAAqB;YAYrB,oBAAoB;YAOpB,wBAAwB;YAQxB,iBAAiB;CAiBhC"}
@@ -9,57 +9,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Denom = exports.tokenMetaToToken = exports.checkIsIbcDenomCanonical = exports.getTokenTypeFromDenom = void 0;
13
- const ChainGrpcIbcApi_1 = require("../../client/chain/grpc/ChainGrpcIbcApi");
12
+ exports.Denom = void 0;
13
+ const ChainGrpcIbcApi_1 = require("../../../client/chain/grpc/ChainGrpcIbcApi");
14
14
  const token_metadata_1 = require("@injectivelabs/token-metadata");
15
15
  const utils_1 = require("@injectivelabs/utils");
16
16
  const networks_1 = require("@injectivelabs/networks");
17
17
  const exceptions_1 = require("@injectivelabs/exceptions");
18
- const getTokenTypeFromDenom = (denom) => {
19
- if (denom === utils_1.INJ_DENOM) {
20
- return token_metadata_1.TokenType.Native;
21
- }
22
- if (denom.startsWith('peggy')) {
23
- return token_metadata_1.TokenType.Erc20;
24
- }
25
- if (denom.startsWith('ibc')) {
26
- return token_metadata_1.TokenType.Ibc;
27
- }
28
- if (denom.startsWith('share')) {
29
- return token_metadata_1.TokenType.InsuranceFund;
30
- }
31
- if (denom.startsWith('factory')) {
32
- return token_metadata_1.TokenType.TokenFactory;
33
- }
34
- return token_metadata_1.TokenType.Cw20;
35
- };
36
- exports.getTokenTypeFromDenom = getTokenTypeFromDenom;
37
- const checkIsIbcDenomCanonical = (path) => {
38
- const pathParts = path.replace('transfer/', '').split('/');
39
- /** More than one channelId */
40
- if (pathParts.length > 1) {
41
- return false;
42
- }
43
- const [channelId] = pathParts;
44
- return token_metadata_1.canonicalChannelIds.includes(channelId);
45
- };
46
- exports.checkIsIbcDenomCanonical = checkIsIbcDenomCanonical;
47
- const tokenMetaToToken = (tokenMeta, denom) => {
48
- if (!tokenMeta) {
49
- return;
50
- }
51
- return {
52
- denom,
53
- logo: tokenMeta.logo,
54
- symbol: tokenMeta.symbol,
55
- name: tokenMeta.name,
56
- decimals: tokenMeta.decimals,
57
- address: tokenMeta.address,
58
- tokenType: (0, exports.getTokenTypeFromDenom)(denom),
59
- coinGeckoId: tokenMeta.coinGeckoId,
60
- };
61
- };
62
- exports.tokenMetaToToken = tokenMetaToToken;
18
+ const utils_2 = require("./utils");
63
19
  /**
64
20
  * @category Utility Classes
65
21
  */
@@ -74,7 +30,7 @@ class Denom {
74
30
  return __awaiter(this, void 0, void 0, function* () {
75
31
  const { denom } = this;
76
32
  const tokenMeta = yield this.getPeggyDenomTokenMeta();
77
- return Promise.resolve((0, exports.tokenMetaToToken)(tokenMeta, denom));
33
+ return Promise.resolve((0, utils_2.tokenMetaToToken)(tokenMeta, denom));
78
34
  });
79
35
  }
80
36
  getIbcDenomToken() {
@@ -82,7 +38,21 @@ class Denom {
82
38
  const { denom } = this;
83
39
  const { baseDenom, path } = yield this.fetchDenomTrace();
84
40
  const tokenMeta = yield new Denom(baseDenom).getDenomToken();
85
- return Object.assign({ baseDenom, isCanonical: (0, exports.checkIsIbcDenomCanonical)(path), channelId: path.replace('transfer/', '') }, (0, exports.tokenMetaToToken)(tokenMeta, denom));
41
+ return Object.assign({ baseDenom, isCanonical: (0, utils_2.checkIsIbcDenomCanonical)(path), channelId: path.replace('transfer/', '') }, (0, utils_2.tokenMetaToToken)(tokenMeta, denom));
42
+ });
43
+ }
44
+ getFactoryDenomToken() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const { denom } = this;
47
+ const tokenMeta = yield this.getFactoryDenomTokenMeta();
48
+ return (0, utils_2.tokenMetaToToken)(tokenMeta, denom);
49
+ });
50
+ }
51
+ getCw20DenomToken() {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ const { denom } = this;
54
+ const tokenMeta = yield this.getCw20DenomTokenMeta();
55
+ return (0, utils_2.tokenMetaToToken)(tokenMeta, tokenMeta ? tokenMeta.symbol : denom);
86
56
  });
87
57
  }
88
58
  getDenomToken() {
@@ -90,20 +60,21 @@ class Denom {
90
60
  const { denom } = this;
91
61
  const isDenom = denom.startsWith('ibc/') ||
92
62
  denom.startsWith('peggy') ||
63
+ denom.startsWith('factory') ||
93
64
  denom.toLowerCase() === utils_1.INJ_DENOM;
94
65
  if (!isDenom) {
95
66
  const bySymbol = this.getTokenMetaDataBySymbol();
96
67
  if (bySymbol) {
97
- return (0, exports.tokenMetaToToken)(bySymbol, denom);
68
+ return (0, utils_2.tokenMetaToToken)(bySymbol, denom);
98
69
  }
99
70
  const byAddress = this.getTokenMetaDataByAddress();
100
71
  if (byAddress) {
101
- return (0, exports.tokenMetaToToken)(byAddress, denom);
72
+ return (0, utils_2.tokenMetaToToken)(byAddress, denom);
102
73
  }
103
74
  return {
104
75
  denom,
105
76
  name: denom,
106
- tokenType: (0, exports.getTokenTypeFromDenom)(denom),
77
+ tokenType: (0, utils_2.getTokenTypeFromDenom)(denom),
107
78
  logo: '',
108
79
  symbol: '',
109
80
  decimals: 18,
@@ -112,7 +83,7 @@ class Denom {
112
83
  };
113
84
  }
114
85
  const tokenMeta = yield this.getDenomTokenMeta();
115
- return (0, exports.tokenMetaToToken)(tokenMeta, denom);
86
+ return (0, utils_2.tokenMetaToToken)(tokenMeta, denom);
116
87
  });
117
88
  }
118
89
  getDenomTokenThrow() {
@@ -124,7 +95,7 @@ class Denom {
124
95
  type: exceptions_1.ErrorType.NotFoundError,
125
96
  });
126
97
  }
127
- return (0, exports.tokenMetaToToken)(tokenMeta, denom);
98
+ return (0, utils_2.tokenMetaToToken)(tokenMeta, denom);
128
99
  });
129
100
  }
130
101
  getCoinGeckoId() {
@@ -165,6 +136,16 @@ class Denom {
165
136
  : denom;
166
137
  return tokenMetaUtil.getMetaByAddress(address);
167
138
  }
139
+ getCw20DenomTokenMeta() {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ const { denom } = this;
142
+ const { tokenMetaUtil } = this;
143
+ if (!denom.startsWith('inj')) {
144
+ throw new exceptions_1.GeneralException(new Error(`The address ${denom} is not a valid CW20 address`));
145
+ }
146
+ return tokenMetaUtil.getMetaByAddress(denom);
147
+ });
148
+ }
168
149
  getIbcDenomTokenMeta() {
169
150
  return __awaiter(this, void 0, void 0, function* () {
170
151
  const { tokenMetaUtil } = this;
@@ -172,12 +153,26 @@ class Denom {
172
153
  return tokenMetaUtil.getMetaBySymbol(symbol);
173
154
  });
174
155
  }
156
+ getFactoryDenomTokenMeta() {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ const { tokenMetaUtil, denom } = this;
159
+ const [, , address] = denom.split('/');
160
+ return tokenMetaUtil.getMetaByAddress(address);
161
+ });
162
+ }
175
163
  getDenomTokenMeta() {
176
164
  return __awaiter(this, void 0, void 0, function* () {
177
- const { denom } = this;
178
- return denom.startsWith('ibc/')
179
- ? this.getIbcDenomTokenMeta()
180
- : this.getPeggyDenomTokenMeta();
165
+ const { denom, tokenMetaUtil } = this;
166
+ if (denom === utils_1.INJ_DENOM) {
167
+ return tokenMetaUtil.getMetaBySymbol('INJ');
168
+ }
169
+ if (denom.startsWith('ibc/')) {
170
+ return this.getIbcDenomTokenMeta();
171
+ }
172
+ if (denom.startsWith('factory')) {
173
+ return this.getFactoryDenomTokenMeta();
174
+ }
175
+ return this.getPeggyDenomTokenMeta();
181
176
  });
182
177
  }
183
178
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Denom.js","sourceRoot":"","sources":["../../../../src/utils/classes/Denom/Denom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { TokenMetaUtil, TokenMeta, IbcToken, Token } from '@injectivelabs/token-metadata';
2
+ import { Network } from '@injectivelabs/networks';
3
+ import { DenomTrace } from '@injectivelabs/chain-api/ibc/applications/transfer/v1/transfer_pb';
4
+ /**
5
+ * This client can be used to fetch token
6
+ * denoms in a fully sync way (without calling external APIs)
7
+ *
8
+ * @category Utility Classes
9
+ */
10
+ export declare class DenomClient {
11
+ protected cachedDenomTraces: Record<string, DenomTrace.AsObject>;
12
+ protected tokenMetaUtil: TokenMetaUtil;
13
+ constructor(network?: Network);
14
+ getPeggyDenomToken(denom: string): Token;
15
+ getFactoryDenomToken(denom: string): Token;
16
+ getCw20DenomToken(address: string): Token;
17
+ getIbcDenomToken(denom: string): IbcToken;
18
+ getDenomToken(denom: string): Token;
19
+ getDenomTokenThrow(denom: string): Token;
20
+ getCoinGeckoId(denom: string): string;
21
+ getTokenMetaDataBySymbol(symbol: string): TokenMeta | undefined;
22
+ getTokenMetaDataByAddress(address: string): TokenMeta | undefined;
23
+ fetchDenomTrace(denom: string): {
24
+ path: string;
25
+ baseDenom: string;
26
+ };
27
+ private getPeggyDenomTokenMeta;
28
+ private getCw20DenomTokenMeta;
29
+ private getIbcDenomTokenMeta;
30
+ private getFactoryDenomTokenMeta;
31
+ private getDenomTokenMeta;
32
+ }
33
+ //# sourceMappingURL=DenomClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DenomClient.d.ts","sourceRoot":"","sources":["../../../../src/utils/classes/Denom/DenomClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,SAAS,EACT,QAAQ,EACR,KAAK,EAEN,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,mEAAmE,CAAA;AAO9F;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAK;IAErE,SAAS,CAAC,aAAa,EAAE,aAAa,CAAA;gBAE1B,OAAO,GAAE,OAAyB;IAa9C,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IAMxC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IAM1C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IASzC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAYzC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IAqCnC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IAexC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAMrC,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAM/D,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAMjE,eAAe,CAAC,KAAK,EAAE,MAAM;;;;IAkB7B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,iBAAiB;CAiB1B"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DenomClient = void 0;
4
+ const token_metadata_1 = require("@injectivelabs/token-metadata");
5
+ const utils_1 = require("@injectivelabs/utils");
6
+ const networks_1 = require("@injectivelabs/networks");
7
+ const exceptions_1 = require("@injectivelabs/exceptions");
8
+ const utils_2 = require("./utils");
9
+ /**
10
+ * This client can be used to fetch token
11
+ * denoms in a fully sync way (without calling external APIs)
12
+ *
13
+ * @category Utility Classes
14
+ */
15
+ class DenomClient {
16
+ constructor(network = networks_1.Network.Mainnet) {
17
+ this.cachedDenomTraces = {};
18
+ this.cachedDenomTraces = Object.keys(token_metadata_1.ibcTokens).reduce((cachedDenomTraces, ibcTokenKey) => (Object.assign(Object.assign({}, cachedDenomTraces), { [ibcTokenKey.toString()]: token_metadata_1.ibcTokens[ibcTokenKey] })), {});
19
+ this.tokenMetaUtil = token_metadata_1.TokenMetaUtilFactory.make(network);
20
+ }
21
+ getPeggyDenomToken(denom) {
22
+ const tokenMeta = this.getPeggyDenomTokenMeta(denom);
23
+ return (0, utils_2.tokenMetaToToken)(tokenMeta, denom);
24
+ }
25
+ getFactoryDenomToken(denom) {
26
+ const tokenMeta = this.getFactoryDenomTokenMeta(denom);
27
+ return (0, utils_2.tokenMetaToToken)(tokenMeta, denom);
28
+ }
29
+ getCw20DenomToken(address) {
30
+ const tokenMeta = this.getCw20DenomTokenMeta(address);
31
+ return (0, utils_2.tokenMetaToToken)(tokenMeta, tokenMeta ? tokenMeta.symbol : address);
32
+ }
33
+ getIbcDenomToken(denom) {
34
+ const { baseDenom, path } = this.fetchDenomTrace(denom);
35
+ const tokenMeta = this.getDenomToken(baseDenom);
36
+ return Object.assign({ baseDenom, isCanonical: (0, utils_2.checkIsIbcDenomCanonical)(path), channelId: path.replace('transfer/', '') }, (0, utils_2.tokenMetaToToken)(tokenMeta, denom));
37
+ }
38
+ getDenomToken(denom) {
39
+ const isDenom = denom.startsWith('ibc/') ||
40
+ denom.startsWith('peggy') ||
41
+ denom.startsWith('factory') ||
42
+ denom.toLowerCase() === utils_1.INJ_DENOM;
43
+ if (!isDenom) {
44
+ const bySymbol = this.getTokenMetaDataBySymbol(denom);
45
+ if (bySymbol) {
46
+ return (0, utils_2.tokenMetaToToken)(bySymbol, denom);
47
+ }
48
+ const byAddress = this.getTokenMetaDataByAddress(denom);
49
+ if (byAddress) {
50
+ return (0, utils_2.tokenMetaToToken)(byAddress, denom);
51
+ }
52
+ return {
53
+ denom,
54
+ name: denom,
55
+ tokenType: (0, utils_2.getTokenTypeFromDenom)(denom),
56
+ logo: '',
57
+ symbol: '',
58
+ decimals: 18,
59
+ address: '',
60
+ coinGeckoId: '',
61
+ };
62
+ }
63
+ const tokenMeta = this.getDenomTokenMeta(denom);
64
+ return (0, utils_2.tokenMetaToToken)(tokenMeta, denom);
65
+ }
66
+ getDenomTokenThrow(denom) {
67
+ const tokenMeta = this.getDenomToken(denom);
68
+ if (!tokenMeta) {
69
+ throw new exceptions_1.GeneralException(new Error(`Token meta for ${denom} denom does not exist`), {
70
+ type: exceptions_1.ErrorType.NotFoundError,
71
+ });
72
+ }
73
+ return (0, utils_2.tokenMetaToToken)(tokenMeta, denom);
74
+ }
75
+ getCoinGeckoId(denom) {
76
+ const { tokenMetaUtil } = this;
77
+ return tokenMetaUtil.getCoinGeckoIdFromSymbol(denom);
78
+ }
79
+ getTokenMetaDataBySymbol(symbol) {
80
+ const { tokenMetaUtil } = this;
81
+ return tokenMetaUtil.getMetaBySymbol(symbol);
82
+ }
83
+ getTokenMetaDataByAddress(address) {
84
+ const { tokenMetaUtil } = this;
85
+ return tokenMetaUtil.getMetaByAddress(address);
86
+ }
87
+ fetchDenomTrace(denom) {
88
+ const denomTrace = this.cachedDenomTraces[denom.replace('ibc/', '')];
89
+ if (!denomTrace) {
90
+ throw new exceptions_1.GeneralException(new Error(`Denom trace not found for ${denom}`), {
91
+ type: exceptions_1.ErrorType.NotFoundError,
92
+ });
93
+ }
94
+ return {
95
+ path: denomTrace.path,
96
+ baseDenom: denomTrace.baseDenom,
97
+ };
98
+ }
99
+ getPeggyDenomTokenMeta(denom) {
100
+ const { tokenMetaUtil } = this;
101
+ if (denom.toLowerCase() === utils_1.INJ_DENOM) {
102
+ return tokenMetaUtil.getMetaBySymbol('INJ');
103
+ }
104
+ const address = denom.startsWith('peggy')
105
+ ? denom.replace('peggy', '')
106
+ : denom;
107
+ return tokenMetaUtil.getMetaByAddress(address);
108
+ }
109
+ getCw20DenomTokenMeta(address) {
110
+ const { tokenMetaUtil } = this;
111
+ if (!address.startsWith('inj')) {
112
+ throw new exceptions_1.GeneralException(new Error(`The address ${address} is not a valid CW20 address`));
113
+ }
114
+ return tokenMetaUtil.getMetaByAddress(address);
115
+ }
116
+ getIbcDenomTokenMeta(denom) {
117
+ const { tokenMetaUtil } = this;
118
+ const { baseDenom: symbol } = this.fetchDenomTrace(denom);
119
+ return tokenMetaUtil.getMetaBySymbol(symbol);
120
+ }
121
+ getFactoryDenomTokenMeta(denom) {
122
+ const { tokenMetaUtil } = this;
123
+ const [, , address] = denom.split('/');
124
+ return tokenMetaUtil.getMetaByAddress(address);
125
+ }
126
+ getDenomTokenMeta(denom) {
127
+ const { tokenMetaUtil } = this;
128
+ if (denom === utils_1.INJ_DENOM) {
129
+ return tokenMetaUtil.getMetaBySymbol('INJ');
130
+ }
131
+ if (denom.startsWith('ibc/')) {
132
+ return this.getIbcDenomTokenMeta(denom);
133
+ }
134
+ if (denom.startsWith('factory')) {
135
+ return this.getFactoryDenomTokenMeta(denom);
136
+ }
137
+ return this.getPeggyDenomTokenMeta(denom);
138
+ }
139
+ }
140
+ exports.DenomClient = DenomClient;
141
+ //# sourceMappingURL=DenomClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DenomClient.js","sourceRoot":"","sources":["../../../../src/utils/classes/Denom/DenomClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './Denom';
2
+ export * from './DenomClient';
3
+ export * from './utils';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/classes/Denom/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Denom"), exports);
18
+ __exportStar(require("./DenomClient"), exports);
19
+ __exportStar(require("./utils"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/classes/Denom/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,gDAA6B;AAC7B,0CAAuB"}
@@ -0,0 +1,5 @@
1
+ import { TokenMeta, TokenType, Token } from '@injectivelabs/token-metadata';
2
+ export declare const getTokenTypeFromDenom: (denom: string) => TokenType;
3
+ export declare const checkIsIbcDenomCanonical: (path: string) => boolean;
4
+ export declare const tokenMetaToToken: (tokenMeta: TokenMeta | undefined, denom: string) => Token | undefined;
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/classes/Denom/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,SAAS,EACT,KAAK,EACN,MAAM,+BAA+B,CAAA;AAGtC,eAAO,MAAM,qBAAqB,UAAW,MAAM,KAAG,SAsBrD,CAAA;AAED,eAAO,MAAM,wBAAwB,SAAU,MAAM,KAAG,OAWvD,CAAA;AAED,eAAO,MAAM,gBAAgB,cAChB,SAAS,GAAG,SAAS,SACzB,MAAM,KACZ,KAAK,GAAG,SAeV,CAAA"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tokenMetaToToken = exports.checkIsIbcDenomCanonical = exports.getTokenTypeFromDenom = void 0;
4
+ const token_metadata_1 = require("@injectivelabs/token-metadata");
5
+ const utils_1 = require("@injectivelabs/utils");
6
+ const getTokenTypeFromDenom = (denom) => {
7
+ if (denom === utils_1.INJ_DENOM) {
8
+ return token_metadata_1.TokenType.Native;
9
+ }
10
+ if (denom.startsWith('peggy')) {
11
+ return token_metadata_1.TokenType.Erc20;
12
+ }
13
+ if (denom.startsWith('ibc')) {
14
+ return token_metadata_1.TokenType.Ibc;
15
+ }
16
+ if (denom.startsWith('share')) {
17
+ return token_metadata_1.TokenType.InsuranceFund;
18
+ }
19
+ if (denom.startsWith('factory')) {
20
+ return token_metadata_1.TokenType.TokenFactory;
21
+ }
22
+ return token_metadata_1.TokenType.Cw20;
23
+ };
24
+ exports.getTokenTypeFromDenom = getTokenTypeFromDenom;
25
+ const checkIsIbcDenomCanonical = (path) => {
26
+ const pathParts = path.replace('transfer/', '').split('/');
27
+ /** More than one channelId */
28
+ if (pathParts.length > 1) {
29
+ return false;
30
+ }
31
+ const [channelId] = pathParts;
32
+ return token_metadata_1.canonicalChannelIds.includes(channelId);
33
+ };
34
+ exports.checkIsIbcDenomCanonical = checkIsIbcDenomCanonical;
35
+ const tokenMetaToToken = (tokenMeta, denom) => {
36
+ if (!tokenMeta) {
37
+ return;
38
+ }
39
+ return {
40
+ denom,
41
+ logo: tokenMeta.logo,
42
+ symbol: tokenMeta.symbol,
43
+ name: tokenMeta.name,
44
+ decimals: tokenMeta.decimals,
45
+ address: tokenMeta.address,
46
+ tokenType: (0, exports.getTokenTypeFromDenom)(denom),
47
+ coinGeckoId: tokenMeta.coinGeckoId,
48
+ };
49
+ };
50
+ exports.tokenMetaToToken = tokenMetaToToken;
51
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/classes/Denom/utils.ts"],"names":[],"mappings":";;;AAAA,kEAKsC;AACtC,gDAAgD;AAEzC,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAa,EAAE;IAChE,IAAI,KAAK,KAAK,iBAAS,EAAE;QACvB,OAAO,0BAAS,CAAC,MAAM,CAAA;KACxB;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC7B,OAAO,0BAAS,CAAC,KAAK,CAAA;KACvB;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAC3B,OAAO,0BAAS,CAAC,GAAG,CAAA;KACrB;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC7B,OAAO,0BAAS,CAAC,aAAa,CAAA;KAC/B;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC/B,OAAO,0BAAS,CAAC,YAAY,CAAA;KAC9B;IAED,OAAO,0BAAS,CAAC,IAAI,CAAA;AACvB,CAAC,CAAA;AAtBY,QAAA,qBAAqB,yBAsBjC;AAEM,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAW,EAAE;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE1D,8BAA8B;IAC9B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACxB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;IAE7B,OAAO,oCAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;AAChD,CAAC,CAAA;AAXY,QAAA,wBAAwB,4BAWpC;AAEM,MAAM,gBAAgB,GAAG,CAC9B,SAAgC,EAChC,KAAa,EACM,EAAE;IACrB,IAAI,CAAC,SAAS,EAAE;QACd,OAAM;KACP;IAED,OAAO;QACL,KAAK;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,SAAS,EAAE,IAAA,6BAAqB,EAAC,KAAK,CAAC;QACvC,WAAW,EAAE,SAAS,CAAC,WAAW;KACnC,CAAA;AACH,CAAC,CAAA;AAlBY,QAAA,gBAAgB,oBAkB5B"}
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.260",
4
+ "version": "1.0.262",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
7
7
  "name": "Bojan Angjelkoski",
@@ -44,7 +44,7 @@
44
44
  "@injectivelabs/indexer-api": "1.0.32-rc",
45
45
  "@injectivelabs/networks": "^1.0.50",
46
46
  "@injectivelabs/ninja-api": "^1.0.9",
47
- "@injectivelabs/token-metadata": "^1.0.69",
47
+ "@injectivelabs/token-metadata": "^1.0.71",
48
48
  "@injectivelabs/ts-types": "^1.0.17",
49
49
  "@injectivelabs/utils": "^1.0.44",
50
50
  "@metamask/eth-sig-util": "^4.0.1",
@@ -67,7 +67,7 @@
67
67
  "shx": "^0.3.2",
68
68
  "snakecase-keys": "^5.4.1"
69
69
  },
70
- "gitHead": "b08e8f5af1105c9a69116e670b93289d4e86797a",
70
+ "gitHead": "9deb55e04810a2eacfed604299dbe275b18a29b3",
71
71
  "typedoc": {
72
72
  "entryPoint": "./src/index.ts",
73
73
  "readmeFile": "./README.md",
@@ -1 +0,0 @@
1
- {"version":3,"file":"Denom.d.ts","sourceRoot":"","sources":["../../../src/utils/classes/Denom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,OAAO,EAEL,aAAa,EACb,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EAEN,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAA0B,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAGzE,eAAO,MAAM,qBAAqB,UAAW,MAAM,KAAG,SAsBrD,CAAA;AAED,eAAO,MAAM,wBAAwB,SAAU,MAAM,KAAG,OAWvD,CAAA;AAED,eAAO,MAAM,gBAAgB,cAChB,SAAS,GAAG,SAAS,SACzB,MAAM,KACZ,KAAK,GAAG,SAeV,CAAA;AAED;;GAEG;AACH,qBAAa,KAAK;IAChB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAA;IAEvB,SAAS,CAAC,MAAM,EAAE,eAAe,CAAA;IAEjC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAA;gBAE1B,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,OAAyB;IAQvD,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IAOpC,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAarC,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;IAqC/B,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IAgB1C,cAAc,IAAI,MAAM;IAMxB,wBAAwB,IAAI,SAAS,GAAG,SAAS;IAMjD,yBAAyB,IAAI,SAAS,GAAG,SAAS;IAM5C,eAAe;;;;IAqBrB,OAAO,CAAC,sBAAsB;YAehB,oBAAoB;YAOpB,iBAAiB;CAOhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Denom.js","sourceRoot":"","sources":["../../../src/utils/classes/Denom.ts"],"names":[],"mappings":"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"}