v0.6.0
v0.6.0 (2024-02-20)
Breaking Changes
-
many functions and classes under
puyapycan now be found inpuyapy.op. Values that are constant for a transaction in thepuyapy.op.Globalandpuyapy.op.Transactionclasses are now typed as final class vars instead of methods -
Classes related to group transactions are now under the
puyapy.gtxnmodule -
The following op code classes were renamed:
Original name New name AppGlobalsAppGlobalAppLocalsAppLocalTransactionTxnTransactionGroupGTxnInnerTransactionITxnInnerTransactionGroupGITxnCreateInnerTransactionITxnCreateEcdsaECDSAEcEC -
--output-cssa-irand--output-parallel-copies-irCLI options have been removed, and--output-final-iris now--output-destructured-irto better reflect its position in the compiler chain. -
The default debug level is now 1, and only one TEAL file will be emitted for each program. To get back the previous default behaviour of only outputting an unannotated teal file, pass
-g0.
Feature
-
improve coalescing by performing before sequentialisation, thus reducing chances of interference (
a29fba9) -
reduce number of iterations required by optimiser by enabling fixed point iteration within ControlOp simplifier optimisation step (
b7b27d3) -
add simple pass to collapse constants repeated >= 2 times by using a dupn (
47d90d6) -
add duplicate block elimination as a post-SSA optimisation, at -O2 or above since it can mess with debugging info quite a bit (
c13d8fe) -
add API for creating and submitting inner transactions (#98) (
6b76183) -
move ops into their own module (
7678a7e)