Skip to content

Commit

Permalink
add getTxRpc
Browse files Browse the repository at this point in the history
  • Loading branch information
Zetazzz committed Dec 26, 2023
1 parent fa2409c commit 602f926
Show file tree
Hide file tree
Showing 23 changed files with 596 additions and 337 deletions.
5 changes: 5 additions & 0 deletions __fixtures__/misc/output-impl-interfaces-gen/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,8 @@ export interface TxRpc {
memo: string
): Promise<DeliverTxResponse>;
}

export interface SigningClientParams {
rpcEndpoint: string | HttpEndpoint;
signer: OfflineSigner;
}
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,8 @@ export interface TxRpc {
memo: string
): Promise<DeliverTxResponse>;
}

export interface SigningClientParams {
rpcEndpoint: string | HttpEndpoint;
signer: OfflineSigner;
}
5 changes: 5 additions & 0 deletions __fixtures__/misc/output-proto-amino/amino-interface/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,8 @@ export interface TxRpc {
memo: string
): Promise<DeliverTxResponse>;
}

export interface SigningClientParams {
rpcEndpoint: string | HttpEndpoint;
signer: OfflineSigner;
}
15 changes: 15 additions & 0 deletions __fixtures__/v-next/outputinstantrpc/akash/client.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { GeneratedType, Registry, OfflineSigner } from "@cosmjs/proto-signing";
import { defaultRegistryTypes, AminoTypes, SigningStargateClient } from "@cosmjs/stargate";
import { HttpEndpoint } from "@cosmjs/tendermint-rpc";
import { getRpcClient } from "../extern";
import { DeliverTxResponse, EncodeObject, StdFee, TxRpc, SigningClientParams } from "../types";
import * as akashAuditV1beta1AuditRegistry from "./audit/v1beta1/audit.registry";
import * as akashAuditV1beta2AuditRegistry from "./audit/v1beta2/audit.registry";
import * as akashCertV1beta2CertRegistry from "./cert/v1beta2/cert.registry";
Expand Down Expand Up @@ -62,4 +64,17 @@ export const getSigningAkashClient = async ({
aminoTypes
});
return client;
};
export const getSigningAkashTxRpc = async ({
rpcEndpoint,
signer
}: SigningClientParams) => {
let txRpc = (await getRpcClient(rpcEndpoint) as TxRpc);
const signingClient = await getSigningAkashClient({
rpcEndpoint,
signer
});
txRpc.signAndBroadcast = (signerAddress: string, messages: EncodeObject[], fee: number | StdFee | "auto", memo?: string) => {
return (signingClient.signAndBroadcast(signerAddress, messages, fee, memo) as Promise<DeliverTxResponse>);
};
};
15 changes: 15 additions & 0 deletions __fixtures__/v-next/outputinstantrpc/cosmos/client.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { GeneratedType, Registry, OfflineSigner } from "@cosmjs/proto-signing";
import { AminoTypes, SigningStargateClient } from "@cosmjs/stargate";
import { HttpEndpoint } from "@cosmjs/tendermint-rpc";
import { getRpcClient } from "../extern";
import { DeliverTxResponse, EncodeObject, StdFee, TxRpc, SigningClientParams } from "../types";
import * as cosmosAuthzV1beta1TxRegistry from "./authz/v1beta1/tx.registry";
import * as cosmosBankV1beta1TxRegistry from "./bank/v1beta1/tx.registry";
import * as cosmosCrisisV1beta1TxRegistry from "./crisis/v1beta1/tx.registry";
Expand Down Expand Up @@ -75,4 +77,17 @@ export const getSigningCosmosClient = async ({
aminoTypes
});
return client;
};
export const getSigningCosmosTxRpc = async ({
rpcEndpoint,
signer
}: SigningClientParams) => {
let txRpc = (await getRpcClient(rpcEndpoint) as TxRpc);
const signingClient = await getSigningCosmosClient({
rpcEndpoint,
signer
});
txRpc.signAndBroadcast = (signerAddress: string, messages: EncodeObject[], fee: number | StdFee | "auto", memo?: string) => {
return (signingClient.signAndBroadcast(signerAddress, messages, fee, memo) as Promise<DeliverTxResponse>);
};
};
15 changes: 15 additions & 0 deletions __fixtures__/v-next/outputinstantrpc/cosmwasm/client.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { GeneratedType, Registry, OfflineSigner } from "@cosmjs/proto-signing";
import { defaultRegistryTypes, AminoTypes, SigningStargateClient } from "@cosmjs/stargate";
import { HttpEndpoint } from "@cosmjs/tendermint-rpc";
import { getRpcClient } from "../extern";
import { DeliverTxResponse, EncodeObject, StdFee, TxRpc, SigningClientParams } from "../types";
import * as cosmwasmWasmV1TxRegistry from "./wasm/v1/tx.registry";
import * as cosmwasmWasmV1TxAmino from "./wasm/v1/tx.amino";
export const cosmwasmAminoConverters = {
Expand Down Expand Up @@ -44,4 +46,17 @@ export const getSigningCosmwasmClient = async ({
aminoTypes
});
return client;
};
export const getSigningCosmwasmTxRpc = async ({
rpcEndpoint,
signer
}: SigningClientParams) => {
let txRpc = (await getRpcClient(rpcEndpoint) as TxRpc);
const signingClient = await getSigningCosmwasmClient({
rpcEndpoint,
signer
});
txRpc.signAndBroadcast = (signerAddress: string, messages: EncodeObject[], fee: number | StdFee | "auto", memo?: string) => {
return (signingClient.signAndBroadcast(signerAddress, messages, fee, memo) as Promise<DeliverTxResponse>);
};
};
15 changes: 15 additions & 0 deletions __fixtures__/v-next/outputinstantrpc/evmos/client.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { GeneratedType, Registry, OfflineSigner } from "@cosmjs/proto-signing";
import { defaultRegistryTypes, AminoTypes, SigningStargateClient } from "@cosmjs/stargate";
import { HttpEndpoint } from "@cosmjs/tendermint-rpc";
import { getRpcClient } from "../extern";
import { DeliverTxResponse, EncodeObject, StdFee, TxRpc, SigningClientParams } from "../types";
import * as evmosErc20V1TxRegistry from "./erc20/v1/tx.registry";
import * as evmosFeesV1TxRegistry from "./fees/v1/tx.registry";
import * as evmosVestingV1TxRegistry from "./vesting/v1/tx.registry";
Expand Down Expand Up @@ -50,4 +52,17 @@ export const getSigningEvmosClient = async ({
aminoTypes
});
return client;
};
export const getSigningEvmosTxRpc = async ({
rpcEndpoint,
signer
}: SigningClientParams) => {
let txRpc = (await getRpcClient(rpcEndpoint) as TxRpc);
const signingClient = await getSigningEvmosClient({
rpcEndpoint,
signer
});
txRpc.signAndBroadcast = (signerAddress: string, messages: EncodeObject[], fee: number | StdFee | "auto", memo?: string) => {
return (signingClient.signAndBroadcast(signerAddress, messages, fee, memo) as Promise<DeliverTxResponse>);
};
};
15 changes: 15 additions & 0 deletions __fixtures__/v-next/outputinstantrpc/ibc/client.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { GeneratedType, Registry, OfflineSigner } from "@cosmjs/proto-signing";
import { defaultRegistryTypes, AminoTypes, SigningStargateClient } from "@cosmjs/stargate";
import { HttpEndpoint } from "@cosmjs/tendermint-rpc";
import { getRpcClient } from "../extern";
import { DeliverTxResponse, EncodeObject, StdFee, TxRpc, SigningClientParams } from "../types";
import * as ibcApplicationsTransferV1TxRegistry from "./applications/transfer/v1/tx.registry";
import * as ibcCoreChannelV1TxRegistry from "./core/channel/v1/tx.registry";
import * as ibcCoreClientV1TxRegistry from "./core/client/v1/tx.registry";
Expand Down Expand Up @@ -53,4 +55,17 @@ export const getSigningIbcClient = async ({
aminoTypes
});
return client;
};
export const getSigningIbcTxRpc = async ({
rpcEndpoint,
signer
}: SigningClientParams) => {
let txRpc = (await getRpcClient(rpcEndpoint) as TxRpc);
const signingClient = await getSigningIbcClient({
rpcEndpoint,
signer
});
txRpc.signAndBroadcast = (signerAddress: string, messages: EncodeObject[], fee: number | StdFee | "auto", memo?: string) => {
return (signingClient.signAndBroadcast(signerAddress, messages, fee, memo) as Promise<DeliverTxResponse>);
};
};
15 changes: 15 additions & 0 deletions __fixtures__/v-next/outputinstantrpc/osmosis/client.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { GeneratedType, Registry, OfflineSigner } from "@cosmjs/proto-signing";
import { defaultRegistryTypes, AminoTypes, SigningStargateClient } from "@cosmjs/stargate";
import { HttpEndpoint } from "@cosmjs/tendermint-rpc";
import { getRpcClient } from "../extern";
import { DeliverTxResponse, EncodeObject, StdFee, TxRpc, SigningClientParams } from "../types";
import * as osmosisGammPoolmodelsBalancerTxTxRegistry from "./gamm/pool-models/balancer/tx/tx.registry";
import * as osmosisGammPoolmodelsStableswapTxRegistry from "./gamm/pool-models/stableswap/tx.registry";
import * as osmosisGammV1beta1TxRegistry from "./gamm/v1beta1/tx.registry";
Expand Down Expand Up @@ -62,4 +64,17 @@ export const getSigningOsmosisClient = async ({
aminoTypes
});
return client;
};
export const getSigningOsmosisTxRpc = async ({
rpcEndpoint,
signer
}: SigningClientParams) => {
let txRpc = (await getRpcClient(rpcEndpoint) as TxRpc);
const signingClient = await getSigningOsmosisClient({
rpcEndpoint,
signer
});
txRpc.signAndBroadcast = (signerAddress: string, messages: EncodeObject[], fee: number | StdFee | "auto", memo?: string) => {
return (signingClient.signAndBroadcast(signerAddress, messages, fee, memo) as Promise<DeliverTxResponse>);
};
};
5 changes: 5 additions & 0 deletions __fixtures__/v-next/outputinstantrpc/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,8 @@ export interface TxRpc {
memo: string
): Promise<DeliverTxResponse>;
}

export interface SigningClientParams {
rpcEndpoint: string | HttpEndpoint;
signer: OfflineSigner;
}
5 changes: 5 additions & 0 deletions __fixtures__/v-next/outputsign/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,8 @@ export interface TxRpc {
memo: string
): Promise<DeliverTxResponse>;
}

export interface SigningClientParams {
rpcEndpoint: string | HttpEndpoint;
signer: OfflineSigner;
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,22 @@ exports[`createStargateClient w/o defaults 1`] = `
`;

exports[`createStargateClient w/o defaults 2`] = `
"export const getOsmosisTxRpcClient = async ({
rpcEndpoint,
signer
}: SigningClientParams) => {
let txRpc = (await getRpcClient(rpcEndpoint) as TxRpc);
const signingClient = await getSigningOsmosisClient({
rpcEndpoint,
signer
});
txRpc.signAndBroadcast = (signerAddress: string, messages: EncodeObject[], fee: number | StdFee | "auto", memo?: string) => {
return (signingClient.signAndBroadcast(signerAddress, messages, fee, memo) as Promise<DeliverTxResponse>);
};
};"
`;

exports[`createStargateClient w/o defaults 3`] = `
"export const getSigningOsmosisClientOptions = (): {
registry: Registry;
aminoTypes: AminoTypes;
Expand All @@ -72,14 +88,20 @@ exports[`createStargateClient w/o defaults 2`] = `
};"
`;

exports[`createStargateClient w/o defaults 3`] = `
exports[`createStargateClient w/o defaults 4`] = `
{
"AminoTypes": true,
"DeliverTxResponse": true,
"EncodeObject": true,
"GeneratedType": true,
"HttpEndpoint": true,
"OfflineSigner": true,
"Registry": true,
"SigningClientParams": true,
"SigningStargateClient": true,
"StdFee": true,
"TxRpc": true,
"getRpcClient": true,
}
`;

Expand Down
8 changes: 7 additions & 1 deletion packages/ast/src/clients/stargate/stargate.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import {
createStargateClient,
createStargateClientOptions,
createStargateClientAminoRegistry,
createStargateClientProtoRegistry
createStargateClientProtoRegistry,
createGetTxRpc
} from './stargate';
import { ProtoRef } from '@cosmology/types';

Expand Down Expand Up @@ -112,6 +113,11 @@ it('createStargateClient w/o defaults', async () => {
name: 'getSigningOsmosisClient',
options: 'getSigningOsmosisClientOptions',
}));
expectCode(createGetTxRpc(
context,
"getOsmosisTxRpcClient",
"getSigningOsmosisClient"
));
expectCode(createStargateClientOptions({
context,
name: 'getSigningOsmosisClientOptions',
Expand Down
Loading

0 comments on commit 602f926

Please sign in to comment.