flashbots-cli
Version:
Flashbots CLI tool.
25 lines (24 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFlashbotsProvider = exports.getStandardProvider = void 0;
const ethers_provider_bundle_1 = require("@flashbots/ethers-provider-bundle");
const ethers_1 = require("ethers");
const constants_1 = require("./constants");
const ENV_AUTH_SIGNER = process.env.FB_AUTH_SIGNER ? (() => {
const wallet = new ethers_1.Wallet(process.env.FB_AUTH_SIGNER);
console.log(`Auth Signer: ${wallet.address}`);
return wallet;
})() : (() => {
console.warn("FB_AUTH_SIGNER is not set in your environment. Using a random wallet.");
return ethers_1.Wallet.createRandom();
})();
const getStandardProvider = () => {
return new ethers_1.providers.JsonRpcProvider({ url: constants_1.FLASHBOTS_PROTECT_URL }, 1);
};
exports.getStandardProvider = getStandardProvider;
const getFlashbotsProvider = async (authSignerKeyOverride) => {
const provider = (0, exports.getStandardProvider)();
const signer = authSignerKeyOverride ? new ethers_1.Wallet(authSignerKeyOverride) : ENV_AUTH_SIGNER;
return await ethers_provider_bundle_1.FlashbotsBundleProvider.create(provider, signer);
};
exports.getFlashbotsProvider = getFlashbotsProvider;