{"version":3,"file":"perform-atomic-transaction-composer-simulate.mjs","sources":["../../src/transaction/perform-atomic-transaction-composer-simulate.ts"],"sourcesContent":["import algosdk, { SignedTransaction, decodeMsgpack } from 'algosdk'\nimport Algodv2 = algosdk.Algodv2\nimport AtomicTransactionComposer = algosdk.AtomicTransactionComposer\nimport modelsv2 = algosdk.modelsv2\n\n/**\n * Performs a simulation of the transactions loaded into the given AtomicTransactionComposer.\n * Uses empty transaction signers for all transactions.\n *\n * @param atc The AtomicTransactionComposer with transaction(s) loaded.\n * @param algod An Algod client to perform the simulation.\n * @returns The simulation result, which includes various details about how the transactions would be processed.\n */\nexport async function performAtomicTransactionComposerSimulate(\n  atc: AtomicTransactionComposer,\n  algod: Algodv2,\n  options?: Omit<ConstructorParameters<typeof modelsv2.SimulateRequest>[0], 'txnGroups'>,\n) {\n  const unsignedTransactionsSigners = atc.buildGroup()\n  const decodedSignedTransactions = unsignedTransactionsSigners.map((ts) => algosdk.encodeUnsignedSimulateTransaction(ts.txn))\n\n  const simulateRequest = new modelsv2.SimulateRequest({\n    ...(options ?? {\n      allowEmptySignatures: true,\n      fixSigners: true,\n      allowMoreLogging: true,\n      execTraceConfig: new modelsv2.SimulateTraceConfig({\n        enable: true,\n        scratchChange: true,\n        stackChange: true,\n        stateChange: true,\n      }),\n    }),\n    txnGroups: [\n      new modelsv2.SimulateRequestTransactionGroup({\n        txns: decodedSignedTransactions.map((txn) => decodeMsgpack(txn, SignedTransaction)),\n      }),\n    ],\n  })\n  const simulateResult = await algod.simulateTransactions(simulateRequest).do()\n  return simulateResult\n}\n"],"names":[],"mappings":";;AAGA,IAAO,QAAQ,GAAG,OAAO,CAAC,QAAQ;AAElC;;;;;;;AAOG;AACI,eAAe,wCAAwC,CAC5D,GAA8B,EAC9B,KAAc,EACd,OAAsF,EAAA;AAEtF,IAAA,MAAM,2BAA2B,GAAG,GAAG,CAAC,UAAU,EAAE;IACpD,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,iCAAiC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAE5H,IAAA,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,eAAe,CAAC;QACnD,IAAI,OAAO,IAAI;AACb,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,eAAe,EAAE,IAAI,QAAQ,CAAC,mBAAmB,CAAC;AAChD,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,WAAW,EAAE,IAAI;aAClB,CAAC;SACH,CAAC;AACF,QAAA,SAAS,EAAE;YACT,IAAI,QAAQ,CAAC,+BAA+B,CAAC;AAC3C,gBAAA,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;aACpF,CAAC;AACH,SAAA;AACF,KAAA,CAAC;AACF,IAAA,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE;AAC7E,IAAA,OAAO,cAAc;AACvB;;;;"}