Skip to content

Commit

Permalink
add stub result when simulation returns blank
Browse files Browse the repository at this point in the history
  • Loading branch information
chadoh committed Jun 13, 2024
1 parent d009c0e commit ead51f5
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/contract/assembled_transaction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -330,8 +330,8 @@ export class AssembledTransaction<T> {
method: this.options.method,
tx: this.built?.toXDR(),
simulationResult: {
auth: this.simulationData.result?.auth.map((a) => a.toXDR("base64")),
retval: this.simulationData.result?.retval.toXDR("base64"),
auth: this.simulationData.result.auth.map((a) => a.toXDR("base64")),
retval: this.simulationData.result.retval.toXDR("base64"),
},
simulationTransactionData:
this.simulationData.transactionData.toXDR("base64"),
Expand Down Expand Up @@ -532,7 +532,7 @@ export class AssembledTransaction<T> {
};

get simulationData(): {
result?: Api.SimulateHostFunctionResult;
result: Api.SimulateHostFunctionResult;
transactionData: xdr.SorobanTransactionData;
} {
if (this.simulationResult && this.simulationTransactionData) {
Expand Down Expand Up @@ -560,7 +560,7 @@ export class AssembledTransaction<T> {
}

// add to object for serialization & deserialization
this.simulationResult = simulation.result;
this.simulationResult = simulation.result ?? { auth: [], retval: new xdr.ScVal() };
this.simulationTransactionData = simulation.transactionData.build();

return {
Expand All @@ -574,7 +574,7 @@ export class AssembledTransaction<T> {
if (!this.simulationData.result) {
throw new Error("No simulation result!");
}
return this.options.parseResultXdr(this.simulationData.result?.retval);
return this.options.parseResultXdr(this.simulationData.result.retval);
} catch (e) {
if (!implementsToString(e)) throw e;
const err = this.parseError(e.toString());
Expand Down Expand Up @@ -827,7 +827,7 @@ export class AssembledTransaction<T> {
* returns `false`, then you need to call `signAndSend` on this transaction.
*/
get isReadCall(): boolean {
const authsCount = this.simulationData.result?.auth.length;
const authsCount = this.simulationData.result.auth.length;
const writeLength = this.simulationData.transactionData
.resources()
.footprint()
Expand Down

0 comments on commit ead51f5

Please sign in to comment.