Skip to content

Commit 88566f3

Browse files
Interchainjs migration
1 parent bbc6af3 commit 88566f3

15 files changed

+397
-379
lines changed

__output__/builder/bundler_test/contracts/contractContextBase.ts

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,52 @@
55
*/
66

77

8-
import {
9-
CosmWasmClient,
10-
SigningCosmWasmClient,
11-
} from '@cosmjs/cosmwasm-stargate';
8+
import { StdFee } from '@interchainjs/amino';
9+
import { SigningClient } from '@interchainjs/cosmos/signing-client';
10+
11+
// InterchainJS interfaces for CosmWasm clients
12+
export interface ICosmWasmClient {
13+
queryContractSmart(contractAddr: string, query: any): Promise<any>;
14+
}
15+
16+
export interface ISigningCosmWasmClient {
17+
execute(tx: any): Promise<any>;
18+
}
19+
20+
export interface ISigningClient {
21+
signAndBroadcast(
22+
signerAddress: string,
23+
messages: any[],
24+
fee: StdFee,
25+
memo?: string
26+
): Promise<any>;
27+
}
28+
29+
// Helper functions to create InterchainJS clients
30+
export function getCosmWasmClient(rpc: string): ICosmWasmClient {
31+
return {
32+
queryContractSmart: (contractAddr: string, query: any) => {
33+
// TODO: implement
34+
// the helper function to query the contract
35+
throw new Error('queryContractSmart not implemented yet');
36+
},
37+
};
38+
}
39+
40+
export function getSigningCosmWasmClient(client: ISigningClient): ISigningCosmWasmClient {
41+
return {
42+
execute: (tx: any) => {
43+
// TODO: implement
44+
// the helper function to execute the transaction
45+
throw new Error('execute not implemented yet');
46+
},
47+
};
48+
}
1249

1350
export interface IContractConstructor {
1451
address: string | undefined;
15-
cosmWasmClient: CosmWasmClient | undefined;
16-
signingCosmWasmClient: SigningCosmWasmClient | undefined;
52+
cosmWasmClient: ICosmWasmClient | undefined;
53+
signingCosmWasmClient: ISigningCosmWasmClient | undefined;
1754
}
1855

1956
export const NO_SINGING_ERROR_MESSAGE = 'signingCosmWasmClient not connected';
@@ -55,15 +92,15 @@ export class ContractBase<
5592
> {
5693
constructor(
5794
protected address: string | undefined,
58-
protected cosmWasmClient: CosmWasmClient | undefined,
59-
protected signingCosmWasmClient: SigningCosmWasmClient | undefined,
95+
protected cosmWasmClient: ICosmWasmClient | undefined,
96+
protected signingCosmWasmClient: ISigningCosmWasmClient | undefined,
6097
private TSign?: new (
61-
client: SigningCosmWasmClient,
98+
client: ISigningCosmWasmClient,
6299
sender: string,
63100
contractAddress: string
64101
) => TSign,
65102
private TQuery?: new (
66-
client: CosmWasmClient,
103+
client: ICosmWasmClient,
67104
contractAddress: string
68105
) => TQuery,
69106
private TMsgComposer?: new (

__output__/builder/bundler_test/contracts/contractContextProviders.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
* and run the @cosmwasm/ts-codegen generate command to regenerate this file.
55
*/
66

7-
import { CosmWasmClient, SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate";
8-
import { IQueryClientProvider, ISigningClientProvider, IMessageComposerProvider } from "./contractContextBase";
7+
import { ICosmWasmClient, ISigningCosmWasmClient, getCosmWasmClient, getSigningCosmWasmClient, IQueryClientProvider, ISigningClientProvider, IMessageComposerProvider } from "./contractContextBase";
98
import { FactoryQueryClient } from "./Factory.client";
109
import { FactoryClient } from "./Factory.client";
1110
import { FactoryMsgComposer } from "./Factory.message-composer";

__output__/builder/bundler_test/contracts/contracts-context.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77

88
import React, { useEffect, useMemo, useRef, useState, useContext } from 'react';
99
import {
10-
CosmWasmClient,
11-
SigningCosmWasmClient,
12-
} from '@cosmjs/cosmwasm-stargate';
10+
ICosmWasmClient,
11+
ISigningCosmWasmClient,
12+
} from './contractContextBase';
1313

1414
import { IContractsContext, getProviders } from './contractContextProviders';
1515

1616
export interface ContractsConfig {
1717
address: string | undefined;
18-
getCosmWasmClient: () => Promise<CosmWasmClient>;
19-
getSigningCosmWasmClient: () => Promise<SigningCosmWasmClient>;
18+
getCosmWasmClient: () => Promise<ICosmWasmClient>;
19+
getSigningCosmWasmClient: () => Promise<ISigningCosmWasmClient>;
2020
}
2121

2222
const ContractsContext = React.createContext<IContractsContext | null>(null);
@@ -28,9 +28,9 @@ export const ContractsProvider = ({
2828
children: React.ReactNode;
2929
contractsConfig: ContractsConfig;
3030
}) => {
31-
const [cosmWasmClient, setCosmWasmClient] = useState<CosmWasmClient>();
31+
const [cosmWasmClient, setCosmWasmClient] = useState<ICosmWasmClient>();
3232
const [signingCosmWasmClient, setSigningCosmWasmClient] =
33-
useState<SigningCosmWasmClient>();
33+
useState<ISigningCosmWasmClient>();
3434

3535
const { address, getCosmWasmClient, getSigningCosmWasmClient } =
3636
contractsConfig;

__output__/builder/default/contractContextBase.ts

Lines changed: 51 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,52 @@
55
*/
66

77

8-
import {
9-
CosmWasmClient,
10-
SigningCosmWasmClient,
11-
} from '@cosmjs/cosmwasm-stargate';
8+
import { StdFee } from '@interchainjs/amino';
9+
import { SigningClient } from '@interchainjs/cosmos/signing-client';
10+
11+
// InterchainJS interfaces for CosmWasm clients
12+
export interface ICosmWasmClient {
13+
queryContractSmart(contractAddr: string, query: any): Promise<any>;
14+
}
15+
16+
export interface ISigningCosmWasmClient {
17+
execute(tx: any): Promise<any>;
18+
}
19+
20+
export interface ISigningClient {
21+
signAndBroadcast(
22+
signerAddress: string,
23+
messages: any[],
24+
fee: StdFee,
25+
memo?: string
26+
): Promise<any>;
27+
}
28+
29+
// Helper functions to create InterchainJS clients
30+
export function getCosmWasmClient(rpc: string): ICosmWasmClient {
31+
return {
32+
queryContractSmart: (contractAddr: string, query: any) => {
33+
// TODO: implement
34+
// the helper function to query the contract
35+
throw new Error('queryContractSmart not implemented yet');
36+
},
37+
};
38+
}
39+
40+
export function getSigningCosmWasmClient(client: ISigningClient): ISigningCosmWasmClient {
41+
return {
42+
execute: (tx: any) => {
43+
// TODO: implement
44+
// the helper function to execute the transaction
45+
throw new Error('execute not implemented yet');
46+
},
47+
};
48+
}
1249

1350
export interface IContractConstructor {
1451
address: string | undefined;
15-
cosmWasmClient: CosmWasmClient | undefined;
16-
signingCosmWasmClient: SigningCosmWasmClient | undefined;
52+
cosmWasmClient: ICosmWasmClient | undefined;
53+
signingCosmWasmClient: ISigningCosmWasmClient | undefined;
1754
}
1855

1956
export const NO_SINGING_ERROR_MESSAGE = 'signingCosmWasmClient not connected';
@@ -55,15 +92,15 @@ export class ContractBase<
5592
> {
5693

5794
address: string | undefined;
58-
cosmWasmClient: CosmWasmClient | undefined;
59-
signingCosmWasmClient: SigningCosmWasmClient | undefined;
95+
cosmWasmClient: ICosmWasmClient | undefined;
96+
signingCosmWasmClient: ISigningCosmWasmClient | undefined;
6097
TSign?: new (
61-
client: SigningCosmWasmClient,
98+
client: ISigningCosmWasmClient,
6299
sender: string,
63100
contractAddress: string
64101
) => TSign;
65102
TQuery?: new (
66-
client: CosmWasmClient,
103+
client: ICosmWasmClient,
67104
contractAddress: string
68105
) => TQuery;
69106
TMsgComposer?: new (
@@ -73,15 +110,15 @@ export class ContractBase<
73110

74111
constructor(
75112
address: string | undefined,
76-
cosmWasmClient: CosmWasmClient | undefined,
77-
signingCosmWasmClient: SigningCosmWasmClient | undefined,
113+
cosmWasmClient: ICosmWasmClient | undefined,
114+
signingCosmWasmClient: ISigningCosmWasmClient | undefined,
78115
TSign?: new (
79-
client: SigningCosmWasmClient,
116+
client: ISigningCosmWasmClient,
80117
sender: string,
81118
contractAddress: string
82119
) => TSign,
83120
TQuery?: new (
84-
client: CosmWasmClient,
121+
client: ICosmWasmClient,
85122
contractAddress: string
86123
) => TQuery,
87124
TMsgComposer?: new (

__output__/builder/default/contractContextProviders.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
* and run the @cosmwasm/ts-codegen generate command to regenerate this file.
55
*/
66

7-
import { CosmWasmClient, SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate";
8-
import { IQueryClientProvider, ISigningClientProvider, IMessageComposerProvider } from "./contractContextBase";
7+
import { ICosmWasmClient, ISigningCosmWasmClient, getCosmWasmClient, getSigningCosmWasmClient, IQueryClientProvider, ISigningClientProvider, IMessageComposerProvider } from "./contractContextBase";
98
import { FactoryQueryClient } from "./Factory.client";
109
import { FactoryClient } from "./Factory.client";
1110
import { FactoryMsgComposer } from "./Factory.message-composer";

__output__/builder/default/contracts-context.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77

88
import React, { useEffect, useMemo, useRef, useState, useContext } from 'react';
99
import {
10-
CosmWasmClient,
11-
SigningCosmWasmClient,
12-
} from '@cosmjs/cosmwasm-stargate';
10+
ICosmWasmClient,
11+
ISigningCosmWasmClient,
12+
} from './contractContextBase';
1313

1414
import { IContractsContext, getProviders } from './contractContextProviders';
1515

1616
export interface ContractsConfig {
1717
address: string | undefined;
18-
getCosmWasmClient: () => Promise<CosmWasmClient>;
19-
getSigningCosmWasmClient: () => Promise<SigningCosmWasmClient>;
18+
getCosmWasmClient: () => Promise<ICosmWasmClient>;
19+
getSigningCosmWasmClient: () => Promise<ISigningCosmWasmClient>;
2020
}
2121

2222
const ContractsContext = React.createContext<IContractsContext | null>(null);
@@ -28,9 +28,9 @@ export const ContractsProvider = ({
2828
children: React.ReactNode;
2929
contractsConfig: ContractsConfig;
3030
}) => {
31-
const [cosmWasmClient, setCosmWasmClient] = useState<CosmWasmClient>();
31+
const [cosmWasmClient, setCosmWasmClient] = useState<ICosmWasmClient>();
3232
const [signingCosmWasmClient, setSigningCosmWasmClient] =
33-
useState<SigningCosmWasmClient>();
33+
useState<ISigningCosmWasmClient>();
3434

3535
const { address, getCosmWasmClient, getSigningCosmWasmClient } =
3636
contractsConfig;

__output__/sg721/contractContextProviders.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
* and run the @cosmwasm/ts-codegen generate command to regenerate this file.
55
*/
66

7-
import { CosmWasmClient, SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate";
8-
import { IQueryClientProvider, ISigningClientProvider, IMessageComposerProvider } from "./contractContextBase";
7+
import { ICosmWasmClient, ISigningCosmWasmClient, getCosmWasmClient, getSigningCosmWasmClient, IQueryClientProvider, ISigningClientProvider, IMessageComposerProvider } from "./contractContextBase";
98
import { Sg721QueryClient } from "./Sg721.client";
109
import { Sg721Client } from "./Sg721.client";
1110
import { Sg721MsgComposer } from "./Sg721.message-composer";

package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,11 @@
4646
"repository": {
4747
"type": "git",
4848
"url": "https://github.com/hyperweb-io/ts-codegen"
49+
},
50+
"dependencies": {
51+
"@interchainjs/amino": "^1.11.18",
52+
"@interchainjs/cosmos": "^1.11.18",
53+
"@interchainjs/types": "^1.11.18",
54+
"interchainjs": "^1.11.18"
4955
}
5056
}

packages/ts-codegen/__tests__/__snapshots__/builder.test.ts.snap

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -420,11 +420,13 @@ TSBuilder {
420420
"useShorthandCtor": true,
421421
},
422422
"utils": {
423-
"CosmWasmClient": "@cosmjs/cosmwasm-stargate",
423+
"ICosmWasmClient": "__contractContextBase__",
424424
"IMessageComposerProvider": "__contractContextBase__",
425425
"IQueryClientProvider": "__contractContextBase__",
426426
"ISigningClientProvider": "__contractContextBase__",
427-
"SigningCosmWasmClient": "@cosmjs/cosmwasm-stargate",
427+
"ISigningCosmWasmClient": "__contractContextBase__",
428+
"getCosmWasmClient": "__contractContextBase__",
429+
"getSigningCosmWasmClient": "__contractContextBase__",
428430
},
429431
},
430432
],
@@ -851,11 +853,13 @@ TSBuilder {
851853
"useShorthandCtor": true,
852854
},
853855
"utils": {
854-
"CosmWasmClient": "@cosmjs/cosmwasm-stargate",
856+
"ICosmWasmClient": "__contractContextBase__",
855857
"IMessageComposerProvider": "__contractContextBase__",
856858
"IQueryClientProvider": "__contractContextBase__",
857859
"ISigningClientProvider": "__contractContextBase__",
858-
"SigningCosmWasmClient": "@cosmjs/cosmwasm-stargate",
860+
"ISigningCosmWasmClient": "__contractContextBase__",
861+
"getCosmWasmClient": "__contractContextBase__",
862+
"getSigningCosmWasmClient": "__contractContextBase__",
859863
},
860864
},
861865
],

packages/ts-codegen/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
"url": "https://github.com/hyperweb-io/ts-codegen/issues"
3838
},
3939
"devDependencies": {
40-
"@cosmjs/cosmwasm-stargate": "0.32.3"
4140
},
4241
"dependencies": {
4342
"@babel/generator": "7.24.4",
@@ -48,6 +47,10 @@
4847
"@pyramation/json-schema-to-typescript": " 11.0.4",
4948
"@types/rimraf": "3.0.2",
5049
"@types/shelljs": "0.8.15",
50+
"@interchainjs/amino": "^1.11.18",
51+
"@interchainjs/cosmos": "^1.11.18",
52+
"@interchainjs/types": "^1.11.18",
53+
"interchainjs": "^1.11.18",
5154
"case": "1.6.3",
5255
"dargs": "7.0.0",
5356
"deepmerge": "4.2.2",

0 commit comments

Comments
 (0)