UNPKG

@drift-labs/sdk

Version:
47 lines (46 loc) 1.81 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.fetchHeliusPriorityFee = exports.HeliusPriorityLevel = void 0; const node_fetch_1 = __importDefault(require("node-fetch")); var HeliusPriorityLevel; (function (HeliusPriorityLevel) { HeliusPriorityLevel["MIN"] = "min"; HeliusPriorityLevel["LOW"] = "low"; HeliusPriorityLevel["MEDIUM"] = "medium"; HeliusPriorityLevel["HIGH"] = "high"; HeliusPriorityLevel["VERY_HIGH"] = "veryHigh"; HeliusPriorityLevel["UNSAFE_MAX"] = "unsafeMax"; })(HeliusPriorityLevel || (exports.HeliusPriorityLevel = HeliusPriorityLevel = {})); /// Fetches the priority fee from the Helius API /// https://docs.helius.dev/solana-rpc-nodes/alpha-priority-fee-api async function fetchHeliusPriorityFee(heliusRpcUrl, lookbackDistance, addresses) { try { const response = await (0, node_fetch_1.default)(heliusRpcUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ jsonrpc: '2.0', id: '1', method: 'getPriorityFeeEstimate', params: [ { accountKeys: addresses, options: { includeAllPriorityFeeLevels: true, lookbackSlots: lookbackDistance, }, }, ], }), }); return await response.json(); } catch (err) { console.error(err); } return undefined; } exports.fetchHeliusPriorityFee = fetchHeliusPriorityFee;