@drift-labs/sdk
Version:
SDK for Drift Protocol
47 lines (46 loc) • 1.81 kB
JavaScript
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;
;