Skip to content

Commit

Permalink
fix: resolve issues with reading and writing ARC4 types
Browse files Browse the repository at this point in the history
Reading and writing dynamic ARC4 types in an array
Modifying ARC4 tuple items (#152)
Require ARC4 struct initialisation to have unaliased values to maintain reference semantics
  • Loading branch information
daniel-makerx authored Jun 10, 2024
1 parent cd42f02 commit 23f9bd2
Show file tree
Hide file tree
Showing 513 changed files with 97,055 additions and 51,472 deletions.
570 changes: 398 additions & 172 deletions examples/amm/puya.log

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions examples/arc-28/out/EventEmitter.approval.mir
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ emit_swapped_block@0:
frame_dig -1 // load b#0 from parameters (𝕡) a#0,b#0 | b#0 Swapped(b, a) arc-28/contract.py:12
frame_dig -2 // load a#0 from parameters (𝕡) a#0,b#0 | b#0,a#0 Swapped(b, a) arc-28/contract.py:12
concat // (𝕡) a#0,b#0 | {concat} Swapped(b, a) arc-28/contract.py:12
// virtual: store encoded_tuple_buffer%0#2 to l-stack (no copy) (𝕡) a#0,b#0 | encoded_tuple_buffer%0#2 Swapped(b, a) arc-28/contract.py:12
method "Swapped(uint64,uint64)" // (𝕡) a#0,b#0 | encoded_tuple_buffer%0#2,method<"Swapped(uint64,uint64)"> arc4.emit(Swapped(b, a)) arc-28/contract.py:12
swap // load encoded_tuple_buffer%0#2 from l-stack (no copy) (𝕡) a#0,b#0 | method<"Swapped(uint64,uint64)">,encoded_tuple_buffer%0#2 arc4.emit(Swapped(b, a)) arc-28/contract.py:12
// virtual: store encoded_tuple_buffer%2#0 to l-stack (no copy) (𝕡) a#0,b#0 | encoded_tuple_buffer%2#0 Swapped(b, a) arc-28/contract.py:12
method "Swapped(uint64,uint64)" // (𝕡) a#0,b#0 | encoded_tuple_buffer%2#0,method<"Swapped(uint64,uint64)"> arc4.emit(Swapped(b, a)) arc-28/contract.py:12
swap // load encoded_tuple_buffer%2#0 from l-stack (no copy) (𝕡) a#0,b#0 | method<"Swapped(uint64,uint64)">,encoded_tuple_buffer%2#0 arc4.emit(Swapped(b, a)) arc-28/contract.py:12
concat // (𝕡) a#0,b#0 | {concat} arc4.emit(Swapped(b, a)) arc-28/contract.py:12
// virtual: store tmp%0#0 to l-stack (no copy) (𝕡) a#0,b#0 | tmp%0#0 arc4.emit(Swapped(b, a)) arc-28/contract.py:12
dup // load tmp%0#0 from l-stack (copy) (𝕡) a#0,b#0 | tmp%0#0,tmp%0#0 arc4.emit(Swapped(b, a)) arc-28/contract.py:12
Expand Down
4 changes: 2 additions & 2 deletions examples/arc-28/out/EventEmitter.destructured.ir

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 11 additions & 11 deletions examples/arc-28/out/EventEmitter.ssa.ir

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 9 additions & 9 deletions examples/arc-28/out/EventEmitter.ssa.opt_pass_1.ir

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions examples/arc-28/out/EventEmitter.ssa.opt_pass_2.ir

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions examples/arc-28/out_O2/EventEmitter.destructured.ir

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 9 additions & 9 deletions examples/arc-28/out_unoptimized/EventEmitter.destructured.ir

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 23f9bd2

Please sign in to comment.