import { CreatedPdaAccount, PubkeyUtil } from '@saturnbtcio/arch-sdk'; import { createNewAccount } from '../../account/pda-finder'; import { PdaType } from '../../account/pda-type'; import { IdentifiableLiquidityPool, idToToken, } from '@saturnbtcio/pool-serde-sdk'; import { IArchProvider } from '../../providers/arch.provider'; export const createAccountsForAddPoolShards = ( createdPool: IdentifiableLiquidityPool, shardsLength: number, programAccount: string, archProvider: IArchProvider, ) => { const accountPromises: Promise[] = []; const start = createdPool.config.shards; const end = start + shardsLength; for (let i = start; i < end; i++) { accountPromises.push( createNewAccount( { pdaType: PdaType.Shard, feeTier: createdPool.config.feeTier, programId: PubkeyUtil.fromHex(programAccount), shardIdx: i, token0: idToToken(createdPool.config.token0), token1: idToToken(createdPool.config.token1), }, archProvider, ), ); } return accountPromises; };