Skip to content

Commit

Permalink
Conditionally use inner txns macro only if necessary
Browse files Browse the repository at this point in the history
  • Loading branch information
fergalwalsh committed Jun 5, 2024
1 parent 8266356 commit 47056bd
Showing 1 changed file with 17 additions and 7 deletions.
24 changes: 17 additions & 7 deletions tealish/nodes.py
Original file line number Diff line number Diff line change
Expand Up @@ -1043,14 +1043,24 @@ def process(self) -> None:
node.expression.process()

def write_teal(self, writer: "TealWriter") -> None:
self.compiler.use_inner_txns_macro = False
writer.write(self, f"// tl:{self.line_no}: {self.line}")
writer.write(self, "callsub _itxn_begin")
writer.level += 1
for node in self.child_nodes:
writer.write(self, node)
writer.level -= 1
writer.write(self, "callsub _itxn_submit")
writer.write(self, "// end inner_txn")
if self.compiler.use_inner_txns_macro:
writer.write(self, "callsub _itxn_begin")
writer.level += 1
for node in self.child_nodes:
writer.write(self, node)
writer.level -= 1
writer.write(self, "callsub _itxn_submit")
writer.write(self, "// end inner_txn")
else:
writer.write(self, "itxn_begin")
writer.level += 1
for node in self.child_nodes:
writer.write(self, node)
writer.level -= 1
writer.write(self, "itxn_submit")
writer.write(self, "// end inner_txn")

def _tealish(self) -> str:
output = "inner_txn:\n"
Expand Down

0 comments on commit 47056bd

Please sign in to comment.