Skip to content

Commit

Permalink
Add simulate trace
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewwalsh0 committed Aug 2, 2024
1 parent a90bc71 commit 401e731
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions packages/transaction-controller/src/TransactionController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1128,7 +1128,7 @@ export class TransactionController extends BaseController<

if (requireApproval !== false) {
// eslint-disable-next-line @typescript-eslint/no-floating-promises
this.#updateSimulationData(addedTransactionMeta);
this.#updateSimulationData(addedTransactionMeta, { traceContext });
} else {
log('Skipping simulation as approval not required');
}
Expand Down Expand Up @@ -3780,7 +3780,10 @@ export class TransactionController extends BaseController<
}
}

async #updateSimulationData(transactionMeta: TransactionMeta) {
async #updateSimulationData(
transactionMeta: TransactionMeta,
{ traceContext }: { traceContext?: TraceContext } = {},
) {
const { id: transactionId, chainId, txParams } = transactionMeta;
const { from, to, value, data } = txParams;

Expand All @@ -3800,13 +3803,17 @@ export class TransactionController extends BaseController<
},
);

simulationData = await getSimulationData({
chainId,
from: from as Hex,
to: to as Hex,
value: value as Hex,
data: data as Hex,
});
simulationData = await this.#trace(
{ name: 'Simulate', parentContext: traceContext },
() =>
getSimulationData({
chainId,
from: from as Hex,
to: to as Hex,
value: value as Hex,
data: data as Hex,
}),
);
}

const finalTransactionMeta = this.getTransaction(transactionId);
Expand Down

0 comments on commit 401e731

Please sign in to comment.