@accret/bridge-sdk
Version:
31 lines • 1.33 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildTransaction = buildTransaction;
exports.executeSwap = executeSwap;
const web3_js_1 = require("@solana/web3.js");
const axios_1 = __importDefault(require("axios"));
const ethers_1 = require("ethers");
const constants_1 = require("../../constants");
const sendSolanaTx_1 = require("../../utils/sendSolanaTx");
async function buildTransaction({ userPublicKey, quoteResponse, }) {
const params = {
userPublicKey: userPublicKey,
quoteResponse: quoteResponse,
};
const response = await axios_1.default.post(`${constants_1.JUPITER_API_URL}/swap/v1/swap`, params);
return response.data;
}
async function executeSwap(params) {
const { quote, privateKey } = params;
const wallet = web3_js_1.Keypair.fromSecretKey((0, ethers_1.decodeBase64)(privateKey));
const swapResponse = await buildTransaction({
userPublicKey: wallet.publicKey.toBase58(),
quoteResponse: quote,
});
const transaction = await (0, sendSolanaTx_1.sendTransaction)(swapResponse.swapTransaction, wallet);
return transaction;
}
//# sourceMappingURL=buildTransaction.js.map