import { Turnkey } from "@turnkey/sdk-server";
import { TurnkeyDirectWallet } from "@turnkey/cosmjs";
import { toHex } from "@cosmjs/encoding";
import { SigningStargateClient } from "@cosmjs/stargate";
// Initialize the Turnkey client
const turnkeyClient = new Turnkey({
apiBaseUrl: "https://api.turnkey.com",
apiPrivateKey: process.env.API_PRIVATE_KEY,
apiPublicKey: process.env.API_PUBLIC_KEY,
defaultOrganizationId: process.env.ORGANIZATION_ID,
});
const signer = await initializeCosmosSigner(turnkeyClient);
// Connect to a Cosmos chain RPC endpoint
const rpcEndpoint = "https://rpc.celestia-arabica-11.com";
const client = await SigningStargateClient.connectWithSigner(
rpcEndpoint,
signer
);
// Get account balance
const balance = await client.getAllBalances(signer.address);
const recipient = "celestia1vsvx8n7f8dh5udesqqhgrjutyun7zqrgehdq2l";
const amount = coins(1000, "utia");
const fee = calculateFee(200000, GasPrice.fromString("0.01usei"));
const result = await client.sendTokens(
signer.address,
recipient,
amount,
fee,
"Sent via Turnkey"
);
const result = await signingClient.sendTokens(
signer.address,
recipient,
[{ denom: "utia", amount: transactionAmount }],
{
amount: [{ denom: "utia", amount: "20000" }],
gas: "200000",
},
"Hello from Turnkey!"
);