/** * BSC bundle submission via BlockRazor / Flashbots-compatible API. * * Bundles multiple signed transactions into a single atomic submission. * All txs in a bundle execute in the same block, or none do. * * Requires an RPC that supports `eth_sendBundle` (e.g. BlockRazor). */ import { type Address, type Hex, type PublicClient } from 'viem'; import { type PrivateKeyAccount } from 'viem/accounts'; export type BundleTx = { /** Signed raw transaction hex */ signedTx: Hex; }; export type BundleResult = { success: boolean; bundleHash?: string | undefined; error?: string | undefined; }; /** * Sign a transaction offline without broadcasting. * Returns the raw signed tx hex for bundle inclusion. */ export declare function signRawTx(account: PrivateKeyAccount, params: { to: Address; data: Hex; value: bigint; nonce: number; gasLimit: bigint; gasPrice: bigint; chainId?: number; }): Promise; /** * Submit a bundle of signed transactions to the RPC's eth_sendBundle endpoint. * * @param signedTxs Array of signed raw tx hex strings * @param targetBlock Target block number (bundle valid for this block only) * @param rpcUrl RPC endpoint that supports eth_sendBundle (defaults to config.rpcUrl) */ export declare function sendBundle(signedTxs: Hex[], targetBlock: bigint, rpcUrl?: string): Promise; /** * Convenience: sign multiple buy txs from different wallets and submit as bundle. */ export declare function sendBundledBuys(client: PublicClient, accounts: PrivateKeyAccount[], params: { tokenManager: Address; token: Address; bnbPerWallet: bigint; minAmounts: bigint[]; buyFunctionData: Hex[]; }): Promise; //# sourceMappingURL=bundle.d.ts.map