import { Para as ParaServer } from "@getpara/server-sdk";
import { ParaProtoSigner } from "@getpara/cosmjs-v0-integration";
import { SigningStargateClient } from "@cosmjs/stargate";
// Para server client (already authenticated)
const paraServer = new ParaServer("YOUR_API_KEY");
// Create the Para Cosmos Signer
const signer = new ParaProtoSigner(paraServer, "cosmos");
// Connect to the Cosmos network
const rpcUrl = "https://rpc.cosmos.network"; // Replace with your preferred RPC endpoint
const client = await SigningStargateClient.connectWithSigner(rpcUrl, signer);
// Get the wallet address
const address = await signer.getAddress();
console.log(`Wallet address: ${address}`);
// Get account balance
const balance = await client.getBalance(address, "uatom");
console.log(`Balance: ${balance.amount} ${balance.denom}`);
// Send tokens
const recipient = "cosmos1recipient";
const amount = {
  denom: "uatom",
  amount: "100000", // 0.1 ATOM (uatom is microatom, 1 ATOM = 1,000,000 uatom)
};
const result = await client.sendTokens(
  address,
  recipient,
  [amount],
  {
    amount: [{ denom: "uatom", amount: "5000" }],
    gas: "200000",
  }
);
console.log(`Transaction hash: ${result.transactionHash}`);