@keplr-wallet/stores 0.12.206 → 0.12.207

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.
@@ -0,0 +1,13 @@
1
+ import { ObservableChainQuery, ObservableChainQueryMap } from "../../chain-query";
2
+ import { ChainGetter } from "../../../chain";
3
+ import { ClientStateV2Response } from "./types";
4
+ import { QuerySharedContext } from "../../../common";
5
+ export declare class ObservableChainQueryClientStateV2 extends ObservableChainQuery<ClientStateV2Response> {
6
+ protected readonly channelId: string;
7
+ constructor(sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter, channelId: string);
8
+ get clientChainId(): string | undefined;
9
+ }
10
+ export declare class ObservableQueryIBCClientStateV2 extends ObservableChainQueryMap<ClientStateV2Response> {
11
+ constructor(sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter);
12
+ getClientState(channelId: string): ObservableChainQueryClientStateV2;
13
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ObservableQueryIBCClientStateV2 = exports.ObservableChainQueryClientStateV2 = void 0;
10
+ const chain_query_1 = require("../../chain-query");
11
+ const mobx_1 = require("mobx");
12
+ const buffer_1 = require("buffer/");
13
+ class ObservableChainQueryClientStateV2 extends chain_query_1.ObservableChainQuery {
14
+ constructor(sharedContext, chainId, chainGetter, channelId) {
15
+ super(sharedContext, chainId, chainGetter, `/ibc/core/client/v1/client_states/${channelId}`);
16
+ this.channelId = channelId;
17
+ }
18
+ get clientChainId() {
19
+ if (!this.response) {
20
+ return undefined;
21
+ }
22
+ try {
23
+ const decoded = buffer_1.Buffer.from(this.response.data.client_state.data, "base64").toString();
24
+ const parsed = JSON.parse(decoded);
25
+ if (parsed.chain_id) {
26
+ return parsed.chain_id;
27
+ }
28
+ }
29
+ catch (e) {
30
+ console.log(e);
31
+ return undefined;
32
+ }
33
+ }
34
+ }
35
+ __decorate([
36
+ mobx_1.computed
37
+ ], ObservableChainQueryClientStateV2.prototype, "clientChainId", null);
38
+ exports.ObservableChainQueryClientStateV2 = ObservableChainQueryClientStateV2;
39
+ class ObservableQueryIBCClientStateV2 extends chain_query_1.ObservableChainQueryMap {
40
+ constructor(sharedContext, chainId, chainGetter) {
41
+ super(sharedContext, chainId, chainGetter, (channelId) => {
42
+ return new ObservableChainQueryClientStateV2(this.sharedContext, this.chainId, this.chainGetter, channelId);
43
+ });
44
+ }
45
+ getClientState(channelId) {
46
+ return this.get(channelId);
47
+ }
48
+ }
49
+ exports.ObservableQueryIBCClientStateV2 = ObservableQueryIBCClientStateV2;
50
+ //# sourceMappingURL=client-state-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-state-v2.js","sourceRoot":"","sources":["../../../../src/query/cosmos/ibc/client-state-v2.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mDAG2B;AAG3B,+BAAgC;AAEhC,oCAAiC;AAEjC,MAAa,iCAAkC,SAAQ,kCAA2C;IAChG,YACE,aAAiC,EACjC,OAAe,EACf,WAAwB,EACL,SAAiB;QAEpC,KAAK,CACH,aAAa,EACb,OAAO,EACP,WAAW,EACX,qCAAqC,SAAS,EAAE,CACjD,CAAC;QAPiB,cAAS,GAAT,SAAS,CAAQ;IAQtC,CAAC;IAGD,IAAI,aAAa;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,SAAS,CAAC;SAClB;QAED,IAAI;YACF,MAAM,OAAO,GAAG,eAAM,CAAC,IAAI,CACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EACpC,QAAQ,CACT,CAAC,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACnB,OAAO,MAAM,CAAC,QAAQ,CAAC;aACxB;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AAnBC;IADC,eAAQ;sEAmBR;AAlCH,8EAmCC;AAED,MAAa,+BAAgC,SAAQ,qCAA8C;IACjG,YACE,aAAiC,EACjC,OAAe,EACf,WAAwB;QAExB,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE;YAC/D,OAAO,IAAI,iCAAiC,CAC1C,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAsC,CAAC;IAClE,CAAC;CACF;AAnBD,0EAmBC"}
@@ -1,8 +1,8 @@
1
1
  import { ObservableChainQuery, ObservableChainQueryMap } from "../../chain-query";
2
2
  import { ChainGetter } from "../../../chain";
3
- import { DenomTraceResponse } from "./types";
3
+ import { DenomTraceResponse, DenomTraceV2Response } from "./types";
4
4
  import { QuerySharedContext } from "../../../common";
5
- export declare class ObservableChainQueryDenomTrace extends ObservableChainQuery<DenomTraceResponse> {
5
+ export declare class ObservableChainQueryDenomTrace extends ObservableChainQuery<DenomTraceResponse | DenomTraceV2Response> {
6
6
  protected readonly hash: string;
7
7
  protected disposer?: () => void;
8
8
  constructor(sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter, hash: string);
@@ -21,7 +21,7 @@ export declare class ObservableChainQueryDenomTrace extends ObservableChainQuery
21
21
  }[];
22
22
  } | undefined;
23
23
  }
24
- export declare class ObservableQueryDenomTrace extends ObservableChainQueryMap<DenomTraceResponse> {
24
+ export declare class ObservableQueryDenomTrace extends ObservableChainQueryMap<DenomTraceResponse | DenomTraceV2Response> {
25
25
  constructor(sharedContext: QuerySharedContext, chainId: string, chainGetter: ChainGetter);
26
26
  getDenomTrace(hash: string): ObservableChainQueryDenomTrace;
27
27
  }
@@ -18,8 +18,13 @@ class ObservableChainQueryDenomTrace extends chain_query_1.ObservableChainQuery
18
18
  super.onStart();
19
19
  this.disposer = (0, mobx_1.autorun)(() => {
20
20
  const chainInfo = this.chainGetter.getChain(this.chainId);
21
- if (chainInfo.features && chainInfo.features.includes("ibc-go")) {
22
- this.setUrl(`/ibc/apps/transfer/v1/denom_traces/${this.hash}`);
21
+ if (chainInfo.features) {
22
+ if (chainInfo.features.includes("ibc-v2")) {
23
+ this.setUrl(`/ibc/apps/transfer/v1/denoms/${this.hash}`);
24
+ }
25
+ else if (chainInfo.features.includes("ibc-go")) {
26
+ this.setUrl(`/ibc/apps/transfer/v1/denom_traces/${this.hash}`);
27
+ }
23
28
  }
24
29
  });
25
30
  }
@@ -34,6 +39,14 @@ class ObservableChainQueryDenomTrace extends chain_query_1.ObservableChainQuery
34
39
  if (!this.response) {
35
40
  return [];
36
41
  }
42
+ if ("denom" in this.response.data) {
43
+ return this.response.data.denom.trace.map((t) => {
44
+ return {
45
+ portId: t.port_id,
46
+ channelId: t.channel_id,
47
+ };
48
+ });
49
+ }
37
50
  const rawPaths = this.response.data.denom_trace.path.split("/");
38
51
  if (rawPaths.length % 2 !== 0) {
39
52
  console.log("Failed to parse paths", rawPaths);
@@ -54,6 +67,9 @@ class ObservableChainQueryDenomTrace extends chain_query_1.ObservableChainQuery
54
67
  if (!this.response) {
55
68
  return undefined;
56
69
  }
70
+ if ("denom" in this.response.data) {
71
+ return this.response.data.denom.base;
72
+ }
57
73
  return this.response.data.denom_trace.base_denom;
58
74
  }
59
75
  get denomTrace() {
@@ -1 +1 @@
1
- {"version":3,"file":"denom-trace.js","sourceRoot":"","sources":["../../../../src/query/cosmos/ibc/denom-trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"denom-trace.js","sourceRoot":"","sources":["../../../../src/query/cosmos/ibc/denom-trace.ts"],"names":[],"mappings":"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"}
@@ -26,9 +26,28 @@ export type ClientStateResponse = {
26
26
  };
27
27
  };
28
28
  };
29
+ export type ClientStateV2Response = {
30
+ client_state: {
31
+ "@type": string;
32
+ data: string;
33
+ latest_height: {
34
+ revision_number: string;
35
+ revision_height: string;
36
+ };
37
+ };
38
+ };
29
39
  export type DenomTraceResponse = {
30
40
  denom_trace: {
31
41
  path: string;
32
42
  base_denom: string;
33
43
  };
34
44
  };
45
+ export type DenomTraceV2Response = {
46
+ denom: {
47
+ base: string;
48
+ trace: {
49
+ port_id: string;
50
+ channel_id: string;
51
+ }[];
52
+ };
53
+ };
@@ -10,6 +10,7 @@ import { ObservableQueryRPCStatus } from "./status";
10
10
  import { ObservableQueryAuthZGranter } from "./authz";
11
11
  import { QuerySharedContext } from "../../common";
12
12
  import { ObservableQueryFeeMarketGasPrices } from "./feemarket";
13
+ import { ObservableQueryIBCClientStateV2 } from "./ibc/client-state-v2";
13
14
  export interface CosmosQueries {
14
15
  cosmos: CosmosQueriesImpl;
15
16
  }
@@ -28,6 +29,7 @@ export declare class CosmosQueriesImpl {
28
29
  readonly queryUnbondingDelegations: DeepReadonly<ObservableQueryUnbondingDelegations>;
29
30
  readonly queryValidators: DeepReadonly<ObservableQueryValidators>;
30
31
  readonly queryIBCClientState: DeepReadonly<ObservableQueryIBCClientState>;
32
+ readonly queryIBCClientStateV2: DeepReadonly<ObservableQueryIBCClientStateV2>;
31
33
  readonly queryIBCChannel: DeepReadonly<ObservableQueryIBCChannel>;
32
34
  readonly queryIBCDenomTrace: DeepReadonly<ObservableQueryDenomTrace>;
33
35
  readonly queryAuthZGranter: DeepReadonly<ObservableQueryAuthZGranter>;
@@ -9,6 +9,7 @@ const distribution_1 = require("./distribution");
9
9
  const status_1 = require("./status");
10
10
  const authz_1 = require("./authz");
11
11
  const feemarket_1 = require("./feemarket");
12
+ const client_state_v2_1 = require("./ibc/client-state-v2");
12
13
  exports.CosmosQueries = {
13
14
  use() {
14
15
  return (queriesSetBase, sharedContext, chainId, chainGetter) => {
@@ -32,6 +33,7 @@ class CosmosQueriesImpl {
32
33
  this.queryUnbondingDelegations = new staking_1.ObservableQueryUnbondingDelegations(sharedContext, chainId, chainGetter);
33
34
  this.queryValidators = new staking_1.ObservableQueryValidators(sharedContext, chainId, chainGetter);
34
35
  this.queryIBCClientState = new ibc_1.ObservableQueryIBCClientState(sharedContext, chainId, chainGetter);
36
+ this.queryIBCClientStateV2 = new client_state_v2_1.ObservableQueryIBCClientStateV2(sharedContext, chainId, chainGetter);
35
37
  this.queryIBCChannel = new ibc_1.ObservableQueryIBCChannel(sharedContext, chainId, chainGetter);
36
38
  this.queryIBCDenomTrace = new ibc_1.ObservableQueryDenomTrace(sharedContext, chainId, chainGetter);
37
39
  this.queryAuthZGranter = new authz_1.ObservableQueryAuthZGranter(sharedContext, chainId, chainGetter);
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/query/cosmos/queries.ts"],"names":[],"mappings":";;;AAEA,uCAAmD;AACnD,uCAOmB;AACnB,+BAIe;AACf,uCAGmB;AAEnB,iDAAmE;AACnE,qCAAoD;AACpD,mCAAsD;AAEtD,2CAAgE;AAMnD,QAAA,aAAa,GAAG;IAC3B,GAAG;QAMD,OAAO,CACL,cAA8B,EAC9B,aAAiC,EACjC,OAAe,EACf,WAAwB,EACxB,EAAE;YACF,OAAO;gBACL,MAAM,EAAE,IAAI,iBAAiB,CAC3B,cAAc,EACd,aAAa,EACb,OAAO,EACP,WAAW,CACZ;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAa,iBAAiB;IAqB5B,YACE,IAAoB,EACpB,aAAiC,EACjC,OAAe,EACf,WAAwB;QAExB,IAAI,CAAC,cAAc,GAAG,IAAI,iCAAwB,CAChD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,IAAI,8CAAoC,CAAC,aAAa,CAAC,CACxD,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,gCAAsB,CAC5C,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,0CAAgC,CAChE,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,oCAA0B,CAC7C,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,sCAA4B,CACxD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,uBAAuB,GAAG,IAAI,gDAAiC,CAClE,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,gCAAsB,CAC5C,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAA0B,CACpD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,yBAAyB,GAAG,IAAI,6CAAmC,CACtE,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAyB,CAClD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,mBAAmB,GAAG,IAAI,mCAA6B,CAC1D,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAyB,CAClD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,+BAAyB,CACrD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,mCAA2B,CACtD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,uBAAuB,GAAG,IAAI,6CAAiC,CAClE,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;IACJ,CAAC;CACF;AAhHD,8CAgHC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/query/cosmos/queries.ts"],"names":[],"mappings":";;;AAEA,uCAAmD;AACnD,uCAOmB;AACnB,+BAIe;AACf,uCAGmB;AAEnB,iDAAmE;AACnE,qCAAoD;AACpD,mCAAsD;AAEtD,2CAAgE;AAChE,2DAAwE;AAM3D,QAAA,aAAa,GAAG;IAC3B,GAAG;QAMD,OAAO,CACL,cAA8B,EAC9B,aAAiC,EACjC,OAAe,EACf,WAAwB,EACxB,EAAE;YACF,OAAO;gBACL,MAAM,EAAE,IAAI,iBAAiB,CAC3B,cAAc,EACd,aAAa,EACb,OAAO,EACP,WAAW,CACZ;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAa,iBAAiB;IAsB5B,YACE,IAAoB,EACpB,aAAiC,EACjC,OAAe,EACf,WAAwB;QAExB,IAAI,CAAC,cAAc,GAAG,IAAI,iCAAwB,CAChD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,IAAI,8CAAoC,CAAC,aAAa,CAAC,CACxD,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,gCAAsB,CAC5C,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,0CAAgC,CAChE,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,oCAA0B,CAC7C,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,sCAA4B,CACxD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,uBAAuB,GAAG,IAAI,gDAAiC,CAClE,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,gCAAsB,CAC5C,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAA0B,CACpD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,yBAAyB,GAAG,IAAI,6CAAmC,CACtE,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAyB,CAClD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,mBAAmB,GAAG,IAAI,mCAA6B,CAC1D,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,iDAA+B,CAC9D,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAyB,CAClD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,+BAAyB,CACrD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,mCAA2B,CACtD,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,uBAAuB,GAAG,IAAI,6CAAiC,CAClE,aAAa,EACb,OAAO,EACP,WAAW,CACZ,CAAC;IACJ,CAAC;CACF;AAtHD,8CAsHC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keplr-wallet/stores",
3
- "version": "0.12.206",
3
+ "version": "0.12.207",
4
4
  "main": "build/index.js",
5
5
  "author": "chainapsis",
6
6
  "license": "Apache-2.0",
@@ -16,17 +16,17 @@
16
16
  "lint-fix": "eslint --fix \"src/**/*\" && prettier --write \"src/**/*\""
17
17
  },
18
18
  "devDependencies": {
19
- "@keplr-wallet/provider-mock": "0.12.206"
19
+ "@keplr-wallet/provider-mock": "0.12.207"
20
20
  },
21
21
  "dependencies": {
22
- "@keplr-wallet/common": "0.12.206",
23
- "@keplr-wallet/cosmos": "0.12.206",
24
- "@keplr-wallet/crypto": "0.12.206",
25
- "@keplr-wallet/mobx-utils": "0.12.206",
26
- "@keplr-wallet/proto-types": "0.12.206",
27
- "@keplr-wallet/simple-fetch": "0.12.206",
28
- "@keplr-wallet/types": "0.12.206",
29
- "@keplr-wallet/unit": "0.12.206",
22
+ "@keplr-wallet/common": "0.12.207",
23
+ "@keplr-wallet/cosmos": "0.12.207",
24
+ "@keplr-wallet/crypto": "0.12.207",
25
+ "@keplr-wallet/mobx-utils": "0.12.207",
26
+ "@keplr-wallet/proto-types": "0.12.207",
27
+ "@keplr-wallet/simple-fetch": "0.12.207",
28
+ "@keplr-wallet/types": "0.12.207",
29
+ "@keplr-wallet/unit": "0.12.207",
30
30
  "buffer": "^6.0.3",
31
31
  "deepmerge": "^4.2.2",
32
32
  "eventemitter3": "^4.0.7",
@@ -38,5 +38,5 @@
38
38
  "mobx": "^6",
39
39
  "mobx-utils": "^6"
40
40
  },
41
- "gitHead": "31dd72902342f19a482f42ce184ab46f2b83a062"
41
+ "gitHead": "0d9a2b1a0185fcd65e37929bf749226c7e954ecc"
42
42
  }
@@ -0,0 +1,67 @@
1
+ import {
2
+ ObservableChainQuery,
3
+ ObservableChainQueryMap,
4
+ } from "../../chain-query";
5
+ import { ChainGetter } from "../../../chain";
6
+ import { ClientStateV2Response } from "./types";
7
+ import { computed } from "mobx";
8
+ import { QuerySharedContext } from "../../../common";
9
+ import { Buffer } from "buffer/";
10
+
11
+ export class ObservableChainQueryClientStateV2 extends ObservableChainQuery<ClientStateV2Response> {
12
+ constructor(
13
+ sharedContext: QuerySharedContext,
14
+ chainId: string,
15
+ chainGetter: ChainGetter,
16
+ protected readonly channelId: string
17
+ ) {
18
+ super(
19
+ sharedContext,
20
+ chainId,
21
+ chainGetter,
22
+ `/ibc/core/client/v1/client_states/${channelId}`
23
+ );
24
+ }
25
+
26
+ @computed
27
+ get clientChainId(): string | undefined {
28
+ if (!this.response) {
29
+ return undefined;
30
+ }
31
+
32
+ try {
33
+ const decoded = Buffer.from(
34
+ this.response.data.client_state.data,
35
+ "base64"
36
+ ).toString();
37
+ const parsed = JSON.parse(decoded);
38
+ if (parsed.chain_id) {
39
+ return parsed.chain_id;
40
+ }
41
+ } catch (e) {
42
+ console.log(e);
43
+ return undefined;
44
+ }
45
+ }
46
+ }
47
+
48
+ export class ObservableQueryIBCClientStateV2 extends ObservableChainQueryMap<ClientStateV2Response> {
49
+ constructor(
50
+ sharedContext: QuerySharedContext,
51
+ chainId: string,
52
+ chainGetter: ChainGetter
53
+ ) {
54
+ super(sharedContext, chainId, chainGetter, (channelId: string) => {
55
+ return new ObservableChainQueryClientStateV2(
56
+ this.sharedContext,
57
+ this.chainId,
58
+ this.chainGetter,
59
+ channelId
60
+ );
61
+ });
62
+ }
63
+
64
+ getClientState(channelId: string): ObservableChainQueryClientStateV2 {
65
+ return this.get(channelId) as ObservableChainQueryClientStateV2;
66
+ }
67
+ }
@@ -3,11 +3,13 @@ import {
3
3
  ObservableChainQueryMap,
4
4
  } from "../../chain-query";
5
5
  import { ChainGetter } from "../../../chain";
6
- import { DenomTraceResponse } from "./types";
6
+ import { DenomTraceResponse, DenomTraceV2Response } from "./types";
7
7
  import { autorun, computed } from "mobx";
8
8
  import { QuerySharedContext } from "../../../common";
9
9
 
10
- export class ObservableChainQueryDenomTrace extends ObservableChainQuery<DenomTraceResponse> {
10
+ export class ObservableChainQueryDenomTrace extends ObservableChainQuery<
11
+ DenomTraceResponse | DenomTraceV2Response
12
+ > {
11
13
  protected disposer?: () => void;
12
14
 
13
15
  constructor(
@@ -29,8 +31,12 @@ export class ObservableChainQueryDenomTrace extends ObservableChainQuery<DenomTr
29
31
 
30
32
  this.disposer = autorun(() => {
31
33
  const chainInfo = this.chainGetter.getChain(this.chainId);
32
- if (chainInfo.features && chainInfo.features.includes("ibc-go")) {
33
- this.setUrl(`/ibc/apps/transfer/v1/denom_traces/${this.hash}`);
34
+ if (chainInfo.features) {
35
+ if (chainInfo.features.includes("ibc-v2")) {
36
+ this.setUrl(`/ibc/apps/transfer/v1/denoms/${this.hash}`);
37
+ } else if (chainInfo.features.includes("ibc-go")) {
38
+ this.setUrl(`/ibc/apps/transfer/v1/denom_traces/${this.hash}`);
39
+ }
34
40
  }
35
41
  });
36
42
  }
@@ -52,6 +58,15 @@ export class ObservableChainQueryDenomTrace extends ObservableChainQuery<DenomTr
52
58
  return [];
53
59
  }
54
60
 
61
+ if ("denom" in this.response.data) {
62
+ return this.response.data.denom.trace.map((t) => {
63
+ return {
64
+ portId: t.port_id,
65
+ channelId: t.channel_id,
66
+ };
67
+ });
68
+ }
69
+
55
70
  const rawPaths = this.response.data.denom_trace.path.split("/");
56
71
 
57
72
  if (rawPaths.length % 2 !== 0) {
@@ -77,6 +92,10 @@ export class ObservableChainQueryDenomTrace extends ObservableChainQuery<DenomTr
77
92
  return undefined;
78
93
  }
79
94
 
95
+ if ("denom" in this.response.data) {
96
+ return this.response.data.denom.base;
97
+ }
98
+
80
99
  return this.response.data.denom_trace.base_denom;
81
100
  }
82
101
 
@@ -101,7 +120,9 @@ export class ObservableChainQueryDenomTrace extends ObservableChainQuery<DenomTr
101
120
  }
102
121
  }
103
122
 
104
- export class ObservableQueryDenomTrace extends ObservableChainQueryMap<DenomTraceResponse> {
123
+ export class ObservableQueryDenomTrace extends ObservableChainQueryMap<
124
+ DenomTraceResponse | DenomTraceV2Response
125
+ > {
105
126
  constructor(
106
127
  sharedContext: QuerySharedContext,
107
128
  chainId: string,
@@ -36,9 +36,30 @@ export type ClientStateResponse = {
36
36
  };
37
37
  };
38
38
 
39
+ export type ClientStateV2Response = {
40
+ client_state: {
41
+ "@type": string;
42
+ data: string;
43
+ latest_height: {
44
+ revision_number: string;
45
+ revision_height: string;
46
+ };
47
+ };
48
+ };
49
+
39
50
  export type DenomTraceResponse = {
40
51
  denom_trace: {
41
52
  path: string;
42
53
  base_denom: string;
43
54
  };
44
55
  };
56
+
57
+ export type DenomTraceV2Response = {
58
+ denom: {
59
+ base: string;
60
+ trace: {
61
+ port_id: string;
62
+ channel_id: string;
63
+ }[];
64
+ };
65
+ };
@@ -24,6 +24,7 @@ import { ObservableQueryRPCStatus } from "./status";
24
24
  import { ObservableQueryAuthZGranter } from "./authz";
25
25
  import { QuerySharedContext } from "../../common";
26
26
  import { ObservableQueryFeeMarketGasPrices } from "./feemarket";
27
+ import { ObservableQueryIBCClientStateV2 } from "./ibc/client-state-v2";
27
28
 
28
29
  export interface CosmosQueries {
29
30
  cosmos: CosmosQueriesImpl;
@@ -68,6 +69,7 @@ export class CosmosQueriesImpl {
68
69
  public readonly queryValidators: DeepReadonly<ObservableQueryValidators>;
69
70
 
70
71
  public readonly queryIBCClientState: DeepReadonly<ObservableQueryIBCClientState>;
72
+ public readonly queryIBCClientStateV2: DeepReadonly<ObservableQueryIBCClientStateV2>;
71
73
  public readonly queryIBCChannel: DeepReadonly<ObservableQueryIBCChannel>;
72
74
  public readonly queryIBCDenomTrace: DeepReadonly<ObservableQueryDenomTrace>;
73
75
 
@@ -144,6 +146,11 @@ export class CosmosQueriesImpl {
144
146
  chainId,
145
147
  chainGetter
146
148
  );
149
+ this.queryIBCClientStateV2 = new ObservableQueryIBCClientStateV2(
150
+ sharedContext,
151
+ chainId,
152
+ chainGetter
153
+ );
147
154
  this.queryIBCChannel = new ObservableQueryIBCChannel(
148
155
  sharedContext,
149
156
  chainId,