Optional atomicOpens bundled with graduate (default 2, the atomic maximum).
Optional authority?: SignerSigns the repoint amendment; defaults to the umi identity.
Optional backendRequired only when the bucket has a backend signer extension.
Optional computeCompute unit limit per transaction (default 1.4M).
Optional graduationOverride the anchor tick (e.g. from a custom prediction).
Optional opensOpens per follow-up transaction (default 3, the measured maximum).
Optional payer?: null | SignerOn-chain rent payer (deferred pool-creation cost on graduate, position
rent top-ups on opens). Defaults to the umi identity; pass null to
omit, in which case the bucket signer must already hold enough
lamports.
Optional repointRepoint the bucket to this pool seed index and graduate atomically:
prepends updateRaydiumClmmBucketV2PostFinalize (keeping the
configured position plan) to the graduation transaction and derives
every pool account from the new index. This is the recovery path when
the configured index was squatted by another launch of the same mint
pair + amm config (checkClmmLaunchReadiness reports it): pick a
random fresh index with findAvailableClmmPoolSeedIndex and land the
amend and the graduate in one transaction/bundle, so the new index is
never visible on-chain before the pool exists. Must be in
1..MAX_CLMM_POOL_SEED_INDEX.
Generated using TypeDoc
Builds the full deployment as ordered transactions: graduate bundled with the first
atomicOpensopens, then batches ofopensPerFollowUpopens. The defaults (2 and 3) are the measured maximums under the runtime's 64-entry instruction trace limit, so an 8-position launch is exactly 3 transactions — one Jito bundle for all-or-nothing deployment with no sandwich window. When the configured pool seed index was squatted, passrepointToSeedIndexto prepend the post-finalize amendment to the first transaction, keeping the amend and the graduate atomic.Every account is derived before graduation executes (position PDAs come from the predicted anchor tick), which is what makes the atomic bundle possible. The first transaction does not fit a legacy transaction: create an address lookup table over the builders' accounts and send as v0 (see
atomicGraduateAndOpenClmmPositions.test.tsfor a worked example). If the prediction inputs could change before landing (e.g. an uncapped raise still accepting deposits), the bundle simply fails and can be rebuilt — nothing partial lands.Already-graduated buckets get an opens-only plan for the remaining positions, derived from the recorded graduation tick.