UNPKG

@cyberk/hyperion-sdk

Version:

Hyperion SDK from Cyberk

59 lines 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getQuoteQueryOptions = exports.getQuoteFn = exports.getQuoteQueryKey = exports.getQuoteQueryMsg = void 0; const utils_1 = require("../utils"); const getQuoteQueryMsg = (options) => { const { offerAmount, offerAsset, askAsset } = options; return { simulate_swap_operations: { operations: [ { hyperion: { offer_asset_info: { native_token: { denom: offerAsset, }, }, ask_asset_info: { native_token: { denom: askAsset, }, }, }, }, ], offer_amount: offerAmount, }, }; }; exports.getQuoteQueryMsg = getQuoteQueryMsg; const getQuoteQueryKey = (options) => { return [ "simulateSwapOperations", options.routerContract, options.offerAsset, options.askAsset, options.offerAmount, ]; }; exports.getQuoteQueryKey = getQuoteQueryKey; const getQuoteFn = async (options) => { const { client, routerContract } = options; if (!client) { throw new Error("Client is required"); } if (!routerContract) { throw new Error("Router contract address is required"); } const result = await (0, utils_1.queryContractSmart)(client, routerContract, (0, exports.getQuoteQueryMsg)(options)); return result; }; exports.getQuoteFn = getQuoteFn; const getQuoteQueryOptions = (options) => { return { queryFn: async () => (0, exports.getQuoteFn)(options), queryKey: (0, exports.getQuoteQueryKey)(options), }; }; exports.getQuoteQueryOptions = getQuoteQueryOptions; //# sourceMappingURL=getQuote.js.map