build_cross_chain_swap.tsā¢1.03 kB
import { createOKXClient } from "./../../shared/common/okxClient";
import { BaseWallet } from "./../../shared/common/wallet";
import { CrossChainSwapParams, OKXDexClient } from "@okx-dex/okx-dex-sdk";
import { Connection, Keypair } from "@solana/web3.js";
import bs58 from "bs58";
import { ENV } from "./../../shared/env";
export async function build_cross_chain_swap(params: CrossChainSwapParams) {
try {
const connection = new Connection(ENV.RPC_ENDPOINT_URI);
const keypair = Keypair.fromSecretKey(bs58.decode(ENV.WALLET_PRIVATE_KEY));
const baseWallet = new BaseWallet(keypair, connection);
const client: OKXDexClient = createOKXClient(baseWallet);
const data = await client.bridge.buildCrossChainSwap(params);
return JSON.stringify({
status: "success",
data,
message: "OKX_BRIDGE_BUILD_CROSS_CHAIN_SWAP_SUCCEEDED",
});
} catch (error) {
return JSON.stringify({
status: "error",
error,
message: "OKX_BRIDGE_BUILD_CROSS_CHAIN_SWAP_ERROR",
});
}
}