import { Turnkey } from "@turnkey/sdk-server";
import {
  SigningStargateClient,
  GasPrice,
  calculateFee,
} from "@cosmjs/stargate";
import { coins } from "@cosmjs/amino";
// Import the initializeSeiSigner function from wallet.ts
import { initializeSeiSigner } from "./wallet";
// 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 initializeSeiSigner(turnkeyClient);
// Connect to Sei network - use the appropriate endpoint for mainnet/testnet
const rpcEndpoint = "https://sei-rpc.polkachu.com"; // Example RPC endpoint
const client = await SigningStargateClient.connectWithSigner(
  rpcEndpoint,
  signer,
  {
    gasPrice: GasPrice.fromString("0.01usei"),
  }
);
const recipient = "sei1recipient..."; // Recipient address
const amount = coins(1000000, "usei"); // 1 SEI
const fee = calculateFee(200000, GasPrice.fromString("0.01usei"));
const result = await client.sendTokens(
  signer.address,
  recipient,
  amount,
  fee,
  "Sent via Turnkey"
);
console.log("Transaction hash:", result.transactionHash);