From 77df0bd89e2218c746ca320070a774dd999f06f0 Mon Sep 17 00:00:00 2001 From: Ignacio Losiggio Date: Fri, 20 Feb 2026 22:55:17 -0300 Subject: [PATCH 1/2] feat: Add descriptions to wtype struct fields --- examples/arc_28/contract.py | 6 ++ .../arc_28/out/EventEmitter.approval.puya.map | 2 +- .../arc_28/out/EventEmitter.approval.teal | 24 +++---- examples/arc_28/out/EventEmitter.arc56.json | 26 ++++--- .../EventEmitter.approval.000.ssa.ir | 32 ++++----- .../EventEmitter.approval.001.ssa.opt.ir | 18 ++--- .../EventEmitter.approval.002.ssa.opt.ir | 16 ++--- .../EventEmitter.approval.100.ssa.array.ir | 16 ++--- ...EventEmitter.approval.200.ssa.array.opt.ir | 16 ++--- ...EventEmitter.approval.201.ssa.array.opt.ir | 16 ++--- .../EventEmitter.approval.300.ssa.slot.ir | 16 ++--- .../EventEmitter.approval.400.destructured.ir | 16 ++--- .../EventEmitter.approval.500.build.mir | 34 +++++----- .../EventEmitter.approval.501.lstack.mir | 34 +++++----- .../EventEmitter.approval.502.lstack.opt.mir | 34 +++++----- .../EventEmitter.approval.503.xstack.mir | 34 +++++----- .../EventEmitter.approval.504.xstack.opt.mir | 34 +++++----- .../EventEmitter.approval.505.fstack.mir | 34 +++++----- .../EventEmitter.approval.506.fstack.opt.mir | 34 +++++----- .../EventEmitter.approval.507.mir | 34 +++++----- .../out_O2/EventEmitter.approval.puya.map | 2 +- .../EventEmitter.approval.400.destructured.ir | 10 +-- .../EventEmitter.approval.puya.map | 2 +- .../EventEmitter.approval.teal | 36 +++++----- .../EventEmitter.approval.400.destructured.ir | 32 ++++----- examples/arc_28/puya.log | 40 +++++------ examples/arc_28/puya_O2.log | 34 +++++----- examples/arc_28/puya_unoptimized.log | 24 +++---- src/puya/arc56.py | 1 + src/puya/artifact_metadata.py | 1 + src/puya/awst/nodes.py | 6 +- src/puya/awst/wtypes.py | 49 ++++++++++---- src/puya/ir/_contract_metadata.py | 15 +++-- src/puya/ir/arc4_types.py | 21 ++++-- src/puyapy/awst_build/eb/arc4/struct.py | 10 +-- src/puyapy/awst_build/eb/native/struct.py | 10 +-- src/puyapy/awst_build/eb/tuple.py | 14 ++-- src/puyapy/awst_build/module.py | 24 +++++-- src/puyapy/awst_build/pytypes.py | 67 +++++++++++++------ 39 files changed, 484 insertions(+), 390 deletions(-) diff --git a/examples/arc_28/contract.py b/examples/arc_28/contract.py index f05a37131e..f97784e362 100644 --- a/examples/arc_28/contract.py +++ b/examples/arc_28/contract.py @@ -4,12 +4,18 @@ class Swapped(arc4.Struct): + """This is a docstring for Swapped""" + a: arc4.UInt64 b: arc4.UInt64 + """These are field docs for Swapped.b""" class NativeSwapped(Struct): + """This is a docstring for NativeSwapped""" + a: UInt64 + "These are field docs for NativeSwapped.a" b: UInt64 diff --git a/examples/arc_28/out/EventEmitter.approval.puya.map b/examples/arc_28/out/EventEmitter.approval.puya.map index e9d7533a2f..19d73f6620 100644 --- a/examples/arc_28/out/EventEmitter.approval.puya.map +++ b/examples/arc_28/out/EventEmitter.approval.puya.map @@ -3,7 +3,7 @@ "sources": [ "../contract.py" ], - "mappings": ";;;;;AAeA;;AAAA;;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;;;;;;;;;AAAA;;;AAAA;;;;;;;;AAAA;;;;;;;;;AACK;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEa;AAAA;AAAV;;;;;;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAJH;AAAA;AAMA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEa;AAAA;AAAA;AAAA;AAAV;;;;;;AAAA;AAAA;AAAA;AAFH;AAAA;AAIA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMG;AAAA;;;;;;AAAA;AAAA;AAAA;AANH;AAAA", + "mappings": ";;;;;AAqBA;;AAAA;;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;;;;;;;;;AAAA;;;AAAA;;;;;;;;AAAA;;;;;;;;;AACK;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEa;AAAA;AAAV;;;;;;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAJH;AAAA;AAMA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEa;AAAA;AAAA;AAAA;AAAV;;;;;;AAAA;AAAA;AAAA;AAFH;AAAA;AAIA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMG;AAAA;;;;;;AAAA;AAAA;AAAA;AANH;AAAA", "op_pc_offset": 0, "pc_events": { "1": { diff --git a/examples/arc_28/out/EventEmitter.approval.teal b/examples/arc_28/out/EventEmitter.approval.teal index ceca8829f4..1babded364 100644 --- a/examples/arc_28/out/EventEmitter.approval.teal +++ b/examples/arc_28/out/EventEmitter.approval.teal @@ -4,7 +4,7 @@ // algopy.arc4.ARC4Contract.approval_program() -> uint64: main: intcblock 8 1 - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn NumAppArgs bz main___algopy_default_create@10 @@ -29,7 +29,7 @@ main___algopy_default_create@10: // examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: emit_swapped: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod txna ApplicationArgs 1 dup @@ -43,7 +43,7 @@ emit_swapped: intc_0 // 8 == assert // invalid number of bytes for arc4.uint64 - // arc_28/contract.py:19 + // arc_28/contract.py:25 // arc4.emit(Swapped(b, a)) swap concat @@ -52,14 +52,14 @@ emit_swapped: concat dup log - // arc_28/contract.py:20 + // arc_28/contract.py:26 // arc4.emit("Swapped(uint64,uint64)", b, a) dup log - // arc_28/contract.py:21 + // arc_28/contract.py:27 // arc4.emit("Swapped", b, a) log - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod intc_1 // 1 return @@ -67,7 +67,7 @@ emit_swapped: // examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: emit_native_swapped: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod txna ApplicationArgs 1 dup @@ -83,7 +83,7 @@ emit_native_swapped: == assert // invalid number of bytes for arc4.uint64 btoi - // arc_28/contract.py:25 + // arc_28/contract.py:31 // arc4.emit(NativeSwapped(a=b, b=a)) itob swap @@ -93,7 +93,7 @@ emit_native_swapped: swap concat log - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod intc_1 // 1 return @@ -101,7 +101,7 @@ emit_native_swapped: // examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: emit_ufixed: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() txna ApplicationArgs 1 dup @@ -115,14 +115,14 @@ emit_ufixed: intc_0 // 8 == assert // invalid number of bytes for arc4.ufixed64x2 - // arc_28/contract.py:33 + // arc_28/contract.py:39 // arc4.emit("AnEvent(ufixed256x16,ufixed64x2)", a, b) concat pushbytes 0x7389b1ba // method "AnEvent(ufixed256x16,ufixed64x2)" swap concat log - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() intc_1 // 1 return diff --git a/examples/arc_28/out/EventEmitter.arc56.json b/examples/arc_28/out/EventEmitter.arc56.json index 956e9f6076..c13be53764 100644 --- a/examples/arc_28/out/EventEmitter.arc56.json +++ b/examples/arc_28/out/EventEmitter.arc56.json @@ -34,9 +34,11 @@ }, { "type": "uint64", - "name": "b" + "name": "b", + "desc": "These are field docs for Swapped.b" } - ] + ], + "desc": "This is a docstring for Swapped" }, { "name": "Swapped", @@ -82,13 +84,15 @@ "args": [ { "type": "uint64", - "name": "a" + "name": "a", + "desc": "These are field docs for NativeSwapped.a" }, { "type": "uint64", "name": "b" } - ] + ], + "desc": "This is a docstring for NativeSwapped" } ], "recommendations": {} @@ -199,7 +203,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuYXBwcm92YWxfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayA4IDEKICAgIC8vIGFyY18yOC9jb250cmFjdC5weToxNgogICAgLy8gY2xhc3MgRXZlbnRFbWl0dGVyKEFSQzRDb250cmFjdCk6CiAgICB0eG4gTnVtQXBwQXJncwogICAgYnogbWFpbl9fX2FsZ29weV9kZWZhdWx0X2NyZWF0ZUAxMAogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0CiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0CiAgICBwdXNoYnl0ZXNzIDB4MGE5NTQyY2QgMHg3OWM1YmEzMiAweDcxYTMxNTFmIC8vIG1ldGhvZCAiZW1pdF9zd2FwcGVkKHVpbnQ2NCx1aW50NjQpdm9pZCIsIG1ldGhvZCAiZW1pdF9uYXRpdmVfc3dhcHBlZCh1aW50NjQsdWludDY0KXZvaWQiLCBtZXRob2QgImVtaXRfdWZpeGVkKHVmaXhlZDI1NngxNix1Zml4ZWQ2NHgyKXZvaWQiCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBtYXRjaCBlbWl0X3N3YXBwZWQgZW1pdF9uYXRpdmVfc3dhcHBlZCBlbWl0X3VmaXhlZAogICAgZXJyCgptYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDEwOgogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgICEKICAgICYmCiAgICByZXR1cm4KCgovLyBleGFtcGxlcy5hcmNfMjguY29udHJhY3QuRXZlbnRFbWl0dGVyLmVtaXRfc3dhcHBlZFtyb3V0aW5nXSgpIC0+IHZvaWQ6CmVtaXRfc3dhcHBlZDoKICAgIC8vIGFyY18yOC9jb250cmFjdC5weToxNwogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18wIC8vIDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDY0CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18wIC8vIDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDY0CiAgICAvLyBhcmNfMjgvY29udHJhY3QucHk6MTkKICAgIC8vIGFyYzQuZW1pdChTd2FwcGVkKGIsIGEpKQogICAgc3dhcAogICAgY29uY2F0CiAgICBwdXNoYnl0ZXMgMHgxY2NiZDkyNSAvLyBtZXRob2QgIlN3YXBwZWQodWludDY0LHVpbnQ2NCkiCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGR1cAogICAgbG9nCiAgICAvLyBhcmNfMjgvY29udHJhY3QucHk6MjAKICAgIC8vIGFyYzQuZW1pdCgiU3dhcHBlZCh1aW50NjQsdWludDY0KSIsIGIsIGEpCiAgICBkdXAKICAgIGxvZwogICAgLy8gYXJjXzI4L2NvbnRyYWN0LnB5OjIxCiAgICAvLyBhcmM0LmVtaXQoIlN3YXBwZWQiLCBiLCBhKQogICAgbG9nCiAgICAvLyBhcmNfMjgvY29udHJhY3QucHk6MTcKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKCi8vIGV4YW1wbGVzLmFyY18yOC5jb250cmFjdC5FdmVudEVtaXR0ZXIuZW1pdF9uYXRpdmVfc3dhcHBlZFtyb3V0aW5nXSgpIC0+IHZvaWQ6CmVtaXRfbmF0aXZlX3N3YXBwZWQ6CiAgICAvLyBhcmNfMjgvY29udHJhY3QucHk6MjMKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMCAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZHVwCiAgICBsZW4KICAgIGludGNfMCAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgLy8gYXJjXzI4L2NvbnRyYWN0LnB5OjI1CiAgICAvLyBhcmM0LmVtaXQoTmF0aXZlU3dhcHBlZChhPWIsIGI9YSkpCiAgICBpdG9iCiAgICBzd2FwCiAgICBpdG9iCiAgICBjb25jYXQKICAgIHB1c2hieXRlcyAweDliN2FkODU1IC8vIG1ldGhvZCAiTmF0aXZlU3dhcHBlZCh1aW50NjQsdWludDY0KSIKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICAvLyBhcmNfMjgvY29udHJhY3QucHk6MjMKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKCi8vIGV4YW1wbGVzLmFyY18yOC5jb250cmFjdC5FdmVudEVtaXR0ZXIuZW1pdF91Zml4ZWRbcm91dGluZ10oKSAtPiB2b2lkOgplbWl0X3VmaXhlZDoKICAgIC8vIGFyY18yOC9jb250cmFjdC5weToyNwogICAgLy8gQGFyYzQuYWJpbWV0aG9kKCkKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDMyCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVmaXhlZDI1NngxNgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZHVwCiAgICBsZW4KICAgIGludGNfMCAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVmaXhlZDY0eDIKICAgIC8vIGFyY18yOC9jb250cmFjdC5weTozMwogICAgLy8gYXJjNC5lbWl0KCJBbkV2ZW50KHVmaXhlZDI1NngxNix1Zml4ZWQ2NHgyKSIsIGEsIGIpCiAgICBjb25jYXQKICAgIHB1c2hieXRlcyAweDczODliMWJhIC8vIG1ldGhvZCAiQW5FdmVudCh1Zml4ZWQyNTZ4MTYsdWZpeGVkNjR4MikiCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgLy8gYXJjXzI4L2NvbnRyYWN0LnB5OjI3CiAgICAvLyBAYXJjNC5hYmltZXRob2QoKQogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgo=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuYXBwcm92YWxfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayA4IDEKICAgIC8vIGFyY18yOC9jb250cmFjdC5weToyMgogICAgLy8gY2xhc3MgRXZlbnRFbWl0dGVyKEFSQzRDb250cmFjdCk6CiAgICB0eG4gTnVtQXBwQXJncwogICAgYnogbWFpbl9fX2FsZ29weV9kZWZhdWx0X2NyZWF0ZUAxMAogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0CiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0CiAgICBwdXNoYnl0ZXNzIDB4MGE5NTQyY2QgMHg3OWM1YmEzMiAweDcxYTMxNTFmIC8vIG1ldGhvZCAiZW1pdF9zd2FwcGVkKHVpbnQ2NCx1aW50NjQpdm9pZCIsIG1ldGhvZCAiZW1pdF9uYXRpdmVfc3dhcHBlZCh1aW50NjQsdWludDY0KXZvaWQiLCBtZXRob2QgImVtaXRfdWZpeGVkKHVmaXhlZDI1NngxNix1Zml4ZWQ2NHgyKXZvaWQiCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBtYXRjaCBlbWl0X3N3YXBwZWQgZW1pdF9uYXRpdmVfc3dhcHBlZCBlbWl0X3VmaXhlZAogICAgZXJyCgptYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDEwOgogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgICEKICAgICYmCiAgICByZXR1cm4KCgovLyBleGFtcGxlcy5hcmNfMjguY29udHJhY3QuRXZlbnRFbWl0dGVyLmVtaXRfc3dhcHBlZFtyb3V0aW5nXSgpIC0+IHZvaWQ6CmVtaXRfc3dhcHBlZDoKICAgIC8vIGFyY18yOC9jb250cmFjdC5weToyMwogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18wIC8vIDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDY0CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18wIC8vIDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDY0CiAgICAvLyBhcmNfMjgvY29udHJhY3QucHk6MjUKICAgIC8vIGFyYzQuZW1pdChTd2FwcGVkKGIsIGEpKQogICAgc3dhcAogICAgY29uY2F0CiAgICBwdXNoYnl0ZXMgMHgxY2NiZDkyNSAvLyBtZXRob2QgIlN3YXBwZWQodWludDY0LHVpbnQ2NCkiCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGR1cAogICAgbG9nCiAgICAvLyBhcmNfMjgvY29udHJhY3QucHk6MjYKICAgIC8vIGFyYzQuZW1pdCgiU3dhcHBlZCh1aW50NjQsdWludDY0KSIsIGIsIGEpCiAgICBkdXAKICAgIGxvZwogICAgLy8gYXJjXzI4L2NvbnRyYWN0LnB5OjI3CiAgICAvLyBhcmM0LmVtaXQoIlN3YXBwZWQiLCBiLCBhKQogICAgbG9nCiAgICAvLyBhcmNfMjgvY29udHJhY3QucHk6MjMKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKCi8vIGV4YW1wbGVzLmFyY18yOC5jb250cmFjdC5FdmVudEVtaXR0ZXIuZW1pdF9uYXRpdmVfc3dhcHBlZFtyb3V0aW5nXSgpIC0+IHZvaWQ6CmVtaXRfbmF0aXZlX3N3YXBwZWQ6CiAgICAvLyBhcmNfMjgvY29udHJhY3QucHk6MjkKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMCAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZHVwCiAgICBsZW4KICAgIGludGNfMCAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgLy8gYXJjXzI4L2NvbnRyYWN0LnB5OjMxCiAgICAvLyBhcmM0LmVtaXQoTmF0aXZlU3dhcHBlZChhPWIsIGI9YSkpCiAgICBpdG9iCiAgICBzd2FwCiAgICBpdG9iCiAgICBjb25jYXQKICAgIHB1c2hieXRlcyAweDliN2FkODU1IC8vIG1ldGhvZCAiTmF0aXZlU3dhcHBlZCh1aW50NjQsdWludDY0KSIKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICAvLyBhcmNfMjgvY29udHJhY3QucHk6MjkKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKCi8vIGV4YW1wbGVzLmFyY18yOC5jb250cmFjdC5FdmVudEVtaXR0ZXIuZW1pdF91Zml4ZWRbcm91dGluZ10oKSAtPiB2b2lkOgplbWl0X3VmaXhlZDoKICAgIC8vIGFyY18yOC9jb250cmFjdC5weTozMwogICAgLy8gQGFyYzQuYWJpbWV0aG9kKCkKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDMyCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVmaXhlZDI1NngxNgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZHVwCiAgICBsZW4KICAgIGludGNfMCAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVmaXhlZDY0eDIKICAgIC8vIGFyY18yOC9jb250cmFjdC5weTozOQogICAgLy8gYXJjNC5lbWl0KCJBbkV2ZW50KHVmaXhlZDI1NngxNix1Zml4ZWQ2NHgyKSIsIGEsIGIpCiAgICBjb25jYXQKICAgIHB1c2hieXRlcyAweDczODliMWJhIC8vIG1ldGhvZCAiQW5FdmVudCh1Zml4ZWQyNTZ4MTYsdWZpeGVkNjR4MikiCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgLy8gYXJjXzI4L2NvbnRyYWN0LnB5OjMzCiAgICAvLyBAYXJjNC5hYmltZXRob2QoKQogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgo=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMQogICAgcmV0dXJuCg==" }, "byteCode": { @@ -224,9 +228,11 @@ }, { "type": "uint64", - "name": "b" + "name": "b", + "desc": "These are field docs for Swapped.b" } - ] + ], + "desc": "This is a docstring for Swapped" }, { "name": "Swapped", @@ -246,13 +252,15 @@ "args": [ { "type": "uint64", - "name": "a" + "name": "a", + "desc": "These are field docs for NativeSwapped.a" }, { "type": "uint64", "name": "b" } - ] + ], + "desc": "This is a docstring for NativeSwapped" }, { "name": "AnEvent", diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.000.ssa.ir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.000.ssa.ir index 12e7021283..35a579c4fc 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.000.ssa.ir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.000.ssa.ir @@ -4,34 +4,34 @@ main algopy.arc4.ARC4Contract.approval_program: return tmp%0#0 subroutine examples.arc_28.contract.EventEmitter.__puya_arc4_router__() -> bool: - block@0: // L16 + block@0: // L22 let tmp%0#0: uint64 = (txn NumAppArgs) let tmp%1#0: bool = (!= tmp%0#0 0u) goto tmp%1#0 ? block@1 : block@9 - block@1: // abi_routing_L16 + block@1: // abi_routing_L22 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: bool = (== tmp%2#0 NoOp) (assert tmp%3#0) let tmp%4#0: uint64 = (txn ApplicationID) let tmp%5#0: bool = (!= tmp%4#0 0u) goto tmp%5#0 ? block@2 : block@7 - block@2: // call_NoOp_L16 + block@2: // call_NoOp_L22 let tmp%6#0: bytes = (txna ApplicationArgs 0) switch tmp%6#0 {method "emit_swapped(uint64,uint64)void" => block@3, method "emit_native_swapped(uint64,uint64)void" => block@4, method "emit_ufixed(ufixed256x16,ufixed64x2)void" => block@5, * => block@6} - block@3: // emit_swapped_route_L17 + block@3: // emit_swapped_route_L23 examples.arc_28.contract.EventEmitter.emit_swapped[routing]() goto block@6 - block@4: // emit_native_swapped_route_L23 + block@4: // emit_native_swapped_route_L29 examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() goto block@6 - block@5: // emit_ufixed_route_L27 + block@5: // emit_ufixed_route_L33 examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() goto block@6 - block@6: // switch_case_next_L16 + block@6: // switch_case_next_L22 goto block@8 - block@7: // create_NoOp_L16 + block@7: // create_NoOp_L22 goto block@8 - block@8: // after_if_else_L16 + block@8: // after_if_else_L22 goto block@10 block@9: // __algopy_default_create_L1 let tmp%7#0: uint64 = (txn OnCompletion) @@ -42,11 +42,11 @@ subroutine examples.arc_28.contract.EventEmitter.__puya_arc4_router__() -> bool: (assert tmp%11#0) examples.arc_28.contract.EventEmitter.__algopy_default_create() exit 1u - block@10: // after_if_else_L16 + block@10: // after_if_else_L22 exit 0u subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: - block@0: // L17 + block@0: // L23 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -61,7 +61,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: - block@0: // L23 + block@0: // L29 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -78,7 +78,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: - block@0: // L27 + block@0: // L33 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 32u) @@ -93,7 +93,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_swapped(a: Encoded(uint64), b: Encoded(uint64)) -> void: - block@0: // L17 + block@0: // L23 let tmp%0#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) let event%0#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#0) (log event%0#0) @@ -106,14 +106,14 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped(a: Encoded(uint64) return subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped(a: uint64, b: uint64) -> void: - block@0: // L23 + block@0: // L29 let tmp%0#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) let event%0#0: bytes = (concat method "NativeSwapped(uint64,uint64)" tmp%0#0) (log event%0#0) return subroutine examples.arc_28.contract.EventEmitter.emit_ufixed(a: Encoded(uint256), b: Encoded(uint64)) -> void: - block@0: // L27 + block@0: // L33 let tmp%0#0: Encoded(uint256,uint64) = bytes_encode<(uint256,uint64)>(a#0, b#0) let event%0#0: bytes = (concat method "AnEvent(ufixed256x16,ufixed64x2)" tmp%0#0) (log event%0#0) diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.001.ssa.opt.ir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.001.ssa.opt.ir index 44f3031eac..2a275211c2 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.001.ssa.opt.ir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.001.ssa.opt.ir @@ -3,26 +3,26 @@ main algopy.arc4.ARC4Contract.approval_program: let tmp%0#1: uint64 = (txn NumAppArgs) let tmp%1#0: bool = (!= tmp%0#1 0u) goto tmp%0#1 ? block@2 : block@10 - block@2: // abi_routing_L16 + block@2: // abi_routing_L22 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: bool = (! tmp%2#0) (assert tmp%3#0) let tmp%4#0: uint64 = (txn ApplicationID) let tmp%5#0: bool = (!= tmp%4#0 0u) goto tmp%4#0 ? block@3 : block@9 - block@3: // call_NoOp_L16 + block@3: // call_NoOp_L22 let tmp%6#0: bytes = (txna ApplicationArgs 0) switch tmp%6#0 {method "emit_swapped(uint64,uint64)void" => block@4, method "emit_native_swapped(uint64,uint64)void" => block@5, method "emit_ufixed(ufixed256x16,ufixed64x2)void" => block@6, * => block@9} - block@4: // emit_swapped_route_L17 + block@4: // emit_swapped_route_L23 examples.arc_28.contract.EventEmitter.emit_swapped[routing]() goto block@9 - block@5: // emit_native_swapped_route_L23 + block@5: // emit_native_swapped_route_L29 examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() goto block@9 - block@6: // emit_ufixed_route_L27 + block@6: // emit_ufixed_route_L33 examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() goto block@9 - block@9: // after_if_else_L16 + block@9: // after_if_else_L22 fail block@10: // __algopy_default_create_L1 let tmp%7#0: uint64 = (txn OnCompletion) @@ -35,7 +35,7 @@ main algopy.arc4.ARC4Contract.approval_program: exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: - block@0: // L17 + block@0: // L23 let a#0: Encoded(uint64) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 8u) @@ -52,7 +52,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: - block@0: // L23 + block@0: // L29 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -69,7 +69,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: - block@0: // L27 + block@0: // L33 let a#0: Encoded(uint256) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 32u) diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.002.ssa.opt.ir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.002.ssa.opt.ir index 8c0a8d7381..a95ec5dbe8 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.002.ssa.opt.ir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.002.ssa.opt.ir @@ -2,7 +2,7 @@ main algopy.arc4.ARC4Contract.approval_program: block@0: // L1 let tmp%0#1: uint64 = (txn NumAppArgs) goto tmp%0#1 ? block@2 : block@10 - block@2: // abi_routing_L16 + block@2: // abi_routing_L22 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: bool = (! tmp%2#0) (assert tmp%3#0) @@ -10,16 +10,16 @@ main algopy.arc4.ARC4Contract.approval_program: (assert tmp%4#0) let tmp%6#0: bytes = (txna ApplicationArgs 0) switch tmp%6#0 {method "emit_swapped(uint64,uint64)void" => block@4, method "emit_native_swapped(uint64,uint64)void" => block@5, method "emit_ufixed(ufixed256x16,ufixed64x2)void" => block@6, * => block@9} - block@4: // emit_swapped_route_L17 + block@4: // emit_swapped_route_L23 examples.arc_28.contract.EventEmitter.emit_swapped[routing]() goto block@9 - block@5: // emit_native_swapped_route_L23 + block@5: // emit_native_swapped_route_L29 examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() goto block@9 - block@6: // emit_ufixed_route_L27 + block@6: // emit_ufixed_route_L33 examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() goto block@9 - block@9: // after_if_else_L16 + block@9: // after_if_else_L22 fail block@10: // __algopy_default_create_L1 let tmp%7#0: uint64 = (txn OnCompletion) @@ -31,7 +31,7 @@ main algopy.arc4.ARC4Contract.approval_program: exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: - block@0: // L17 + block@0: // L23 let a#0: Encoded(uint64) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 8u) @@ -48,7 +48,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: - block@0: // L23 + block@0: // L29 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -65,7 +65,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: - block@0: // L27 + block@0: // L33 let a#0: Encoded(uint256) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 32u) diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.100.ssa.array.ir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.100.ssa.array.ir index 0d5274816b..792a82d126 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.100.ssa.array.ir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.100.ssa.array.ir @@ -2,7 +2,7 @@ main algopy.arc4.ARC4Contract.approval_program: block@0: // L1 let tmp%0#1: uint64 = (txn NumAppArgs) goto tmp%0#1 ? block@2 : block@10 - block@2: // abi_routing_L16 + block@2: // abi_routing_L22 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: bool = (! tmp%2#0) (assert tmp%3#0) @@ -10,16 +10,16 @@ main algopy.arc4.ARC4Contract.approval_program: (assert tmp%4#0) let tmp%6#0: bytes = (txna ApplicationArgs 0) switch tmp%6#0 {method "emit_swapped(uint64,uint64)void" => block@4, method "emit_native_swapped(uint64,uint64)void" => block@5, method "emit_ufixed(ufixed256x16,ufixed64x2)void" => block@6, * => block@9} - block@4: // emit_swapped_route_L17 + block@4: // emit_swapped_route_L23 examples.arc_28.contract.EventEmitter.emit_swapped[routing]() goto block@9 - block@5: // emit_native_swapped_route_L23 + block@5: // emit_native_swapped_route_L29 examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() goto block@9 - block@6: // emit_ufixed_route_L27 + block@6: // emit_ufixed_route_L33 examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() goto block@9 - block@9: // after_if_else_L16 + block@9: // after_if_else_L22 fail block@10: // __algopy_default_create_L1 let tmp%7#0: uint64 = (txn OnCompletion) @@ -31,7 +31,7 @@ main algopy.arc4.ARC4Contract.approval_program: exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: - block@0: // L17 + block@0: // L23 let a#0: Encoded(uint64) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 8u) @@ -51,7 +51,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: - block@0: // L23 + block@0: // L29 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -75,7 +75,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: - block@0: // L27 + block@0: // L33 let a#0: Encoded(uint256) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 32u) diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.200.ssa.array.opt.ir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.200.ssa.array.opt.ir index a2a630bf3f..0cb66c2d42 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.200.ssa.array.opt.ir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.200.ssa.array.opt.ir @@ -2,7 +2,7 @@ main algopy.arc4.ARC4Contract.approval_program: block@0: // L1 let tmp%0#1: uint64 = (txn NumAppArgs) goto tmp%0#1 ? block@2 : block@10 - block@2: // abi_routing_L16 + block@2: // abi_routing_L22 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: bool = (! tmp%2#0) (assert tmp%3#0) @@ -10,16 +10,16 @@ main algopy.arc4.ARC4Contract.approval_program: (assert tmp%4#0) let tmp%6#0: bytes = (txna ApplicationArgs 0) switch tmp%6#0 {method "emit_swapped(uint64,uint64)void" => block@4, method "emit_native_swapped(uint64,uint64)void" => block@5, method "emit_ufixed(ufixed256x16,ufixed64x2)void" => block@6, * => block@9} - block@4: // emit_swapped_route_L17 + block@4: // emit_swapped_route_L23 examples.arc_28.contract.EventEmitter.emit_swapped[routing]() goto block@9 - block@5: // emit_native_swapped_route_L23 + block@5: // emit_native_swapped_route_L29 examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() goto block@9 - block@6: // emit_ufixed_route_L27 + block@6: // emit_ufixed_route_L33 examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() goto block@9 - block@9: // after_if_else_L16 + block@9: // after_if_else_L22 fail block@10: // __algopy_default_create_L1 let tmp%7#0: uint64 = (txn OnCompletion) @@ -31,7 +31,7 @@ main algopy.arc4.ARC4Contract.approval_program: exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: - block@0: // L17 + block@0: // L23 let a#0: Encoded(uint64) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 8u) @@ -49,7 +49,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: - block@0: // L23 + block@0: // L29 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -69,7 +69,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: - block@0: // L27 + block@0: // L33 let a#0: Encoded(uint256) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 32u) diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.201.ssa.array.opt.ir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.201.ssa.array.opt.ir index 7dd41f9a08..390789183b 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.201.ssa.array.opt.ir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.201.ssa.array.opt.ir @@ -2,7 +2,7 @@ main algopy.arc4.ARC4Contract.approval_program: block@0: // L1 let tmp%0#1: uint64 = (txn NumAppArgs) goto tmp%0#1 ? block@2 : block@10 - block@2: // abi_routing_L16 + block@2: // abi_routing_L22 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: bool = (! tmp%2#0) (assert tmp%3#0) @@ -10,16 +10,16 @@ main algopy.arc4.ARC4Contract.approval_program: (assert tmp%4#0) let tmp%6#0: bytes = (txna ApplicationArgs 0) switch tmp%6#0 {method "emit_swapped(uint64,uint64)void" => block@4, method "emit_native_swapped(uint64,uint64)void" => block@5, method "emit_ufixed(ufixed256x16,ufixed64x2)void" => block@6, * => block@9} - block@4: // emit_swapped_route_L17 + block@4: // emit_swapped_route_L23 examples.arc_28.contract.EventEmitter.emit_swapped[routing]() goto block@9 - block@5: // emit_native_swapped_route_L23 + block@5: // emit_native_swapped_route_L29 examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() goto block@9 - block@6: // emit_ufixed_route_L27 + block@6: // emit_ufixed_route_L33 examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() goto block@9 - block@9: // after_if_else_L16 + block@9: // after_if_else_L22 fail block@10: // __algopy_default_create_L1 let tmp%7#0: uint64 = (txn OnCompletion) @@ -31,7 +31,7 @@ main algopy.arc4.ARC4Contract.approval_program: exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: - block@0: // L17 + block@0: // L23 let a#0: Encoded(uint64) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 8u) @@ -48,7 +48,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: - block@0: // L23 + block@0: // L29 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -67,7 +67,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: - block@0: // L27 + block@0: // L33 let a#0: Encoded(uint256) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 32u) diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.300.ssa.slot.ir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.300.ssa.slot.ir index 7dd41f9a08..390789183b 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.300.ssa.slot.ir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.300.ssa.slot.ir @@ -2,7 +2,7 @@ main algopy.arc4.ARC4Contract.approval_program: block@0: // L1 let tmp%0#1: uint64 = (txn NumAppArgs) goto tmp%0#1 ? block@2 : block@10 - block@2: // abi_routing_L16 + block@2: // abi_routing_L22 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: bool = (! tmp%2#0) (assert tmp%3#0) @@ -10,16 +10,16 @@ main algopy.arc4.ARC4Contract.approval_program: (assert tmp%4#0) let tmp%6#0: bytes = (txna ApplicationArgs 0) switch tmp%6#0 {method "emit_swapped(uint64,uint64)void" => block@4, method "emit_native_swapped(uint64,uint64)void" => block@5, method "emit_ufixed(ufixed256x16,ufixed64x2)void" => block@6, * => block@9} - block@4: // emit_swapped_route_L17 + block@4: // emit_swapped_route_L23 examples.arc_28.contract.EventEmitter.emit_swapped[routing]() goto block@9 - block@5: // emit_native_swapped_route_L23 + block@5: // emit_native_swapped_route_L29 examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() goto block@9 - block@6: // emit_ufixed_route_L27 + block@6: // emit_ufixed_route_L33 examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() goto block@9 - block@9: // after_if_else_L16 + block@9: // after_if_else_L22 fail block@10: // __algopy_default_create_L1 let tmp%7#0: uint64 = (txn OnCompletion) @@ -31,7 +31,7 @@ main algopy.arc4.ARC4Contract.approval_program: exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: - block@0: // L17 + block@0: // L23 let a#0: Encoded(uint64) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 8u) @@ -48,7 +48,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: - block@0: // L23 + block@0: // L29 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -67,7 +67,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: - block@0: // L27 + block@0: // L33 let a#0: Encoded(uint256) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 32u) diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.400.destructured.ir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.400.destructured.ir index 7dd41f9a08..390789183b 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.400.destructured.ir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.400.destructured.ir @@ -2,7 +2,7 @@ main algopy.arc4.ARC4Contract.approval_program: block@0: // L1 let tmp%0#1: uint64 = (txn NumAppArgs) goto tmp%0#1 ? block@2 : block@10 - block@2: // abi_routing_L16 + block@2: // abi_routing_L22 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: bool = (! tmp%2#0) (assert tmp%3#0) @@ -10,16 +10,16 @@ main algopy.arc4.ARC4Contract.approval_program: (assert tmp%4#0) let tmp%6#0: bytes = (txna ApplicationArgs 0) switch tmp%6#0 {method "emit_swapped(uint64,uint64)void" => block@4, method "emit_native_swapped(uint64,uint64)void" => block@5, method "emit_ufixed(ufixed256x16,ufixed64x2)void" => block@6, * => block@9} - block@4: // emit_swapped_route_L17 + block@4: // emit_swapped_route_L23 examples.arc_28.contract.EventEmitter.emit_swapped[routing]() goto block@9 - block@5: // emit_native_swapped_route_L23 + block@5: // emit_native_swapped_route_L29 examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() goto block@9 - block@6: // emit_ufixed_route_L27 + block@6: // emit_ufixed_route_L33 examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() goto block@9 - block@9: // after_if_else_L16 + block@9: // after_if_else_L22 fail block@10: // __algopy_default_create_L1 let tmp%7#0: uint64 = (txn OnCompletion) @@ -31,7 +31,7 @@ main algopy.arc4.ARC4Contract.approval_program: exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: - block@0: // L17 + block@0: // L23 let a#0: Encoded(uint64) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 8u) @@ -48,7 +48,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: - block@0: // L23 + block@0: // L29 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -67,7 +67,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: - block@0: // L27 + block@0: // L33 let a#0: Encoded(uint256) = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 32u) diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.500.build.mir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.500.build.mir index ac8baf8136..745a67ecf3 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.500.build.mir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.500.build.mir @@ -2,7 +2,7 @@ // algopy.arc4.ARC4Contract.approval_program() -> uint64: subroutine main: main_block@0: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn NumAppArgs tmp%0#1 v-store tmp%0#1 @@ -10,7 +10,7 @@ subroutine main: bz main___algopy_default_create@10 ; b main_abi_routing@2 main_abi_routing@2: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn OnCompletion tmp%2#0 v-store tmp%2#0 @@ -32,25 +32,25 @@ subroutine main: match main_emit_swapped_route@4 main_emit_native_swapped_route@5 main_emit_ufixed_route@6 ; b main_after_if_else@9 main_emit_swapped_route@4: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod callsub emit_swapped b main_after_if_else@9 main_emit_native_swapped_route@5: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod callsub emit_native_swapped b main_after_if_else@9 main_emit_ufixed_route@6: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() callsub emit_ufixed b main_after_if_else@9 main_after_if_else@9: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): err @@ -78,7 +78,7 @@ subroutine main: // examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: subroutine emit_swapped: emit_swapped_block@0: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod txna ApplicationArgs 1 a#0 v-store a#0 @@ -102,7 +102,7 @@ subroutine emit_swapped: v-store eq%1#0 v-load eq%1#0 eq%1#0 assert // invalid number of bytes for arc4.uint64 - // arc_28/contract.py:19 + // arc_28/contract.py:25 // arc4.emit(Swapped(b, a)) v-load b#0 b#0 v-load a#0 b#0,a#0 @@ -114,15 +114,15 @@ subroutine emit_swapped: v-store event%0#0 v-load event%0#0 event%0#0 log - // arc_28/contract.py:20 + // arc_28/contract.py:26 // arc4.emit("Swapped(uint64,uint64)", b, a) v-load event%0#0 event%0#0 log - // arc_28/contract.py:21 + // arc_28/contract.py:27 // arc4.emit("Swapped", b, a) v-load event%0#0 event%0#0 log - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod int 1 1 return @@ -131,7 +131,7 @@ subroutine emit_swapped: // examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: subroutine emit_native_swapped: emit_native_swapped_block@0: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod txna ApplicationArgs 1 tmp%0#0 v-store tmp%0#0 @@ -161,7 +161,7 @@ subroutine emit_native_swapped: v-load tmp%2#0 tmp%2#0 btoi b#0 v-store b#0 - // arc_28/contract.py:25 + // arc_28/contract.py:31 // arc4.emit(NativeSwapped(a=b, b=a)) v-load b#0 b#0 itob aggregate%val_as_bytes%0#0 @@ -179,7 +179,7 @@ subroutine emit_native_swapped: v-store event%0#0 v-load event%0#0 event%0#0 log - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod int 1 1 return @@ -188,7 +188,7 @@ subroutine emit_native_swapped: // examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: subroutine emit_ufixed: emit_ufixed_block@0: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() txna ApplicationArgs 1 a#0 v-store a#0 @@ -212,7 +212,7 @@ subroutine emit_ufixed: v-store eq%1#0 v-load eq%1#0 eq%1#0 assert // invalid number of bytes for arc4.ufixed64x2 - // arc_28/contract.py:33 + // arc_28/contract.py:39 // arc4.emit("AnEvent(ufixed256x16,ufixed64x2)", a, b) v-load a#0 a#0 v-load b#0 a#0,b#0 @@ -224,7 +224,7 @@ subroutine emit_ufixed: v-store event%0#0 v-load event%0#0 event%0#0 log - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() int 1 1 return diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.501.lstack.mir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.501.lstack.mir index 6240faa58a..f746e7fb4b 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.501.lstack.mir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.501.lstack.mir @@ -2,14 +2,14 @@ // algopy.arc4.ARC4Contract.approval_program() -> uint64: subroutine main: main_block@0: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn NumAppArgs tmp%0#1 l-load tmp%0#1 0 tmp%0#1 bz main___algopy_default_create@10 ; b main_abi_routing@2 main_abi_routing@2: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn OnCompletion tmp%2#0 l-load tmp%2#0 0 tmp%2#0 @@ -27,25 +27,25 @@ subroutine main: match main_emit_swapped_route@4 main_emit_native_swapped_route@5 main_emit_ufixed_route@6 ; b main_after_if_else@9 main_emit_swapped_route@4: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod callsub emit_swapped b main_after_if_else@9 main_emit_native_swapped_route@5: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod callsub emit_native_swapped b main_after_if_else@9 main_emit_ufixed_route@6: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() callsub emit_ufixed b main_after_if_else@9 main_after_if_else@9: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): err @@ -68,7 +68,7 @@ subroutine main: // examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: subroutine emit_swapped: emit_swapped_block@0: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -86,7 +86,7 @@ subroutine emit_swapped: == a#0,b#0,eq%1#0 l-load eq%1#0 0 a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.uint64 a#0,b#0 - // arc_28/contract.py:19 + // arc_28/contract.py:25 // arc4.emit(Swapped(b, a)) l-load b#0 0 a#0,b#0 l-load a#0 1 b#0,a#0 @@ -96,15 +96,15 @@ subroutine emit_swapped: concat event%0#0 l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:20 + // arc_28/contract.py:26 // arc4.emit("Swapped(uint64,uint64)", b, a) l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:21 + // arc_28/contract.py:27 // arc4.emit("Swapped", b, a) l-load event%0#0 0 event%0#0 log - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod int 1 1 return @@ -113,7 +113,7 @@ subroutine emit_swapped: // examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: subroutine emit_native_swapped: emit_native_swapped_block@0: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod txna ApplicationArgs 1 tmp%0#0 l-load-copy tmp%0#0 0 tmp%0#0,tmp%0#0 (copy) @@ -135,7 +135,7 @@ subroutine emit_native_swapped: assert // invalid number of bytes for arc4.uint64 a#0,tmp%2#0 l-load tmp%2#0 0 a#0,tmp%2#0 btoi a#0,b#0 - // arc_28/contract.py:25 + // arc_28/contract.py:31 // arc4.emit(NativeSwapped(a=b, b=a)) l-load b#0 0 a#0,b#0 itob a#0,aggregate%val_as_bytes%0#0 @@ -149,7 +149,7 @@ subroutine emit_native_swapped: concat event%0#0 l-load event%0#0 0 event%0#0 log - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod int 1 1 return @@ -158,7 +158,7 @@ subroutine emit_native_swapped: // examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: subroutine emit_ufixed: emit_ufixed_block@0: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -176,7 +176,7 @@ subroutine emit_ufixed: == a#0,b#0,eq%1#0 l-load eq%1#0 0 a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.ufixed64x2 a#0,b#0 - // arc_28/contract.py:33 + // arc_28/contract.py:39 // arc4.emit("AnEvent(ufixed256x16,ufixed64x2)", a, b) l-load a#0 1 b#0,a#0 l-load b#0 1 a#0,b#0 @@ -186,7 +186,7 @@ subroutine emit_ufixed: concat event%0#0 l-load event%0#0 0 event%0#0 log - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() int 1 1 return diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.502.lstack.opt.mir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.502.lstack.opt.mir index 69c93c30ad..42512325f6 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.502.lstack.opt.mir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.502.lstack.opt.mir @@ -2,13 +2,13 @@ // algopy.arc4.ARC4Contract.approval_program() -> uint64: subroutine main: main_block@0: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn NumAppArgs tmp%0#1 bz main___algopy_default_create@10 ; b main_abi_routing@2 main_abi_routing@2: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn OnCompletion tmp%2#0 ! tmp%3#0 @@ -23,25 +23,25 @@ subroutine main: match main_emit_swapped_route@4 main_emit_native_swapped_route@5 main_emit_ufixed_route@6 ; b main_after_if_else@9 main_emit_swapped_route@4: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod callsub emit_swapped b main_after_if_else@9 main_emit_native_swapped_route@5: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod callsub emit_native_swapped b main_after_if_else@9 main_emit_ufixed_route@6: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() callsub emit_ufixed b main_after_if_else@9 main_after_if_else@9: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): err @@ -61,7 +61,7 @@ subroutine main: // examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: subroutine emit_swapped: emit_swapped_block@0: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -75,7 +75,7 @@ subroutine emit_swapped: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.uint64 a#0,b#0 - // arc_28/contract.py:19 + // arc_28/contract.py:25 // arc4.emit(Swapped(b, a)) l-load b#0 0 a#0,b#0 l-load a#0 1 b#0,a#0 @@ -85,15 +85,15 @@ subroutine emit_swapped: concat event%0#0 l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:20 + // arc_28/contract.py:26 // arc4.emit("Swapped(uint64,uint64)", b, a) l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:21 + // arc_28/contract.py:27 // arc4.emit("Swapped", b, a) l-load event%0#0 0 event%0#0 log - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod int 1 1 return @@ -102,7 +102,7 @@ subroutine emit_swapped: // examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: subroutine emit_native_swapped: emit_native_swapped_block@0: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod txna ApplicationArgs 1 tmp%0#0 l-load-copy tmp%0#0 0 tmp%0#0,tmp%0#0 (copy) @@ -120,7 +120,7 @@ subroutine emit_native_swapped: assert // invalid number of bytes for arc4.uint64 a#0,tmp%2#0 l-load tmp%2#0 0 a#0,tmp%2#0 btoi a#0,b#0 - // arc_28/contract.py:25 + // arc_28/contract.py:31 // arc4.emit(NativeSwapped(a=b, b=a)) itob a#0,aggregate%val_as_bytes%0#0 l-load a#0 1 aggregate%val_as_bytes%0#0,a#0 @@ -132,7 +132,7 @@ subroutine emit_native_swapped: l-load aggregate%head%1#0 1 Method(NativeSwapped(uint64,uint64)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod int 1 1 return @@ -141,7 +141,7 @@ subroutine emit_native_swapped: // examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: subroutine emit_ufixed: emit_ufixed_block@0: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -155,7 +155,7 @@ subroutine emit_ufixed: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.ufixed64x2 a#0,b#0 - // arc_28/contract.py:33 + // arc_28/contract.py:39 // arc4.emit("AnEvent(ufixed256x16,ufixed64x2)", a, b) l-load a#0 1 b#0,a#0 l-load b#0 1 a#0,b#0 @@ -164,7 +164,7 @@ subroutine emit_ufixed: l-load aggregate%head%1#0 1 Method(AnEvent(ufixed256x16,ufixed64x2)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() int 1 1 return diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.503.xstack.mir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.503.xstack.mir index 69c93c30ad..42512325f6 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.503.xstack.mir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.503.xstack.mir @@ -2,13 +2,13 @@ // algopy.arc4.ARC4Contract.approval_program() -> uint64: subroutine main: main_block@0: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn NumAppArgs tmp%0#1 bz main___algopy_default_create@10 ; b main_abi_routing@2 main_abi_routing@2: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn OnCompletion tmp%2#0 ! tmp%3#0 @@ -23,25 +23,25 @@ subroutine main: match main_emit_swapped_route@4 main_emit_native_swapped_route@5 main_emit_ufixed_route@6 ; b main_after_if_else@9 main_emit_swapped_route@4: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod callsub emit_swapped b main_after_if_else@9 main_emit_native_swapped_route@5: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod callsub emit_native_swapped b main_after_if_else@9 main_emit_ufixed_route@6: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() callsub emit_ufixed b main_after_if_else@9 main_after_if_else@9: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): err @@ -61,7 +61,7 @@ subroutine main: // examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: subroutine emit_swapped: emit_swapped_block@0: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -75,7 +75,7 @@ subroutine emit_swapped: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.uint64 a#0,b#0 - // arc_28/contract.py:19 + // arc_28/contract.py:25 // arc4.emit(Swapped(b, a)) l-load b#0 0 a#0,b#0 l-load a#0 1 b#0,a#0 @@ -85,15 +85,15 @@ subroutine emit_swapped: concat event%0#0 l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:20 + // arc_28/contract.py:26 // arc4.emit("Swapped(uint64,uint64)", b, a) l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:21 + // arc_28/contract.py:27 // arc4.emit("Swapped", b, a) l-load event%0#0 0 event%0#0 log - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod int 1 1 return @@ -102,7 +102,7 @@ subroutine emit_swapped: // examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: subroutine emit_native_swapped: emit_native_swapped_block@0: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod txna ApplicationArgs 1 tmp%0#0 l-load-copy tmp%0#0 0 tmp%0#0,tmp%0#0 (copy) @@ -120,7 +120,7 @@ subroutine emit_native_swapped: assert // invalid number of bytes for arc4.uint64 a#0,tmp%2#0 l-load tmp%2#0 0 a#0,tmp%2#0 btoi a#0,b#0 - // arc_28/contract.py:25 + // arc_28/contract.py:31 // arc4.emit(NativeSwapped(a=b, b=a)) itob a#0,aggregate%val_as_bytes%0#0 l-load a#0 1 aggregate%val_as_bytes%0#0,a#0 @@ -132,7 +132,7 @@ subroutine emit_native_swapped: l-load aggregate%head%1#0 1 Method(NativeSwapped(uint64,uint64)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod int 1 1 return @@ -141,7 +141,7 @@ subroutine emit_native_swapped: // examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: subroutine emit_ufixed: emit_ufixed_block@0: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -155,7 +155,7 @@ subroutine emit_ufixed: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.ufixed64x2 a#0,b#0 - // arc_28/contract.py:33 + // arc_28/contract.py:39 // arc4.emit("AnEvent(ufixed256x16,ufixed64x2)", a, b) l-load a#0 1 b#0,a#0 l-load b#0 1 a#0,b#0 @@ -164,7 +164,7 @@ subroutine emit_ufixed: l-load aggregate%head%1#0 1 Method(AnEvent(ufixed256x16,ufixed64x2)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() int 1 1 return diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.504.xstack.opt.mir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.504.xstack.opt.mir index 69c93c30ad..42512325f6 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.504.xstack.opt.mir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.504.xstack.opt.mir @@ -2,13 +2,13 @@ // algopy.arc4.ARC4Contract.approval_program() -> uint64: subroutine main: main_block@0: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn NumAppArgs tmp%0#1 bz main___algopy_default_create@10 ; b main_abi_routing@2 main_abi_routing@2: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn OnCompletion tmp%2#0 ! tmp%3#0 @@ -23,25 +23,25 @@ subroutine main: match main_emit_swapped_route@4 main_emit_native_swapped_route@5 main_emit_ufixed_route@6 ; b main_after_if_else@9 main_emit_swapped_route@4: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod callsub emit_swapped b main_after_if_else@9 main_emit_native_swapped_route@5: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod callsub emit_native_swapped b main_after_if_else@9 main_emit_ufixed_route@6: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() callsub emit_ufixed b main_after_if_else@9 main_after_if_else@9: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): err @@ -61,7 +61,7 @@ subroutine main: // examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: subroutine emit_swapped: emit_swapped_block@0: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -75,7 +75,7 @@ subroutine emit_swapped: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.uint64 a#0,b#0 - // arc_28/contract.py:19 + // arc_28/contract.py:25 // arc4.emit(Swapped(b, a)) l-load b#0 0 a#0,b#0 l-load a#0 1 b#0,a#0 @@ -85,15 +85,15 @@ subroutine emit_swapped: concat event%0#0 l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:20 + // arc_28/contract.py:26 // arc4.emit("Swapped(uint64,uint64)", b, a) l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:21 + // arc_28/contract.py:27 // arc4.emit("Swapped", b, a) l-load event%0#0 0 event%0#0 log - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod int 1 1 return @@ -102,7 +102,7 @@ subroutine emit_swapped: // examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: subroutine emit_native_swapped: emit_native_swapped_block@0: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod txna ApplicationArgs 1 tmp%0#0 l-load-copy tmp%0#0 0 tmp%0#0,tmp%0#0 (copy) @@ -120,7 +120,7 @@ subroutine emit_native_swapped: assert // invalid number of bytes for arc4.uint64 a#0,tmp%2#0 l-load tmp%2#0 0 a#0,tmp%2#0 btoi a#0,b#0 - // arc_28/contract.py:25 + // arc_28/contract.py:31 // arc4.emit(NativeSwapped(a=b, b=a)) itob a#0,aggregate%val_as_bytes%0#0 l-load a#0 1 aggregate%val_as_bytes%0#0,a#0 @@ -132,7 +132,7 @@ subroutine emit_native_swapped: l-load aggregate%head%1#0 1 Method(NativeSwapped(uint64,uint64)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod int 1 1 return @@ -141,7 +141,7 @@ subroutine emit_native_swapped: // examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: subroutine emit_ufixed: emit_ufixed_block@0: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -155,7 +155,7 @@ subroutine emit_ufixed: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.ufixed64x2 a#0,b#0 - // arc_28/contract.py:33 + // arc_28/contract.py:39 // arc4.emit("AnEvent(ufixed256x16,ufixed64x2)", a, b) l-load a#0 1 b#0,a#0 l-load b#0 1 a#0,b#0 @@ -164,7 +164,7 @@ subroutine emit_ufixed: l-load aggregate%head%1#0 1 Method(AnEvent(ufixed256x16,ufixed64x2)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() int 1 1 return diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.505.fstack.mir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.505.fstack.mir index 69c93c30ad..42512325f6 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.505.fstack.mir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.505.fstack.mir @@ -2,13 +2,13 @@ // algopy.arc4.ARC4Contract.approval_program() -> uint64: subroutine main: main_block@0: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn NumAppArgs tmp%0#1 bz main___algopy_default_create@10 ; b main_abi_routing@2 main_abi_routing@2: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn OnCompletion tmp%2#0 ! tmp%3#0 @@ -23,25 +23,25 @@ subroutine main: match main_emit_swapped_route@4 main_emit_native_swapped_route@5 main_emit_ufixed_route@6 ; b main_after_if_else@9 main_emit_swapped_route@4: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod callsub emit_swapped b main_after_if_else@9 main_emit_native_swapped_route@5: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod callsub emit_native_swapped b main_after_if_else@9 main_emit_ufixed_route@6: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() callsub emit_ufixed b main_after_if_else@9 main_after_if_else@9: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): err @@ -61,7 +61,7 @@ subroutine main: // examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: subroutine emit_swapped: emit_swapped_block@0: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -75,7 +75,7 @@ subroutine emit_swapped: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.uint64 a#0,b#0 - // arc_28/contract.py:19 + // arc_28/contract.py:25 // arc4.emit(Swapped(b, a)) l-load b#0 0 a#0,b#0 l-load a#0 1 b#0,a#0 @@ -85,15 +85,15 @@ subroutine emit_swapped: concat event%0#0 l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:20 + // arc_28/contract.py:26 // arc4.emit("Swapped(uint64,uint64)", b, a) l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:21 + // arc_28/contract.py:27 // arc4.emit("Swapped", b, a) l-load event%0#0 0 event%0#0 log - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod int 1 1 return @@ -102,7 +102,7 @@ subroutine emit_swapped: // examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: subroutine emit_native_swapped: emit_native_swapped_block@0: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod txna ApplicationArgs 1 tmp%0#0 l-load-copy tmp%0#0 0 tmp%0#0,tmp%0#0 (copy) @@ -120,7 +120,7 @@ subroutine emit_native_swapped: assert // invalid number of bytes for arc4.uint64 a#0,tmp%2#0 l-load tmp%2#0 0 a#0,tmp%2#0 btoi a#0,b#0 - // arc_28/contract.py:25 + // arc_28/contract.py:31 // arc4.emit(NativeSwapped(a=b, b=a)) itob a#0,aggregate%val_as_bytes%0#0 l-load a#0 1 aggregate%val_as_bytes%0#0,a#0 @@ -132,7 +132,7 @@ subroutine emit_native_swapped: l-load aggregate%head%1#0 1 Method(NativeSwapped(uint64,uint64)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod int 1 1 return @@ -141,7 +141,7 @@ subroutine emit_native_swapped: // examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: subroutine emit_ufixed: emit_ufixed_block@0: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -155,7 +155,7 @@ subroutine emit_ufixed: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.ufixed64x2 a#0,b#0 - // arc_28/contract.py:33 + // arc_28/contract.py:39 // arc4.emit("AnEvent(ufixed256x16,ufixed64x2)", a, b) l-load a#0 1 b#0,a#0 l-load b#0 1 a#0,b#0 @@ -164,7 +164,7 @@ subroutine emit_ufixed: l-load aggregate%head%1#0 1 Method(AnEvent(ufixed256x16,ufixed64x2)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() int 1 1 return diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.506.fstack.opt.mir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.506.fstack.opt.mir index 69c93c30ad..42512325f6 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.506.fstack.opt.mir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.506.fstack.opt.mir @@ -2,13 +2,13 @@ // algopy.arc4.ARC4Contract.approval_program() -> uint64: subroutine main: main_block@0: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn NumAppArgs tmp%0#1 bz main___algopy_default_create@10 ; b main_abi_routing@2 main_abi_routing@2: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn OnCompletion tmp%2#0 ! tmp%3#0 @@ -23,25 +23,25 @@ subroutine main: match main_emit_swapped_route@4 main_emit_native_swapped_route@5 main_emit_ufixed_route@6 ; b main_after_if_else@9 main_emit_swapped_route@4: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod callsub emit_swapped b main_after_if_else@9 main_emit_native_swapped_route@5: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod callsub emit_native_swapped b main_after_if_else@9 main_emit_ufixed_route@6: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() callsub emit_ufixed b main_after_if_else@9 main_after_if_else@9: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): err @@ -61,7 +61,7 @@ subroutine main: // examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: subroutine emit_swapped: emit_swapped_block@0: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -75,7 +75,7 @@ subroutine emit_swapped: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.uint64 a#0,b#0 - // arc_28/contract.py:19 + // arc_28/contract.py:25 // arc4.emit(Swapped(b, a)) l-load b#0 0 a#0,b#0 l-load a#0 1 b#0,a#0 @@ -85,15 +85,15 @@ subroutine emit_swapped: concat event%0#0 l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:20 + // arc_28/contract.py:26 // arc4.emit("Swapped(uint64,uint64)", b, a) l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:21 + // arc_28/contract.py:27 // arc4.emit("Swapped", b, a) l-load event%0#0 0 event%0#0 log - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod int 1 1 return @@ -102,7 +102,7 @@ subroutine emit_swapped: // examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: subroutine emit_native_swapped: emit_native_swapped_block@0: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod txna ApplicationArgs 1 tmp%0#0 l-load-copy tmp%0#0 0 tmp%0#0,tmp%0#0 (copy) @@ -120,7 +120,7 @@ subroutine emit_native_swapped: assert // invalid number of bytes for arc4.uint64 a#0,tmp%2#0 l-load tmp%2#0 0 a#0,tmp%2#0 btoi a#0,b#0 - // arc_28/contract.py:25 + // arc_28/contract.py:31 // arc4.emit(NativeSwapped(a=b, b=a)) itob a#0,aggregate%val_as_bytes%0#0 l-load a#0 1 aggregate%val_as_bytes%0#0,a#0 @@ -132,7 +132,7 @@ subroutine emit_native_swapped: l-load aggregate%head%1#0 1 Method(NativeSwapped(uint64,uint64)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod int 1 1 return @@ -141,7 +141,7 @@ subroutine emit_native_swapped: // examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: subroutine emit_ufixed: emit_ufixed_block@0: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -155,7 +155,7 @@ subroutine emit_ufixed: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.ufixed64x2 a#0,b#0 - // arc_28/contract.py:33 + // arc_28/contract.py:39 // arc4.emit("AnEvent(ufixed256x16,ufixed64x2)", a, b) l-load a#0 1 b#0,a#0 l-load b#0 1 a#0,b#0 @@ -164,7 +164,7 @@ subroutine emit_ufixed: l-load aggregate%head%1#0 1 Method(AnEvent(ufixed256x16,ufixed64x2)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() int 1 1 return diff --git a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.507.mir b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.507.mir index 69c93c30ad..42512325f6 100644 --- a/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.507.mir +++ b/examples/arc_28/out/EventEmitter.ir/EventEmitter.approval.507.mir @@ -2,13 +2,13 @@ // algopy.arc4.ARC4Contract.approval_program() -> uint64: subroutine main: main_block@0: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn NumAppArgs tmp%0#1 bz main___algopy_default_create@10 ; b main_abi_routing@2 main_abi_routing@2: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn OnCompletion tmp%2#0 ! tmp%3#0 @@ -23,25 +23,25 @@ subroutine main: match main_emit_swapped_route@4 main_emit_native_swapped_route@5 main_emit_ufixed_route@6 ; b main_after_if_else@9 main_emit_swapped_route@4: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod callsub emit_swapped b main_after_if_else@9 main_emit_native_swapped_route@5: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod callsub emit_native_swapped b main_after_if_else@9 main_emit_ufixed_route@6: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() callsub emit_ufixed b main_after_if_else@9 main_after_if_else@9: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): err @@ -61,7 +61,7 @@ subroutine main: // examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: subroutine emit_swapped: emit_swapped_block@0: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -75,7 +75,7 @@ subroutine emit_swapped: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.uint64 a#0,b#0 - // arc_28/contract.py:19 + // arc_28/contract.py:25 // arc4.emit(Swapped(b, a)) l-load b#0 0 a#0,b#0 l-load a#0 1 b#0,a#0 @@ -85,15 +85,15 @@ subroutine emit_swapped: concat event%0#0 l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:20 + // arc_28/contract.py:26 // arc4.emit("Swapped(uint64,uint64)", b, a) l-load-copy event%0#0 0 event%0#0,event%0#0 (copy) log event%0#0 - // arc_28/contract.py:21 + // arc_28/contract.py:27 // arc4.emit("Swapped", b, a) l-load event%0#0 0 event%0#0 log - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod int 1 1 return @@ -102,7 +102,7 @@ subroutine emit_swapped: // examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: subroutine emit_native_swapped: emit_native_swapped_block@0: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod txna ApplicationArgs 1 tmp%0#0 l-load-copy tmp%0#0 0 tmp%0#0,tmp%0#0 (copy) @@ -120,7 +120,7 @@ subroutine emit_native_swapped: assert // invalid number of bytes for arc4.uint64 a#0,tmp%2#0 l-load tmp%2#0 0 a#0,tmp%2#0 btoi a#0,b#0 - // arc_28/contract.py:25 + // arc_28/contract.py:31 // arc4.emit(NativeSwapped(a=b, b=a)) itob a#0,aggregate%val_as_bytes%0#0 l-load a#0 1 aggregate%val_as_bytes%0#0,a#0 @@ -132,7 +132,7 @@ subroutine emit_native_swapped: l-load aggregate%head%1#0 1 Method(NativeSwapped(uint64,uint64)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod int 1 1 return @@ -141,7 +141,7 @@ subroutine emit_native_swapped: // examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: subroutine emit_ufixed: emit_ufixed_block@0: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() txna ApplicationArgs 1 a#0 l-load-copy a#0 0 a#0,a#0 (copy) @@ -155,7 +155,7 @@ subroutine emit_ufixed: int 8 a#0,b#0,len%1#0,8 == a#0,b#0,eq%1#0 assert // invalid number of bytes for arc4.ufixed64x2 a#0,b#0 - // arc_28/contract.py:33 + // arc_28/contract.py:39 // arc4.emit("AnEvent(ufixed256x16,ufixed64x2)", a, b) l-load a#0 1 b#0,a#0 l-load b#0 1 a#0,b#0 @@ -164,7 +164,7 @@ subroutine emit_ufixed: l-load aggregate%head%1#0 1 Method(AnEvent(ufixed256x16,ufixed64x2)),aggregate%head%1#0 concat event%0#0 log - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() int 1 1 return diff --git a/examples/arc_28/out_O2/EventEmitter.approval.puya.map b/examples/arc_28/out_O2/EventEmitter.approval.puya.map index 9ef299c71f..b379102626 100644 --- a/examples/arc_28/out_O2/EventEmitter.approval.puya.map +++ b/examples/arc_28/out_O2/EventEmitter.approval.puya.map @@ -3,7 +3,7 @@ "sources": [ "../contract.py" ], - "mappings": ";;;;;AAeA;;AAAA;;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;;;;;;;;;AAAA;;;AAAA;;;;;;;;AAAA;AAWK;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMG;AAAA;;;;;;AAAA;AAAA;AAAA;AANH;AAAA;AAJA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEa;AAAA;AAAA;AAAA;AAAV;;;;;;AAAA;AAAA;AAAA;AAFH;AAAA;AANA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEa;AAAA;AAAV;;;;;;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAJH;AAAA;;;;;;;;", + "mappings": ";;;;;AAqBA;;AAAA;;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;;;;;;;;;AAAA;;;AAAA;;;;;;;;AAAA;AAWK;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMG;AAAA;;;;;;AAAA;AAAA;AAAA;AANH;AAAA;AAJA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEa;AAAA;AAAA;AAAA;AAAV;;;;;;AAAA;AAAA;AAAA;AAFH;AAAA;AANA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEa;AAAA;AAAV;;;;;;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAJH;AAAA;;;;;;;;", "op_pc_offset": 0, "pc_events": { "54": { diff --git a/examples/arc_28/out_O2/EventEmitter.ir/EventEmitter.approval.400.destructured.ir b/examples/arc_28/out_O2/EventEmitter.ir/EventEmitter.approval.400.destructured.ir index 040477db2b..b88a7993e7 100644 --- a/examples/arc_28/out_O2/EventEmitter.ir/EventEmitter.approval.400.destructured.ir +++ b/examples/arc_28/out_O2/EventEmitter.ir/EventEmitter.approval.400.destructured.ir @@ -2,7 +2,7 @@ main algopy.arc4.ARC4Contract.approval_program: block@0: // L1 let tmp%0#1: uint64 = (txn NumAppArgs) goto tmp%0#1 ? block@2 : block@10 - block@2: // abi_routing_L16 + block@2: // abi_routing_L22 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: bool = (! tmp%2#0) (assert tmp%3#0) @@ -10,7 +10,7 @@ main algopy.arc4.ARC4Contract.approval_program: (assert tmp%4#0) let tmp%6#0: bytes = (txna ApplicationArgs 0) switch tmp%6#0 {method "emit_swapped(uint64,uint64)void" => block@4, method "emit_native_swapped(uint64,uint64)void" => block@5, method "emit_ufixed(ufixed256x16,ufixed64x2)void" => block@6, * => block@9} - block@4: // emit_swapped_route_L17 + block@4: // emit_swapped_route_L23 let a#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 8u) @@ -25,7 +25,7 @@ main algopy.arc4.ARC4Contract.approval_program: (log event%0#0) (log event%0#0) exit 1u - block@5: // emit_native_swapped_route_L23 + block@5: // emit_native_swapped_route_L29 let tmp%0#4: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#4) let eq%0#0: bool = (== len%0#0 8u) @@ -42,7 +42,7 @@ main algopy.arc4.ARC4Contract.approval_program: let event%0#0: bytes = (concat method "NativeSwapped(uint64,uint64)" aggregate%head%3#0) (log event%0#0) exit 1u - block@6: // emit_ufixed_route_L27 + block@6: // emit_ufixed_route_L33 let a#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len a#0) let eq%0#0: bool = (== len%0#0 32u) @@ -55,7 +55,7 @@ main algopy.arc4.ARC4Contract.approval_program: let event%0#0: bytes = (concat method "AnEvent(ufixed256x16,ufixed64x2)" aggregate%head%5#0) (log event%0#0) exit 1u - block@9: // after_if_else_L16 + block@9: // after_if_else_L22 fail block@10: // __algopy_default_create_L1 let tmp%7#0: uint64 = (txn OnCompletion) diff --git a/examples/arc_28/out_unoptimized/EventEmitter.approval.puya.map b/examples/arc_28/out_unoptimized/EventEmitter.approval.puya.map index 23bcffcbf4..e86d6bcdfb 100644 --- a/examples/arc_28/out_unoptimized/EventEmitter.approval.puya.map +++ b/examples/arc_28/out_unoptimized/EventEmitter.approval.puya.map @@ -3,7 +3,7 @@ "sources": [ "../contract.py" ], - "mappings": ";;;;;;;;;;;;;;;;;;;;AAeA;;AAAA;AAAA;AAAA;;;AAAA;;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;;AAAA;;;AAAA;;;AAAA;;;;;;AAAA;;;;;;AAAA;;;;;;AAAA;;AAAA;;;;;;;;AAAA;;;;;;;;;AAAA;AAWK;;;;;;AAJA;;;;;;AANA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;;AAMA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;;AAIA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAVA;;;;;;AAEa;AAAA;;AAAA;AAAA;;AAAA;AAAV;AAAA;;AAAA;AAAA;AACA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AACA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEH;;;;;;AAEa;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAV;;;;;;AAAA;;AAAA;AAAA;;AAEH;;;;;;AAMG;AAAA;;AAAA;AAAA;;AAAA;AAAA;;;;;;AAAA;;AAAA;AAAA;", + "mappings": ";;;;;;;;;;;;;;;;;;;;AAqBA;;AAAA;AAAA;AAAA;;;AAAA;;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;;AAAA;;;AAAA;;;AAAA;;;;;;AAAA;;;;;;AAAA;;;;;;AAAA;;AAAA;;;;;;;;AAAA;;;;;;;;;AAAA;AAWK;;;;;;AAJA;;;;;;AANA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;;AAMA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;;AAIA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAVA;;;;;;AAEa;AAAA;;AAAA;AAAA;;AAAA;AAAV;AAAA;;AAAA;AAAA;AACA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AACA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEH;;;;;;AAEa;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAV;;;;;;AAAA;;AAAA;AAAA;;AAEH;;;;;;AAMG;AAAA;;AAAA;AAAA;;AAAA;AAAA;;;;;;AAAA;;AAAA;AAAA;", "op_pc_offset": 0, "pc_events": { "1": { diff --git a/examples/arc_28/out_unoptimized/EventEmitter.approval.teal b/examples/arc_28/out_unoptimized/EventEmitter.approval.teal index c1b35368c2..f521fd14fa 100644 --- a/examples/arc_28/out_unoptimized/EventEmitter.approval.teal +++ b/examples/arc_28/out_unoptimized/EventEmitter.approval.teal @@ -11,7 +11,7 @@ main_block@0: b main_block@1 main_block@1: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn NumAppArgs intc_0 // 0 @@ -20,7 +20,7 @@ main_block@1: b main_abi_routing@2 main_abi_routing@2: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txn OnCompletion intc_0 // NoOp @@ -33,7 +33,7 @@ main_abi_routing@2: b main_call_NoOp@3 main_call_NoOp@3: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): txna ApplicationArgs 0 pushbytes 0x0a9542cd // method "emit_swapped(uint64,uint64)void" @@ -50,24 +50,24 @@ main_after_if_else@9: b main_after_if_else@11 main_after_if_else@11: - // arc_28/contract.py:16 + // arc_28/contract.py:22 // class EventEmitter(ARC4Contract): err main_emit_ufixed_route@6: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() callsub emit_ufixed b main_switch_case_next@7 main_emit_native_swapped_route@5: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod callsub emit_native_swapped b main_switch_case_next@7 main_emit_swapped_route@4: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod callsub emit_swapped b main_switch_case_next@7 @@ -99,7 +99,7 @@ emit_swapped: b emit_swapped_block@0 emit_swapped_block@0: - // arc_28/contract.py:17 + // arc_28/contract.py:23 // @arc4.abimethod txna ApplicationArgs 1 dup @@ -123,7 +123,7 @@ emit_native_swapped: b emit_native_swapped_block@0 emit_native_swapped_block@0: - // arc_28/contract.py:23 + // arc_28/contract.py:29 // @arc4.abimethod txna ApplicationArgs 1 dup @@ -149,7 +149,7 @@ emit_ufixed: b emit_ufixed_block@0 emit_ufixed_block@0: - // arc_28/contract.py:27 + // arc_28/contract.py:33 // @arc4.abimethod() txna ApplicationArgs 1 dup @@ -170,14 +170,14 @@ emit_ufixed_block@0: // examples.arc_28.contract.EventEmitter.emit_swapped(a: bytes, b: bytes) -> void: examples.arc_28.contract.EventEmitter.emit_swapped: - // arc_28/contract.py:17-18 + // arc_28/contract.py:23-24 // @arc4.abimethod // def emit_swapped(self, a: arc4.UInt64, b: arc4.UInt64) -> None: proto 2 0 b examples.arc_28.contract.EventEmitter.emit_swapped_block@0 examples.arc_28.contract.EventEmitter.emit_swapped_block@0: - // arc_28/contract.py:19 + // arc_28/contract.py:25 // arc4.emit(Swapped(b, a)) bytec_0 // 0x frame_dig -1 @@ -188,7 +188,7 @@ examples.arc_28.contract.EventEmitter.emit_swapped_block@0: uncover 1 concat log - // arc_28/contract.py:20 + // arc_28/contract.py:26 // arc4.emit("Swapped(uint64,uint64)", b, a) bytec_0 // 0x frame_dig -1 @@ -199,7 +199,7 @@ examples.arc_28.contract.EventEmitter.emit_swapped_block@0: uncover 1 concat log - // arc_28/contract.py:21 + // arc_28/contract.py:27 // arc4.emit("Swapped", b, a) bytec_0 // 0x frame_dig -1 @@ -215,14 +215,14 @@ examples.arc_28.contract.EventEmitter.emit_swapped_block@0: // examples.arc_28.contract.EventEmitter.emit_native_swapped(a: uint64, b: uint64) -> void: examples.arc_28.contract.EventEmitter.emit_native_swapped: - // arc_28/contract.py:23-24 + // arc_28/contract.py:29-30 // @arc4.abimethod // def emit_native_swapped(self, a: UInt64, b: UInt64) -> None: proto 2 0 b examples.arc_28.contract.EventEmitter.emit_native_swapped_block@0 examples.arc_28.contract.EventEmitter.emit_native_swapped_block@0: - // arc_28/contract.py:25 + // arc_28/contract.py:31 // arc4.emit(NativeSwapped(a=b, b=a)) frame_dig -1 itob @@ -241,7 +241,7 @@ examples.arc_28.contract.EventEmitter.emit_native_swapped_block@0: // examples.arc_28.contract.EventEmitter.emit_ufixed(a: bytes, b: bytes) -> void: examples.arc_28.contract.EventEmitter.emit_ufixed: - // arc_28/contract.py:27-32 + // arc_28/contract.py:33-38 // @arc4.abimethod() // def emit_ufixed( // self, @@ -252,7 +252,7 @@ examples.arc_28.contract.EventEmitter.emit_ufixed: b examples.arc_28.contract.EventEmitter.emit_ufixed_block@0 examples.arc_28.contract.EventEmitter.emit_ufixed_block@0: - // arc_28/contract.py:33 + // arc_28/contract.py:39 // arc4.emit("AnEvent(ufixed256x16,ufixed64x2)", a, b) bytec_0 // 0x frame_dig -2 diff --git a/examples/arc_28/out_unoptimized/EventEmitter.ir/EventEmitter.approval.400.destructured.ir b/examples/arc_28/out_unoptimized/EventEmitter.ir/EventEmitter.approval.400.destructured.ir index 584ea0c75c..9d5c955b99 100644 --- a/examples/arc_28/out_unoptimized/EventEmitter.ir/EventEmitter.approval.400.destructured.ir +++ b/examples/arc_28/out_unoptimized/EventEmitter.ir/EventEmitter.approval.400.destructured.ir @@ -1,34 +1,34 @@ main algopy.arc4.ARC4Contract.approval_program: block@0: // L1 goto block@1 - block@1: // L16 + block@1: // L22 let tmp%0#1: uint64 = (txn NumAppArgs) let tmp%1#0: bool = (!= tmp%0#1 0u) goto tmp%1#0 ? block@2 : block@10 - block@2: // abi_routing_L16 + block@2: // abi_routing_L22 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: bool = (== tmp%2#0 NoOp) (assert tmp%3#0) let tmp%4#0: uint64 = (txn ApplicationID) let tmp%5#0: bool = (!= tmp%4#0 0u) goto tmp%5#0 ? block@3 : block@8 - block@3: // call_NoOp_L16 + block@3: // call_NoOp_L22 let tmp%6#0: bytes = (txna ApplicationArgs 0) switch tmp%6#0 {method "emit_swapped(uint64,uint64)void" => block@4, method "emit_native_swapped(uint64,uint64)void" => block@5, method "emit_ufixed(ufixed256x16,ufixed64x2)void" => block@6, * => block@7} - block@4: // emit_swapped_route_L17 + block@4: // emit_swapped_route_L23 examples.arc_28.contract.EventEmitter.emit_swapped[routing]() goto block@7 - block@5: // emit_native_swapped_route_L23 + block@5: // emit_native_swapped_route_L29 examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() goto block@7 - block@6: // emit_ufixed_route_L27 + block@6: // emit_ufixed_route_L33 examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() goto block@7 - block@7: // switch_case_next_L16 + block@7: // switch_case_next_L22 goto block@9 - block@8: // create_NoOp_L16 + block@8: // create_NoOp_L22 goto block@9 - block@9: // after_if_else_L16 + block@9: // after_if_else_L22 goto block@11 block@10: // __algopy_default_create_L1 let tmp%7#0: uint64 = (txn OnCompletion) @@ -42,14 +42,14 @@ main algopy.arc4.ARC4Contract.approval_program: goto block@14 block@14: // after_inlined_examples.arc_28.contract.EventEmitter.__algopy_default_create_L1 exit 1u - block@11: // after_if_else_L16 + block@11: // after_if_else_L22 exit 0u block@12: // after_inlined_examples.arc_28.contract.EventEmitter.__puya_arc4_router___L1 let tmp%0#0: bool = undefined return tmp%0#0 subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: - block@0: // L17 + block@0: // L23 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -64,7 +64,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: - block@0: // L23 + block@0: // L29 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 8u) @@ -81,7 +81,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: - block@0: // L27 + block@0: // L33 let tmp%0#0: bytes = (txna ApplicationArgs 1) let len%0#0: uint64 = (len tmp%0#0) let eq%0#0: bool = (== len%0#0 32u) @@ -96,7 +96,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: exit 1u subroutine examples.arc_28.contract.EventEmitter.emit_swapped(a: Encoded(uint64), b: Encoded(uint64)) -> void: - block@0: // L17 + block@0: // L23 let aggregate%head%0#0: bytes = (concat 0x b#0) let aggregate%head%1#0: bytes = (concat aggregate%head%0#0 a#0) let aggregate%as_Encoded(uint64,uint64)%0#0: Encoded(uint64,uint64) = aggregate%head%1#0 @@ -118,7 +118,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_swapped(a: Encoded(uint64) return subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped(a: uint64, b: uint64) -> void: - block@0: // L23 + block@0: // L29 let aggregate%val_as_bytes%0#0: bytes[8] = (itob b#0) let aggregate%as_Encoded(uint64)%0#0: Encoded(uint64) = aggregate%val_as_bytes%0#0 let aggregate%head%0#0: bytes = (concat 0x aggregate%as_Encoded(uint64)%0#0) @@ -132,7 +132,7 @@ subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped(a: uint64, return subroutine examples.arc_28.contract.EventEmitter.emit_ufixed(a: Encoded(uint256), b: Encoded(uint64)) -> void: - block@0: // L27 + block@0: // L33 let aggregate%head%0#0: bytes = (concat 0x a#0) let aggregate%head%1#0: bytes = (concat aggregate%head%0#0 b#0) let aggregate%as_Encoded(uint256,uint64)%0#0: Encoded(uint256,uint64) = aggregate%head%1#0 diff --git a/examples/arc_28/puya.log b/examples/arc_28/puya.log index 6a93936b05..ce316351a5 100644 --- a/examples/arc_28/puya.log +++ b/examples/arc_28/puya.log @@ -616,7 +616,7 @@ debug: Optimizer: Minimize Box Exist Asserts debug: Optimizer: Constant Reads And Unobserved Writes Elimination debug: Optimizing subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing] debug: Optimizer: Perform Subroutine Inlining -arc_28/contract.py:17:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_swapped in examples.arc_28.contract.EventEmitter.emit_swapped[routing] +arc_28/contract.py:23:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_swapped in examples.arc_28.contract.EventEmitter.emit_swapped[routing] debug: Optimizer: Split Parallel Copies debug: Optimizer: Constant Replacer debug: Optimizer: Copy Propagation @@ -638,13 +638,13 @@ debug: Merged linear block@2 into block@0 debug: Optimizer: Remove Linear Jumps debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%1#1: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=1)] -debug: Replacing redundant declaration let tmp%2#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=1)] +debug: Replacing redundant declaration let tmp%1#1: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=1)] +debug: Replacing redundant declaration let tmp%2#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=1)] debug: Found equivalence set: tmp%0#1, tmp%1#1, tmp%2#0 debug: selected tmp%0#1 from equivalence set debug: Copy propagation made 2 modifications -debug: Replacing redundant declaration let event%1#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#1) with copy of existing registers [Register(source_location=arc_28/contract.py:19:8-32, ir_type=bytes, name='event%0', version=0)] -debug: Replacing redundant declaration let event%2#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#1) with copy of existing registers [Register(source_location=arc_28/contract.py:19:8-32, ir_type=bytes, name='event%0', version=0)] +debug: Replacing redundant declaration let event%1#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#1) with copy of existing registers [Register(source_location=arc_28/contract.py:25:8-32, ir_type=bytes, name='event%0', version=0)] +debug: Replacing redundant declaration let event%2#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#1) with copy of existing registers [Register(source_location=arc_28/contract.py:25:8-32, ir_type=bytes, name='event%0', version=0)] debug: Found equivalence set: event%0#0, event%1#0, event%2#0 debug: selected event%0#0 from equivalence set debug: Copy propagation made 2 modifications @@ -655,7 +655,7 @@ debug: Optimizer: Minimize Box Exist Asserts debug: Optimizer: Constant Reads And Unobserved Writes Elimination debug: Optimizing subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing] debug: Optimizer: Perform Subroutine Inlining -arc_28/contract.py:23:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_native_swapped in examples.arc_28.contract.EventEmitter.emit_native_swapped[routing] +arc_28/contract.py:29:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_native_swapped in examples.arc_28.contract.EventEmitter.emit_native_swapped[routing] debug: Optimizer: Split Parallel Copies debug: Optimizer: Constant Replacer debug: Optimizer: Copy Propagation @@ -688,7 +688,7 @@ debug: Optimizer: Minimize Box Exist Asserts debug: Optimizer: Constant Reads And Unobserved Writes Elimination debug: Optimizing subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing] debug: Optimizer: Perform Subroutine Inlining -arc_28/contract.py:27:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_ufixed in examples.arc_28.contract.EventEmitter.emit_ufixed[routing] +arc_28/contract.py:33:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_ufixed in examples.arc_28.contract.EventEmitter.emit_ufixed[routing] debug: Optimizer: Split Parallel Copies debug: Optimizer: Constant Replacer debug: Optimizer: Copy Propagation @@ -730,13 +730,13 @@ debug: Optimizer: Merge Blocks debug: Optimizer: Remove Linear Jumps debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%1#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=0)] -debug: Replacing redundant declaration let tmp%2#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=0)] +debug: Replacing redundant declaration let tmp%1#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=0)] +debug: Replacing redundant declaration let tmp%2#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=0)] debug: Found equivalence set: tmp%0#0, tmp%1#0, tmp%2#0 debug: selected tmp%0#0 from equivalence set debug: Copy propagation made 2 modifications -debug: Replacing redundant declaration let event%1#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:8-32, ir_type=bytes, name='event%0', version=0)] -debug: Replacing redundant declaration let event%2#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:8-32, ir_type=bytes, name='event%0', version=0)] +debug: Replacing redundant declaration let event%1#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:8-32, ir_type=bytes, name='event%0', version=0)] +debug: Replacing redundant declaration let event%2#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:8-32, ir_type=bytes, name='event%0', version=0)] debug: Found equivalence set: event%0#0, event%1#0, event%2#0 debug: selected event%0#0 from equivalence set debug: Copy propagation made 2 modifications @@ -1331,9 +1331,9 @@ debug: Optimizer: Constant Reads And Unobserved Writes Elimination debug: No optimizations performed in pass 1, ending loop debug: removing local static slots in approval program of examples.arc_28.contract.EventEmitter debug: auto reserving slots in algopy.arc4.ARC4Contract.approval_program, [] -arc_28/contract.py:17:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_swapped[routing], [] -arc_28/contract.py:23:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_native_swapped[routing], [] -arc_28/contract.py:27:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_ufixed[routing], [] +arc_28/contract.py:23:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_swapped[routing], [] +arc_28/contract.py:29:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_native_swapped[routing], [] +arc_28/contract.py:33:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_ufixed[routing], [] debug: Slot allocation not required debug: Output IR to arc_28/out/EventEmitter.ir/EventEmitter.approval.300.ssa.slot.ir debug: removing local static slots in clear program of examples.arc_28.contract.EventEmitter @@ -1475,9 +1475,9 @@ debug: Inserted emit_ufixed_block@0.ops[4]: 'l-store-copy a#0 0' debug: Replaced emit_ufixed_block@0.ops[30]: 'v-load a#0' with 'l-load a#0' debug: Found 2 edge set/s for algopy.arc4.ARC4Contract.approval_program debug: optimizing TEAL subroutine ops algopy.arc4.ARC4Contract.approval_program() -> uint64: -arc_28/contract.py:17:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: -arc_28/contract.py:23:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: -arc_28/contract.py:27:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: +arc_28/contract.py:23:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: +arc_28/contract.py:29:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: +arc_28/contract.py:33:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: debug: optimizing TEAL subroutine blocks algopy.arc4.ARC4Contract.approval_program() -> uint64: debug: replacing `b main_after_if_else@9` with `err` debug: replacing `b main_after_if_else@9` with `err` @@ -1491,11 +1491,11 @@ debug: removing jump-chain block main_emit_ufixed_route@6 debug: branching to main_emit_swapped_route@4 will be replaced with emit_swapped debug: branching to main_emit_native_swapped_route@5 will be replaced with emit_native_swapped debug: branching to main_emit_ufixed_route@6 will be replaced with emit_ufixed -arc_28/contract.py:17:6 debug: optimizing TEAL subroutine blocks examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: +arc_28/contract.py:23:6 debug: optimizing TEAL subroutine blocks examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: debug: inlining single reference block emit_swapped_block@0 into emit_swapped -arc_28/contract.py:23:6 debug: optimizing TEAL subroutine blocks examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: +arc_28/contract.py:29:6 debug: optimizing TEAL subroutine blocks examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: debug: inlining single reference block emit_native_swapped_block@0 into emit_native_swapped -arc_28/contract.py:27:6 debug: optimizing TEAL subroutine blocks examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: +arc_28/contract.py:33:6 debug: optimizing TEAL subroutine blocks examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: debug: inlining single reference block emit_ufixed_block@0 into emit_ufixed debug: optimizing TEAL subroutine ops algopy.arc4.ARC4Contract.clear_state_program() -> uint64: debug: optimizing TEAL subroutine blocks algopy.arc4.ARC4Contract.clear_state_program() -> uint64: diff --git a/examples/arc_28/puya_O2.log b/examples/arc_28/puya_O2.log index 726dd27cde..e3f390d298 100644 --- a/examples/arc_28/puya_O2.log +++ b/examples/arc_28/puya_O2.log @@ -583,9 +583,9 @@ debug: Optimizer: Constant Reads And Unobserved Writes Elimination debug: Optimizing subroutine examples.arc_28.contract.EventEmitter.__puya_arc4_router__ debug: Optimizer: Perform Subroutine Inlining debug: inlining call to examples.arc_28.contract.EventEmitter.__algopy_default_create in examples.arc_28.contract.EventEmitter.__puya_arc4_router__ -arc_28/contract.py:27:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_ufixed[routing] in examples.arc_28.contract.EventEmitter.__puya_arc4_router__ -arc_28/contract.py:23:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_native_swapped[routing] in examples.arc_28.contract.EventEmitter.__puya_arc4_router__ -arc_28/contract.py:17:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_swapped[routing] in examples.arc_28.contract.EventEmitter.__puya_arc4_router__ +arc_28/contract.py:33:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_ufixed[routing] in examples.arc_28.contract.EventEmitter.__puya_arc4_router__ +arc_28/contract.py:29:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_native_swapped[routing] in examples.arc_28.contract.EventEmitter.__puya_arc4_router__ +arc_28/contract.py:23:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_swapped[routing] in examples.arc_28.contract.EventEmitter.__puya_arc4_router__ debug: Optimizer: Split Parallel Copies debug: Optimizer: Constant Replacer debug: Optimizer: Copy Propagation @@ -641,7 +641,7 @@ debug: Optimizer: Minimize Box Exist Asserts debug: Optimizer: Constant Reads And Unobserved Writes Elimination debug: Optimizing subroutine examples.arc_28.contract.EventEmitter.emit_swapped[routing] debug: Optimizer: Perform Subroutine Inlining -arc_28/contract.py:17:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_swapped in examples.arc_28.contract.EventEmitter.emit_swapped[routing] +arc_28/contract.py:23:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_swapped in examples.arc_28.contract.EventEmitter.emit_swapped[routing] debug: Optimizer: Split Parallel Copies debug: Optimizer: Constant Replacer debug: Optimizer: Copy Propagation @@ -663,13 +663,13 @@ debug: Merged linear block@2 into block@0 debug: Optimizer: Remove Linear Jumps debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%1#1: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=1)] -debug: Replacing redundant declaration let tmp%2#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=1)] +debug: Replacing redundant declaration let tmp%1#1: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=1)] +debug: Replacing redundant declaration let tmp%2#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=1)] debug: Found equivalence set: tmp%0#1, tmp%1#1, tmp%2#0 debug: selected tmp%0#1 from equivalence set debug: Copy propagation made 2 modifications -debug: Replacing redundant declaration let event%1#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#1) with copy of existing registers [Register(source_location=arc_28/contract.py:19:8-32, ir_type=bytes, name='event%0', version=0)] -debug: Replacing redundant declaration let event%2#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#1) with copy of existing registers [Register(source_location=arc_28/contract.py:19:8-32, ir_type=bytes, name='event%0', version=0)] +debug: Replacing redundant declaration let event%1#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#1) with copy of existing registers [Register(source_location=arc_28/contract.py:25:8-32, ir_type=bytes, name='event%0', version=0)] +debug: Replacing redundant declaration let event%2#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#1) with copy of existing registers [Register(source_location=arc_28/contract.py:25:8-32, ir_type=bytes, name='event%0', version=0)] debug: Found equivalence set: event%0#0, event%1#0, event%2#0 debug: selected event%0#0 from equivalence set debug: Copy propagation made 2 modifications @@ -680,7 +680,7 @@ debug: Optimizer: Minimize Box Exist Asserts debug: Optimizer: Constant Reads And Unobserved Writes Elimination debug: Optimizing subroutine examples.arc_28.contract.EventEmitter.emit_native_swapped[routing] debug: Optimizer: Perform Subroutine Inlining -arc_28/contract.py:23:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_native_swapped in examples.arc_28.contract.EventEmitter.emit_native_swapped[routing] +arc_28/contract.py:29:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_native_swapped in examples.arc_28.contract.EventEmitter.emit_native_swapped[routing] debug: Optimizer: Split Parallel Copies debug: Optimizer: Constant Replacer debug: Optimizer: Copy Propagation @@ -713,7 +713,7 @@ debug: Optimizer: Minimize Box Exist Asserts debug: Optimizer: Constant Reads And Unobserved Writes Elimination debug: Optimizing subroutine examples.arc_28.contract.EventEmitter.emit_ufixed[routing] debug: Optimizer: Perform Subroutine Inlining -arc_28/contract.py:27:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_ufixed in examples.arc_28.contract.EventEmitter.emit_ufixed[routing] +arc_28/contract.py:33:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_ufixed in examples.arc_28.contract.EventEmitter.emit_ufixed[routing] debug: Optimizer: Split Parallel Copies debug: Optimizer: Constant Replacer debug: Optimizer: Copy Propagation @@ -755,13 +755,13 @@ debug: Optimizer: Merge Blocks debug: Optimizer: Remove Linear Jumps debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%1#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=0)] -debug: Replacing redundant declaration let tmp%2#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=0)] +debug: Replacing redundant declaration let tmp%1#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=0)] +debug: Replacing redundant declaration let tmp%2#0: Encoded(uint64,uint64) = bytes_encode<(uint64,uint64)>(b#0, a#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:18-31, ir_type=Encoded(uint64,uint64), name='tmp%0', version=0)] debug: Found equivalence set: tmp%0#0, tmp%1#0, tmp%2#0 debug: selected tmp%0#0 from equivalence set debug: Copy propagation made 2 modifications -debug: Replacing redundant declaration let event%1#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:8-32, ir_type=bytes, name='event%0', version=0)] -debug: Replacing redundant declaration let event%2#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#0) with copy of existing registers [Register(source_location=arc_28/contract.py:19:8-32, ir_type=bytes, name='event%0', version=0)] +debug: Replacing redundant declaration let event%1#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:8-32, ir_type=bytes, name='event%0', version=0)] +debug: Replacing redundant declaration let event%2#0: bytes = (concat method "Swapped(uint64,uint64)" tmp%0#0) with copy of existing registers [Register(source_location=arc_28/contract.py:25:8-32, ir_type=bytes, name='event%0', version=0)] debug: Found equivalence set: event%0#0, event%1#0, event%2#0 debug: selected event%0#0 from equivalence set debug: Copy propagation made 2 modifications @@ -842,9 +842,9 @@ debug: marking single-use function examples.arc_28.contract.EventEmitter.emit_uf debug: Optimizing subroutine algopy.arc4.ARC4Contract.approval_program debug: Optimizer: Perform Subroutine Inlining debug: inlining call to examples.arc_28.contract.EventEmitter.__algopy_default_create in algopy.arc4.ARC4Contract.approval_program -arc_28/contract.py:27:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_ufixed[routing] in algopy.arc4.ARC4Contract.approval_program -arc_28/contract.py:23:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_native_swapped[routing] in algopy.arc4.ARC4Contract.approval_program -arc_28/contract.py:17:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_swapped[routing] in algopy.arc4.ARC4Contract.approval_program +arc_28/contract.py:33:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_ufixed[routing] in algopy.arc4.ARC4Contract.approval_program +arc_28/contract.py:29:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_native_swapped[routing] in algopy.arc4.ARC4Contract.approval_program +arc_28/contract.py:23:6 debug: inlining call to examples.arc_28.contract.EventEmitter.emit_swapped[routing] in algopy.arc4.ARC4Contract.approval_program debug: Optimizer: Split Parallel Copies debug: Optimizer: Constant Replacer debug: Optimizer: Copy Propagation diff --git a/examples/arc_28/puya_unoptimized.log b/examples/arc_28/puya_unoptimized.log index 30b7811b1b..467f1de9f8 100644 --- a/examples/arc_28/puya_unoptimized.log +++ b/examples/arc_28/puya_unoptimized.log @@ -859,12 +859,12 @@ debug: Optimizer: Replace Aggregate Box Ops debug: No optimizations performed in pass 1, ending loop debug: removing local static slots in approval program of examples.arc_28.contract.EventEmitter debug: auto reserving slots in algopy.arc4.ARC4Contract.approval_program, [] -arc_28/contract.py:17:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_swapped[routing], [] -arc_28/contract.py:23:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_native_swapped[routing], [] -arc_28/contract.py:27:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_ufixed[routing], [] -arc_28/contract.py:17:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_swapped, [] -arc_28/contract.py:23:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_native_swapped, [] -arc_28/contract.py:27:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_ufixed, [] +arc_28/contract.py:23:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_swapped[routing], [] +arc_28/contract.py:29:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_native_swapped[routing], [] +arc_28/contract.py:33:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_ufixed[routing], [] +arc_28/contract.py:23:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_swapped, [] +arc_28/contract.py:29:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_native_swapped, [] +arc_28/contract.py:33:6 debug: auto reserving slots in examples.arc_28.contract.EventEmitter.emit_ufixed, [] debug: Slot allocation not required debug: removing local static slots in clear program of examples.arc_28.contract.EventEmitter debug: auto reserving slots in algopy.arc4.ARC4Contract.clear_state_program, [] @@ -1076,12 +1076,12 @@ debug: Replaced examples.arc_28.contract.EventEmitter.emit_ufixed_block@0.ops[20 debug: Inserted examples.arc_28.contract.EventEmitter.emit_ufixed_block@0.ops[14]: 'l-store-copy tmp%0#0 0' debug: Replaced examples.arc_28.contract.EventEmitter.emit_ufixed_block@0.ops[17]: 'v-load tmp%0#0' with 'l-load tmp%0#0' debug: optimizing TEAL subroutine ops algopy.arc4.ARC4Contract.approval_program() -> uint64: -arc_28/contract.py:17:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: -arc_28/contract.py:23:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: -arc_28/contract.py:27:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: -arc_28/contract.py:17:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_swapped(a: bytes, b: bytes) -> void: -arc_28/contract.py:23:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_native_swapped(a: uint64, b: uint64) -> void: -arc_28/contract.py:27:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_ufixed(a: bytes, b: bytes) -> void: +arc_28/contract.py:23:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_swapped[routing]() -> void: +arc_28/contract.py:29:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_native_swapped[routing]() -> void: +arc_28/contract.py:33:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_ufixed[routing]() -> void: +arc_28/contract.py:23:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_swapped(a: bytes, b: bytes) -> void: +arc_28/contract.py:29:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_native_swapped(a: uint64, b: uint64) -> void: +arc_28/contract.py:33:6 debug: optimizing TEAL subroutine ops examples.arc_28.contract.EventEmitter.emit_ufixed(a: bytes, b: bytes) -> void: debug: optimizing TEAL subroutine ops algopy.arc4.ARC4Contract.clear_state_program() -> uint64: info: Writing arc_28/out_unoptimized/EventEmitter.approval.teal info: Writing arc_28/out_unoptimized/EventEmitter.clear.teal diff --git a/src/puya/arc56.py b/src/puya/arc56.py index 124be9a7ef..a64cd8e11f 100644 --- a/src/puya/arc56.py +++ b/src/puya/arc56.py @@ -230,6 +230,7 @@ def _struct_to_event(structs: _StructAliases, struct: ARC4Struct) -> models.Even name=f.name, type=f.type, struct=structs.resolve(f.struct), + desc=f.desc, ) for f in struct.fields ], diff --git a/src/puya/artifact_metadata.py b/src/puya/artifact_metadata.py index 0339514a7a..e1cb41ffb9 100644 --- a/src/puya/artifact_metadata.py +++ b/src/puya/artifact_metadata.py @@ -17,6 +17,7 @@ class ARC4StructField: name: str type: str struct: str | None + desc: str | None @attrs.frozen(kw_only=True) diff --git a/src/puya/awst/nodes.py b/src/puya/awst/nodes.py index 6ce51398e9..6782bddedd 100644 --- a/src/puya/awst/nodes.py +++ b/src/puya/awst/nodes.py @@ -1046,7 +1046,7 @@ def _validate_values(self, _instance: object, values: Mapping[str, Expression]) if values.keys() != self.wtype.fields.keys(): raise CodeError("invalid argument(s)", self.source_location) for field_name, field_value in self.values.items(): - expected_wtype = self.wtype.fields[field_name] + expected_wtype = self.wtype.fields[field_name].wtype if field_value.wtype != expected_wtype: raise CodeError("invalid argument type(s)", self.source_location) @@ -1168,7 +1168,7 @@ def _wtype_factory(self) -> WType: dataclass_type = self.base.wtype assert isinstance(dataclass_type, wtypes.ARC4Struct | wtypes.WTuple) try: - return dataclass_type.fields[self.name] + return dataclass_type.fields[self.name].wtype except KeyError: raise CodeError(f"invalid field for {dataclass_type}", self.source_location) from None @@ -2391,7 +2391,7 @@ def _validate_values(self, _instance: object, values: Mapping[str, Expression]) raise CodeError("Invalid argument(s)", self.source_location) for field_name, field_value in self.values.items(): expected_wtype = self.wtype.fields[field_name] - if field_value.wtype != expected_wtype: + if field_value.wtype != expected_wtype.wtype: raise CodeError("Invalid argument type(s)", self.source_location) def accept(self, visitor: ExpressionVisitor[T]) -> T: diff --git a/src/puya/awst/wtypes.py b/src/puya/awst/wtypes.py index 1c8ad95c61..804f6d73bc 100644 --- a/src/puya/awst/wtypes.py +++ b/src/puya/awst/wtypes.py @@ -1,11 +1,10 @@ import abc import enum import typing -from collections.abc import Mapping +from collections.abc import Mapping, Sequence from functools import cached_property import attrs -from immutabledict import immutabledict from puya import log from puya.avm import AVMType, TransactionType @@ -333,6 +332,14 @@ def accept[T](self, visitor: WTypeVisitor[T]) -> T: return visitor.visit_reference_array(self) +@typing.final +@attrs.frozen(kw_only=True) +class WTypeField: + name: str = attrs.field() + wtype: WType = attrs.field() + description: str | None = attrs.field(default=None, eq=False) + + @typing.final @attrs.frozen(eq=False) class WTuple(_WTypeInstance): @@ -388,11 +395,14 @@ def _names_validator(self, _attribute: object, names: tuple[str, ...] | None) -> raise CodeError("tuple item names are not unique", self.source_location) @cached_property - def fields(self) -> Mapping[str, WType]: + def fields(self) -> Mapping[str, WTypeField]: """Mapping of item names to types if `names` is defined, otherwise empty.""" if self.names is None: return {} - return dict(zip(self.names, self.types, strict=True)) + return { + name: WTypeField(name=name, wtype=wtype) + for name, wtype in zip(self.names, self.types, strict=True) + } def name_to_index(self, name: str, source_location: SourceLocation) -> int: if self.names is None: @@ -567,18 +577,16 @@ def accept[T](self, visitor: ARC4WTypeVisitor[T]) -> T: @attrs.frozen(kw_only=True) class ARC4Struct(_ARC4WTypeInstance): arc4_alias: None = attrs.field(default=None, init=False) - fields: immutabledict[str, WType] = attrs.field(converter=immutabledict[str, WType]) + _fields: tuple[WTypeField, ...] = attrs.field(converter=tuple[WTypeField, ...]) frozen: bool immutable: bool = attrs.field(init=False) source_location: SourceLocation | None = attrs.field(default=None, eq=False) desc: str | None = None is_aggregate: bool = attrs.field(default=True, init=False) - @fields.validator - def _fields_validator(self, _attribute: object, value: immutabledict[str, WType]) -> None: - unpersistable = [ - field_name for field_name, field_type in value.items() if not field_type.persistable - ] + @_fields.validator + def _fields_validator(self, _attribute: object, value: Sequence[WTypeField]) -> None: + unpersistable = [field.name for field in value if not field.wtype.persistable] if unpersistable: raise CodeError( "invalid ARC-4 Struct declaration," @@ -586,9 +594,22 @@ def _fields_validator(self, _attribute: object, value: immutabledict[str, WType] location=self.source_location, ) + field_names = set() + repeated_field_names = set() + for field in value: + if field.name in field_names: + repeated_field_names.add(field.name) + else: + field_names.add(field.name) + if repeated_field_names: + raise CodeError( + "invalid ARC-4 Struct declaration," + f"the following fields are not unique: {', '.join(repeated_field_names)}" + ) + @immutable.default def _immutable(self) -> bool: - return self.frozen and all(typ.immutable for typ in self.fields.values()) + return self.frozen and all(field.wtype.immutable for field in self.fields.values()) @cached_property def names(self) -> tuple[str, ...]: @@ -596,7 +617,11 @@ def names(self) -> tuple[str, ...]: @cached_property def types(self) -> tuple[WType, ...]: - return tuple(self.fields.values()) + return tuple(field.wtype for field in self.fields.values()) + + @cached_property + def fields(self) -> Mapping[str, WTypeField]: + return {field.name: field for field in self._fields} @typing.override def accept[T](self, visitor: ARC4WTypeVisitor[T]) -> T: diff --git a/src/puya/ir/_contract_metadata.py b/src/puya/ir/_contract_metadata.py index df873f724e..aa07077f68 100644 --- a/src/puya/ir/_contract_metadata.py +++ b/src/puya/ir/_contract_metadata.py @@ -332,9 +332,9 @@ def _extract_structs( if struct.name in struct_results: continue struct_wtypes.extend( - wtype - for wtype in struct.fields.values() - if _is_arc4_struct(wtype) and wtype.name not in struct_results + field.wtype + for field in struct.fields.values() + if _is_arc4_struct(field.wtype) and field.wtype.name not in struct_results ) struct_results[struct.name] = _wtype_to_struct(struct) return dict(sorted(struct_results.items(), key=itemgetter(0))) @@ -396,7 +396,8 @@ def _get_arc4_struct_name(wtype: wtypes.WType) -> str | None: def _wtype_to_struct(s: wtypes.ARC4Struct | wtypes.WTuple) -> models.ARC4Struct: fields = [] assert s.fields - for field_name, field_wtype in s.fields.items(): + for field_name, field in s.fields.items(): + field_wtype = field.wtype if not isinstance(field_wtype, wtypes.ARC4Type): field_wtype = wtype_to_arc4_wtype(field_wtype, None) fields.append( @@ -404,6 +405,7 @@ def _wtype_to_struct(s: wtypes.ARC4Struct | wtypes.WTuple) -> models.ARC4Struct: name=field_name, type=get_arc4_name(field_wtype, use_alias=True), struct=_get_arc4_struct_name(field_wtype), + desc=field.description, ) ) return models.ARC4Struct(fullname=s.name, desc=s.desc, fields=fields) @@ -450,7 +452,10 @@ def visit_emit_fields(self, emit: awst_nodes.EmitFields) -> None: wtype_to_arc4_wtype(arg.wtype, arg.source_location) for arg in emit.values ] - fields = {f"field{idx}": field_type for idx, field_type in enumerate(field_types, start=1)} + fields = [ + wtypes.WTypeField(name=f"field{idx}", wtype=field_type) + for idx, field_type in enumerate(field_types, start=1) + ] struct_wtype = wtypes.ARC4Struct( name=name, diff --git a/src/puya/ir/arc4_types.py b/src/puya/ir/arc4_types.py index 48eb3aaa6b..eaac629e2e 100644 --- a/src/puya/ir/arc4_types.py +++ b/src/puya/ir/arc4_types.py @@ -1,7 +1,6 @@ import typing import attrs -from immutabledict import immutabledict from puya.awst import wtypes from puya.awst.visitors import ARC4WTypeVisitor, WTypeVisitor @@ -70,7 +69,12 @@ def visit_tuple_type(self, wtuple: wtypes.WTuple) -> wtypes.ARC4Type | None: return None arc4_item_types.append(arc4_type) if wtuple.fields: - arc4_fields = dict(zip(wtuple.fields, arc4_item_types, strict=True)) + arc4_fields = [ + wtypes.WTypeField(name=field.name, wtype=new_type, description=field.description) + for (name, field), new_type in zip( + wtuple.fields.items(), arc4_item_types, strict=True + ) + ] return wtypes.ARC4Struct( name=wtuple.name, desc=wtuple.desc, frozen=True, fields=arc4_fields ) @@ -112,10 +116,15 @@ def visit_arc4_static_array(self, wtype: wtypes.ARC4StaticArray) -> wtypes.ARC4T @typing.override def visit_arc4_struct(self, wtype: wtypes.ARC4Struct) -> wtypes.ARC4Type | None: - fields = {name: t.accept(self) for name, t in wtype.fields.items()} - if None in fields.values(): - return None - return attrs.evolve(wtype, fields=immutabledict(fields)) + fields = list[wtypes.WTypeField]() + for field in wtype.fields.values(): + new_type = field.wtype.accept(self) + if new_type is None: + return None + fields.append( + wtypes.WTypeField(name=field.name, wtype=new_type, description=field.description) + ) + return attrs.evolve(wtype, fields=fields) class _ARC4NameWTypeVisitor(ARC4WTypeVisitor[str]): diff --git a/src/puyapy/awst_build/eb/arc4/struct.py b/src/puyapy/awst_build/eb/arc4/struct.py index 2c964ea0c3..c778eb519b 100644 --- a/src/puyapy/awst_build/eb/arc4/struct.py +++ b/src/puyapy/awst_build/eb/arc4/struct.py @@ -55,7 +55,7 @@ def call( values = { field_name: expect.argument_of_type_else_dummy( - field_mapping[field_name], pytype.fields[field_name] + field_mapping[field_name], pytype.fields[field_name].type ).resolve() for field_name in field_mapping } @@ -88,7 +88,7 @@ def member_access(self, name: str, location: SourceLocation) -> NodeBuilder: name=field_name, source_location=location, ) - return builder_for_instance(field, result_expr) + return builder_for_instance(field.type, result_expr) case "copy": return CopyBuilder(self.resolve(), location, self.pytype) case "_replace": @@ -134,13 +134,13 @@ def call( ) base_expr = self.instance.single_eval().resolve() values = dict[str, Expression]() - for field_name, field_pytype in pytype.fields.items(): + for field_name, field in pytype.fields.items(): new_value = field_mapping.get(field_name) if new_value is not None: - item_builder = expect.argument_of_type_else_dummy(new_value, field_pytype) + item_builder = expect.argument_of_type_else_dummy(new_value, field.type) item = item_builder.resolve() else: - field_wtype = field_pytype.checked_wtype(location) + field_wtype = field.type.checked_wtype(location) item = FieldExpression(base=base_expr, name=field_name, source_location=location) if not field_wtype.immutable: logger.error( diff --git a/src/puyapy/awst_build/eb/native/struct.py b/src/puyapy/awst_build/eb/native/struct.py index 6472612816..b30e09c766 100644 --- a/src/puyapy/awst_build/eb/native/struct.py +++ b/src/puyapy/awst_build/eb/native/struct.py @@ -59,7 +59,7 @@ def call( values = { field_name: expect.argument_of_type_else_dummy( - field_mapping[field_name], pytype.fields[field_name] + field_mapping[field_name], pytype.fields[field_name].type ).resolve() for field_name in field_mapping } @@ -90,7 +90,7 @@ def member_access(self, name: str, location: SourceLocation) -> NodeBuilder: name=field_name, source_location=location, ) - return builder_for_instance(field, result_expr) + return builder_for_instance(field.type, result_expr) case "copy": return CopyBuilder(self.resolve(), location, self.pytype) case "_replace": @@ -136,13 +136,13 @@ def call( ) base_expr = self.instance.single_eval().resolve() values = dict[str, Expression]() - for field_name, field_pytype in pytype.fields.items(): + for field_name, field in pytype.fields.items(): new_value = field_mapping.get(field_name) if new_value is not None: - item_builder = expect.argument_of_type_else_dummy(new_value, field_pytype) + item_builder = expect.argument_of_type_else_dummy(new_value, field.type) item = item_builder.resolve() else: - field_wtype = field_pytype.checked_wtype(location) + field_wtype = field.type.checked_wtype(location) item = FieldExpression(base=base_expr, name=field_name, source_location=location) if not field_wtype.immutable: logger.error( diff --git a/src/puyapy/awst_build/eb/tuple.py b/src/puyapy/awst_build/eb/tuple.py index 123a87026c..859774a9fa 100644 --- a/src/puyapy/awst_build/eb/tuple.py +++ b/src/puyapy/awst_build/eb/tuple.py @@ -136,7 +136,7 @@ def call( values = { field_name: expect.argument_of_type_else_dummy( - field_builder, pytype.fields[field_name] + field_builder, pytype.fields[field_name].type ).resolve() for field_name, field_builder in field_mapping.items() } @@ -308,14 +308,14 @@ def to_bytes(self, location: SourceLocation) -> Expression: @typing.override def member_access(self, name: str, location: SourceLocation) -> NodeBuilder: if isinstance(self.pytype, pytypes.NamedTupleType): - item_typ = self.pytype.fields.get(name) - if item_typ is not None: + field = self.pytype.fields.get(name) + if field is not None: item_expr = FieldExpression( base=self.resolve(), name=name, source_location=location, ) - return builder_for_instance(item_typ, item_expr) + return builder_for_instance(field.type, item_expr) elif name == "_replace": return _Replace(self, self.pytype, location) elif name in _NAMED_TUPLE_MEMBERS: @@ -517,13 +517,13 @@ def call( ) base_expr = self.instance.single_eval().resolve() items = list[Expression]() - for idx, (field_name, field_pytype) in enumerate(pytype.fields.items()): + for idx, (field_name, field) in enumerate(pytype.fields.items()): new_value = field_mapping.get(field_name) if new_value is not None: - item_builder = expect.argument_of_type_else_dummy(new_value, field_pytype) + item_builder = expect.argument_of_type_else_dummy(new_value, field.type) item = item_builder.resolve() else: - field_wtype = field_pytype.checked_wtype(location) + field_wtype = field.type.checked_wtype(location) item = TupleItemExpression(base=base_expr, index=idx, source_location=location) if not field_wtype.immutable: logger.error( diff --git a/src/puyapy/awst_build/module.py b/src/puyapy/awst_build/module.py index 03578cf39c..68a6ef3566 100644 --- a/src/puyapy/awst_build/module.py +++ b/src/puyapy/awst_build/module.py @@ -685,23 +685,37 @@ def _process_contract_class_options( def _process_dataclass_like_fields( context: ASTConversionModuleContext, cdef: mypy.nodes.ClassDef, base_type: pytypes.PyType -) -> dict[str, pytypes.PyType] | None: - fields = dict[str, pytypes.PyType]() +) -> list[pytypes.PyTypeField] | None: + fields = list[pytypes.PyTypeField]() has_error = False - for stmt in cdef.defs.body: + stmts = cdef.defs.body + for i, stmt in enumerate(stmts): stmt_loc = context.node_location(stmt) match stmt: case mypy.nodes.ExpressionStmt(expr=mypy.nodes.StrExpr()): # ignore class docstring, already extracted - # TODO: should we capture field "docstrings"? + # field "docstrings" captured when looking at a field pass case mypy.nodes.AssignmentStmt( lvalues=[mypy.nodes.NameExpr(name=field_name)], rvalue=mypy.nodes.TempNode(), type=mypy.types.Type() as mypy_type, ): + # If possible: get the field docs at the next statement + description = None + if i + 1 < len(stmts): + match stmts[i + 1]: + case mypy.nodes.ExpressionStmt( + expr=mypy.nodes.StrExpr() as field_description + ): + description = field_description.value + case _: + pass + pytype = context.type_to_pytype(mypy_type, source_location=stmt_loc) - fields[field_name] = pytype + fields.append( + pytypes.PyTypeField(name=field_name, type=pytype, description=description) + ) if isinstance((maybe_err := pytype.wtype), str): logger.error(maybe_err, location=stmt_loc) has_error = True diff --git a/src/puyapy/awst_build/pytypes.py b/src/puyapy/awst_build/pytypes.py index f82136b3d0..39cf8ebfa5 100644 --- a/src/puyapy/awst_build/pytypes.py +++ b/src/puyapy/awst_build/pytypes.py @@ -12,6 +12,7 @@ from puya import log from puya.avm import TransactionType from puya.awst import wtypes +from puya.awst.wtypes import WTypeField from puya.errors import CodeError, InternalError from puya.parse import SourceLocation from puya.program_refs import ContractReference @@ -345,12 +346,19 @@ def wtype(self) -> wtypes.WTuple | ErrorMessage: ) +@attrs.frozen(kw_only=True, order=False) +class PyTypeField: + name: str = attrs.field() + type: PyType = attrs.field() + description: str | None = attrs.field(default=None, eq=False) + + NamedTupleBaseType: typing.Final[PyType] = _BaseType(name="typing.NamedTuple") @attrs.frozen(kw_only=True, order=False) class NamedTupleType(TupleType, RuntimeType): - fields: immutabledict[str, PyType] = attrs.field(converter=immutabledict) + _fields: tuple[PyTypeField, ...] = attrs.field(converter=tuple[PyTypeField, ...]) items: tuple[PyType, ...] = attrs.field(init=False) generic: None = attrs.field(default=None, init=False) bases: tuple[PyType, ...] = attrs.field(default=(NamedTupleBaseType,), init=False) @@ -360,7 +368,7 @@ class NamedTupleType(TupleType, RuntimeType): @items.default def _items(self) -> tuple[PyType, ...]: - return tuple(self.fields.values()) + return tuple(field.type for field in self.fields.values()) @wtype.default def _wtype(self) -> wtypes.WTuple: @@ -375,6 +383,10 @@ def _wtype(self) -> wtypes.WTuple: desc=self.desc, ) + @cached_property + def fields(self) -> Mapping[str, PyTypeField]: + return {field.name: field for field in self._fields} + @attrs.frozen(order=False) class SequenceType(PyType, abc.ABC): @@ -470,7 +482,7 @@ def wtype(self) -> ErrorMessage: @typing.final @attrs.frozen(init=False, order=False) class StructType(RuntimeType): - fields: immutabledict[str, PyType] = attrs.field(converter=immutabledict) + _fields: tuple[PyTypeField] = attrs.field(converter=tuple[PyTypeField, ...]) frozen: bool wtype: wtypes.ARC4Struct source_location: SourceLocation | None = attrs.field(eq=False) @@ -483,7 +495,11 @@ def names(self) -> tuple[str, ...]: @cached_property def types(self) -> tuple[PyType, ...]: - return tuple(self.fields.values()) + return tuple(field.type for field in self.fields.values()) + + @cached_property + def fields(self) -> Mapping[str, PyTypeField]: + return {field.name: field for field in self._fields} def __init__( self, @@ -491,16 +507,21 @@ def __init__( base: PyType, name: str, desc: str | None, - fields: Mapping[str, PyType], + fields: Sequence[PyTypeField], frozen: bool, source_location: SourceLocation | None, ): if base not in (ARC4StructBaseType, StructBaseType): raise InternalError(f"Unknown struct base type: {base}", source_location) - field_wtypes = { - name: field_typ.checked_wtype(source_location) for name, field_typ in fields.items() - } + field_wtypes = [ + WTypeField( + name=field.name, + wtype=field.type.checked_wtype(source_location), + description=field.description, + ) + for field in fields + ] wtype = wtypes.ARC4Struct( fields=field_wtypes, name=name, @@ -514,7 +535,7 @@ def __init__( name=name, desc=desc, wtype=wtype, - fields=fields, + fields=tuple(fields), frozen=frozen, source_location=source_location, ) @@ -833,24 +854,28 @@ def _name(self) -> str: CompiledContractType: typing.Final = _register_builtin( NamedTupleType( name="algopy._compiled.CompiledContract", - fields={ - "approval_program": GenericTupleType.parameterise([BytesType, BytesType], None), - "clear_state_program": GenericTupleType.parameterise([BytesType, BytesType], None), - "extra_program_pages": UInt64Type, - "global_uints": UInt64Type, - "global_bytes": UInt64Type, - "local_uints": UInt64Type, - "local_bytes": UInt64Type, - }, + fields=( + PyTypeField( + name="approval_program", + type=GenericTupleType.parameterise([BytesType, BytesType], None), + ), + PyTypeField( + name="clear_state_program", + type=GenericTupleType.parameterise([BytesType, BytesType], None), + ), + PyTypeField(name="extra_program_pages", type=UInt64Type), + PyTypeField(name="global_uints", type=UInt64Type), + PyTypeField(name="global_bytes", type=UInt64Type), + PyTypeField(name="local_uints", type=UInt64Type), + PyTypeField(name="local_bytes", type=UInt64Type), + ), source_location=None, ) ) CompiledLogicSigType: typing.Final = _register_builtin( NamedTupleType( name="algopy._compiled.CompiledLogicSig", - fields={ - "account": AccountType, - }, + fields=[PyTypeField(name="account", type=AccountType)], source_location=None, ) ) From dfe9a1475c62ce7c084e53be5e24658e6b8e5875 Mon Sep 17 00:00:00 2001 From: Ignacio Losiggio Date: Wed, 4 Mar 2026 21:49:52 -0300 Subject: [PATCH 2/2] fix: Update awst.json files to use the new format --- tests/analyse/reti.awst.json.zip | Bin 131037 -> 138650 bytes tests/from_awst/emit/module.awst.json | 4975 ++++----- tests/from_awst/itxn_compose/module.awst.json | 8875 +++++++++-------- .../ops_should_be_mutated/module.awst.json | 534 +- 4 files changed, 7602 insertions(+), 6782 deletions(-) diff --git a/tests/analyse/reti.awst.json.zip b/tests/analyse/reti.awst.json.zip index f270ec2abe58a4eeba56c3c4cb05e9758113f19c..6d4ddd72380ffbadeff27f69fe271bb0057cb727 100644 GIT binary patch literal 138650 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�lb@ney0|l9^QZIt&)770uZGv53!n=?_NW3h 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 z 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%0D2`>)1;1$G2xhV6jMa&jE{VNA8=!WAY1!rDt* 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

wUPxu9N}-_4j> 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 literal 131037 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 W22K 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,b:Uint<8>}", + "names": [ + "a", + "b" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 0, + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 17, + "end_line": 17, + "comment_lines": 0, + "column": 23, + "end_column": 37 + }, + "_type": "SingleEvaluation" + }, + "name": "a", + "_type": "FieldExpression" + }, + "b": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 17, + "end_line": 17, + "comment_lines": 0, + "column": 23, + "end_column": 37 + }, + "base": { + "source": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 17, + "end_line": 17, + "comment_lines": 0, + "column": 23, + "end_column": 37 + }, + "items": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 17, + "end_line": 17, + "comment_lines": 0, + "column": 28, + "end_column": 29 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 17, + "end_line": 17, + "comment_lines": 0, + "column": 34, + "end_column": 35 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + } + ], + "source_location": null, + "name": "{a:Uint<8>,b:Uint<8>}", + "names": [ + "a", + "b" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 0, + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 17, + "end_line": 17, + "comment_lines": 0, + "column": 23, + "end_column": 37 + }, + "_type": "SingleEvaluation" + }, + "name": "b", + "_type": "FieldExpression" + } + }, + "_type": "NewStruct" + }, + "_type": "AssignmentStatement" }, - "args": [], - "return_type": { - "_type": "WType", - "name": "bool", - "immutable": true + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 18, + "end_line": 18, + "comment_lines": 0, + "column": 4, + "end_column": 11 + }, + "value": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 18, + "end_line": 18, + "comment_lines": 0, + "column": 9, + "end_column": 10 + }, + "wtype": { + "name": "tests/approvals/arc-28-events.algo.ts::Swapped", + "_fields": [ + { + "name": "a", + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null + }, + { + "name": "b", + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null + } + ], + "frozen": false, + "source_location": null, + "desc": null, + "_type": "ARC4Struct" + }, + "name": "x", + "_type": "VarExpression" + }, + "_type": "Emit" + }, + "_type": "ExpressionStatement" }, - "body": { - "_type": "Block", + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 20, + "end_line": 23, + "comment_lines": 0, + "column": 10, + "end_column": 6 + }, + "target": { "source_location": { - "file": null, - "line": 1, - "end_line": 1, + "file": "%DIR%/arc-28-events.algo.ts", + "line": 20, + "end_line": 20, + "comment_lines": 0, + "column": 10, + "end_column": 11 + }, + "wtype": { + "name": "SwappedArc4", + "_fields": [ + { + "name": "a", + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null + }, + { + "name": "b", + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null + } + ], + "frozen": false, + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 11, + "end_line": 11, + "comment_lines": 0, "column": 0, - "end_column": 1 + "end_column": 60 + }, + "desc": null, + "_type": "ARC4Struct" + }, + "name": "y", + "_type": "VarExpression" + }, + "value": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 20, + "end_line": 23, + "comment_lines": 0, + "column": 14, + "end_column": 6 }, - "body": [ + "wtype": { + "name": "SwappedArc4", + "_fields": [ { - "_type": "ReturnStatement", + "name": "a", + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null + }, + { + "name": "b", + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null + } + ], + "frozen": false, + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 11, + "end_line": 11, + "comment_lines": 0, + "column": 0, + "end_column": 60 + }, + "desc": null, + "_type": "ARC4Struct" + }, + "values": { + "a": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 20, + "end_line": 23, + "comment_lines": 0, + "column": 14, + "end_column": 6 + }, + "base": { + "source": { "source_location": { - "file": null, - "line": 1, - "end_line": 1, - "column": 0, - "end_column": 1 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 20, + "end_line": 23, + "comment_lines": 0, + "column": 30, + "end_column": 5 }, - "value": { - "_type": "BoolConstant", + "items": [ + { "source_location": { - "file": null, - "line": 1, - "end_line": 1, - "column": 0, - "end_column": 1 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 21, + "end_line": 21, + "comment_lines": 0, + "column": 9, + "end_column": 10 }, "wtype": { - "_type": "WType", - "name": "bool", - "immutable": true + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "value": true - } - } + "name": "b", + "_type": "VarExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 22, + "end_line": 22, + "comment_lines": 0, + "column": 9, + "end_column": 10 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + } + ], + "source_location": null, + "name": "ReadonlyObject8F6E91C4", + "names": [ + "a", + "b" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 1, + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 20, + "end_line": 23, + "comment_lines": 0, + "column": 30, + "end_column": 5 + }, + "_type": "SingleEvaluation" + }, + "name": "a", + "_type": "FieldExpression" + }, + "b": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 20, + "end_line": 23, + "comment_lines": 0, + "column": 14, + "end_column": 6 + }, + "base": { + "source": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 20, + "end_line": 23, + "comment_lines": 0, + "column": 30, + "end_column": 5 + }, + "items": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 21, + "end_line": 21, + "comment_lines": 0, + "column": 9, + "end_column": 10 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 22, + "end_line": 22, + "comment_lines": 0, + "column": 9, + "end_column": 10 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + } + ], + "source_location": null, + "name": "ReadonlyObject8F6E91C4", + "names": [ + "a", + "b" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 1, + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 20, + "end_line": 23, + "comment_lines": 0, + "column": 30, + "end_column": 5 + }, + "_type": "SingleEvaluation" + }, + "name": "b", + "_type": "FieldExpression" + } + }, + "_type": "NewStruct" + }, + "_type": "AssignmentStatement" + }, + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 24, + "end_line": 24, + "comment_lines": 0, + "column": 4, + "end_column": 11 + }, + "value": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 24, + "end_line": 24, + "comment_lines": 0, + "column": 9, + "end_column": 10 + }, + "wtype": { + "name": "SwappedArc4", + "_fields": [ + { + "name": "a", + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null + }, + { + "name": "b", + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null + } + ], + "frozen": false, + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 11, + "end_line": 11, + "comment_lines": 0, + "column": 0, + "end_column": 60 + }, + "desc": null, + "_type": "ARC4Struct" + }, + "name": "y", + "_type": "VarExpression" + }, + "_type": "Emit" + }, + "_type": "ExpressionStatement" + }, + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 26, + "end_line": 26, + "comment_lines": 0, + "column": 4, + "end_column": 26 + }, + "signature": "Swapped4", + "values": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 26, + "end_line": 26, + "comment_lines": 0, + "column": 21, + "end_column": 22 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 26, + "end_line": 26, + "comment_lines": 0, + "column": 24, + "end_column": 25 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } ], - "label": null, - "comment": null + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" }, - "documentation": { - "_type": "MethodDocumentation", - "description": null, - "args": {}, - "returns": null + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 28, + "end_line": 28, + "comment_lines": 0, + "column": 4, + "end_column": 39 + }, + "signature": "Swapped5(uint8,uint8)", + "values": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 28, + "end_line": 28, + "comment_lines": 0, + "column": 34, + "end_column": 35 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 28, + "end_line": 28, + "comment_lines": 0, + "column": 37, + "end_column": 38 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } + ], + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" }, - "inline": null, - "pure": false, - "cref": "@algorandfoundation/algorand-typescript/base-contract.d.ts::BaseContract", - "member_name": "clearStateProgram", - "arc4_method_config": null - }, - "methods": [ { - "_type": "ContractMethod", + "expr": { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 14, - "end_line": 14, - "column": 2, - "end_column": 33 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 30, + "end_line": 30, + "comment_lines": 0, + "column": 4, + "end_column": 61 }, - "args": [ - { - "_type": "SubroutineArgument", - "name": "a", + "signature": "Swapped6((uint8,uint8),uint8)", + "values": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 30, + "end_line": 30, + "comment_lines": 0, + "column": 42, + "end_column": 48 + }, + "items": [ + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 14, - "end_line": 14, - "column": 14, - "end_column": 22 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 30, + "end_line": 30, + "comment_lines": 0, + "column": 43, + "end_column": 44 }, "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 30, + "end_line": 30, + "comment_lines": 0, + "column": 46, + "end_column": 47 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, - { - "_type": "SubroutineArgument", + "_type": "TupleExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 30, + "end_line": 30, + "comment_lines": 0, + "column": 59, + "end_column": 60 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } + ], + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" + }, + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 31, + "end_line": 31, + "comment_lines": 0, + "column": 4, + "end_column": 52 + }, + "signature": "Swapped6((uint8,uint8),uint8)", + "values": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 31, + "end_line": 31, + "comment_lines": 0, + "column": 42, + "end_column": 48 + }, + "items": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 31, + "end_line": 31, + "comment_lines": 0, + "column": 43, + "end_column": 44 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, "name": "b", + "_type": "VarExpression" + }, + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 14, - "end_line": 14, - "column": 24, - "end_column": 32 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 31, + "end_line": 31, + "comment_lines": 0, + "column": 46, + "end_column": 47 }, "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" } - } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 31, + "end_line": 31, + "comment_lines": 0, + "column": 50, + "end_column": 51 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } + ], + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" + }, + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 33, + "end_line": 33, + "comment_lines": 0, + "column": 4, + "end_column": 46 + }, + "signature": "Swapped7(uint8[],uint8)", + "values": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 33, + "end_line": 33, + "comment_lines": 0, + "column": 36, + "end_column": 42 + }, + "items": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 33, + "end_line": 33, + "comment_lines": 0, + "column": 37, + "end_column": 38 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 33, + "end_line": 33, + "comment_lines": 0, + "column": 40, + "end_column": 41 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 33, + "end_line": 33, + "comment_lines": 0, + "column": 44, + "end_column": 45 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } ], - "return_type": { - "_type": "WType", - "name": "void", - "immutable": true + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" + }, + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 35, + "end_line": 35, + "comment_lines": 0, + "column": 4, + "end_column": 56 }, - "body": { - "_type": "Block", + "signature": "Swapped8(((uint8,uint8)),uint8)", + "values": [ + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 14, - "end_line": 44, - "column": 34, - "end_column": 3 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 35, + "end_line": 35, + "comment_lines": 0, + "column": 44, + "end_column": 52 }, - "body": [ - { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 15, - "end_line": 15, - "column": 4, - "end_column": 33 - }, - "expr": { - "_type": "Emit", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 15, - "end_line": 15, - "column": 4, - "end_column": 33 - }, - "value": { - "_type": "NewStruct", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 15, - "end_line": 15, - "column": 18, - "end_column": 32 - }, - "wtype": { - "_type": "ARC4Struct", - "name": "tests/approvals/arc-28-events.algo.ts::Swapped", - "arc4_alias": null, - "fields": { - "a": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "b": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - }, - "source_location": null, - "frozen": false, - "desc": null - }, - "values": { - "a": { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 15, - "end_line": 15, - "column": 23, - "end_column": 24 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - "b": { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 15, - "end_line": 15, - "column": 29, - "end_column": 30 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - } - } - } + "items": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 35, + "end_line": 35, + "comment_lines": 0, + "column": 45, + "end_column": 51 }, - { - "_type": "AssignmentStatement", + "items": [ + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 10, - "end_column": 37 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 35, + "end_line": 35, + "comment_lines": 0, + "column": 46, + "end_column": 47 }, - "target": { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 10, - "end_column": 11 - }, - "wtype": { - "_type": "ARC4Struct", - "name": "tests/approvals/arc-28-events.algo.ts::Swapped", - "arc4_alias": null, - "fields": { - "a": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "b": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - }, - "source_location": null, - "frozen": false, - "desc": null - }, - "name": "x" + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "value": { - "_type": "NewStruct", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 23, - "end_column": 37 - }, - "wtype": { - "_type": "ARC4Struct", - "name": "tests/approvals/arc-28-events.algo.ts::Swapped", - "arc4_alias": null, - "fields": { - "a": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "b": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - }, - "source_location": null, - "frozen": false, - "desc": null - }, - "values": { - "a": { - "_type": "FieldExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 23, - "end_column": 37 - }, - "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 23, - "end_column": 37 - }, - "source": { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 23, - "end_column": 37 - }, - "wtype": { - "_type": "WTuple", - "name": "{a:Uint<8>,b:Uint<8>}", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ], - "names": ["a", "b"] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 28, - "end_column": 29 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 34, - "end_column": 35 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] - }, - "_id": "0" - }, - "name": "a" - }, - "b": { - "_type": "FieldExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 23, - "end_column": 37 - }, - "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 23, - "end_column": 37 - }, - "source": { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 23, - "end_column": 37 - }, - "wtype": { - "_type": "WTuple", - "name": "{a:Uint<8>,b:Uint<8>}", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ], - "names": ["a", "b"] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 28, - "end_column": 29 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 17, - "end_line": 17, - "column": 34, - "end_column": 35 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] - }, - "_id": "0" - }, - "name": "b" - } - } - } - }, - { - "_type": "ExpressionStatement", + "name": "b", + "_type": "VarExpression" + }, + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 18, - "end_line": 18, - "column": 4, - "end_column": 11 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 35, + "end_line": 35, + "comment_lines": 0, + "column": 49, + "end_column": 50 }, - "expr": { - "_type": "Emit", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 18, - "end_line": 18, - "column": 4, - "end_column": 11 - }, - "value": { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 18, - "end_line": 18, - "column": 9, - "end_column": 10 - }, - "wtype": { - "_type": "ARC4Struct", - "name": "tests/approvals/arc-28-events.algo.ts::Swapped", - "arc4_alias": null, - "fields": { - "a": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "b": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - }, - "source_location": null, - "frozen": false, - "desc": null - }, - "name": "x" - } - } - }, - { - "_type": "AssignmentStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 20, - "end_line": 23, - "column": 10, - "end_column": 6 + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "target": { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 20, - "end_line": 20, - "column": 10, - "end_column": 11 - }, - "wtype": { - "_type": "ARC4Struct", - "name": "SwappedArc4", - "arc4_alias": null, - "fields": { - "a": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "b": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - }, - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 11, - "end_line": 11, - "column": 0, - "end_column": 60 - }, - "frozen": false, - "desc": null - }, - "name": "y" + "name": "b", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "value": { - "_type": "NewStruct", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 20, - "end_line": 23, - "column": 14, - "end_column": 6 - }, - "wtype": { - "_type": "ARC4Struct", - "name": "SwappedArc4", - "arc4_alias": null, - "fields": { - "a": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "b": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - }, - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 11, - "end_line": 11, - "column": 0, - "end_column": 60 - }, - "frozen": false, - "desc": null - }, - "values": { - "a": { - "_type": "FieldExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 20, - "end_line": 23, - "column": 14, - "end_column": 6 - }, - "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 20, - "end_line": 23, - "column": 30, - "end_column": 5 - }, - "source": { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 20, - "end_line": 23, - "column": 30, - "end_column": 5 - }, - "wtype": { - "_type": "WTuple", - "name": "ReadonlyObject8F6E91C4", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ], - "names": ["a", "b"] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 21, - "end_line": 21, - "column": 9, - "end_column": 10 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 22, - "end_line": 22, - "column": 9, - "end_column": 10 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] - }, - "_id": "1" - }, - "name": "a" - }, - "b": { - "_type": "FieldExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 20, - "end_line": 23, - "column": 14, - "end_column": 6 - }, - "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 20, - "end_line": 23, - "column": 30, - "end_column": 5 - }, - "source": { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 20, - "end_line": 23, - "column": 30, - "end_column": 5 - }, - "wtype": { - "_type": "WTuple", - "name": "ReadonlyObject8F6E91C4", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ], - "names": ["a", "b"] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 21, - "end_line": 21, - "column": 9, - "end_column": 10 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 22, - "end_line": 22, - "column": 9, - "end_column": 10 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] - }, - "_id": "1" - }, - "name": "b" - } - } + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, + "_type": "TupleExpression" + } + ], + "wtype": { + "types": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 24, - "end_line": 24, - "column": 4, - "end_column": 11 + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "expr": { - "_type": "Emit", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 24, - "end_line": 24, - "column": 4, - "end_column": 11 - }, - "value": { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 24, - "end_line": 24, - "column": 9, - "end_column": 10 - }, - "wtype": { - "_type": "ARC4Struct", - "name": "SwappedArc4", - "arc4_alias": null, - "fields": { - "a": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "b": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - }, - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 11, - "end_line": 11, - "column": 0, - "end_column": 60 - }, - "frozen": false, - "desc": null - }, - "name": "y" - } + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 35, + "end_line": 35, + "comment_lines": 0, + "column": 54, + "end_column": 55 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } + ], + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" + }, + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 36, + "end_line": 36, + "comment_lines": 0, + "column": 4, + "end_column": 50 + }, + "signature": "Swapped9(uint8[][],uint8)", + "values": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 36, + "end_line": 36, + "comment_lines": 0, + "column": 38, + "end_column": 46 + }, + "items": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 36, + "end_line": 36, + "comment_lines": 0, + "column": 39, + "end_column": 45 }, - { - "_type": "ExpressionStatement", + "items": [ + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 26, - "end_line": 26, - "column": 4, - "end_column": 26 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 36, + "end_line": 36, + "comment_lines": 0, + "column": 40, + "end_column": 41 }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 26, - "end_line": 26, - "column": 4, - "end_column": 26 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Swapped4", - "values": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 26, - "end_line": 26, - "column": 21, - "end_column": 22 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 26, - "end_line": 26, - "column": 24, - "end_column": 25 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] - } - }, - { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 28, - "end_line": 28, - "column": 4, - "end_column": 39 + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 28, - "end_line": 28, - "column": 4, - "end_column": 39 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Swapped5(uint8,uint8)", - "values": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 28, - "end_line": 28, - "column": 34, - "end_column": 35 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 28, - "end_line": 28, - "column": 37, - "end_column": 38 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] - } - }, - { - "_type": "ExpressionStatement", + "name": "b", + "_type": "VarExpression" + }, + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 30, - "end_line": 30, - "column": 4, - "end_column": 61 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 36, + "end_line": 36, + "comment_lines": 0, + "column": 43, + "end_column": 44 }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 30, - "end_line": 30, - "column": 4, - "end_column": 61 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Swapped6((uint8,uint8),uint8)", - "values": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 30, - "end_line": 30, - "column": 42, - "end_column": 48 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 30, - "end_line": 30, - "column": 43, - "end_column": 44 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 30, - "end_line": 30, - "column": 46, - "end_column": 47 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - } - ] - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 30, - "end_line": 30, - "column": 59, - "end_column": 60 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] - } - }, - { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 31, - "end_line": 31, - "column": 4, - "end_column": 52 + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 31, - "end_line": 31, - "column": 4, - "end_column": 52 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Swapped6((uint8,uint8),uint8)", - "values": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 31, - "end_line": 31, - "column": 42, - "end_column": 48 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 31, - "end_line": 31, - "column": 43, - "end_column": 44 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 31, - "end_line": 31, - "column": 46, - "end_column": 47 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - } - ] - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 31, - "end_line": 31, - "column": 50, - "end_column": 51 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] - } - }, - { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 33, - "end_line": 33, - "column": 4, - "end_column": 46 + "name": "b", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 33, - "end_line": 33, - "column": 4, - "end_column": 46 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Swapped7(uint8[],uint8)", - "values": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 33, - "end_line": 33, - "column": 36, - "end_column": 42 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 33, - "end_line": 33, - "column": 37, - "end_column": 38 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 33, - "end_line": 33, - "column": 40, - "end_column": 41 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - } - ] - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 33, - "end_line": 33, - "column": 44, - "end_column": 45 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, + "_type": "TupleExpression" + } + ], + "wtype": { + "types": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 35, - "end_line": 35, - "column": 4, - "end_column": 56 + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 35, - "end_line": 35, - "column": 4, - "end_column": 56 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Swapped8(((uint8,uint8)),uint8)", - "values": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 35, - "end_line": 35, - "column": 44, - "end_column": 52 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - } - ] - }, - "items": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 35, - "end_line": 35, - "column": 45, - "end_column": 51 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 35, - "end_line": 35, - "column": 46, - "end_column": 47 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 35, - "end_line": 35, - "column": 49, - "end_column": 50 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - } - ] - } - ] - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 35, - "end_line": 35, - "column": 54, - "end_column": 55 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 36, + "end_line": 36, + "comment_lines": 0, + "column": 48, + "end_column": 49 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } + ], + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" + }, + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 38, + "end_line": 38, + "comment_lines": 0, + "column": 4, + "end_column": 57 + }, + "signature": "Swapped10((uint8,uint8)[],uint8)", + "values": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 38, + "end_line": 38, + "comment_lines": 0, + "column": 45, + "end_column": 53 + }, + "items": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 38, + "end_line": 38, + "comment_lines": 0, + "column": 46, + "end_column": 52 }, - { - "_type": "ExpressionStatement", + "items": [ + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 36, - "end_line": 36, - "column": 4, - "end_column": 50 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 38, + "end_line": 38, + "comment_lines": 0, + "column": 47, + "end_column": 48 }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 36, - "end_line": 36, - "column": 4, - "end_column": 50 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Swapped9(uint8[][],uint8)", - "values": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 36, - "end_line": 36, - "column": 38, - "end_column": 46 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - } - ] - }, - "items": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 36, - "end_line": 36, - "column": 39, - "end_column": 45 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 36, - "end_line": 36, - "column": 40, - "end_column": 41 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 36, - "end_line": 36, - "column": 43, - "end_column": 44 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - } - ] - } - ] - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 36, - "end_line": 36, - "column": 48, - "end_column": 49 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] - } - }, - { - "_type": "ExpressionStatement", + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + }, + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 38, - "end_line": 38, - "column": 4, - "end_column": 57 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 38, + "end_line": 38, + "comment_lines": 0, + "column": 50, + "end_column": 51 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 38, - "end_line": 38, - "column": 4, - "end_column": 57 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Swapped10((uint8,uint8)[],uint8)", - "values": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 38, - "end_line": 38, - "column": 45, - "end_column": 53 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - } - ] - }, - "items": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 38, - "end_line": 38, - "column": 46, - "end_column": 52 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 38, - "end_line": 38, - "column": 47, - "end_column": 48 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 38, - "end_line": 38, - "column": 50, - "end_column": 51 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - } - ] - } - ] - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 38, - "end_line": 38, - "column": 55, - "end_column": 56 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, + "_type": "TupleExpression" + } + ], + "wtype": { + "types": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 39, - "end_line": 39, - "column": 4, - "end_column": 51 + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 39, - "end_line": 39, - "column": 4, - "end_column": 51 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Swapped11((uint8[]),uint8)", - "values": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 39, - "end_line": 39, - "column": 39, - "end_column": 47 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - } - ] - }, - "items": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 39, - "end_line": 39, - "column": 40, - "end_column": 46 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - } - ] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 39, - "end_line": 39, - "column": 41, - "end_column": 42 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 39, - "end_line": 39, - "column": 44, - "end_column": 45 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - } - ] - } - ] - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 39, - "end_line": 39, - "column": 49, - "end_column": 50 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - } - ] + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 38, + "end_line": 38, + "comment_lines": 0, + "column": 55, + "end_column": 56 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } + ], + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" + }, + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 39, + "end_line": 39, + "comment_lines": 0, + "column": 4, + "end_column": 51 + }, + "signature": "Swapped11((uint8[]),uint8)", + "values": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 39, + "end_line": 39, + "comment_lines": 0, + "column": 39, + "end_column": 47 + }, + "items": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 39, + "end_line": 39, + "comment_lines": 0, + "column": 40, + "end_column": 46 }, - { - "_type": "AssignmentStatement", + "items": [ + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 41, - "end_line": 41, - "column": 10, - "end_column": 32 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 39, + "end_line": 39, + "comment_lines": 0, + "column": 41, + "end_column": 42 }, - "target": { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 41, - "end_line": 41, - "column": 10, - "end_column": 17 - }, - "wtype": { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - "name": "aUint64" + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "value": { - "_type": "ARC4Decode", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 41, - "end_line": 41, - "column": 20, - "end_column": 32 - }, - "wtype": { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - "value": { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 41, - "end_line": 41, - "column": 20, - "end_column": 21 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "a" - }, - "error_message": null - } - }, - { - "_type": "AssignmentStatement", + "name": "b", + "_type": "VarExpression" + }, + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 42, - "end_line": 42, - "column": 10, - "end_column": 32 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 39, + "end_line": 39, + "comment_lines": 0, + "column": 44, + "end_column": 45 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "target": { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 42, - "end_line": 42, - "column": 10, - "end_column": 17 - }, - "wtype": { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - "name": "bUint64" + "name": "b", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "value": { - "_type": "ARC4Decode", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 42, - "end_line": 42, - "column": 20, - "end_column": 32 - }, - "wtype": { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - "value": { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 42, - "end_line": 42, - "column": 20, - "end_column": 21 - }, - "wtype": { - "_type": "ARC4UIntN", - "arc4_alias": null, - "n": 8 - }, - "name": "b" - }, - "error_message": null + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, + "_type": "TupleExpression" + } + ], + "wtype": { + "types": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 43, - "end_line": 43, - "column": 4, - "end_column": 67 + "types": [ + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 43, - "end_line": 43, - "column": 4, - "end_column": 67 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Swapped12(uint64[],uint64)", - "values": [ - { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 43, - "end_line": 43, - "column": 39, - "end_column": 57 - }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - } - ] - }, - "items": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 43, - "end_line": 43, - "column": 40, - "end_column": 47 - }, - "wtype": { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - "name": "bUint64" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 43, - "end_line": 43, - "column": 49, - "end_column": 56 - }, - "wtype": { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - "name": "bUint64" - } - ] - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 43, - "end_line": 43, - "column": 59, - "end_column": 66 - }, - "wtype": { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - "name": "aUint64" - } - ] + { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" } - ], - "label": null, - "comment": null + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 39, + "end_line": 39, + "comment_lines": 0, + "column": 49, + "end_column": 50 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + } + ], + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 41, + "end_line": 41, + "comment_lines": 0, + "column": 10, + "end_column": 32 + }, + "target": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 41, + "end_line": 41, + "comment_lines": 0, + "column": 10, + "end_column": 17 }, - "documentation": { - "_type": "MethodDocumentation", - "description": null, - "args": {}, - "returns": null + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" }, - "inline": null, - "pure": false, - "cref": "tests/approvals/arc-28-events.algo.ts::EventEmitter", - "member_name": "emitSwapped", - "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 14, - "end_line": 14, - "column": 2, - "end_column": 33 - }, - "allowed_completion_types": [0], - "create": 3, - "name": "emitSwapped", - "resource_encoding": "value", - "readonly": false, - "default_args": {}, - "validate_encoding": null - } + "name": "aUint64", + "_type": "VarExpression" + }, + "value": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 41, + "end_line": 41, + "comment_lines": 0, + "column": 20, + "end_column": 32 + }, + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "value": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 41, + "end_line": 41, + "comment_lines": 0, + "column": 20, + "end_column": 21 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "a", + "_type": "VarExpression" + }, + "error_message": null, + "_type": "ARC4Decode" + }, + "_type": "AssignmentStatement" }, { - "_type": "ContractMethod", + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 42, + "end_line": 42, + "comment_lines": 0, + "column": 10, + "end_column": 32 + }, + "target": { "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 42, + "end_line": 42, + "comment_lines": 0, + "column": 10, + "end_column": 17 + }, + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "name": "bUint64", + "_type": "VarExpression" + }, + "value": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 42, + "end_line": 42, + "comment_lines": 0, + "column": 20, + "end_column": 32 + }, + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "value": { + "source_location": { "file": "%DIR%/arc-28-events.algo.ts", - "line": 46, - "end_line": 46, - "column": 2, - "end_column": 41 + "line": 42, + "end_line": 42, + "comment_lines": 0, + "column": 20, + "end_column": 21 + }, + "wtype": { + "arc4_alias": null, + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "name": "b", + "_type": "VarExpression" }, - "args": [ - { - "_type": "SubroutineArgument", - "name": "arg0", + "error_message": null, + "_type": "ARC4Decode" + }, + "_type": "AssignmentStatement" + }, + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 43, + "end_line": 43, + "comment_lines": 0, + "column": 4, + "end_column": 67 + }, + "signature": "Swapped12(uint64[],uint64)", + "values": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 43, + "end_line": 43, + "comment_lines": 0, + "column": 39, + "end_column": 57 + }, + "items": [ + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 46, - "end_line": 46, - "column": 13, - "end_column": 25 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 43, + "end_line": 43, + "comment_lines": 0, + "column": 40, + "end_column": 47 }, "wtype": { - "_type": "WType", - "name": "string", - "immutable": true - } - }, - { - "_type": "SubroutineArgument", - "name": "arg1", + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "name": "bUint64", + "_type": "VarExpression" + }, + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 46, - "end_line": 46, - "column": 27, - "end_column": 40 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 43, + "end_line": 43, + "comment_lines": 0, + "column": 49, + "end_column": 56 }, "wtype": { - "_type": "WType", - "name": "bool", - "immutable": true - } - } - ], - "return_type": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "body": { - "_type": "Block", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 46, - "end_line": 49, - "column": 42, - "end_column": 3 - }, - "body": [ + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "name": "bUint64", + "_type": "VarExpression" + } + ], + "wtype": { + "types": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 47, - "end_line": 47, - "column": 4, - "end_column": 30 - }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 47, - "end_line": 47, - "column": 4, - "end_column": 30 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Custom", - "values": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 47, - "end_line": 47, - "column": 19, - "end_column": 23 - }, - "wtype": { - "_type": "WType", - "name": "string", - "immutable": true - }, - "name": "arg0" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 47, - "end_line": 47, - "column": 25, - "end_column": 29 - }, - "wtype": { - "_type": "WType", - "name": "bool", - "immutable": true - }, - "name": "arg1" - } - ] - } + "name": "uint64", + "immutable": true, + "_type": "WType" }, { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 48, - "end_line": 48, - "column": 4, - "end_column": 43 - }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 48, - "end_line": 48, - "column": 4, - "end_column": 43 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "Custom(string,bool)", - "values": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 48, - "end_line": 48, - "column": 32, - "end_column": 36 - }, - "wtype": { - "_type": "WType", - "name": "string", - "immutable": true - }, - "name": "arg0" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 48, - "end_line": 48, - "column": 38, - "end_column": 42 - }, - "wtype": { - "_type": "WType", - "name": "bool", - "immutable": true - }, - "name": "arg1" - } - ] - } + "name": "uint64", + "immutable": true, + "_type": "WType" } - ], - "label": null, - "comment": null - }, - "documentation": { - "_type": "MethodDocumentation", - "description": null, - "args": {}, - "returns": null - }, - "inline": null, - "pure": false, - "cref": "tests/approvals/arc-28-events.algo.ts::EventEmitter", - "member_name": "emitCustom", - "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 46, - "end_line": 46, - "column": 2, - "end_column": 41 - }, - "allowed_completion_types": [0], - "create": 3, - "name": "emitCustom", - "resource_encoding": "value", - "readonly": false, - "default_args": {}, - "validate_encoding": null - } + "file": "%DIR%/arc-28-events.algo.ts", + "line": 43, + "end_line": 43, + "comment_lines": 0, + "column": 59, + "end_column": 66 + }, + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "name": "aUint64", + "_type": "VarExpression" + } + ], + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" + } + ], + "label": null, + "comment": null, + "_type": "Block" + }, + "documentation": { + "description": null, + "args": {}, + "returns": null + }, + "inline": null, + "pure": false, + "cref": "tests/approvals/arc-28-events.algo.ts::EventEmitter", + "member_name": "emitSwapped", + "arc4_method_config": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 14, + "end_line": 14, + "comment_lines": 0, + "column": 2, + "end_column": 33 + }, + "allowed_completion_types": [ + 0 + ], + "create": 3, + "name": "emitSwapped", + "resource_encoding": "value", + "readonly": false, + "default_args": {}, + "validate_encoding": null + } + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 46, + "end_line": 46, + "comment_lines": 0, + "column": 2, + "end_column": 41 + }, + "args": [ + { + "name": "arg0", + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 46, + "end_line": 46, + "comment_lines": 0, + "column": 13, + "end_column": 25 + }, + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + } + }, + { + "name": "arg1", + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 46, + "end_line": 46, + "comment_lines": 0, + "column": 27, + "end_column": 40 }, + "wtype": { + "name": "bool", + "immutable": true, + "_type": "WType" + } + } + ], + "return_type": { + "name": "void", + "immutable": true, + "_type": "WType" + }, + "body": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 46, + "end_line": 49, + "comment_lines": 0, + "column": 42, + "end_column": 3 + }, + "body": [ { - "_type": "ContractMethod", + "expr": { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 51, - "end_line": 51, - "column": 2, - "end_column": 45 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 47, + "end_line": 47, + "comment_lines": 0, + "column": 4, + "end_column": 30 }, - "args": [ - { - "_type": "SubroutineArgument", - "name": "x", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 51, - "end_line": 51, - "column": 19, - "end_column": 27 - }, - "wtype": { - "_type": "BytesWType", - "length": null - } + "signature": "Custom", + "values": [ + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 47, + "end_line": 47, + "comment_lines": 0, + "column": 19, + "end_column": 23 }, - { - "_type": "SubroutineArgument", - "name": "y", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 51, - "end_line": 51, - "column": 29, - "end_column": 44 - }, - "wtype": { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": null, - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null - } - } + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "name": "arg0", + "_type": "VarExpression" + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 47, + "end_line": 47, + "comment_lines": 0, + "column": 25, + "end_column": 29 + }, + "wtype": { + "name": "bool", + "immutable": true, + "_type": "WType" + }, + "name": "arg1", + "_type": "VarExpression" + } ], - "return_type": { - "_type": "WType", - "name": "void", - "immutable": true + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" + }, + { + "expr": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 48, + "end_line": 48, + "comment_lines": 0, + "column": 4, + "end_column": 43 }, - "body": { - "_type": "Block", + "signature": "Custom(string,bool)", + "values": [ + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 51, - "end_line": 54, - "column": 46, - "end_column": 3 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 48, + "end_line": 48, + "comment_lines": 0, + "column": 32, + "end_column": 36 }, - "body": [ - { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 53, - "end_line": 53, - "column": 4, - "end_column": 35 - }, - "expr": { - "_type": "EmitFields", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 53, - "end_line": 53, - "column": 4, - "end_column": 35 - }, - "wtype": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "signature": "DB(byte[],byte[])", - "values": [ - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 53, - "end_line": 53, - "column": 30, - "end_column": 31 - }, - "wtype": { - "_type": "BytesWType", - "length": null - }, - "name": "x" - }, - { - "_type": "VarExpression", - "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 53, - "end_line": 53, - "column": 33, - "end_column": 34 - }, - "wtype": { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": null, - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null - }, - "name": "y" - } - ] - } - } - ], - "label": null, - "comment": null - }, - "documentation": { - "_type": "MethodDocumentation", - "description": null, - "args": {}, - "returns": null - }, - "inline": null, - "pure": false, - "cref": "tests/approvals/arc-28-events.algo.ts::EventEmitter", - "member_name": "emitDynamicBytes", - "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "name": "arg0", + "_type": "VarExpression" + }, + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 51, - "end_line": 51, - "column": 2, - "end_column": 45 - }, - "allowed_completion_types": [0], - "create": 3, - "name": "emitDynamicBytes", - "resource_encoding": "value", - "readonly": false, - "default_args": {}, - "validate_encoding": null - } + "file": "%DIR%/arc-28-events.algo.ts", + "line": 48, + "end_line": 48, + "comment_lines": 0, + "column": 38, + "end_column": 42 + }, + "wtype": { + "name": "bool", + "immutable": true, + "_type": "WType" + }, + "name": "arg1", + "_type": "VarExpression" + } + ], + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" + } + ], + "label": null, + "comment": null, + "_type": "Block" + }, + "documentation": { + "description": null, + "args": {}, + "returns": null + }, + "inline": null, + "pure": false, + "cref": "tests/approvals/arc-28-events.algo.ts::EventEmitter", + "member_name": "emitCustom", + "arc4_method_config": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 46, + "end_line": 46, + "comment_lines": 0, + "column": 2, + "end_column": 41 + }, + "allowed_completion_types": [ + 0 + ], + "create": 3, + "name": "emitCustom", + "resource_encoding": "value", + "readonly": false, + "default_args": {}, + "validate_encoding": null + } + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 51, + "end_line": 51, + "comment_lines": 0, + "column": 2, + "end_column": 45 + }, + "args": [ + { + "name": "x", + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 51, + "end_line": 51, + "comment_lines": 0, + "column": 19, + "end_column": 27 + }, + "wtype": { + "length": null, + "_type": "BytesWType" + } + }, + { + "name": "y", + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 51, + "end_line": 51, + "comment_lines": 0, + "column": 29, + "end_column": 44 }, + "wtype": { + "arc4_alias": null, + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "_type": "ARC4DynamicArray" + } + } + ], + "return_type": { + "name": "void", + "immutable": true, + "_type": "WType" + }, + "body": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 51, + "end_line": 54, + "comment_lines": 0, + "column": 46, + "end_column": 3 + }, + "body": [ { - "_type": "ContractMethod", + "expr": { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 13, - "end_line": 13, - "column": 0, - "end_column": 37 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 53, + "end_line": 53, + "comment_lines": 0, + "column": 4, + "end_column": 35 }, - "args": [], - "return_type": { - "_type": "WType", - "name": "void", - "immutable": true - }, - "body": { - "_type": "Block", + "signature": "DB(byte[],byte[])", + "values": [ + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 13, - "end_line": 13, - "column": 0, - "end_column": 37 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 53, + "end_line": 53, + "comment_lines": 0, + "column": 30, + "end_column": 31 }, - "body": [], - "label": null, - "comment": null - }, - "documentation": { - "_type": "MethodDocumentation", - "description": "Implicitly generated create method", - "args": {}, - "returns": null - }, - "inline": null, - "pure": false, - "cref": "tests/approvals/arc-28-events.algo.ts::EventEmitter", - "member_name": "__algots__.defaultCreate", - "arc4_method_config": { - "_type": "ARC4BareMethodConfig", + "wtype": { + "length": null, + "_type": "BytesWType" + }, + "name": "x", + "_type": "VarExpression" + }, + { "source_location": { - "file": "%DIR%/arc-28-events.algo.ts", - "line": 13, - "end_line": 13, - "column": 0, - "end_column": 37 + "file": "%DIR%/arc-28-events.algo.ts", + "line": 53, + "end_line": 53, + "comment_lines": 0, + "column": 33, + "end_column": 34 }, - "allowed_completion_types": [0], - "create": 2 - } + "wtype": { + "arc4_alias": null, + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "_type": "ARC4DynamicArray" + }, + "name": "y", + "_type": "VarExpression" + } + ], + "_type": "EmitFields" + }, + "_type": "ExpressionStatement" } - ], - "app_state": [], - "state_totals": { - "_type": "StateTotals", - "global_uints": null, - "local_uints": null, - "global_bytes": null, - "local_bytes": null + ], + "label": null, + "comment": null, + "_type": "Block" + }, + "documentation": { + "description": null, + "args": {}, + "returns": null }, - "reserved_scratch_space": [], - "avm_version": null - } + "inline": null, + "pure": false, + "cref": "tests/approvals/arc-28-events.algo.ts::EventEmitter", + "member_name": "emitDynamicBytes", + "arc4_method_config": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 51, + "end_line": 51, + "comment_lines": 0, + "column": 2, + "end_column": 45 + }, + "allowed_completion_types": [ + 0 + ], + "create": 3, + "name": "emitDynamicBytes", + "resource_encoding": "value", + "readonly": false, + "default_args": {}, + "validate_encoding": null + } + }, + { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 13, + "end_line": 13, + "comment_lines": 0, + "column": 0, + "end_column": 37 + }, + "args": [], + "return_type": { + "name": "void", + "immutable": true, + "_type": "WType" + }, + "body": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 13, + "end_line": 13, + "comment_lines": 0, + "column": 0, + "end_column": 37 + }, + "body": [], + "label": null, + "comment": null, + "_type": "Block" + }, + "documentation": { + "description": "Implicitly generated create method", + "args": {}, + "returns": null + }, + "inline": null, + "pure": false, + "cref": "tests/approvals/arc-28-events.algo.ts::EventEmitter", + "member_name": "__algots__.defaultCreate", + "arc4_method_config": { + "source_location": { + "file": "%DIR%/arc-28-events.algo.ts", + "line": 13, + "end_line": 13, + "comment_lines": 0, + "column": 0, + "end_column": 37 + }, + "allowed_completion_types": [ + 0 + ], + "create": 2 + } + } + ], + "app_state": [], + "state_totals": { + "global_uints": null, + "local_uints": null, + "global_bytes": null, + "local_bytes": null + }, + "reserved_scratch_space": [], + "avm_version": null, + "_type": "Contract" + } ] diff --git a/tests/from_awst/itxn_compose/module.awst.json b/tests/from_awst/itxn_compose/module.awst.json index c910f483a9..9ed2ced9ff 100644 --- a/tests/from_awst/itxn_compose/module.awst.json +++ b/tests/from_awst/itxn_compose/module.awst.json @@ -1,10 +1,10 @@ [ { - "_type": "Contract", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 35, "end_line": 35, + "comment_lines": 0, "column": 0, "end_column": 38 }, @@ -17,170 +17,172 @@ "@algorandfoundation/algorand-typescript/base-contract.d.ts::BaseContract" ], "approval_program": { - "_type": "ContractMethod", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "args": [], "return_type": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [ { - "_type": "IfElse", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "condition": { - "_type": "Not", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "expr": { - "_type": "ReinterpretCast", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "wtype": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, "expr": { - "_type": "IntrinsicCall", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "op_code": "txn", "immediates": [ "ApplicationID" ], - "stack_args": [] - } - } + "stack_args": [], + "_type": "IntrinsicCall" + }, + "_type": "ReinterpretCast" + }, + "_type": "Not" }, "if_branch": { - "_type": "Block", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": null, - "line": 1, - "end_line": 1, - "column": 0, - "end_column": 1 - }, "expr": { - "_type": "SubroutineCallExpression", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "wtype": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "target": { - "_type": "InstanceMethodTarget", - "member_name": "constructor" + "member_name": "constructor", + "_type": "InstanceMethodTarget" }, - "args": [] - } + "args": [], + "_type": "SubroutineCallExpression" + }, + "_type": "ExpressionStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, - "else_branch": null + "else_branch": null, + "_type": "IfElse" }, { - "_type": "Block", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [ { - "_type": "ReturnStatement", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "value": { - "_type": "ARC4Router", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 - } - } + }, + "_type": "ARC4Router" + }, + "_type": "ReturnStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -192,62 +194,64 @@ "arc4_method_config": null }, "clear_program": { - "_type": "ContractMethod", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "args": [], "return_type": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [ { - "_type": "ReturnStatement", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "value": { - "_type": "BoolConstant", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, + "value": true, "wtype": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": true - } + "_type": "BoolConstant" + }, + "_type": "ReturnStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -260,112 +264,116 @@ }, "methods": [ { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 36, "end_line": 37, + "comment_lines": 0, "column": 2, "end_column": 26 }, "args": [ { - "_type": "SubroutineArgument", "name": "greeting", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 37, "end_line": 37, + "comment_lines": 0, "column": 9, "end_column": 25 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" } } ], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 37, "end_line": 39, + "comment_lines": 0, "column": 27, "end_column": 3 }, "body": [ { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 38, "end_line": 38, + "comment_lines": 0, "column": 4, "end_column": 34 }, "target": { - "_type": "AppStateExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 38, "end_line": 38, + "comment_lines": 0, "column": 4, "end_column": 23 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "key": { - "_type": "BytesConstant", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 2, "end_column": 10 }, + "value": "XL4m_bZKs9", "wtype": { - "_type": "WType", "name": "state_key", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": "XL4m_bZKs9", - "encoding": "utf8" + "encoding": "utf8", + "_type": "BytesConstant" }, - "exists_assertion_message": "check GlobalState exists" + "exists_assertion_message": "check GlobalState exists", + "_type": "AppStateExpression" }, "value": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 38, "end_line": 38, + "comment_lines": 0, "column": 26, "end_column": 34 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "greeting" - } + "name": "greeting", + "_type": "VarExpression" + }, + "_type": "AssignmentStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -375,11 +383,11 @@ "cref": "tests/approvals/precompiled-apps.algo.ts::Hello", "member_name": "create", "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 36, "end_line": 36, + "comment_lines": 0, "column": 3, "end_column": 58 }, @@ -395,35 +403,35 @@ } }, { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 20, "end_line": 21, + "comment_lines": 0, "column": 2, "end_column": 10 }, "args": [], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 21, "end_line": 21, + "comment_lines": 0, "column": 11, "end_column": 13 }, "body": [], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -433,11 +441,11 @@ "cref": "tests/approvals/precompiled-apps.algo.ts::HelloBase", "member_name": "delete", "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 20, "end_line": 20, + "comment_lines": 0, "column": 3, "end_column": 51 }, @@ -453,35 +461,35 @@ } }, { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 23, "end_line": 24, + "comment_lines": 0, "column": 2, "end_column": 10 }, "args": [], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 24, "end_line": 24, + "comment_lines": 0, "column": 11, "end_column": 13 }, "body": [], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -491,11 +499,11 @@ "cref": "tests/approvals/precompiled-apps.algo.ts::HelloBase", "member_name": "update", "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 23, "end_line": 23, + "comment_lines": 0, "column": 3, "end_column": 51 }, @@ -511,192 +519,201 @@ } }, { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 26, "end_line": 26, + "comment_lines": 0, "column": 2, "end_column": 29 }, "args": [ { - "_type": "SubroutineArgument", "name": "name", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 26, "end_line": 26, + "comment_lines": 0, "column": 8, "end_column": 20 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" } } ], "return_type": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 26, "end_line": 28, + "comment_lines": 0, "column": 30, "end_column": 3 }, "body": [ { - "_type": "ReturnStatement", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 4, "end_column": 43 }, "value": { - "_type": "BytesBinaryOperation", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 11, "end_column": 43 }, - "wtype": { - "_type": "WType", - "name": "string", - "immutable": true - }, "left": { - "_type": "BytesBinaryOperation", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 11, "end_column": 43 }, - "wtype": { - "_type": "WType", - "name": "string", - "immutable": true - }, "left": { - "_type": "BytesBinaryOperation", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 11, "end_column": 43 }, - "wtype": { - "_type": "WType", - "name": "string", - "immutable": true - }, "left": { - "_type": "StringConstant", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 11, "end_column": 43 }, + "value": "", "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": "" + "_type": "StringConstant" }, "op": "+", "right": { - "_type": "AppStateExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 14, "end_column": 33 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "key": { - "_type": "BytesConstant", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 2, "end_column": 10 }, + "value": "XL4m_bZKs9", "wtype": { - "_type": "WType", "name": "state_key", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": "XL4m_bZKs9", - "encoding": "utf8" + "encoding": "utf8", + "_type": "BytesConstant" }, - "exists_assertion_message": "check GlobalState exists" - } + "exists_assertion_message": "check GlobalState exists", + "_type": "AppStateExpression" + }, + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "_type": "BytesBinaryOperation" }, "op": "+", "right": { - "_type": "StringConstant", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 11, "end_column": 43 }, + "value": " ", "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": " " - } + "_type": "StringConstant" + }, + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "_type": "BytesBinaryOperation" }, "op": "+", "right": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 37, "end_column": 41 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "name" - } - } + "name": "name", + "_type": "VarExpression" + }, + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "_type": "BytesBinaryOperation" + }, + "_type": "ReturnStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -706,11 +723,11 @@ "cref": "tests/approvals/precompiled-apps.algo.ts::HelloBase", "member_name": "greet", "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 26, "end_line": 26, + "comment_lines": 0, "column": 2, "end_column": 29 }, @@ -726,325 +743,363 @@ } }, { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 30, "end_line": 30, + "comment_lines": 0, "column": 2, "end_column": 36 }, "args": [ { - "_type": "SubroutineArgument", "name": "a", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 30, "end_line": 30, + "comment_lines": 0, "column": 16, "end_column": 27 }, "wtype": { - "_type": "ARC4Struct", "name": "%DIR%/precompiled-apps.algo.ts::Greeting", - "arc4_alias": null, - "fields": { - "name": { - "_type": "WType", - "name": "string", - "immutable": true + "_fields": [ + { + "name": "name", + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "termination": { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": "string", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 + { + "name": "termination", + "wtype": { + "arc4_alias": "string", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "_type": "ARC4DynamicArray" }, - "source_location": null + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" } } ], "return_type": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 30, "end_line": 32, + "comment_lines": 0, "column": 37, "end_column": 3 }, "body": [ { - "_type": "ReturnStatement", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 4, "end_column": 68 }, "value": { - "_type": "BytesBinaryOperation", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 11, "end_column": 68 }, - "wtype": { - "_type": "WType", - "name": "string", - "immutable": true - }, "left": { - "_type": "BytesBinaryOperation", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 11, "end_column": 68 }, - "wtype": { - "_type": "WType", - "name": "string", - "immutable": true - }, "left": { - "_type": "BytesBinaryOperation", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 11, "end_column": 68 }, - "wtype": { - "_type": "WType", - "name": "string", - "immutable": true - }, "left": { - "_type": "BytesBinaryOperation", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 11, "end_column": 68 }, - "wtype": { - "_type": "WType", - "name": "string", - "immutable": true - }, "left": { - "_type": "StringConstant", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 11, "end_column": 68 }, + "value": "", "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": "" + "_type": "StringConstant" }, "op": "+", "right": { - "_type": "AppStateExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 14, "end_column": 33 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "key": { - "_type": "BytesConstant", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 2, "end_column": 10 }, + "value": "XL4m_bZKs9", "wtype": { - "_type": "WType", "name": "state_key", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": "XL4m_bZKs9", - "encoding": "utf8" + "encoding": "utf8", + "_type": "BytesConstant" }, - "exists_assertion_message": "check GlobalState exists" - } + "exists_assertion_message": "check GlobalState exists", + "_type": "AppStateExpression" + }, + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "_type": "BytesBinaryOperation" }, "op": "+", "right": { - "_type": "StringConstant", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 11, "end_column": 68 }, + "value": " ", "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": " " - } + "_type": "StringConstant" + }, + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "_type": "BytesBinaryOperation" }, "op": "+", "right": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 37, "end_column": 43 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 37, "end_column": 38 }, "wtype": { - "_type": "ARC4Struct", "name": "%DIR%/precompiled-apps.algo.ts::Greeting", - "arc4_alias": null, - "fields": { - "name": { - "_type": "WType", - "name": "string", - "immutable": true + "_fields": [ + { + "name": "name", + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "termination": { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": "string", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 + { + "name": "termination", + "wtype": { + "arc4_alias": "string", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "_type": "ARC4DynamicArray" }, - "source_location": null + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, - "name": "a" + "name": "a", + "_type": "VarExpression" }, - "name": "name" - } + "name": "name", + "_type": "FieldExpression" + }, + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "_type": "BytesBinaryOperation" }, "op": "+", "right": { - "_type": "ARC4Decode", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 46, "end_column": 66 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 46, "end_column": 59 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 46, "end_column": 47 }, "wtype": { - "_type": "ARC4Struct", "name": "%DIR%/precompiled-apps.algo.ts::Greeting", - "arc4_alias": null, - "fields": { - "name": { - "_type": "WType", - "name": "string", - "immutable": true + "_fields": [ + { + "name": "name", + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "termination": { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": "string", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 + { + "name": "termination", + "wtype": { + "arc4_alias": "string", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "_type": "ARC4DynamicArray" }, - "source_location": null + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, - "name": "a" + "name": "a", + "_type": "VarExpression" }, - "name": "termination" + "name": "termination", + "_type": "FieldExpression" }, - "error_message": null - } - } + "error_message": null, + "_type": "ARC4Decode" + }, + "wtype": { + "name": "string", + "immutable": true, + "_type": "WType" + }, + "_type": "BytesBinaryOperation" + }, + "_type": "ReturnStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -1054,11 +1109,11 @@ "cref": "tests/approvals/precompiled-apps.algo.ts::HelloBase", "member_name": "sendGreetings", "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 30, "end_line": 30, + "comment_lines": 0, "column": 2, "end_column": 36 }, @@ -1074,125 +1129,123 @@ } }, { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 17, "end_line": 17, + "comment_lines": 0, "column": 0, "end_column": 43 }, "args": [], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 17, "end_line": 17, + "comment_lines": 0, "column": 0, "end_column": 43 }, "body": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/precompiled-apps.algo.ts", - "line": 17, - "end_line": 17, - "column": 0, - "end_column": 43 - }, "expr": { - "_type": "SubroutineCallExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 17, "end_line": 17, + "comment_lines": 0, "column": 0, "end_column": 43 }, "wtype": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "target": { - "_type": "InstanceSuperMethodTarget", - "member_name": "constructor" + "member_name": "constructor", + "_type": "InstanceSuperMethodTarget" }, - "args": [] - } + "args": [], + "_type": "SubroutineCallExpression" + }, + "_type": "ExpressionStatement" }, { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 2, "end_column": 46 }, "target": { - "_type": "AppStateExpression", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 2, "end_column": 10 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "key": { - "_type": "BytesConstant", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 2, "end_column": 10 }, + "value": "XL4m_bZKs9", "wtype": { - "_type": "WType", "name": "state_key", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": "XL4m_bZKs9", - "encoding": "utf8" + "encoding": "utf8", + "_type": "BytesConstant" }, - "exists_assertion_message": null + "exists_assertion_message": null, + "_type": "AppStateExpression" }, "value": { - "_type": "StringConstant", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 41, "end_column": 43 }, + "value": "", "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": "" - } + "_type": "StringConstant" + }, + "_type": "AssignmentStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -1204,35 +1257,35 @@ "arc4_method_config": null }, { - "_type": "ContractMethod", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "args": [], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -1246,58 +1299,59 @@ ], "app_state": [ { - "_type": "AppStorageDefinition", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 2, "end_column": 10 }, "member_name": "greeting", "kind": 1, "storage_wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "key_wtype": null, "key": { - "_type": "BytesConstant", "source_location": { "file": "%DIR%/precompiled-apps.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 2, "end_column": 10 }, + "value": "XL4m_bZKs9", "wtype": { - "_type": "WType", "name": "state_key", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": "XL4m_bZKs9", - "encoding": "utf8" + "encoding": "utf8", + "_type": "BytesConstant" }, "description": null } ], "state_totals": { - "_type": "StateTotals", "global_uints": null, "local_uints": null, "global_bytes": null, "local_bytes": null }, "reserved_scratch_space": [], - "avm_version": null - }, + "avm_version": null, + "_type": "Contract" + }, { - "_type": "Contract", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 0, "end_column": 40 }, @@ -1309,56 +1363,58 @@ "@algorandfoundation/algorand-typescript/base-contract.d.ts::BaseContract" ], "approval_program": { - "_type": "ContractMethod", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "args": [], "return_type": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [ { - "_type": "ReturnStatement", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "value": { - "_type": "ARC4Router", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 - } - } + }, + "_type": "ARC4Router" + }, + "_type": "ReturnStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -1370,62 +1426,64 @@ "arc4_method_config": null }, "clear_program": { - "_type": "ContractMethod", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "args": [], "return_type": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [ { - "_type": "ReturnStatement", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "value": { - "_type": "BoolConstant", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, + "value": true, "wtype": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": true - } + "_type": "BoolConstant" + }, + "_type": "ReturnStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -1438,133 +1496,126 @@ }, "methods": [ { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 19, "end_line": 19, + "comment_lines": 0, "column": 2, "end_column": 81 }, "args": [ { - "_type": "SubroutineArgument", "name": "addresses", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 19, "end_line": 19, + "comment_lines": 0, "column": 13, "end_column": 33 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" } }, { - "_type": "SubroutineArgument", "name": "funds", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 19, "end_line": 19, + "comment_lines": 0, "column": 35, "end_column": 57 }, "wtype": { - "_type": "WGroupTransaction", - "name": "group_transaction_pay", "immutable": true, - "transaction_type": 1 + "transaction_type": 1, + "name": "group_transaction_pay", + "_type": "WGroupTransaction" } }, { - "_type": "SubroutineArgument", "name": "verifier", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 19, "end_line": 19, + "comment_lines": 0, "column": 59, "end_column": 80 }, "wtype": { - "_type": "WType", "name": "application", - "immutable": true + "immutable": true, + "_type": "WType" } } ], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 19, "end_line": 53, + "comment_lines": 0, "column": 82, "end_column": 3 }, "body": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 20, - "end_line": 22, - "column": 4, - "end_column": 6 - }, "expr": { - "_type": "AssertExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 20, "end_line": 22, + "comment_lines": 0, "column": 4, "end_column": 6 }, "condition": { - "_type": "BytesComparisonExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 20, "end_line": 22, + "comment_lines": 0, "column": 4, "end_column": 6 }, "lhs": { - "_type": "IntrinsicCall", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 20, "end_line": 22, + "comment_lines": 0, "column": 4, "end_column": 6 }, "wtype": { - "_type": "WType", "name": "account", - "immutable": true + "immutable": true, + "_type": "WType" }, "op_code": "gtxns", "immediates": [ @@ -1572,173 +1623,180 @@ ], "stack_args": [ { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 20, "end_line": 20, + "comment_lines": 0, "column": 16, "end_column": 21 }, "wtype": { - "_type": "WGroupTransaction", - "name": "group_transaction_pay", "immutable": true, - "transaction_type": 1 + "transaction_type": 1, + "name": "group_transaction_pay", + "_type": "WGroupTransaction" }, - "name": "funds" + "name": "funds", + "_type": "VarExpression" } - ] + ], + "_type": "IntrinsicCall" }, "operator": "==", "rhs": { - "_type": "IntrinsicCall", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 21, "end_line": 21, + "comment_lines": 0, "column": 16, "end_column": 48 }, "wtype": { - "_type": "WType", "name": "account", - "immutable": true + "immutable": true, + "_type": "WType" }, "op_code": "global", "immediates": [ "CurrentApplicationAddress" ], - "stack_args": [] - } + "stack_args": [], + "_type": "IntrinsicCall" + }, + "_type": "BytesComparisonExpression" }, "error_message": "assert target is match for conditions", - "explicit": true - } + "explicit": true, + "log_error": false, + "_type": "AssertExpression" + }, + "_type": "ExpressionStatement" }, { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 23, - "end_line": 23, - "column": 4, - "end_column": 58 - }, "expr": { - "_type": "AssertExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 23, "end_line": 23, + "comment_lines": 0, "column": 4, "end_column": 58 }, "condition": { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 23, "end_line": 23, + "comment_lines": 0, "column": 4, "end_column": 58 }, "wtype": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, "expr": { - "_type": "ArrayLength", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 23, "end_line": 23, + "comment_lines": 0, "column": 11, "end_column": 27 }, "array": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 23, "end_line": 23, + "comment_lines": 0, "column": 11, "end_column": 20 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" - } - } + "name": "addresses", + "_type": "VarExpression" + }, + "_type": "ArrayLength" + }, + "_type": "ReinterpretCast" }, "error_message": "must provide some accounts", - "explicit": true - } + "explicit": true, + "log_error": false, + "_type": "AssertExpression" + }, + "_type": "ExpressionStatement" }, { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 24, "end_line": 24, + "comment_lines": 0, "column": 10, "end_column": 57 }, "target": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 24, "end_line": 24, + "comment_lines": 0, "column": 10, "end_column": 15 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, "value": { - "_type": "UInt64BinaryOperation", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 24, "end_line": 24, + "comment_lines": 0, "column": 26, "end_column": 57 }, "left": { - "_type": "IntrinsicCall", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 24, "end_line": 24, + "comment_lines": 0, "column": 26, "end_column": 38 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "op_code": "gtxns", "immediates": [ @@ -1746,6402 +1804,6952 @@ ], "stack_args": [ { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 24, "end_line": 24, + "comment_lines": 0, "column": 26, "end_column": 31 }, "wtype": { - "_type": "WGroupTransaction", - "name": "group_transaction_pay", "immutable": true, - "transaction_type": 1 + "transaction_type": 1, + "name": "group_transaction_pay", + "_type": "WGroupTransaction" }, - "name": "funds" + "name": "funds", + "_type": "VarExpression" } - ] + ], + "_type": "IntrinsicCall" }, "op": "//", "right": { - "_type": "ArrayLength", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 24, "end_line": 24, + "comment_lines": 0, "column": 41, "end_column": 57 }, "array": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 24, "end_line": 24, + "comment_lines": 0, "column": 41, "end_column": 50 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" - } - } - } + "name": "addresses", + "_type": "VarExpression" + }, + "_type": "ArrayLength" + }, + "_type": "UInt64BinaryOperation" + }, + "_type": "AssignmentStatement" }, { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 10, "end_column": 36 }, "target": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 26, + "comment_lines": 0, "column": 10, "end_column": 19 }, "wtype": { - "_type": "ARC4Struct", "name": "Object3BB2638B", - "arc4_alias": null, - "fields": { - "type": { - "_type": "WType", - "name": "uint64", - "immutable": true + "_fields": [ + { + "name": "type", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "amount": { - "_type": "WType", - "name": "uint64", - "immutable": true + { + "name": "amount", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "receiver": { - "_type": "BytesWType", - "length": null + { + "name": "receiver", + "wtype": { + "length": null, + "_type": "BytesWType" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, - "name": "payFields" + "name": "payFields", + "_type": "VarExpression" }, "value": { - "_type": "NewStruct", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "wtype": { - "_type": "ARC4Struct", "name": "Object3BB2638B", - "arc4_alias": null, - "fields": { - "type": { - "_type": "WType", - "name": "uint64", - "immutable": true + "_fields": [ + { + "name": "type", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "amount": { - "_type": "WType", - "name": "uint64", - "immutable": true + { + "name": "amount", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "receiver": { - "_type": "BytesWType", - "length": null + { + "name": "receiver", + "wtype": { + "length": null, + "_type": "BytesWType" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, "values": { "type": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 0 + "index": 0, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 1 + "index": 1, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } - } - ] - }, - "_id": "2" - }, - "index": 2 - } - ] - }, - "_id": "1" - }, - "name": "type" - }, - { - "_type": "FieldExpression", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, - "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, - "source": { - "_type": "TupleExpression", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" + } + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" + }, + "index": 2, + "_type": "TupleItemExpression" + } + ], "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", "types": [ { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", "names": [ "type", "amount", "receiver" - ] + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 1, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" + }, + "name": "type", + "_type": "FieldExpression" + }, + { + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "base": { + "source": { + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, "items": [ { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 0 + "index": 0, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "_id": "2" + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" }, - "index": 1 + "index": 1, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 2 + "index": 2, + "_type": "TupleItemExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 1, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "1" + "_type": "SingleEvaluation" }, - "name": "amount" + "name": "amount", + "_type": "FieldExpression" }, { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 0 + "index": 0, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 1 + "index": 1, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 2 + "index": 2, + "_type": "TupleItemExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 1, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "1" + "_type": "SingleEvaluation" }, - "name": "receiver" + "name": "receiver", + "_type": "FieldExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 0, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "0" + "_type": "SingleEvaluation" }, - "name": "type" + "name": "type", + "_type": "FieldExpression" }, "amount": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 0 + "index": 0, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 1 + "index": 1, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 2 + "index": 2, + "_type": "TupleItemExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "_id": "1" + "_id": 1, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" }, - "name": "type" + "name": "type", + "_type": "FieldExpression" }, { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 0 + "index": 0, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 1 + "index": 1, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 2 + "index": 2, + "_type": "TupleItemExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 1, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "1" + "_type": "SingleEvaluation" }, - "name": "amount" + "name": "amount", + "_type": "FieldExpression" }, { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 0 + "index": 0, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "_id": "2" + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" }, - "index": 1 + "index": 1, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "_id": "2" + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" }, - "index": 2 + "index": 2, + "_type": "TupleItemExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "_id": "1" + "_id": 1, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" }, - "name": "receiver" + "name": "receiver", + "_type": "FieldExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "_id": "0" + "_id": 0, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" }, - "name": "amount" + "name": "amount", + "_type": "FieldExpression" }, "receiver": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "_id": "2" + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" }, - "index": 0 + "index": 0, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 1 + "index": 1, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "_id": "2" + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" }, - "index": 2 + "index": 2, + "_type": "TupleItemExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 1, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "1" + "_type": "SingleEvaluation" }, - "name": "type" + "name": "type", + "_type": "FieldExpression" }, { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 0 + "index": 0, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" + }, + "value": 0, + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "value": 0, - "teal_alias": null - } - } + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 1 + "index": 1, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 2 + "index": 2, + "_type": "TupleItemExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 1, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "1" + "_type": "SingleEvaluation" }, - "name": "amount" + "name": "amount", + "_type": "FieldExpression" }, { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{type:TransactionType,amount:uint64,receiver:bytes}", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ], - "names": [ - "type", - "amount", - "receiver" - ] - }, "items": [ { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "_id": "2" + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 + }, + "_type": "SingleEvaluation" }, - "index": 0 + "index": 0, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", - "line": 29, - "end_line": 29, - "column": 16, - "end_column": 28 - }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 + "line": 29, + "end_line": 29, + "comment_lines": 0, + "column": 16, + "end_column": 28 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 1 + "index": 1, + "_type": "TupleItemExpression" }, { - "_type": "TupleItemExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 26, - "end_line": 30, - "column": 22, - "end_column": 5 - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 26, "end_line": 30, + "comment_lines": 0, "column": 22, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "WType", - "name": "uint64", - "immutable": true - }, - { - "_type": "BytesWType", - "length": null - } - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 27, "end_line": 27, + "comment_lines": 0, "column": 12, "end_column": 35 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 28, "end_line": 28, + "comment_lines": 0, "column": 14, "end_column": 19 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "share" + "name": "share", + "_type": "VarExpression" }, { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 34 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 28 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 16, "end_column": 25 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 29, "end_line": 29, + "comment_lines": 0, "column": 26, "end_column": 27 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "ReinterpretCast" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 2, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "2" + "_type": "SingleEvaluation" }, - "index": 2 + "index": 2, + "_type": "TupleItemExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 1, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "1" + "_type": "SingleEvaluation" }, - "name": "receiver" + "name": "receiver", + "_type": "FieldExpression" } - ] + ], + "wtype": { + "types": [ + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + { + "length": null, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "{type:TransactionType,amount:uint64,receiver:bytes}", + "names": [ + "type", + "amount", + "receiver" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 0, + "source_location": { + "file": "%DIR%/itxn-compose.algo.ts", + "line": 26, + "end_line": 30, + "comment_lines": 0, + "column": 22, + "end_column": 5 }, - "_id": "0" + "_type": "SingleEvaluation" }, - "name": "receiver" + "name": "receiver", + "_type": "FieldExpression" } - } - } + }, + "_type": "NewStruct" + }, + "_type": "AssignmentStatement" }, { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 31, - "end_line": 31, - "column": 4, - "end_column": 32 - }, "expr": { - "_type": "SetInnerTransactionFields", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 4, "end_column": 32 }, "itxns": [ { - "_type": "CreateInnerTransaction", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 4, "end_column": 32 }, "wtype": { - "_type": "WInnerTransactionFields", - "name": "inner_transaction_fields_pay", "immutable": true, - "transaction_type": 1 + "transaction_type": 1, + "name": "inner_transaction_fields_pay", + "_type": "WInnerTransactionFields" }, "fields": { "Fee": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 4, "end_column": 32 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "TypeEnum": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 4, "end_column": 32 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 22, "end_column": 31 }, "wtype": { - "_type": "ARC4Struct", "name": "Object3BB2638B", - "arc4_alias": null, - "fields": { - "type": { - "_type": "WType", - "name": "uint64", - "immutable": true + "_fields": [ + { + "name": "type", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "amount": { - "_type": "WType", - "name": "uint64", - "immutable": true + { + "name": "amount", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "receiver": { - "_type": "BytesWType", - "length": null + { + "name": "receiver", + "wtype": { + "length": null, + "_type": "BytesWType" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, - "name": "payFields" + "name": "payFields", + "_type": "VarExpression" }, - "name": "type" + "name": "type", + "_type": "FieldExpression" }, "Amount": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 4, "end_column": 32 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 22, "end_column": 31 }, "wtype": { - "_type": "ARC4Struct", "name": "Object3BB2638B", - "arc4_alias": null, - "fields": { - "type": { - "_type": "WType", - "name": "uint64", - "immutable": true + "_fields": [ + { + "name": "type", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "amount": { - "_type": "WType", - "name": "uint64", - "immutable": true + { + "name": "amount", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "receiver": { - "_type": "BytesWType", - "length": null + { + "name": "receiver", + "wtype": { + "length": null, + "_type": "BytesWType" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, - "name": "payFields" + "name": "payFields", + "_type": "VarExpression" }, - "name": "amount" + "name": "amount", + "_type": "FieldExpression" }, "Receiver": { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 4, "end_column": 32 }, "wtype": { - "_type": "WType", "name": "account", - "immutable": true + "immutable": true, + "_type": "WType" }, "expr": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 4, "end_column": 32 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 31, "end_line": 31, + "comment_lines": 0, "column": 22, "end_column": 31 }, "wtype": { - "_type": "ARC4Struct", "name": "Object3BB2638B", - "arc4_alias": null, - "fields": { - "type": { - "_type": "WType", - "name": "uint64", - "immutable": true + "_fields": [ + { + "name": "type", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "amount": { - "_type": "WType", - "name": "uint64", - "immutable": true + { + "name": "amount", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "receiver": { - "_type": "BytesWType", - "length": null + { + "name": "receiver", + "wtype": { + "length": null, + "_type": "BytesWType" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, - "name": "payFields" + "name": "payFields", + "_type": "VarExpression" }, - "name": "receiver" - } + "name": "receiver", + "_type": "FieldExpression" + }, + "_type": "ReinterpretCast" } - } + }, + "_type": "CreateInnerTransaction" } ], - "start_with_begin": true - } + "start_with_begin": true, + "_type": "SetInnerTransactionFields" + }, + "_type": "ExpressionStatement" }, { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 4, "end_column": 48 }, "body": [ { - "_type": "ForInLoop", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 4, "end_column": 48 }, "sequence": { - "_type": "Range", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 20, "end_column": 47 }, "start": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 27, "end_column": 28 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "stop": { - "_type": "ArrayLength", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 30, "end_column": 46 }, "array": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 30, "end_column": 39 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" - } + "name": "addresses", + "_type": "VarExpression" + }, + "_type": "ArrayLength" }, "step": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 20, "end_column": 47 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "_type": "Range" }, "items": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 9, "end_column": 16 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "temp" + "name": "temp", + "_type": "VarExpression" }, "loop_body": { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 4, "end_column": 48 }, "body": [ { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 9, "end_column": 16 }, "target": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 15, "end_column": 16 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "i" + "name": "i", + "_type": "VarExpression" }, "value": { - "_type": "Copy", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 9, - "end_column": 16 - }, - "wtype": { - "_type": "WType", - "name": "uint64", - "immutable": true + "end_column": 16 }, "value": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 32, + "comment_lines": 0, "column": 9, "end_column": 16 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "temp" - } - } + "name": "temp", + "_type": "VarExpression" + }, + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "_type": "Copy" + }, + "_type": "AssignmentStatement" }, { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 32, "end_line": 38, + "comment_lines": 0, "column": 49, "end_column": 5 }, "body": [ { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 33, "end_line": 33, + "comment_lines": 0, "column": 12, "end_column": 31 }, "target": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 33, "end_line": 33, + "comment_lines": 0, "column": 12, "end_column": 16 }, "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "name": "addr" + "name": "addr", + "_type": "VarExpression" }, "value": { - "_type": "IndexExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 33, "end_line": 33, + "comment_lines": 0, "column": 19, "end_column": 31 }, - "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, - "arc4_alias": "address", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null, - "array_size": 32 - }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 33, "end_line": 33, + "comment_lines": 0, "column": 19, "end_column": 28 }, "wtype": { - "_type": "ARC4DynamicArray", - "immutable": false, "arc4_alias": null, + "source_location": null, + "immutable": false, "element_type": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "source_location": null + "_type": "ARC4DynamicArray" }, - "name": "addresses" + "name": "addresses", + "_type": "VarExpression" }, "index": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 33, "end_line": 33, + "comment_lines": 0, "column": 29, "end_column": 30 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "i" - } - } + "name": "i", + "_type": "VarExpression" + }, + "wtype": { + "arc4_alias": "address", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "array_size": 32, + "_type": "ARC4StaticArray" + }, + "_type": "IndexExpression" + }, + "_type": "AssignmentStatement" }, { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 34, - "end_line": 37, - "column": 6, - "end_column": 8 - }, "expr": { - "_type": "SetInnerTransactionFields", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 34, "end_line": 37, + "comment_lines": 0, "column": 6, "end_column": 8 }, "itxns": [ { - "_type": "CreateInnerTransaction", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 34, "end_line": 37, + "comment_lines": 0, "column": 6, "end_column": 8 }, "wtype": { - "_type": "WInnerTransactionFields", - "name": "inner_transaction_fields_pay", "immutable": true, - "transaction_type": 1 + "transaction_type": 1, + "name": "inner_transaction_fields_pay", + "_type": "WInnerTransactionFields" }, "fields": { "Fee": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 34, "end_line": 37, + "comment_lines": 0, "column": 6, "end_column": 8 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "TypeEnum": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 35, "end_line": 35, + "comment_lines": 0, "column": 8, "end_column": 20 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 35, "end_line": 35, + "comment_lines": 0, "column": 11, "end_column": 20 }, "wtype": { - "_type": "ARC4Struct", "name": "Object3BB2638B", - "arc4_alias": null, - "fields": { - "type": { - "_type": "WType", - "name": "uint64", - "immutable": true + "_fields": [ + { + "name": "type", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "amount": { - "_type": "WType", - "name": "uint64", - "immutable": true + { + "name": "amount", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "receiver": { - "_type": "BytesWType", - "length": null + { + "name": "receiver", + "wtype": { + "length": null, + "_type": "BytesWType" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, - "name": "payFields" + "name": "payFields", + "_type": "VarExpression" }, - "name": "type" + "name": "type", + "_type": "FieldExpression" }, "Amount": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 35, "end_line": 35, + "comment_lines": 0, "column": 8, "end_column": 20 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 35, "end_line": 35, + "comment_lines": 0, "column": 11, "end_column": 20 }, "wtype": { - "_type": "ARC4Struct", "name": "Object3BB2638B", - "arc4_alias": null, - "fields": { - "type": { - "_type": "WType", - "name": "uint64", - "immutable": true + "_fields": [ + { + "name": "type", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "amount": { - "_type": "WType", - "name": "uint64", - "immutable": true + { + "name": "amount", + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "description": null }, - "receiver": { - "_type": "BytesWType", - "length": null + { + "name": "receiver", + "wtype": { + "length": null, + "_type": "BytesWType" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, - "name": "payFields" + "name": "payFields", + "_type": "VarExpression" }, - "name": "amount" + "name": "amount", + "_type": "FieldExpression" }, "Receiver": { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 36, "end_line": 36, + "comment_lines": 0, "column": 18, "end_column": 28 }, "wtype": { - "_type": "WType", "name": "account", - "immutable": true + "immutable": true, + "_type": "WType" }, "expr": { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 36, "end_line": 36, + "comment_lines": 0, "column": 18, "end_column": 28 }, "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, "expr": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 36, "end_line": 36, + "comment_lines": 0, "column": 18, "end_column": 22 }, "wtype": { - "_type": "ARC4StaticArray", - "immutable": true, "arc4_alias": "address", + "source_location": null, + "immutable": true, "element_type": { - "_type": "ARC4UIntN", "arc4_alias": "byte", - "n": 8 + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "source_location": null, - "array_size": 32 + "array_size": 32, + "_type": "ARC4StaticArray" }, - "name": "addr" - } - } + "name": "addr", + "_type": "VarExpression" + }, + "_type": "ReinterpretCast" + }, + "_type": "ReinterpretCast" } - } + }, + "_type": "CreateInnerTransaction" } ], - "start_with_begin": false - } + "start_with_begin": false, + "_type": "SetInnerTransactionFields" + }, + "_type": "ExpressionStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" } ], "label": null, - "comment": null - } + "comment": null, + "_type": "Block" + }, + "_type": "ForInLoop" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 40, - "end_line": 44, - "column": 4, - "end_column": 6 - }, "expr": { - "_type": "SetInnerTransactionFields", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 40, "end_line": 44, + "comment_lines": 0, "column": 4, "end_column": 6 }, "itxns": [ { - "_type": "CreateInnerTransaction", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 40, "end_line": 44, + "comment_lines": 0, "column": 4, "end_column": 6 }, "wtype": { - "_type": "WInnerTransactionFields", - "name": "inner_transaction_fields", "immutable": true, - "transaction_type": null + "transaction_type": null, + "name": "inner_transaction_fields", + "_type": "WInnerTransactionFields" }, "fields": { "Fee": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 40, "end_line": 44, + "comment_lines": 0, "column": 4, "end_column": 6 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "TypeEnum": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 41, "end_line": 41, + "comment_lines": 0, "column": 12, "end_column": 43 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 6, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "ApplicationArgs": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 42, "end_line": 42, + "comment_lines": 0, "column": 15, "end_column": 47 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "BytesWType", - "length": 4 - } - ] - }, "items": [ { - "_type": "MethodConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 42, "end_line": 42, + "comment_lines": 0, "column": 16, "end_column": 46 }, "wtype": { - "_type": "BytesWType", - "length": 4 + "length": 4, + "_type": "BytesWType" }, "value": { - "_type": "MethodSignatureString", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 42, "end_line": 42, + "comment_lines": 0, "column": 16, "end_column": 46 }, "value": "verify()void" - } + }, + "_type": "MethodConstant" } - ] + ], + "wtype": { + "types": [ + { + "length": 4, + "_type": "BytesWType" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, "ApplicationID": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 43, "end_line": 43, + "comment_lines": 0, "column": 13, "end_column": 21 }, "wtype": { - "_type": "WType", "name": "application", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "verifier" + "name": "verifier", + "_type": "VarExpression" } - } + }, + "_type": "CreateInnerTransaction" } ], - "start_with_begin": false - } + "start_with_begin": false, + "_type": "SetInnerTransactionFields" + }, + "_type": "ExpressionStatement" }, { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 46, - "end_line": 50, - "column": 4, - "end_column": 5 - }, "expr": { - "_type": "SetInnerTransactionFields", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 46, "end_line": 50, + "comment_lines": 0, "column": 4, "end_column": 5 }, "itxns": [ { - "_type": "CreateInnerTransaction", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 47, "end_line": 49, + "comment_lines": 0, "column": 6, "end_column": 8 }, "wtype": { - "_type": "WInnerTransactionFields", - "name": "inner_transaction_fields_acfg", "immutable": true, - "transaction_type": 3 + "transaction_type": 3, + "name": "inner_transaction_fields_acfg", + "_type": "WInnerTransactionFields" }, "fields": { "Fee": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 47, "end_line": 49, + "comment_lines": 0, "column": 6, "end_column": 8 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "TypeEnum": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 47, "end_line": 49, + "comment_lines": 0, "column": 6, "end_column": 8 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 3, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "ConfigAssetName": { - "_type": "BytesConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 48, "end_line": 48, + "comment_lines": 0, "column": 19, "end_column": 24 }, + "value": "VPaz", "wtype": { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, - "value": "VPaz", - "encoding": "utf8" + "encoding": "utf8", + "_type": "BytesConstant" } - } + }, + "_type": "CreateInnerTransaction" } ], - "start_with_begin": false - } + "start_with_begin": false, + "_type": "SetInnerTransactionFields" + }, + "_type": "ExpressionStatement" }, { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 52, - "end_line": 52, - "column": 4, - "end_column": 24 - }, "expr": { - "_type": "IntrinsicCall", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 52, "end_line": 52, + "comment_lines": 0, "column": 4, "end_column": 24 }, "wtype": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "op_code": "itxn_submit", "immediates": [], - "stack_args": [] - } + "stack_args": [], + "_type": "IntrinsicCall" + }, + "_type": "ExpressionStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -8151,11 +8759,11 @@ "cref": "tests/approvals/itxn-compose.algo.ts::ItxnComposeAlgo", "member_name": "distribute", "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 19, "end_line": 19, + "comment_lines": 0, "column": 2, "end_column": 81 }, @@ -8171,123 +8779,129 @@ } }, { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 54, "end_line": 54, + "comment_lines": 0, "column": 2, "end_column": 33 }, "args": [ { - "_type": "SubroutineArgument", "name": "count", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 54, "end_line": 54, + "comment_lines": 0, "column": 19, "end_column": 32 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" } } ], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 54, "end_line": 66, + "comment_lines": 0, "column": 34, "end_column": 3 }, "body": [ { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 55, "end_line": 55, + "comment_lines": 0, "column": 10, "end_column": 36 }, "target": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 55, "end_line": 55, + "comment_lines": 0, "column": 10, "end_column": 15 }, "wtype": { - "_type": "WTuple", - "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "types": [ { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" } ], + "source_location": null, + "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "names": [ "approvalProgram", "clearStateProgram", @@ -8296,77 +8910,86 @@ "globalBytes", "localUints", "localBytes" - ] + ], + "desc": null, + "_type": "WTuple" }, - "name": "hello" + "name": "hello", + "_type": "VarExpression" }, "value": { - "_type": "CompiledContract", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 55, "end_line": 55, + "comment_lines": 0, "column": 18, "end_column": 36 }, "wtype": { - "_type": "WTuple", - "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "types": [ { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" } ], + "source_location": null, + "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "names": [ "approvalProgram", "clearStateProgram", @@ -8375,240 +8998,239 @@ "globalBytes", "localUints", "localBytes" - ] + ], + "desc": null, + "_type": "WTuple" }, "contract": "tests/approvals/precompiled-apps.algo.ts::Hello", "allocation_overrides": {}, "prefix": null, - "template_variables": {} - } + "template_variables": {}, + "_type": "CompiledContract" + }, + "_type": "AssignmentStatement" }, { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 10, "end_column": 69 }, "target": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 10, "end_column": 15 }, "wtype": { - "_type": "WType", "name": "application", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "appId" + "name": "appId", + "_type": "VarExpression" }, "value": { - "_type": "InnerTransactionField", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 69 }, "wtype": { - "_type": "WType", "name": "application", - "immutable": true + "immutable": true, + "_type": "WType" }, "itxn": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 58 }, "base": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, - "wtype": { - "_type": "WTuple", - "name": "TypedApplicationCallResponseType", - "types": [ - { - "_type": "WInnerTransaction", - "name": "inner_transaction_appl", - "immutable": true, - "transaction_type": 6 - } - ], - "names": [ - "itxn" - ] - }, "items": [ { - "_type": "SubmitInnerTransaction", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "itxns": [ { - "_type": "CreateInnerTransaction", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "wtype": { - "_type": "WInnerTransactionFields", - "name": "inner_transaction_fields_appl", "immutable": true, - "transaction_type": 6 + "transaction_type": 6, + "name": "inner_transaction_fields_appl", + "_type": "WInnerTransactionFields" }, "fields": { "Fee": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "TypeEnum": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 6, - "teal_alias": "appl" + "teal_alias": "appl", + "_type": "IntegerConstant" }, "OnCompletion": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "ApprovalProgramPages": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 23 }, "wtype": { - "_type": "WTuple", - "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "types": [ { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" } ], + "source_location": null, + "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "names": [ "approvalProgram", "clearStateProgram", @@ -8617,88 +9239,98 @@ "globalBytes", "localUints", "localBytes" - ] + ], + "desc": null, + "_type": "WTuple" }, - "name": "hello" + "name": "hello", + "_type": "VarExpression" }, - "name": "approvalProgram" + "name": "approvalProgram", + "_type": "FieldExpression" }, "ClearStateProgramPages": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 23 }, "wtype": { - "_type": "WTuple", - "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "types": [ { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" } ], + "source_location": null, + "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "names": [ "approvalProgram", "clearStateProgram", @@ -8707,88 +9339,98 @@ "globalBytes", "localUints", "localBytes" - ] + ], + "desc": null, + "_type": "WTuple" }, - "name": "hello" + "name": "hello", + "_type": "VarExpression" }, - "name": "clearStateProgram" + "name": "clearStateProgram", + "_type": "FieldExpression" }, "GlobalNumUint": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 23 }, "wtype": { - "_type": "WTuple", - "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "types": [ { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" } ], + "source_location": null, + "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "names": [ "approvalProgram", "clearStateProgram", @@ -8797,88 +9439,98 @@ "globalBytes", "localUints", "localBytes" - ] + ], + "desc": null, + "_type": "WTuple" }, - "name": "hello" + "name": "hello", + "_type": "VarExpression" }, - "name": "globalUints" + "name": "globalUints", + "_type": "FieldExpression" }, "GlobalNumByteSlice": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 23 }, "wtype": { - "_type": "WTuple", - "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "types": [ { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" } ], + "source_location": null, + "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "names": [ "approvalProgram", "clearStateProgram", @@ -8887,88 +9539,98 @@ "globalBytes", "localUints", "localBytes" - ] + ], + "desc": null, + "_type": "WTuple" }, - "name": "hello" + "name": "hello", + "_type": "VarExpression" }, - "name": "globalBytes" + "name": "globalBytes", + "_type": "FieldExpression" }, "LocalNumByteSlice": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 23 }, "wtype": { - "_type": "WTuple", - "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "types": [ { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" } ], + "source_location": null, + "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "names": [ "approvalProgram", "clearStateProgram", @@ -8977,88 +9639,98 @@ "globalBytes", "localUints", "localBytes" - ] + ], + "desc": null, + "_type": "WTuple" }, - "name": "hello" + "name": "hello", + "_type": "VarExpression" }, - "name": "localBytes" + "name": "localBytes", + "_type": "FieldExpression" }, "LocalNumUint": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 23 }, "wtype": { - "_type": "WTuple", - "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "types": [ { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" } ], + "source_location": null, + "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "names": [ "approvalProgram", "clearStateProgram", @@ -9067,88 +9739,98 @@ "globalBytes", "localUints", "localBytes" - ] + ], + "desc": null, + "_type": "WTuple" }, - "name": "hello" + "name": "hello", + "_type": "VarExpression" }, - "name": "localUints" + "name": "localUints", + "_type": "FieldExpression" }, "ExtraProgramPages": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "base": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 23 }, "wtype": { - "_type": "WTuple", - "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "types": [ { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WTuple", - "name": "tuple", "types": [ { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" }, { - "_type": "BytesWType", - "length": null + "length": null, + "_type": "BytesWType" } - ] + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" } ], + "source_location": null, + "name": "@algorandfoundation/algorand-typescript/compiled.d.ts::CompiledContract", "names": [ "approvalProgram", "clearStateProgram", @@ -9157,862 +9839,927 @@ "globalBytes", "localUints", "localBytes" - ] + ], + "desc": null, + "_type": "WTuple" }, - "name": "hello" + "name": "hello", + "_type": "VarExpression" }, - "name": "extraProgramPages" + "name": "extraProgramPages", + "_type": "FieldExpression" }, "ApplicationArgs": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "BytesWType", - "length": 4 - }, - { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": "string", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null - } - ] - }, "items": [ { - "_type": "MethodConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "wtype": { - "_type": "BytesWType", - "length": 4 + "length": 4, + "_type": "BytesWType" }, "value": { - "_type": "MethodSignature", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 18, "end_column": 53 }, "name": "helloCreate", "arg_types": [ { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" } ], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "resource_encoding": "value" - } + }, + "_type": "MethodConstant" }, { - "_type": "ARC4Encode", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 45, "end_column": 49 }, - "wtype": { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": "string", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null - }, "value": { - "_type": "StringConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 56, "end_line": 56, + "comment_lines": 0, "column": 45, "end_column": 49 }, + "value": "Hi", "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" + }, + "_type": "StringConstant" + }, + "wtype": { + "arc4_alias": "string", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "value": "Hi" + "_type": "ARC4DynamicArray" }, - "error_message": null + "error_message": null, + "_type": "ARC4Encode" } - ] + ], + "wtype": { + "types": [ + { + "length": 4, + "_type": "BytesWType" + }, + { + "arc4_alias": "string", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "_type": "ARC4DynamicArray" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" } - } + }, + "_type": "CreateInnerTransaction" } - ] + ], + "_type": "SubmitInnerTransaction" } - ] + ], + "wtype": { + "types": [ + { + "immutable": true, + "transaction_type": 6, + "name": "inner_transaction_appl", + "_type": "WInnerTransaction" + } + ], + "source_location": null, + "name": "TypedApplicationCallResponseType", + "names": [ + "itxn" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "name": "itxn" + "name": "itxn", + "_type": "FieldExpression" }, "field": "CreatedApplicationID", - "array_index": null - } + "array_index": null, + "_type": "InnerTransactionField" + }, + "_type": "AssignmentStatement" }, { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 4, "end_column": 34 }, "body": [ { - "_type": "ForInLoop", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 4, "end_column": 34 }, "sequence": { - "_type": "Range", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 20, "end_column": 33 }, "start": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 20, "end_column": 33 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "stop": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 27, "end_column": 32 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "count" + "name": "count", + "_type": "VarExpression" }, "step": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 20, "end_column": 33 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "_type": "Range" }, "items": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 9, "end_column": 16 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "temp" + "name": "temp", + "_type": "VarExpression" }, "loop_body": { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 4, "end_column": 34 }, "body": [ { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 9, "end_column": 16 }, "target": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 15, "end_column": 16 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "i" + "name": "i", + "_type": "VarExpression" }, "value": { - "_type": "Copy", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 9, "end_column": 16 }, - "wtype": { - "_type": "WType", - "name": "uint64", - "immutable": true - }, "value": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 58, + "comment_lines": 0, "column": 9, "end_column": 16 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "temp" - } - } + "name": "temp", + "_type": "VarExpression" + }, + "wtype": { + "name": "uint64", + "immutable": true, + "_type": "WType" + }, + "_type": "Copy" + }, + "_type": "AssignmentStatement" }, { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 58, "end_line": 64, + "comment_lines": 0, "column": 35, "end_column": 5 }, "body": [ { - "_type": "IfElse", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 59, "end_line": 59, + "comment_lines": 0, "column": 6, "end_column": 18 }, "condition": { - "_type": "NumericComparisonExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 59, "end_line": 59, + "comment_lines": 0, "column": 10, "end_column": 17 }, "lhs": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 59, "end_line": 59, + "comment_lines": 0, "column": 10, "end_column": 11 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "i" + "name": "i", + "_type": "VarExpression" }, "operator": "==", "rhs": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 59, "end_line": 59, + "comment_lines": 0, "column": 16, "end_column": 17 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "_type": "NumericComparisonExpression" }, "if_branch": { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 59, "end_line": 61, + "comment_lines": 0, "column": 19, "end_column": 7 }, "body": [ { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 59, "end_line": 61, + "comment_lines": 0, "column": 19, "end_column": 7 }, "body": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 60, - "end_line": 60, - "column": 8, - "end_column": 81 - }, "expr": { - "_type": "SetInnerTransactionFields", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 60, "end_line": 60, + "comment_lines": 0, "column": 8, "end_column": 81 }, "itxns": [ { - "_type": "CreateInnerTransaction", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 60, "end_line": 60, + "comment_lines": 0, "column": 8, "end_column": 81 }, "wtype": { - "_type": "WInnerTransactionFields", - "name": "inner_transaction_fields_appl", "immutable": true, - "transaction_type": 6 + "transaction_type": 6, + "name": "inner_transaction_fields_appl", + "_type": "WInnerTransactionFields" }, "fields": { "Fee": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 60, "end_line": 60, + "comment_lines": 0, "column": 8, "end_column": 81 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "TypeEnum": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 60, "end_line": 60, + "comment_lines": 0, "column": 8, "end_column": 81 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 6, - "teal_alias": "appl" + "teal_alias": "appl", + "_type": "IntegerConstant" }, "ApplicationID": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 60, "end_line": 60, + "comment_lines": 0, "column": 59, "end_column": 64 }, "wtype": { - "_type": "WType", "name": "application", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "appId" + "name": "appId", + "_type": "VarExpression" }, "ApplicationArgs": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 60, "end_line": 60, + "comment_lines": 0, "column": 8, "end_column": 81 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "BytesWType", - "length": 4 - }, - { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": "string", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null - } - ] - }, "items": [ { - "_type": "MethodConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 60, "end_line": 60, + "comment_lines": 0, "column": 8, "end_column": 81 }, "wtype": { - "_type": "BytesWType", - "length": 4 + "length": 4, + "_type": "BytesWType" }, "value": { - "_type": "MethodSignature", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 60, "end_line": 60, + "comment_lines": 0, "column": 8, "end_column": 81 }, "name": "greet", "arg_types": [ { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" } ], "return_type": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "resource_encoding": "value" - } + }, + "_type": "MethodConstant" }, { - "_type": "ARC4Encode", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 60, "end_line": 60, + "comment_lines": 0, "column": 73, "end_column": 77 }, - "wtype": { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": "string", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null - }, "value": { - "_type": "StringConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 60, "end_line": 60, + "comment_lines": 0, "column": 73, "end_column": 77 }, + "value": "ho", "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" + }, + "_type": "StringConstant" + }, + "wtype": { + "arc4_alias": "string", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "value": "ho" + "_type": "ARC4DynamicArray" }, - "error_message": null + "error_message": null, + "_type": "ARC4Encode" } - ] + ], + "wtype": { + "types": [ + { + "length": 4, + "_type": "BytesWType" + }, + { + "arc4_alias": "string", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "_type": "ARC4DynamicArray" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" } - } + }, + "_type": "CreateInnerTransaction" } ], - "start_with_begin": true - } + "start_with_begin": true, + "_type": "SetInnerTransactionFields" + }, + "_type": "ExpressionStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "else_branch": { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 61, "end_line": 63, + "comment_lines": 0, "column": 13, "end_column": 7 }, "body": [ { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 61, "end_line": 63, + "comment_lines": 0, "column": 13, "end_column": 7 }, "body": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 62, - "end_line": 62, - "column": 8, - "end_column": 80 - }, "expr": { - "_type": "SetInnerTransactionFields", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 62, "end_line": 62, + "comment_lines": 0, "column": 8, "end_column": 80 }, "itxns": [ { - "_type": "CreateInnerTransaction", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 62, "end_line": 62, + "comment_lines": 0, "column": 8, "end_column": 80 }, "wtype": { - "_type": "WInnerTransactionFields", - "name": "inner_transaction_fields_appl", "immutable": true, - "transaction_type": 6 + "transaction_type": 6, + "name": "inner_transaction_fields_appl", + "_type": "WInnerTransactionFields" }, "fields": { "Fee": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 62, "end_line": 62, + "comment_lines": 0, "column": 8, "end_column": 80 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" }, "TypeEnum": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 62, "end_line": 62, + "comment_lines": 0, "column": 8, "end_column": 80 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 6, - "teal_alias": "appl" + "teal_alias": "appl", + "_type": "IntegerConstant" }, "ApplicationID": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 62, "end_line": 62, + "comment_lines": 0, "column": 58, "end_column": 63 }, "wtype": { - "_type": "WType", "name": "application", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "appId" + "name": "appId", + "_type": "VarExpression" }, "ApplicationArgs": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 62, "end_line": 62, + "comment_lines": 0, "column": 8, "end_column": 80 }, - "wtype": { - "_type": "WTuple", - "name": "tuple", - "types": [ - { - "_type": "BytesWType", - "length": 4 - }, - { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": "string", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null - } - ] - }, "items": [ { - "_type": "MethodConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 62, "end_line": 62, + "comment_lines": 0, "column": 8, "end_column": 80 }, "wtype": { - "_type": "BytesWType", - "length": 4 + "length": 4, + "_type": "BytesWType" }, "value": { - "_type": "MethodSignature", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 62, "end_line": 62, + "comment_lines": 0, "column": 8, "end_column": 80 }, "name": "greet", "arg_types": [ { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" } ], "return_type": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "resource_encoding": "value" - } + }, + "_type": "MethodConstant" }, { - "_type": "ARC4Encode", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 62, "end_line": 62, + "comment_lines": 0, "column": 72, "end_column": 76 }, - "wtype": { - "_type": "ARC4DynamicArray", - "immutable": true, - "arc4_alias": "string", - "element_type": { - "_type": "ARC4UIntN", - "arc4_alias": "byte", - "n": 8 - }, - "source_location": null - }, "value": { - "_type": "StringConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 62, "end_line": 62, + "comment_lines": 0, "column": 72, "end_column": 76 }, + "value": "ho", "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" + }, + "_type": "StringConstant" + }, + "wtype": { + "arc4_alias": "string", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" }, - "value": "ho" + "_type": "ARC4DynamicArray" }, - "error_message": null + "error_message": null, + "_type": "ARC4Encode" } - ] + ], + "wtype": { + "types": [ + { + "length": 4, + "_type": "BytesWType" + }, + { + "arc4_alias": "string", + "source_location": null, + "immutable": true, + "element_type": { + "arc4_alias": "byte", + "n": 8, + "source_location": null, + "_type": "ARC4UIntN" + }, + "_type": "ARC4DynamicArray" + } + ], + "source_location": null, + "name": "tuple", + "names": null, + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" } - } + }, + "_type": "CreateInnerTransaction" } ], - "start_with_begin": false - } + "start_with_begin": false, + "_type": "SetInnerTransactionFields" + }, + "_type": "ExpressionStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" } ], "label": null, - "comment": null - } + "comment": null, + "_type": "Block" + }, + "_type": "IfElse" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" } ], "label": null, - "comment": null - } + "comment": null, + "_type": "Block" + }, + "_type": "ForInLoop" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 65, - "end_line": 65, - "column": 4, - "end_column": 24 - }, "expr": { - "_type": "IntrinsicCall", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 65, "end_line": 65, + "comment_lines": 0, "column": 4, "end_column": 24 }, "wtype": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "op_code": "itxn_submit", "immediates": [], - "stack_args": [] - } + "stack_args": [], + "_type": "IntrinsicCall" + }, + "_type": "ExpressionStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -10022,11 +10769,11 @@ "cref": "tests/approvals/itxn-compose.algo.ts::ItxnComposeAlgo", "member_name": "conditionalBegin", "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 54, "end_line": 54, + "comment_lines": 0, "column": 2, "end_column": 33 }, @@ -10042,35 +10789,35 @@ } }, { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 0, "end_column": 40 }, "args": [], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 0, "end_column": 40 }, "body": [], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": "Implicitly generated create method", "args": {}, "returns": null @@ -10080,11 +10827,11 @@ "cref": "tests/approvals/itxn-compose.algo.ts::ItxnComposeAlgo", "member_name": "__algots__.defaultCreate", "arc4_method_config": { - "_type": "ARC4BareMethodConfig", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 18, "end_line": 18, + "comment_lines": 0, "column": 0, "end_column": 40 }, @@ -10097,21 +10844,21 @@ ], "app_state": [], "state_totals": { - "_type": "StateTotals", "global_uints": null, "local_uints": null, "global_bytes": null, "local_bytes": null }, "reserved_scratch_space": [], - "avm_version": null + "avm_version": null, + "_type": "Contract" }, { - "_type": "Contract", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 69, "end_line": 69, + "comment_lines": 0, "column": 0, "end_column": 41 }, @@ -10123,56 +10870,58 @@ "@algorandfoundation/algorand-typescript/base-contract.d.ts::BaseContract" ], "approval_program": { - "_type": "ContractMethod", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "args": [], "return_type": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [ { - "_type": "ReturnStatement", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "value": { - "_type": "ARC4Router", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 - } - } + }, + "_type": "ARC4Router" + }, + "_type": "ReturnStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -10184,62 +10933,64 @@ "arc4_method_config": null }, "clear_program": { - "_type": "ContractMethod", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "args": [], "return_type": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [ { - "_type": "ReturnStatement", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "value": { - "_type": "BoolConstant", "source_location": { "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, + "value": true, "wtype": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": true - } + "_type": "BoolConstant" + }, + "_type": "ReturnStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -10252,248 +11003,250 @@ }, "methods": [ { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 70, "end_line": 70, + "comment_lines": 0, "column": 2, "end_column": 10 }, "args": [], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 70, "end_line": 75, + "comment_lines": 0, "column": 11, "end_column": 3 }, "body": [ { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 71, + "comment_lines": 0, "column": 13, "end_column": 26 }, "target": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 71, + "comment_lines": 0, "column": 13, "end_column": 14 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "i" + "name": "i", + "_type": "VarExpression" }, "value": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 71, + "comment_lines": 0, "column": 25, "end_column": 26 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 0, - "teal_alias": null - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "_type": "AssignmentStatement" }, { - "_type": "WhileLoop", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 71, + "comment_lines": 0, "column": 4, "end_column": 52 }, "condition": { - "_type": "NumericComparisonExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 71, + "comment_lines": 0, "column": 28, "end_column": 46 }, "lhs": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 71, + "comment_lines": 0, "column": 28, "end_column": 29 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "i" + "name": "i", + "_type": "VarExpression" }, "operator": "<", "rhs": { - "_type": "IntrinsicCall", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 71, + "comment_lines": 0, "column": 32, "end_column": 46 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "op_code": "txn", "immediates": [ "GroupIndex" ], - "stack_args": [] - } + "stack_args": [], + "_type": "IntrinsicCall" + }, + "_type": "NumericComparisonExpression" }, "loop_body": { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 71, + "comment_lines": 0, "column": 4, "end_column": 52 }, "body": [ { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 74, + "comment_lines": 0, "column": 53, "end_column": 5 }, "body": [ { - "_type": "AssignmentStatement", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 72, "end_line": 72, + "comment_lines": 0, "column": 12, "end_column": 37 }, "target": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 72, "end_line": 72, + "comment_lines": 0, "column": 12, "end_column": 15 }, "wtype": { - "_type": "WGroupTransaction", - "name": "group_transaction", "immutable": true, - "transaction_type": null + "transaction_type": null, + "name": "group_transaction", + "_type": "WGroupTransaction" }, - "name": "txn" + "name": "txn", + "_type": "VarExpression" }, "value": { - "_type": "GroupTransactionReference", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 72, "end_line": 72, + "comment_lines": 0, "column": 18, "end_column": 37 }, - "wtype": { - "_type": "WGroupTransaction", - "name": "group_transaction", - "immutable": true, - "transaction_type": null - }, "index": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 72, "end_line": 72, + "comment_lines": 0, "column": 35, "end_column": 36 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "i" - } - } + "name": "i", + "_type": "VarExpression" + }, + "wtype": { + "immutable": true, + "transaction_type": null, + "name": "group_transaction", + "_type": "WGroupTransaction" + }, + "_type": "GroupTransactionReference" + }, + "_type": "AssignmentStatement" }, { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 73, - "end_line": 73, - "column": 6, - "end_column": 69 - }, "expr": { - "_type": "AssertExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 73, "end_line": 73, + "comment_lines": 0, "column": 6, "end_column": 69 }, "condition": { - "_type": "NumericComparisonExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 73, "end_line": 73, + "comment_lines": 0, "column": 13, "end_column": 49 }, "lhs": { - "_type": "IntrinsicCall", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 73, "end_line": 73, + "comment_lines": 0, "column": 13, "end_column": 21 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "op_code": "gtxns", "immediates": [ @@ -10501,114 +11254,120 @@ ], "stack_args": [ { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 73, "end_line": 73, + "comment_lines": 0, "column": 13, "end_column": 16 }, "wtype": { - "_type": "WGroupTransaction", - "name": "group_transaction", "immutable": true, - "transaction_type": null + "transaction_type": null, + "name": "group_transaction", + "_type": "WGroupTransaction" }, - "name": "txn" + "name": "txn", + "_type": "VarExpression" } - ] + ], + "_type": "IntrinsicCall" }, "operator": "==", "rhs": { - "_type": "ReinterpretCast", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 73, "end_line": 73, + "comment_lines": 0, "column": 26, "end_column": 49 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "expr": { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 73, "end_line": 73, + "comment_lines": 0, "column": 26, "end_column": 49 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, "value": 1, - "teal_alias": null - } - } + "teal_alias": null, + "_type": "IntegerConstant" + }, + "_type": "ReinterpretCast" + }, + "_type": "NumericComparisonExpression" }, "error_message": "Txn must be pay", - "explicit": true - } + "explicit": true, + "log_error": false, + "_type": "AssertExpression" + }, + "_type": "ExpressionStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/itxn-compose.algo.ts", - "line": 71, - "end_line": 71, - "column": 48, - "end_column": 51 - }, "expr": { - "_type": "UInt64PostfixUnaryOperation", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 71, + "comment_lines": 0, "column": 48, "end_column": 51 }, "op": "++", "target": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 71, "end_line": 71, + "comment_lines": 0, "column": 48, "end_column": 49 }, "wtype": { - "_type": "WType", "name": "uint64", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "i" - } - } + "name": "i", + "_type": "VarExpression" + }, + "_type": "UInt64PostfixUnaryOperation" + }, + "_type": "ExpressionStatement" } ], "label": null, - "comment": null - } + "comment": null, + "_type": "Block" + }, + "_type": "WhileLoop" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null @@ -10618,11 +11377,11 @@ "cref": "tests/approvals/itxn-compose.algo.ts::VerifierContract", "member_name": "verify", "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 70, "end_line": 70, + "comment_lines": 0, "column": 2, "end_column": 10 }, @@ -10638,35 +11397,35 @@ } }, { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 69, "end_line": 69, + "comment_lines": 0, "column": 0, "end_column": 41 }, "args": [], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 69, "end_line": 69, + "comment_lines": 0, "column": 0, "end_column": 41 }, "body": [], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": "Implicitly generated create method", "args": {}, "returns": null @@ -10676,11 +11435,11 @@ "cref": "tests/approvals/itxn-compose.algo.ts::VerifierContract", "member_name": "__algots__.defaultCreate", "arc4_method_config": { - "_type": "ARC4BareMethodConfig", "source_location": { "file": "%DIR%/itxn-compose.algo.ts", "line": 69, "end_line": 69, + "comment_lines": 0, "column": 0, "end_column": 41 }, @@ -10693,13 +11452,13 @@ ], "app_state": [], "state_totals": { - "_type": "StateTotals", "global_uints": null, "local_uints": null, "global_bytes": null, "local_bytes": null }, "reserved_scratch_space": [], - "avm_version": null + "avm_version": null, + "_type": "Contract" } ] diff --git a/tests/from_awst/ops_should_be_mutated/module.awst.json b/tests/from_awst/ops_should_be_mutated/module.awst.json index 243e473bc1..ce00a8a805 100644 --- a/tests/from_awst/ops_should_be_mutated/module.awst.json +++ b/tests/from_awst/ops_should_be_mutated/module.awst.json @@ -1,10 +1,10 @@ [ { - "_type": "Contract", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 3, "end_line": 3, + "comment_lines": 0, "column": 0, "end_column": 49 }, @@ -16,599 +16,514 @@ "@algorandfoundation/algorand-typescript/base-contract.d.ts::BaseContract" ], "approval_program": { - "_type": "ContractMethod", "source_location": { - "_type": "SourceLocation", "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "args": [], "return_type": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { - "_type": "SourceLocation", "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [ { - "_type": "ReturnStatement", "source_location": { - "_type": "SourceLocation", "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "value": { - "_type": "ARC4Router", "source_location": { - "_type": "SourceLocation", "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, - "wtype": { - "_type": "WType", - "name": "bool", - "immutable": true - } - } + "_type": "ARC4Router" + }, + "_type": "ReturnStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null }, "inline": null, + "pure": false, "cref": "@algorandfoundation/algorand-typescript/arc4/index.d.ts::Contract", "member_name": "approvalProgram", "arc4_method_config": null }, "clear_program": { - "_type": "ContractMethod", "source_location": { - "_type": "SourceLocation", "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "args": [], "return_type": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { - "_type": "SourceLocation", "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "body": [ { - "_type": "ReturnStatement", "source_location": { - "_type": "SourceLocation", "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, "value": { - "_type": "BoolConstant", "source_location": { - "_type": "SourceLocation", "file": null, "line": 1, "end_line": 1, + "comment_lines": 0, "column": 0, "end_column": 1 }, + "value": true, "wtype": { - "_type": "WType", "name": "bool", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": true - } + "_type": "BoolConstant" + }, + "_type": "ReturnStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null }, "inline": null, + "pure": false, "cref": "@algorandfoundation/algorand-typescript/base-contract.d.ts::BaseContract", "member_name": "clearStateProgram", "arc4_method_config": null }, "methods": [ { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 6, "end_line": 6, + "comment_lines": 0, "column": 2, "end_column": 31 }, "args": [ { - "_type": "SubroutineArgument", "name": "key", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 6, "end_line": 6, + "comment_lines": 0, "column": 19, "end_column": 30 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" } } ], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 6, "end_line": 10, + "comment_lines": 0, "column": 32, "end_column": 3 }, "body": [ { - "_type": "ExpressionStatement", - "source_location": { - "file": "%DIR%/tests/approvals/mutable-object.algo.ts", - "line": 7, - "end_line": 9, - "column": 4, - "end_column": 5 - }, "expr": { - "_type": "CommaExpression", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 7, "end_line": 9, + "comment_lines": 0, "column": 4, "end_column": 5 }, - "wtype": { - "_type": "ARC4Struct", - "name": "{lastValidRound:UintN<64>}", - "immutable": false, - "arc4_alias": null, - "fields": { - "lastValidRound": { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 - } - }, - "source_location": null, - "frozen": false, - "desc": null - }, "expressions": [ { - "_type": "AssignmentExpression", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 7, "end_line": 9, + "comment_lines": 0, "column": 4, "end_column": 5 }, - "wtype": { - "_type": "ARC4Struct", - "name": "PluginInfo", - "immutable": false, - "arc4_alias": null, - "fields": { - "lastValidRound": { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 - } - }, - "source_location": null, - "frozen": false, - "desc": null - }, "target": { - "_type": "BoxValueExpression", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 7, "end_line": 7, + "comment_lines": 0, "column": 22, "end_column": 27 }, "wtype": { - "_type": "ARC4Struct", "name": "PluginInfo", - "immutable": false, - "arc4_alias": null, - "fields": { - "lastValidRound": { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 + "_fields": [ + { + "name": "lastValidRound", + "wtype": { + "arc4_alias": null, + "n": 64, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, "key": { - "_type": "BoxPrefixedKeyExpression", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 4, "end_line": 4, + "comment_lines": 0, "column": 52, "end_column": 61 }, - "wtype": { - "_type": "WType", - "name": "box_key", - "immutable": true - }, "prefix": { - "_type": "BytesConstant", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 4, "end_line": 4, + "comment_lines": 0, "column": 52, "end_column": 61 }, + "value": "aBOvFX>M}", "wtype": { - "_type": "WType", "name": "box_key", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": "aBOvFX>M}", - "encoding": "utf8" + "encoding": "utf8", + "_type": "BytesConstant" }, "key": { - "_type": "VarExpression", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 7, "end_line": 7, + "comment_lines": 0, "column": 17, "end_column": 20 }, "wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, - "name": "key" - } + "name": "key", + "_type": "VarExpression" + }, + "_type": "BoxPrefixedKeyExpression" }, - "exists_assertion_message": "Box must have value" + "exists_assertion_message": "Box must have value", + "_type": "BoxValueExpression" }, "value": { - "_type": "NewStruct", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 7, "end_line": 9, + "comment_lines": 0, "column": 30, "end_column": 5 }, "wtype": { - "_type": "ARC4Struct", "name": "PluginInfo", - "immutable": false, - "arc4_alias": null, - "fields": { - "lastValidRound": { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 + "_fields": [ + { + "name": "lastValidRound", + "wtype": { + "arc4_alias": null, + "n": 64, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, "values": { "lastValidRound": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 7, "end_line": 9, + "comment_lines": 0, "column": 30, "end_column": 5 }, - "wtype": { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 - }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/tests/approvals/mutable-object.algo.ts", - "line": 7, - "end_line": 9, - "column": 30, - "end_column": 5 - }, - "wtype": { - "_type": "WTuple", - "name": "{lastValidRound:UintN<64>}", - "immutable": true, - "types": [ - { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 - } - ], - "names": [ - "lastValidRound" - ] - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 7, "end_line": 9, + "comment_lines": 0, "column": 30, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{lastValidRound:UintN<64>}", - "immutable": true, - "types": [ - { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 - } - ], - "names": [ - "lastValidRound" - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 8, "end_line": 8, + "comment_lines": 0, "column": 22, "end_column": 41 }, "wtype": { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, "arc4_alias": null, - "n": 64 + "n": 64, + "source_location": null, + "_type": "ARC4UIntN" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" } - ] + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 64, + "source_location": null, + "_type": "ARC4UIntN" + } + ], + "source_location": null, + "name": "{lastValidRound:UintN<64>}", + "names": [ + "lastValidRound" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" + }, + "_id": 0, + "source_location": { + "file": "%DIR%/tests/approvals/mutable-object.algo.ts", + "line": 7, + "end_line": 9, + "comment_lines": 0, + "column": 30, + "end_column": 5 }, - "_id": "0" + "_type": "SingleEvaluation" }, - "name": "lastValidRound" + "name": "lastValidRound", + "_type": "FieldExpression" } - } - } + }, + "_type": "NewStruct" + }, + "_type": "AssignmentExpression" }, { - "_type": "NewStruct", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 7, "end_line": 9, + "comment_lines": 0, "column": 30, "end_column": 5 }, "wtype": { - "_type": "ARC4Struct", "name": "{lastValidRound:UintN<64>}", - "immutable": false, - "arc4_alias": null, - "fields": { - "lastValidRound": { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 + "_fields": [ + { + "name": "lastValidRound", + "wtype": { + "arc4_alias": null, + "n": 64, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, "values": { "lastValidRound": { - "_type": "FieldExpression", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 7, "end_line": 9, + "comment_lines": 0, "column": 30, "end_column": 5 }, - "wtype": { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 - }, "base": { - "_type": "SingleEvaluation", - "source_location": { - "file": "%DIR%/tests/approvals/mutable-object.algo.ts", - "line": 7, - "end_line": 9, - "column": 30, - "end_column": 5 - }, - "wtype": { - "_type": "WTuple", - "name": "{lastValidRound:UintN<64>}", - "immutable": true, - "types": [ - { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 - } - ], - "names": [ - "lastValidRound" - ] - }, "source": { - "_type": "TupleExpression", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 7, "end_line": 9, + "comment_lines": 0, "column": 30, "end_column": 5 }, - "wtype": { - "_type": "WTuple", - "name": "{lastValidRound:UintN<64>}", - "immutable": true, - "types": [ - { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 - } - ], - "names": [ - "lastValidRound" - ] - }, "items": [ { - "_type": "IntegerConstant", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 8, "end_line": 8, + "comment_lines": 0, "column": 22, "end_column": 41 }, "wtype": { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, "arc4_alias": null, - "n": 64 + "n": 64, + "source_location": null, + "_type": "ARC4UIntN" }, "value": 1, - "teal_alias": null + "teal_alias": null, + "_type": "IntegerConstant" } - ] + ], + "wtype": { + "types": [ + { + "arc4_alias": null, + "n": 64, + "source_location": null, + "_type": "ARC4UIntN" + } + ], + "source_location": null, + "name": "{lastValidRound:UintN<64>}", + "names": [ + "lastValidRound" + ], + "desc": null, + "_type": "WTuple" + }, + "_type": "TupleExpression" }, - "_id": "0" + "_id": 0, + "source_location": { + "file": "%DIR%/tests/approvals/mutable-object.algo.ts", + "line": 7, + "end_line": 9, + "comment_lines": 0, + "column": 30, + "end_column": 5 + }, + "_type": "SingleEvaluation" }, - "name": "lastValidRound" + "name": "lastValidRound", + "_type": "FieldExpression" } - } + }, + "_type": "NewStruct" } - ] - } + ], + "_type": "CommaExpression" + }, + "_type": "ExpressionStatement" } ], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": null, "args": {}, "returns": null }, "inline": null, + "pure": false, "cref": "tests/approvals/mutable-object.algo.ts::MutableObjectDemo", "member_name": "setPlugin", "arc4_method_config": { - "_type": "ARC4ABIMethodConfig", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 6, "end_line": 6, + "comment_lines": 0, "column": 2, "end_column": 31 }, @@ -617,53 +532,56 @@ ], "create": 3, "name": "setPlugin", + "resource_encoding": "value", "readonly": false, - "default_args": {} + "default_args": {}, + "validate_encoding": null } }, { - "_type": "ContractMethod", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 3, "end_line": 3, + "comment_lines": 0, "column": 0, "end_column": 49 }, "args": [], "return_type": { - "_type": "WType", "name": "void", - "immutable": true + "immutable": true, + "_type": "WType" }, "body": { - "_type": "Block", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 3, "end_line": 3, + "comment_lines": 0, "column": 0, "end_column": 49 }, "body": [], "label": null, - "comment": null + "comment": null, + "_type": "Block" }, "documentation": { - "_type": "MethodDocumentation", "description": "Implicitly generated create method", "args": {}, "returns": null }, "inline": null, + "pure": false, "cref": "tests/approvals/mutable-object.algo.ts::MutableObjectDemo", "member_name": "__algots__.defaultCreate", "arc4_method_config": { - "_type": "ARC4BareMethodConfig", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 3, "end_line": 3, + "comment_lines": 0, "column": 0, "end_column": 49 }, @@ -676,67 +594,69 @@ ], "app_state": [ { - "_type": "AppStorageDefinition", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 4, "end_line": 4, + "comment_lines": 0, "column": 2, "end_column": 9 }, "member_name": "plugins", "kind": 3, "storage_wtype": { - "_type": "ARC4Struct", "name": "PluginInfo", - "immutable": false, - "arc4_alias": null, - "fields": { - "lastValidRound": { - "_type": "ARC4UIntN", - "name": "arc4.uint64", - "immutable": true, - "arc4_alias": null, - "n": 64 + "_fields": [ + { + "name": "lastValidRound", + "wtype": { + "arc4_alias": null, + "n": 64, + "source_location": null, + "_type": "ARC4UIntN" + }, + "description": null } - }, - "source_location": null, + ], "frozen": false, - "desc": null + "source_location": null, + "desc": null, + "_type": "ARC4Struct" }, "key_wtype": { - "_type": "WType", "name": "string", - "immutable": true + "immutable": true, + "_type": "WType" }, "key": { - "_type": "BytesConstant", "source_location": { "file": "%DIR%/tests/approvals/mutable-object.algo.ts", "line": 4, "end_line": 4, + "comment_lines": 0, "column": 52, "end_column": 61 }, + "value": "aBOvFX>M}", "wtype": { - "_type": "WType", "name": "box_key", - "immutable": true + "immutable": true, + "_type": "WType" }, - "value": "aBOvFX>M}", - "encoding": "utf8" + "encoding": "utf8", + "_type": "BytesConstant" }, "description": null } ], "state_totals": { - "_type": "StateTotals", "global_uints": null, "local_uints": null, "global_bytes": null, "local_bytes": null }, "reserved_scratch_space": [], - "avm_version": null + "avm_version": null, + "_type": "Contract" } -] +] \ No newline at end of file