{"version":3,"file":"createSmartTransactionWithTip.cjs","sources":["../../../../src/transactions/createSmartTransactionWithTip.ts"],"sourcesContent":["import { lamports } from \"@solana/kit\";\nimport { getTransferSolInstruction } from \"@solana-program/system\";\n\nimport {\n  type CreateSmartTxResult,\n  type CreateSmartTxWithTipInput,\n  CreateSmartTransactionFn,\n  CreateSmartTransactionWithTipFn,\n  SENDER_TIP_ACCOUNTS,\n} from \"./types\";\n\nexport const makeCreateSmartTransactionWithTip = (\n  createSmartTransaction: CreateSmartTransactionFn\n): { create: CreateSmartTransactionWithTipFn } => {\n  const createWithTip: CreateSmartTransactionWithTipFn = async (\n    args: CreateSmartTxWithTipInput\n  ): Promise<CreateSmartTxResult> => {\n    const feePayer =\n      typeof args.feePayer === \"string\"\n        ? args.signers.find((s) => s.address === args.feePayer)\n        : (args.feePayer ?? args.signers[0]);\n\n    if (!feePayer) {\n      throw new Error(\n        \"createSmartTransactionWithTip: could not resolve a fee payer signer\"\n      );\n    }\n\n    // Random tip account to avoid CU lockouts\n    const randomTipAccount =\n      SENDER_TIP_ACCOUNTS[\n        Math.floor(Math.random() * SENDER_TIP_ACCOUNTS.length)\n      ];\n\n    const tipIx = getTransferSolInstruction({\n      source: feePayer,\n      destination: randomTipAccount,\n      amount: lamports(BigInt(args.tipAmount ?? 500_000)),\n    });\n\n    return createSmartTransaction({\n      ...args,\n      // Append tip IX so it appears before user instructions\n      instructions: [...args.instructions, tipIx],\n    });\n  };\n\n  return { create: createWithTip };\n};\n"],"names":["SENDER_TIP_ACCOUNTS","getTransferSolInstruction","lamports"],"mappings":";;;;;;AAWO,MAAM,iCAAiC,GAAG,CAC/C,sBAAgD,KACD;AAC/C,IAAA,MAAM,aAAa,GAAoC,OACrD,IAA+B,KACC;AAChC,QAAA,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,QAAQ,KAAK;AACvB,cAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ;AACtD,eAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE;QACH;;AAGA,QAAA,MAAM,gBAAgB,GACpBA,yBAAmB,CACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAGA,yBAAmB,CAAC,MAAM,CAAC,CACvD;QAEH,MAAM,KAAK,GAAGC,gCAAyB,CAAC;AACtC,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,WAAW,EAAE,gBAAgB;YAC7B,MAAM,EAAEC,YAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,MAAO,CAAC,CAAC;AACpD,SAAA,CAAC;AAEF,QAAA,OAAO,sBAAsB,CAAC;AAC5B,YAAA,GAAG,IAAI;;YAEP,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;AAC5C,SAAA,CAAC;AACJ,IAAA,CAAC;AAED,IAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE;AAClC;;;;"}