algorand-python-testing 0.6.0b3__tar.gz → 1.0.0b8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/CHANGELOG.md +101 -237
  2. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/PKG-INFO +2 -2
  3. algorand_python_testing-1.0.0b8/docs/algopy.md +9 -0
  4. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/api.md +3 -3
  5. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/coverage.md +3 -2
  6. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/examples.md +3 -3
  7. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/faq.md +5 -5
  8. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/index.md +2 -2
  9. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/testing-guide/arc4-types.md +5 -5
  10. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/testing-guide/avm-types.md +1 -1
  11. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/testing-guide/concepts.md +13 -11
  12. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/testing-guide/contract-testing.md +4 -4
  13. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/testing-guide/index.md +3 -3
  14. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/testing-guide/opcodes.md +2 -2
  15. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/testing-guide/transactions.md +4 -4
  16. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/marketplace/contract.py +14 -14
  17. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/marketplace/test_contract.py +12 -12
  18. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/proof_of_attendance/contract.py +4 -4
  19. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/pyproject.toml +6 -6
  20. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/arc4.py +166 -60
  21. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/context_helpers/txn_context.py +2 -1
  22. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/decorators/arc4.py +67 -22
  23. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/itxn.py +20 -12
  24. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/models/application.py +1 -0
  25. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/models/contract.py +3 -3
  26. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/models/txn_fields.py +187 -17
  27. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/op/pure.py +8 -9
  28. algorand_python_testing-1.0.0b8/src/_algopy_testing/primitives/__init__.py +27 -0
  29. algorand_python_testing-1.0.0b8/src/_algopy_testing/primitives/array.py +575 -0
  30. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/primitives/bytes.py +3 -2
  31. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/serialize.py +76 -9
  32. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/state/box.py +74 -6
  33. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/state/global_state.py +6 -7
  34. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/state/local_state.py +3 -3
  35. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/state/utils.py +10 -2
  36. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/utils.py +23 -4
  37. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/value_generators/avm.py +1 -0
  38. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/algopy/__init__.py +19 -2
  39. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/conftest.py +1 -1
  40. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_address.py +7 -0
  41. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_arc4_method_signature.py +104 -1
  42. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_bool.py +4 -1
  43. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_dynamic_array.py +57 -0
  44. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_dynamic_bytes.py +6 -6
  45. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_emit.py +2 -2
  46. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_static_array.py +67 -0
  47. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_string.py +4 -1
  48. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_struct.py +2 -0
  49. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_tuple.py +2 -0
  50. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_ufixednxm.py +6 -2
  51. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_uintn.py +77 -5
  52. algorand_python_testing-1.0.0b8/tests/artifacts/AVM12/contract.py +45 -0
  53. algorand_python_testing-1.0.0b8/tests/artifacts/AVM12/data/Contract.approval.teal +159 -0
  54. algorand_python_testing-1.0.0b8/tests/artifacts/AVM12/data/Contract.arc56.json +131 -0
  55. {algorand_python_testing-0.6.0b3/tests/artifacts/Arrays → algorand_python_testing-1.0.0b8/tests/artifacts/AVM12}/data/Contract.clear.teal +1 -1
  56. algorand_python_testing-1.0.0b8/tests/artifacts/AVM12/data/ContractV0.approval.teal +44 -0
  57. algorand_python_testing-1.0.0b8/tests/artifacts/AVM12/data/ContractV0.arc56.json +102 -0
  58. algorand_python_testing-0.6.0b3/tests/artifacts/Arc4InnerTxns/data/Arc4InnerTxnsContract.clear.teal → algorand_python_testing-1.0.0b8/tests/artifacts/AVM12/data/ContractV0.clear.teal +1 -1
  59. algorand_python_testing-1.0.0b8/tests/artifacts/AVM12/data/ContractV1.approval.teal +44 -0
  60. algorand_python_testing-1.0.0b8/tests/artifacts/AVM12/data/ContractV1.arc56.json +102 -0
  61. algorand_python_testing-1.0.0b8/tests/artifacts/AVM12/data/ContractV1.clear.teal +7 -0
  62. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arc4ABIMethod/contract.py +32 -4
  63. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arc4ABIMethod/data/SignaturesContract.approval.teal +282 -295
  64. algorand_python_testing-1.0.0b8/tests/artifacts/Arc4ABIMethod/data/SignaturesContract.arc32.json +305 -0
  65. algorand_python_testing-1.0.0b8/tests/artifacts/Arc4ABIMethod/data/SignaturesContract.arc56.json +480 -0
  66. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arc4InnerTxns/data/Arc4InnerTxnsContract.approval.teal +21 -37
  67. algorand_python_testing-1.0.0b8/tests/artifacts/Arc4InnerTxns/data/Arc4InnerTxnsContract.arc32.json +55 -0
  68. algorand_python_testing-1.0.0b8/tests/artifacts/Arc4InnerTxns/data/Arc4InnerTxnsContract.arc56.json +101 -0
  69. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arc4PrimitiveOps/contract.py +21 -1
  70. algorand_python_testing-1.0.0b8/tests/artifacts/Arc4PrimitiveOps/data/Arc4PrimitiveOpsContract.approval.teal +1807 -0
  71. algorand_python_testing-1.0.0b8/tests/artifacts/Arc4PrimitiveOps/data/Arc4PrimitiveOpsContract.arc32.json +1101 -0
  72. algorand_python_testing-1.0.0b8/tests/artifacts/Arc4PrimitiveOps/data/Arc4PrimitiveOpsContract.arc56.json +1587 -0
  73. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arc4PrimitiveOps/data/Arc4PrimitiveOpsContract.clear.teal +1 -1
  74. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arrays/data/Contract.approval.teal +669 -724
  75. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/Contract.arc32.json +198 -0
  76. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/Contract.arc56.json +373 -0
  77. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/Contract.clear.teal +7 -0
  78. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/DynamicArrayInitContract.approval.teal +272 -0
  79. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/DynamicArrayInitContract.arc56.json +144 -0
  80. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/DynamicArrayInitContract.clear.teal +7 -0
  81. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arrays/data/ImmutableArrayContract.approval.teal +1515 -1577
  82. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/ImmutableArrayContract.arc32.json +498 -0
  83. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/ImmutableArrayContract.arc56.json +804 -0
  84. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arrays/data/ImmutableArrayContract.clear.teal +1 -1
  85. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/ImmutableArrayInitContract.approval.teal +272 -0
  86. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/ImmutableArrayInitContract.arc56.json +144 -0
  87. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/StaticSizeContract.approval.teal +1099 -0
  88. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/StaticSizeContract.arc32.json +175 -0
  89. algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/StaticSizeContract.arc56.json +327 -0
  90. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arrays/data/StaticSizeContract.clear.teal +1 -1
  91. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arrays/immutable.py +194 -10
  92. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arrays/static_size.py +61 -14
  93. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arrays/uint64.py +62 -18
  94. algorand_python_testing-1.0.0b8/tests/artifacts/BoxContract/contract.py +350 -0
  95. algorand_python_testing-1.0.0b8/tests/artifacts/BoxContract/data/BoxContract.approval.teal +1795 -0
  96. algorand_python_testing-1.0.0b8/tests/artifacts/BoxContract/data/BoxContract.arc32.json +63 -0
  97. algorand_python_testing-1.0.0b8/tests/artifacts/BoxContract/data/BoxContract.arc56.json +780 -0
  98. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/BoxContract/data/BoxContract.clear.teal +1 -1
  99. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Contains/data/MyContract.approval.teal +2 -4
  100. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Contains/data/MyContract.clear.teal +1 -1
  101. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/CreatedAppAsset/data/AppCall.approval.teal +20 -27
  102. algorand_python_testing-1.0.0b8/tests/artifacts/CreatedAppAsset/data/AppCall.arc32.json +50 -0
  103. algorand_python_testing-1.0.0b8/tests/artifacts/CreatedAppAsset/data/AppCall.arc56.json +96 -0
  104. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/CreatedAppAsset/data/AppCall.clear.teal +1 -1
  105. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/CreatedAppAsset/data/AppExpectingEffects.approval.teal +54 -100
  106. algorand_python_testing-1.0.0b8/tests/artifacts/CreatedAppAsset/data/AppExpectingEffects.arc32.json +77 -0
  107. algorand_python_testing-1.0.0b8/tests/artifacts/CreatedAppAsset/data/AppExpectingEffects.arc56.json +181 -0
  108. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/CreatedAppAsset/data/AppExpectingEffects.clear.teal +1 -1
  109. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/CryptoOps/data/CryptoOpsContract.approval.teal +359 -636
  110. algorand_python_testing-1.0.0b8/tests/artifacts/CryptoOps/data/CryptoOpsContract.arc32.json +368 -0
  111. algorand_python_testing-1.0.0b8/tests/artifacts/CryptoOps/data/CryptoOpsContract.arc56.json +450 -0
  112. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/CryptoOps/data/CryptoOpsContract.clear.teal +1 -1
  113. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/GlobalStateValidator/data/GlobalStateValidator.approval.teal +23 -41
  114. algorand_python_testing-1.0.0b8/tests/artifacts/GlobalStateValidator/data/GlobalStateValidator.arc32.json +59 -0
  115. algorand_python_testing-1.0.0b8/tests/artifacts/GlobalStateValidator/data/GlobalStateValidator.arc56.json +111 -0
  116. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/GlobalStateValidator/data/GlobalStateValidator.clear.teal +1 -1
  117. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/MiscellaneousOps/contract.py +4 -4
  118. algorand_python_testing-1.0.0b8/tests/artifacts/MiscellaneousOps/data/MiscellaneousOpsContract.approval.teal +938 -0
  119. algorand_python_testing-1.0.0b8/tests/artifacts/MiscellaneousOps/data/MiscellaneousOpsContract.arc32.json +858 -0
  120. algorand_python_testing-1.0.0b8/tests/artifacts/MiscellaneousOps/data/MiscellaneousOpsContract.arc56.json +1012 -0
  121. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/MiscellaneousOps/data/MiscellaneousOpsContract.clear.teal +1 -1
  122. algorand_python_testing-1.0.0b8/tests/artifacts/PrimitiveOps/data/PrimitiveOpsContract.approval.teal +1667 -0
  123. algorand_python_testing-1.0.0b8/tests/artifacts/PrimitiveOps/data/PrimitiveOpsContract.arc32.json +1393 -0
  124. algorand_python_testing-1.0.0b8/tests/artifacts/PrimitiveOps/data/PrimitiveOpsContract.arc56.json +1616 -0
  125. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/PrimitiveOps/data/PrimitiveOpsContract.clear.teal +1 -1
  126. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateMutations/data/StateMutations.approval.teal +185 -154
  127. algorand_python_testing-1.0.0b8/tests/artifacts/StateMutations/data/StateMutations.arc32.json +95 -0
  128. algorand_python_testing-1.0.0b8/tests/artifacts/StateMutations/data/StateMutations.arc56.json +265 -0
  129. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateMutations/data/StateMutations.clear.teal +1 -1
  130. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/contract.py +30 -16
  131. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/GlobalStateContract.approval.teal +658 -0
  132. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/GlobalStateContract.arc32.json +563 -0
  133. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/GlobalStateContract.arc56.json +801 -0
  134. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/GlobalStateContract.clear.teal +1 -1
  135. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/ITxnOpsContract.approval.teal +33 -42
  136. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/ITxnOpsContract.arc32.json +1 -1
  137. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/ITxnOpsContract.arc56.json +96 -0
  138. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/ITxnOpsContract.clear.teal +1 -1
  139. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/LocalStateContract.approval.teal +487 -0
  140. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/LocalStateContract.arc32.json +381 -0
  141. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/LocalStateContract.arc56.json +583 -0
  142. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/LocalStateContract.clear.teal +1 -1
  143. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAcctParamsGetContract.approval.teal +241 -512
  144. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAcctParamsGetContract.arc32.json +307 -0
  145. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAcctParamsGetContract.arc56.json +478 -0
  146. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAcctParamsGetContract.clear.teal +7 -0
  147. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppGlobalContract.approval.teal +186 -0
  148. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppGlobalContract.arc32.json +188 -0
  149. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppGlobalContract.arc56.json +254 -0
  150. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAppGlobalContract.clear.teal +1 -1
  151. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAppGlobalExContract.approval.teal +23 -25
  152. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAppGlobalExContract.arc32.json +1 -1
  153. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppGlobalExContract.arc56.json +104 -0
  154. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAppGlobalExContract.clear.teal +1 -1
  155. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppLocalContract.approval.teal +244 -0
  156. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppLocalContract.arc32.json +251 -0
  157. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppLocalContract.arc56.json +329 -0
  158. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAppLocalContract.clear.teal +1 -1
  159. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAppLocalExContract.approval.teal +22 -29
  160. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppLocalExContract.arc32.json +63 -0
  161. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppLocalExContract.arc56.json +112 -0
  162. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAppLocalExContract.clear.teal +1 -1
  163. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAppParamsContract.approval.teal +171 -345
  164. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppParamsContract.arc32.json +199 -0
  165. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAppParamsContract.arc56.json +297 -0
  166. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAppParamsContract.clear.teal +1 -1
  167. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAssetHoldingContract.approval.teal +74 -0
  168. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAssetHoldingContract.arc32.json +81 -0
  169. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAssetHoldingContract.arc56.json +130 -0
  170. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAssetHoldingContract.clear.teal +1 -1
  171. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAssetParamsContract.approval.teal +184 -415
  172. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAssetParamsContract.arc32.json +253 -0
  173. algorand_python_testing-1.0.0b8/tests/artifacts/StateOps/data/StateAssetParamsContract.arc56.json +366 -0
  174. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAssetParamsContract.clear.teal +1 -1
  175. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Tuples/data/TuplesContract.approval.teal +8 -16
  176. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Tuples/data/TuplesContract.arc32.json +1 -1
  177. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Tuples/data/TuplesContract.arc56.json +9 -15
  178. algorand_python_testing-1.0.0b8/tests/artifacts/Tuples/data/TuplesContract.clear.teal +7 -0
  179. algorand_python_testing-1.0.0b8/tests/avm12/conftest.py +14 -0
  180. algorand_python_testing-1.0.0b8/tests/avm12/test_avm12.py +66 -0
  181. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/common.py +4 -0
  182. algorand_python_testing-1.0.0b8/tests/models/test_box.py +588 -0
  183. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/models/test_box_map.py +114 -57
  184. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/models/test_box_ref.py +53 -42
  185. {algorand_python_testing-0.6.0b3/tests/utilities → algorand_python_testing-1.0.0b8/tests/primitives}/conftest.py +1 -1
  186. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/state/conftest.py +2 -2
  187. algorand_python_testing-1.0.0b8/tests/state/test_global_state.py +310 -0
  188. algorand_python_testing-1.0.0b8/tests/state/test_local_state.py +181 -0
  189. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/test_array.py +64 -14
  190. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/test_context.py +1 -1
  191. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/test_miscellaneous_op.py +60 -62
  192. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/test_op.py +9 -9
  193. algorand_python_testing-1.0.0b8/tests/utilities/__init__.py +0 -0
  194. {algorand_python_testing-0.6.0b3/tests/primitives → algorand_python_testing-1.0.0b8/tests/utilities}/conftest.py +1 -1
  195. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/utilities/test_log.py +2 -2
  196. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/utilities/test_size_of.py +33 -5
  197. algorand_python_testing-1.0.0b8/tests/value_generators/__init__.py +0 -0
  198. algorand_python_testing-0.6.0b3/docs/algopy.md +0 -9
  199. algorand_python_testing-0.6.0b3/src/_algopy_testing/primitives/__init__.py +0 -7
  200. algorand_python_testing-0.6.0b3/src/_algopy_testing/primitives/array.py +0 -144
  201. algorand_python_testing-0.6.0b3/tests/artifacts/Arc4ABIMethod/data/SignaturesContract.arc32.json +0 -253
  202. algorand_python_testing-0.6.0b3/tests/artifacts/Arc4InnerTxns/data/Arc4InnerTxnsContract.arc32.json +0 -55
  203. algorand_python_testing-0.6.0b3/tests/artifacts/Arc4PrimitiveOps/data/Arc4PrimitiveOpsContract.approval.teal +0 -2361
  204. algorand_python_testing-0.6.0b3/tests/artifacts/Arc4PrimitiveOps/data/Arc4PrimitiveOpsContract.arc32.json +0 -1029
  205. algorand_python_testing-0.6.0b3/tests/artifacts/Arrays/data/Contract.arc32.json +0 -172
  206. algorand_python_testing-0.6.0b3/tests/artifacts/Arrays/data/ImmutableArrayContract.arc32.json +0 -450
  207. algorand_python_testing-0.6.0b3/tests/artifacts/Arrays/data/StaticSizeContract.approval.teal +0 -902
  208. algorand_python_testing-0.6.0b3/tests/artifacts/Arrays/data/StaticSizeContract.arc32.json +0 -162
  209. algorand_python_testing-0.6.0b3/tests/artifacts/BoxContract/contract.py +0 -19
  210. algorand_python_testing-0.6.0b3/tests/artifacts/BoxContract/data/BoxContract.approval.teal +0 -128
  211. algorand_python_testing-0.6.0b3/tests/artifacts/BoxContract/data/BoxContract.arc32.json +0 -63
  212. algorand_python_testing-0.6.0b3/tests/artifacts/CreatedAppAsset/data/AppCall.arc32.json +0 -50
  213. algorand_python_testing-0.6.0b3/tests/artifacts/CreatedAppAsset/data/AppExpectingEffects.arc32.json +0 -77
  214. algorand_python_testing-0.6.0b3/tests/artifacts/CryptoOps/data/CryptoOpsContract.arc32.json +0 -368
  215. algorand_python_testing-0.6.0b3/tests/artifacts/GlobalStateValidator/data/GlobalStateValidator.arc32.json +0 -59
  216. algorand_python_testing-0.6.0b3/tests/artifacts/MiscellaneousOps/data/MiscellaneousOpsContract.approval.teal +0 -1656
  217. algorand_python_testing-0.6.0b3/tests/artifacts/MiscellaneousOps/data/MiscellaneousOpsContract.arc32.json +0 -858
  218. algorand_python_testing-0.6.0b3/tests/artifacts/PrimitiveOps/data/PrimitiveOpsContract.approval.teal +0 -2834
  219. algorand_python_testing-0.6.0b3/tests/artifacts/PrimitiveOps/data/PrimitiveOpsContract.arc32.json +0 -1393
  220. algorand_python_testing-0.6.0b3/tests/artifacts/StateMutations/data/StateMutations.arc32.json +0 -95
  221. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/GlobalStateContract.approval.teal +0 -935
  222. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/GlobalStateContract.arc32.json +0 -528
  223. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/LocalStateContract.approval.teal +0 -695
  224. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/LocalStateContract.arc32.json +0 -359
  225. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAcctParamsGetContract.arc32.json +0 -307
  226. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAppGlobalContract.approval.teal +0 -311
  227. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAppGlobalContract.arc32.json +0 -188
  228. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAppLocalContract.approval.teal +0 -406
  229. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAppLocalContract.arc32.json +0 -251
  230. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAppLocalExContract.arc32.json +0 -63
  231. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAppParamsContract.arc32.json +0 -199
  232. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAssetHoldingContract.approval.teal +0 -122
  233. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAssetHoldingContract.arc32.json +0 -81
  234. algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAssetParamsContract.arc32.json +0 -253
  235. algorand_python_testing-0.6.0b3/tests/models/test_box.py +0 -357
  236. algorand_python_testing-0.6.0b3/tests/state/test_global_state.py +0 -133
  237. algorand_python_testing-0.6.0b3/tests/state/test_local_state.py +0 -49
  238. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.coveragerc +0 -0
  239. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.editorconfig +0 -0
  240. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  241. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  242. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.github/dependabot.yml +0 -0
  243. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.github/pull_request_template.md +0 -0
  244. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.github/workflows/cd.yaml +0 -0
  245. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.github/workflows/ci.yaml +0 -0
  246. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.github/workflows/gh-pages.yaml +0 -0
  247. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.gitignore +0 -0
  248. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.pre-commit-config.yaml +0 -0
  249. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.vscode/extensions.json +0 -0
  250. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.vscode/launch.json +0 -0
  251. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/.vscode/settings.json +0 -0
  252. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/CONTRIBUTING.md +0 -0
  253. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/LICENSE +0 -0
  254. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/README.md +0 -0
  255. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/Makefile +0 -0
  256. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/__init__.py +0 -0
  257. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/_static/custom.css +0 -0
  258. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/conf.py +0 -0
  259. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/make.bat +0 -0
  260. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/testing-guide/signature-testing.md +0 -0
  261. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/testing-guide/state-management.md +0 -0
  262. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/docs/testing-guide/subroutines.md +0 -0
  263. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/README.md +0 -0
  264. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/__init__.py +0 -0
  265. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/auction/__init__.py +0 -0
  266. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/auction/contract.py +0 -0
  267. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/auction/test_contract.py +0 -0
  268. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/htlc_logicsig/__init__.py +0 -0
  269. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/htlc_logicsig/signature.py +0 -0
  270. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/htlc_logicsig/test_signature.py +0 -0
  271. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/marketplace/__init__.py +0 -0
  272. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/proof_of_attendance/__init__.py +0 -0
  273. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/proof_of_attendance/test_contract.py +0 -0
  274. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/scratch_storage/__init__.py +0 -0
  275. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/scratch_storage/contract.py +0 -0
  276. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/scratch_storage/test_contract.py +0 -0
  277. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/simple_voting/__init__.py +0 -0
  278. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/simple_voting/contract.py +0 -0
  279. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/simple_voting/test_contract.py +0 -0
  280. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/zk_whitelist/__init__.py +0 -0
  281. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/zk_whitelist/contract.py +0 -0
  282. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/examples/zk_whitelist/test_contract.py +0 -0
  283. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/scripts/__init__.py +0 -0
  284. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/scripts/check_stubs_cov.py +0 -0
  285. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/scripts/refresh_test_artifacts.py +0 -0
  286. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/scripts/validate_examples.py +0 -0
  287. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/__init__.py +0 -0
  288. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/compiled.py +0 -0
  289. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/constants.py +0 -0
  290. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/context.py +0 -0
  291. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/context_helpers/__init__.py +0 -0
  292. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/context_helpers/context_storage.py +0 -0
  293. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/context_helpers/ledger_context.py +0 -0
  294. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/decorators/__init__.py +0 -0
  295. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/decorators/subroutine.py +0 -0
  296. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/enums.py +0 -0
  297. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/gtxn.py +0 -0
  298. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/itxn_loader.py +0 -0
  299. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/models/__init__.py +0 -0
  300. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/models/account.py +0 -0
  301. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/models/asset.py +0 -0
  302. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/models/logicsig.py +0 -0
  303. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/models/template_variable.py +0 -0
  304. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/models/unsigned_builtins.py +0 -0
  305. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/mutable.py +0 -0
  306. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/op/__init__.py +0 -0
  307. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/op/block.py +0 -0
  308. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/op/constants.py +0 -0
  309. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/op/crypto.py +0 -0
  310. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/op/global_values.py +0 -0
  311. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/op/itxn.py +0 -0
  312. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/op/misc.py +0 -0
  313. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/op/txn.py +0 -0
  314. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/primitives/biguint.py +0 -0
  315. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/primitives/string.py +0 -0
  316. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/primitives/uint64.py +0 -0
  317. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/protocols.py +0 -0
  318. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/py.typed +0 -0
  319. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/state/__init__.py +0 -0
  320. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/utilities/__init__.py +0 -0
  321. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/utilities/budget.py +0 -0
  322. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/utilities/log.py +0 -0
  323. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/utilities/size_of.py +0 -0
  324. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/value_generators/__init__.py +0 -0
  325. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/value_generators/arc4.py +0 -0
  326. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/_algopy_testing/value_generators/txn.py +0 -0
  327. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/algopy/arc4.py +0 -0
  328. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/algopy/gtxn.py +0 -0
  329. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/algopy/itxn.py +0 -0
  330. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/algopy/op.py +0 -0
  331. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/algopy/py.typed +0 -0
  332. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/algopy_testing/__init__.py +0 -0
  333. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/src/algopy_testing/py.typed +0 -0
  334. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/templates/.macros.j2 +0 -0
  335. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/templates/.release_notes.md.j2 +0 -0
  336. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/templates/CHANGELOG.md.j2 +0 -0
  337. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/__init__.py +0 -0
  338. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/__init__.py +0 -0
  339. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/arc4/test_abi_call.py +0 -0
  340. {algorand_python_testing-0.6.0b3/tests/artifacts/Arc4ABIMethod → algorand_python_testing-1.0.0b8/tests/artifacts/AVM12}/__init__.py +0 -0
  341. {algorand_python_testing-0.6.0b3/tests/artifacts/Arc4InnerTxns → algorand_python_testing-1.0.0b8/tests/artifacts/Arc4ABIMethod}/__init__.py +0 -0
  342. /algorand_python_testing-0.6.0b3/tests/artifacts/StateOps/data/StateAcctParamsGetContract.clear.teal → /algorand_python_testing-1.0.0b8/tests/artifacts/Arc4ABIMethod/data/SignaturesContract.clear.teal +0 -0
  343. {algorand_python_testing-0.6.0b3/tests/artifacts/Arc4PrimitiveOps → algorand_python_testing-1.0.0b8/tests/artifacts/Arc4InnerTxns}/__init__.py +0 -0
  344. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Arc4InnerTxns/contract.py +0 -0
  345. /algorand_python_testing-0.6.0b3/tests/artifacts/Tuples/data/TuplesContract.clear.teal → /algorand_python_testing-1.0.0b8/tests/artifacts/Arc4InnerTxns/data/Arc4InnerTxnsContract.clear.teal +0 -0
  346. {algorand_python_testing-0.6.0b3/tests/artifacts/Arrays → algorand_python_testing-1.0.0b8/tests/artifacts/Arc4PrimitiveOps}/__init__.py +0 -0
  347. {algorand_python_testing-0.6.0b3/tests/artifacts/BoxContract → algorand_python_testing-1.0.0b8/tests/artifacts/Arrays}/__init__.py +0 -0
  348. /algorand_python_testing-0.6.0b3/tests/artifacts/Arc4ABIMethod/data/SignaturesContract.clear.teal → /algorand_python_testing-1.0.0b8/tests/artifacts/Arrays/data/ImmutableArrayInitContract.clear.teal +0 -0
  349. {algorand_python_testing-0.6.0b3/tests/artifacts/Contains → algorand_python_testing-1.0.0b8/tests/artifacts/BoxContract}/__init__.py +0 -0
  350. {algorand_python_testing-0.6.0b3/tests/artifacts/CreatedAppAsset → algorand_python_testing-1.0.0b8/tests/artifacts/Contains}/__init__.py +0 -0
  351. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Contains/contract.py +0 -0
  352. {algorand_python_testing-0.6.0b3/tests/artifacts/CryptoOps → algorand_python_testing-1.0.0b8/tests/artifacts/CreatedAppAsset}/__init__.py +0 -0
  353. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/CreatedAppAsset/contract.py +0 -0
  354. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/CreatedAppAsset/other.py +0 -0
  355. {algorand_python_testing-0.6.0b3/tests/artifacts/GlobalStateValidator → algorand_python_testing-1.0.0b8/tests/artifacts/CryptoOps}/__init__.py +0 -0
  356. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/CryptoOps/contract.py +0 -0
  357. {algorand_python_testing-0.6.0b3/tests/artifacts/MiscellaneousOps → algorand_python_testing-1.0.0b8/tests/artifacts/GlobalStateValidator}/__init__.py +0 -0
  358. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/GlobalStateValidator/contract.py +0 -0
  359. {algorand_python_testing-0.6.0b3/tests/artifacts/PrimitiveOps → algorand_python_testing-1.0.0b8/tests/artifacts/MiscellaneousOps}/__init__.py +0 -0
  360. {algorand_python_testing-0.6.0b3/tests/artifacts/StateMutations → algorand_python_testing-1.0.0b8/tests/artifacts/PrimitiveOps}/__init__.py +0 -0
  361. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/PrimitiveOps/contract.py +0 -0
  362. {algorand_python_testing-0.6.0b3/tests/artifacts/StateOps → algorand_python_testing-1.0.0b8/tests/artifacts/StateMutations}/__init__.py +0 -0
  363. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateMutations/data/Contract.approval.teal +0 -0
  364. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateMutations/data/Contract.arc32.json +0 -0
  365. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateMutations/data/Contract.clear.teal +0 -0
  366. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateMutations/statemutations.py +0 -0
  367. {algorand_python_testing-0.6.0b3/tests/artifacts/Tuples → algorand_python_testing-1.0.0b8/tests/artifacts/StateOps}/__init__.py +0 -0
  368. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAcctParamsGet.approval.teal +0 -0
  369. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAcctParamsGet.arc32.json +0 -0
  370. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/StateOps/data/StateAcctParamsGet.clear.teal +0 -0
  371. {algorand_python_testing-0.6.0b3/tests/artifacts → algorand_python_testing-1.0.0b8/tests/artifacts/Tuples}/__init__.py +0 -0
  372. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/artifacts/Tuples/contract.py +0 -0
  373. {algorand_python_testing-0.6.0b3/tests/contexts → algorand_python_testing-1.0.0b8/tests/artifacts}/__init__.py +0 -0
  374. {algorand_python_testing-0.6.0b3/tests/models → algorand_python_testing-1.0.0b8/tests/avm12}/__init__.py +0 -0
  375. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/conftest.py +0 -0
  376. {algorand_python_testing-0.6.0b3/tests/primitives → algorand_python_testing-1.0.0b8/tests/contexts}/__init__.py +0 -0
  377. {algorand_python_testing-0.6.0b3/tests/state → algorand_python_testing-1.0.0b8/tests/models}/__init__.py +0 -0
  378. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/models/test_asset.py +0 -0
  379. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/models/test_contract.py +0 -0
  380. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/models/test_uenumerate.py +0 -0
  381. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/models/test_urange.py +0 -0
  382. {algorand_python_testing-0.6.0b3/tests/utilities → algorand_python_testing-1.0.0b8/tests/primitives}/__init__.py +0 -0
  383. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/primitives/test_biguint.py +0 -0
  384. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/primitives/test_bytes.py +0 -0
  385. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/primitives/test_string.py +0 -0
  386. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/primitives/test_uint64.py +0 -0
  387. {algorand_python_testing-0.6.0b3/tests/value_generators → algorand_python_testing-1.0.0b8/tests/state}/__init__.py +0 -0
  388. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/state/test_mutations.py +0 -0
  389. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/util.py +0 -0
  390. {algorand_python_testing-0.6.0b3 → algorand_python_testing-1.0.0b8}/tests/value_generators/test_avm.py +0 -0
@@ -1,4 +1,50 @@
1
1
  # CHANGELOG
2
+ ## v1.0.0-beta.8 (2025-10-06)
3
+
4
+ ### Documentation
5
+
6
+ * fix typos and broken links ([`f221910`](https://github.com/algorandfoundation/algorand-python-testing/commit/f221910b54a2cdc76aa99b8883d75d4ddae78ee3))
7
+
8
+ ## v1.0.0-beta.7 (2025-09-26)
9
+
10
+ ### Bug fixes
11
+
12
+ * bump puyapy dependencies ([`8b2064d`](https://github.com/algorandfoundation/algorand-python-testing/commit/8b2064dc8bd94b0dadf6f283e8d639543241eadc))
13
+
14
+ Update to latest release candidates, so dependencies projects using both puyapy, language server and algorand python testing can resolve to a consistent version
15
+
16
+ ## v1.0.0-beta.6 (2025-09-18)
17
+
18
+ ### Features
19
+
20
+ * update langspec to 4.3.0 ([`c05bdc0`](https://github.com/algorandfoundation/algorand-python-testing/commit/c05bdc053f4b6aa52206cbeeaddb40609688b052))
21
+
22
+ ## v1.0.0-beta.5 (2025-09-16)
23
+
24
+ ## v1.0.0-beta.4 (2025-09-12)
25
+
26
+ ### Features
27
+
28
+ * make BoxRef methods directly accessible on Box class ([`38e12f6`](https://github.com/algorandfoundation/algorand-python-testing/commit/38e12f6d595c204eb6f7dcd74c393c46f166e3d4))
29
+
30
+ ## v1.0.0-beta.3 (2025-09-08)
31
+
32
+ ### Features
33
+
34
+ * add .as_uint64 and .as_biguint methods to replace native property ([`0f9c6c0`](https://github.com/algorandfoundation/algorand-python-testing/commit/0f9c6c06b6e1b986c4e512cbbe0098aea32615b7))
35
+
36
+ ## v1.0.0-beta.2 (2025-09-03)
37
+
38
+ ### Features
39
+
40
+ * add stub implementations of array types ([`b7b831d`](https://github.com/algorandfoundation/algorand-python-testing/commit/b7b831da7570367494e823485910bc7191376e48))
41
+
42
+ ## v1.0.0-beta.1 (2025-07-16)
43
+
44
+ ### Features
45
+
46
+ * support storing tuples in state ([`911cd3c`](https://github.com/algorandfoundation/algorand-python-testing/commit/911cd3cb54f69f8fdded5c677f32c1969e8827bf))
47
+
2
48
  ## v0.6.0-beta.3 (2025-05-16)
3
49
 
4
50
  ### Bug fixes
@@ -29,6 +75,10 @@
29
75
 
30
76
  ## v0.5.0 (2025-02-20)
31
77
 
78
+ ### Features
79
+
80
+ * accept abi method reference as a parameter to arc4_signature method ([`a1cb365`](https://github.com/algorandfoundation/algorand-python-testing/commit/a1cb365f2be1eb1965d9b86a5193498772131412))
81
+
32
82
  ## v0.5.0-beta.1 (2025-02-19)
33
83
 
34
84
  ### Features
@@ -69,13 +119,9 @@
69
119
 
70
120
  ### Bug fixes
71
121
 
72
- * ability to pass kw_only flag to dataclass when defining struct subclass (#23) ([`24bcf9d`](https://github.com/algorandfoundation/algorand-python-testing/commit/24bcf9d8af34eb2675ddf85ce9d71802f82f2d6a))
73
-
74
- * fix: ability to pass kw_only flag to dataclass when defining struct subclass
75
-
76
- * chore: add dependabot yaml
122
+ * ability to pass kw_only flag to dataclass when defining struct subclass ([`24bcf9d`](https://github.com/algorandfoundation/algorand-python-testing/commit/24bcf9d8af34eb2675ddf85ce9d71802f82f2d6a))
77
123
 
78
- * chore: adding ability to pass args to struct init subclass
124
+ * ability to pass kw_only flag to dataclass when defining struct subclass ([`24bcf9d`](https://github.com/algorandfoundation/algorand-python-testing/commit/24bcf9d8af34eb2675ddf85ce9d71802f82f2d6a))
79
125
 
80
126
  ## v0.4.0 (2024-08-27)
81
127
 
@@ -115,13 +161,25 @@
115
161
 
116
162
  ## v0.3.0-beta.10 (2024-08-22)
117
163
 
164
+ ### Documentation
165
+
166
+ * refining docs ([`b714783`](https://github.com/algorandfoundation/algorand-python-testing/commit/b714783b4cf15d31f91dc1c776d304bd2eb9a154))
167
+
168
+ * note on future refinement ([`b714783`](https://github.com/algorandfoundation/algorand-python-testing/commit/b714783b4cf15d31f91dc1c776d304bd2eb9a154))
169
+
170
+ * further refining the api section ([`b714783`](https://github.com/algorandfoundation/algorand-python-testing/commit/b714783b4cf15d31f91dc1c776d304bd2eb9a154))
171
+
118
172
  ## v0.3.0-beta.9 (2024-08-22)
119
173
 
174
+ ### Bug fixes
175
+
176
+ * Make Global.latest_timestamp constant for a transaction ([`51c2817`](https://github.com/algorandfoundation/algorand-python-testing/commit/51c2817c262d686996e2aa4d639d259409dc8d43))
177
+
120
178
  ## v0.3.0-beta.8 (2024-08-22)
121
179
 
122
180
  ### Features
123
181
 
124
- * include ARC4 results in log, and handle > 15 ARC4 arguments (#18) ([`fd83ee8`](https://github.com/algorandfoundation/algorand-python-testing/commit/fd83ee8525a393d4a1a66f20acdb661906d84b51))
182
+ * include ARC4 results in log, and handle > 15 ARC4 arguments ([`fd83ee8`](https://github.com/algorandfoundation/algorand-python-testing/commit/fd83ee8525a393d4a1a66f20acdb661906d84b51))
125
183
 
126
184
  ## v0.3.0-beta.7 (2024-08-21)
127
185
 
@@ -129,49 +187,35 @@
129
187
 
130
188
  ### Documentation
131
189
 
132
- * documentation for initial stable release of `algorand-python-testing` (#8) ([`9d97d0d`](https://github.com/algorandfoundation/algorand-python-testing/commit/9d97d0de5ff9897e642ec3f11a186f2fb95375bb))
133
-
134
- * docs: wip
190
+ * documentation for initial stable release of `algorand-python-testing` ([`9d97d0d`](https://github.com/algorandfoundation/algorand-python-testing/commit/9d97d0de5ff9897e642ec3f11a186f2fb95375bb))
135
191
 
136
- * chore: refresh pyproject
192
+ docs: wip
137
193
 
138
- * docs: refining docs (wip)
194
+ * refining docs (wip) ([`9d97d0d`](https://github.com/algorandfoundation/algorand-python-testing/commit/9d97d0de5ff9897e642ec3f11a186f2fb95375bb))
139
195
 
140
- * chore: integrating doctests
196
+ * revamping docs with latest features ([`9d97d0d`](https://github.com/algorandfoundation/algorand-python-testing/commit/9d97d0de5ff9897e642ec3f11a186f2fb95375bb))
141
197
 
142
- * docs: revamping docs with latest features
198
+ * minor consistency with main readme; patching doctests ([`9d97d0d`](https://github.com/algorandfoundation/algorand-python-testing/commit/9d97d0de5ff9897e642ec3f11a186f2fb95375bb))
143
199
 
144
- * docs: minor consistency with main readme; patching doctests
200
+ * removing the box from examples ([`9d97d0d`](https://github.com/algorandfoundation/algorand-python-testing/commit/9d97d0de5ff9897e642ec3f11a186f2fb95375bb))
145
201
 
146
- * docs: removing the box from examples
202
+ * refine op codes section ([`9d97d0d`](https://github.com/algorandfoundation/algorand-python-testing/commit/9d97d0de5ff9897e642ec3f11a186f2fb95375bb))
147
203
 
148
- * docs: refine op codes section
149
-
150
- * chore: merge conflicts
151
-
152
- * chore: apply suggestions from code review
153
-
154
- Co-authored-by: Daniel McGregor <daniel.mcgregor@makerx.com.au>
155
-
156
- * docs: addressing docs pr comments
204
+ * addressing docs pr comments ([`9d97d0d`](https://github.com/algorandfoundation/algorand-python-testing/commit/9d97d0de5ff9897e642ec3f11a186f2fb95375bb))
157
205
 
158
206
  ## v0.3.0-beta.5 (2024-08-21)
159
207
 
160
- ### Bug fixes
161
-
162
- * ensure mutable types (ARC4 tuple, array and structs) have their changes propagated back to container-like types (global/local state, boxes, ARC4 mutable types) (#14) ([`1f1f2ea`](https://github.com/algorandfoundation/algorand-python-testing/commit/1f1f2ea43a2f4f906cbcd5709b8e86b5c1f2bc63))
163
-
164
- * fix: add default __eq__ implementation for ARC4 types
208
+ ### Features
165
209
 
166
- * fix: ensure mutable types (ARC4 tuple, array and structs) have their changes propagated back to container-like types (global/local state, boxes, ARC4 mutable types)
210
+ * add __str__ and __repr__ implementations for ARC4 types ([`1f1f2ea`](https://github.com/algorandfoundation/algorand-python-testing/commit/1f1f2ea43a2f4f906cbcd5709b8e86b5c1f2bc63))
167
211
 
168
- * feat: add __str__ and __repr__ implementations for ARC4 types
212
+ ### Bug fixes
169
213
 
170
- * refactor: make ARC4 type_info private
214
+ * ensure mutable types (ARC4 tuple, array and structs) have their changes propagated back to container-like types (global/local state, boxes, ARC4 mutable types) ([`1f1f2ea`](https://github.com/algorandfoundation/algorand-python-testing/commit/1f1f2ea43a2f4f906cbcd5709b8e86b5c1f2bc63))
171
215
 
172
- * refactor: make ARC4 struct inherit _ABIEncoded
216
+ * add default __eq__ implementation for ARC4 types ([`1f1f2ea`](https://github.com/algorandfoundation/algorand-python-testing/commit/1f1f2ea43a2f4f906cbcd5709b8e86b5c1f2bc63))
173
217
 
174
- * refactor: removing get_app_for_contract; expanding get_app; parsing on_complete
218
+ * ensure mutable types (ARC4 tuple, array and structs) have their changes propagated back to container-like types (global/local state, boxes, ARC4 mutable types) ([`1f1f2ea`](https://github.com/algorandfoundation/algorand-python-testing/commit/1f1f2ea43a2f4f906cbcd5709b8e86b5c1f2bc63))
175
219
 
176
220
  ## v0.3.0-beta.4 (2024-08-21)
177
221
 
@@ -197,231 +241,47 @@
197
241
 
198
242
  ## v0.3.0-beta.2 (2024-08-16)
199
243
 
200
- ## v0.3.0-beta.1 (2024-08-14)
201
-
202
244
  ### Features
203
245
 
204
- * deferred app calls, modular test context, refined access to value generators, numerous fixes/improvements (#4) ([`85dd58a`](https://github.com/algorandfoundation/algorand-python-testing/commit/85dd58a60f56a0737de84dcb549c01ca5a7a2851))
205
-
206
- * feat: work in progress on asset, application related state ops
207
-
208
- * test: adding extra tests
209
-
210
- * feat: extra tests and implementation wrappers around AppLocal
211
-
212
- * chore: wip
213
-
214
- * chore: update src/algopy_testing/op.py
215
-
216
- Co-authored-by: Daniel McGregor <daniel.mcgregor@makerx.com.au>
217
-
218
- * feat: adding acctparamsget; extra tests; pr comments
219
-
220
- * refactor: adding final bits around AcctParamsGet; unit tests and fixes
221
-
222
- * refactor: adding lookup by index to acct/app/asset get ops; tweaking ci
223
-
224
- * refactor: addressing pr comments
225
-
226
- * chore: fixing failing test
227
-
228
- * refactor: simplifying test_context validation
229
-
230
- * use specific enum types in box example with latest puya version
231
-
232
- * include box types in algopy_testing
233
-
234
- * fix inconsistent usage of field names on application fields use state total overrides when determining state totals reduce usage of `import algopy` in implementations
235
-
236
- * expose fields property on application to aid debugging
237
-
238
- * added section to CONTRIBUTING.md describing relationship between `algopy` and `algopy_testing`
239
-
240
- * remove lazy algopy imports from utils remove some unnecessary ignores add TODO
241
-
242
- * simplify abimethod and add TODO's
243
-
244
- * add TODO for state totals
245
-
246
- * add some tests (including currently failing ones) for app transactions
247
-
248
- * feat: add arc4factory
246
+ * implement gaid op ([`71801f0`](https://github.com/algorandfoundation/algorand-python-testing/commit/71801f01e49b683d81fa46d2ddb1c8aaf38b89f2))
249
247
 
250
- * refactor: ensuring underlying _key is properly reflected on local/global states
251
-
252
- * refactor: change guards for setting keys to explicitly check for None
253
-
254
- * refactor: use implementation types in internal mappings
255
-
256
- * refactor: remove usages of `import algopy` from op.py, remove explicit imports from typing module add TODO's
257
-
258
- * test: use non-abstract contract base
259
-
260
- * allow empty box prefix
261
-
262
- * refactor
263
-
264
- * use immutable param defaults
265
-
266
- * fix: handle populating foreign arrays correctly for abi method calls
267
-
268
- * refactor: remove lazy import algopy
269
-
270
- * remove irrelevant comment
271
-
272
- * initialize accounts correctly
273
-
274
- * build: adding post install command into examples venv in hatch settings
275
-
276
- * refactor: refine arc4 factory; add corresponding tests
277
-
278
- * chore: adding the missing clear methods
279
-
280
- * chore: merging everything from docs branch except docs changes
281
-
282
- * chore: merge conflicts
283
-
284
- * refactor: simplify txn implementations provide default values for unspecified txn fields
285
-
286
- * docs: adding pep257 formatter; using reST docstrings style for context.py
287
-
288
- * test: adding tests for scratch slots
289
-
290
- * refactor: renaming set_txn_fields -> scoped_txn_fields
291
-
292
- * chore: adding `amount` field and open question under TODO;
293
-
294
- also adding adding get_box_map that reuses get_box but appends the bytes box_map prefix
295
-
296
- * chore: bumping ruff
297
-
298
- * refactor: adding context manager for lsig args setup (similar to algopy.Txn)
299
-
300
- also running latest ruff - some rules are updated
301
-
302
- * refactor: move helper classes into their own file
303
-
304
- * refactor: simplify itxn loader
305
-
306
- * refactor: isolate get_test_context to reduce circular imports
307
-
308
- * chore: using multiprocessing in refresh test artifacts script
309
-
310
- * refactor: adding tests for ITxn, ITxnCreate and GITxn, fixing related bugs
311
-
312
- * refactor: default_creator -> default_sender; setting creator as default_sender
313
-
314
- * chore: parsing name to op name in ITxn
315
-
316
- * chore: updating default extension for mypy to use ms-python
317
-
318
- * test: remove incorrect test and replace with TODO
319
-
320
- * chore: add TODO about subroutine support
321
-
322
- * add stricter type checks for primitives
323
-
324
- * track when contracts are in a "creating" state or not
325
-
326
- * todos
327
-
328
- * refactor: moving GITxn class to itxn.py
329
-
330
- * refactor: generate arc4 signatures from types added more robust system for tracking arc4 types removed unneeded functions on StaticArray
331
-
332
- * only support native tuples when handling generic aliases in arc4 tuples
333
-
334
- * refactor: 1/2 adding paged access to clear state program in txn fields
335
-
336
- * refactor: consolidating txn and itxn related context attributes/methods
337
-
338
- * minor refactors
339
-
340
- * support arc4 structs
341
-
342
- * refactor: simplify logic sig implementation, and remove mapping
343
-
344
- * refactor: fix itxn op behaviour with program pages, and other array like fields
345
-
346
- * refactor: simplify account properties
347
-
348
- * refactor: move crypto ops into their own module
349
-
350
- * refactor: move pure ops into their own module
351
-
352
- * refactor: move other misc ops
353
-
354
- * refactor: consolidating value generators; ledger and txn contexts;
355
-
356
- * refactor: add active group/txn properties change local/global state storage to store values against the app, not the contract instance add UInt64Backed type to simplify serialization to/from int/bytes
357
-
358
- * refactor: remove nested private modules, replace usages of get_test_context with lazy_context
359
-
360
- * refactor: move inner transactions onto transaction group
361
-
362
- * refactor: remove scoped_lsig_args
363
-
364
- * refactor: remove maybe_active_app_id
365
-
366
- * refactor: include bool in test for uint64
367
-
368
- * refactor: ensure arc4 values always have fully parametrized types
369
-
370
- * refactor: use _paramatize_type
371
-
372
- * refactor: addressing TODOs
373
-
374
- refactor: removing txn from method names inside txn context manager prop
375
-
376
- chore: restoring initial pre-commit
377
-
378
- refactor: expanding scoped_execution
379
-
380
- chore: remove redundant fields
381
-
382
- chore: addressing minor todos and removing the ones already addressed
383
-
384
- * refactor: adding unit tests for global/local state with implicit keys
248
+ ### Bug fixes
385
249
 
386
- * refactor: improving handling of initial value for implicit global/local state keys
250
+ * added mock implementations for new algopy functions, add util for raising consistent mockable method errors ([`71801f0`](https://github.com/algorandfoundation/algorand-python-testing/commit/71801f01e49b683d81fa46d2ddb1c8aaf38b89f2))
387
251
 
388
- * test: extra test cases for accessing implicit/explicit keyed local/global state
252
+ ## v0.3.0-beta.1 (2024-08-14)
389
253
 
390
- * refactor: wip adding txn_group_for method
254
+ ### Features
391
255
 
392
- * chore: fix linting errors
256
+ * deferred app calls, modular test context, refined access to value generators, numerous fixes/improvements ([`85dd58a`](https://github.com/algorandfoundation/algorand-python-testing/commit/85dd58a60f56a0737de84dcb549c01ca5a7a2851))
393
257
 
394
- * feat: continue with txn_group_for and add a test
258
+ * work in progress on asset, application related state ops ([`85dd58a`](https://github.com/algorandfoundation/algorand-python-testing/commit/85dd58a60f56a0737de84dcb549c01ca5a7a2851))
395
259
 
396
- * chore: remove scoped_txn_fields methods
260
+ * extra tests and implementation wrappers around AppLocal ([`85dd58a`](https://github.com/algorandfoundation/algorand-python-testing/commit/85dd58a60f56a0737de84dcb549c01ca5a7a2851))
397
261
 
398
- * add some additional TODO's for scoped_execution
262
+ chore: wip
399
263
 
400
- * remove TODO
264
+ * adding acctparamsget; extra tests; pr comments ([`85dd58a`](https://github.com/algorandfoundation/algorand-python-testing/commit/85dd58a60f56a0737de84dcb549c01ca5a7a2851))
401
265
 
402
- * expand gaid TODO
266
+ * add arc4factory ([`85dd58a`](https://github.com/algorandfoundation/algorand-python-testing/commit/85dd58a60f56a0737de84dcb549c01ca5a7a2851))
403
267
 
404
- * tweak op.exit implementation and add TODO
268
+ * continue with txn_group_for and add a test ([`85dd58a`](https://github.com/algorandfoundation/algorand-python-testing/commit/85dd58a60f56a0737de84dcb549c01ca5a7a2851))
405
269
 
406
- * remove arc4 property from AlgopyTestContext
270
+ ### Bug fixes
407
271
 
408
- * add more TODOs
272
+ * handle populating foreign arrays correctly for abi method calls ([`85dd58a`](https://github.com/algorandfoundation/algorand-python-testing/commit/85dd58a60f56a0737de84dcb549c01ca5a7a2851))
409
273
 
410
- * refactor: addressing TODOs; adding marketplace contract example (devrel bootcamps)
274
+ ### Documentation
411
275
 
412
- * test: fixing failing tests
276
+ * adding pep257 formatter; using reST docstrings style for context.py ([`85dd58a`](https://github.com/algorandfoundation/algorand-python-testing/commit/85dd58a60f56a0737de84dcb549c01ca5a7a2851))
413
277
 
414
278
  ## v0.2.2-beta.5 (2024-07-30)
415
279
 
416
280
  ### Documentation
417
281
 
418
- * patch urls in README.md (#9) ([`eddf612`](https://github.com/algorandfoundation/algorand-python-testing/commit/eddf612b177a2acddf15d58be3f375e99fb6564b))
419
-
420
- * chore: patch urls in README.md
282
+ * patch urls in README.md ([`eddf612`](https://github.com/algorandfoundation/algorand-python-testing/commit/eddf612b177a2acddf15d58be3f375e99fb6564b))
421
283
 
422
- * ci: relaxing rules around paths-ignore
423
-
424
- * docs: patching old namespace name in readme
284
+ * patching old namespace name in readme ([`eddf612`](https://github.com/algorandfoundation/algorand-python-testing/commit/eddf612b177a2acddf15d58be3f375e99fb6564b))
425
285
 
426
286
  ## v0.2.2-beta.4 (2024-07-25)
427
287
 
@@ -432,3 +292,7 @@
432
292
  ## v0.2.2-beta.1 (2024-07-24)
433
293
 
434
294
  ## v0.2.1 (2024-07-10)
295
+
296
+ ### Bug fixes
297
+
298
+ * patching helper scripts; adding pre-commit; bumping compiler version ([`8d43492`](https://github.com/algorandfoundation/algorand-python-testing/commit/8d43492adfeb53fd2824f0ea812a9c30bf6bb339))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: algorand-python-testing
3
- Version: 0.6.0b3
3
+ Version: 1.0.0b8
4
4
  Summary: Algorand Python testing library
5
5
  Project-URL: Documentation, https://github.com/algorandfoundation/puya/tree/main/algopy_testing#README.md
6
6
  Project-URL: Issues, https://github.com/algorandfoundation/puya/issues
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Topic :: Software Development :: Testing
17
17
  Requires-Python: >=3.12
18
- Requires-Dist: algorand-python>=2.0
18
+ Requires-Dist: algorand-python>=3
19
19
  Requires-Dist: coincurve>=19.0.1
20
20
  Requires-Dist: ecdsa>=0.17.0
21
21
  Requires-Dist: pycryptodomex<4,>=3.6.0
@@ -0,0 +1,9 @@
1
+ # Algorand Python
2
+
3
+ Algorand Python is a partial implementation of the Python programming language that runs on the AVM. It includes a statically typed framework for developing Algorand smart contracts and logic signatures, with Pythonic interfaces to underlying AVM functionality that work with standard Python tooling.
4
+
5
+ Algorand Python is compiled for execution on the AVM by PuyaPy, an optimising compiler that ensures the resulting AVM bytecode has execution semantics that match the given Python code. PuyaPy produces output that is directly compatible with [AlgoKit typed clients](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/features/generate.md#1-typed-clients) to make deployment and calling easy.
6
+
7
+ ## Quick start
8
+
9
+ To get started, refer to the [official documentation](https://algorandfoundation.github.io/puya).
@@ -1,13 +1,13 @@
1
1
  # API Reference
2
2
 
3
- An overview of the `algorand-python-testing`'s `algopy_testing` module - covering the main classes and functions.
3
+ An overview of the `algopy_testing` module in `algorand-python-testing` library - covering the main classes and functions.
4
4
 
5
5
  ```{hint}
6
- Spotted a typo in documentation? This project is open source, please submit an issue or a PR on [GitHub](https://github.com/algorand/algorand-python-testing).
6
+ Spotted a typo in the documentation? This project is open source; please submit an issue or a PR on [GitHub](https://github.com/algorandfoundation/algorand-python-testing).
7
7
  ```
8
8
 
9
9
  ```{warning}
10
- Note, assume `_algopy_testing` to refer to `algopy_testing` namespace in the auto-generated class documentation above. To be patched in near future.
10
+ Note: Auto-generated class documentation may reference `_algopy_testing`; these should be interpreted as the `algopy_testing` namespace. The naming discrepancy will be fixed in a future update.
11
11
  ```
12
12
 
13
13
  ## Contexts
@@ -1,9 +1,9 @@
1
1
  # Coverage
2
2
 
3
- See which `algorand-python` stubs are implemented by the `algorand-python-testing` library. See the [Concepts](testing-guide/concepts.md#types-of-algopy-stub-implementations) section for more details on the implementation categories. Refer to the [`algorand-python` stubs API](api.md) for the full list of the stubs for which the `algorand-python-testing` library provides implementations referenced in the table below.
3
+ See which `algorand-python` stubs are implemented by the `algorand-python-testing` library. See the [Concepts](testing-guide/concepts.md#types-of-algopy-stub-implementations) section for more details on the implementation categories. Refer to the [`algorand-python` stubs API](api.md) for the full list of stubs for which the `algorand-python-testing` library provides implementations referenced in the table below.
4
4
 
5
5
  | Name | Implementation type |
6
- |---------------------------------------------|---------------------|
6
+ | ------------------------------------------- | ------------------- |
7
7
  | algopy.Account | Emulated |
8
8
  | algopy.Application | Emulated |
9
9
  | algopy.Asset | Emulated |
@@ -158,3 +158,4 @@ See which `algorand-python` stubs are implemented by the `algorand-python-testin
158
158
  | algopy.op.EllipticCurve | Mockable |
159
159
  | algopy.op.VrfVerify | Mockable |
160
160
  | algopy.op.vrf_verify | Mockable |
161
+ | algopy.op.falcon_verify | Mockable |
@@ -5,9 +5,9 @@ Below is a showcase of various examples of unit testing real and sample Algorand
5
5
  | Contract Name | Test File | Key Features Demonstrated | Test versions of Algopy Abstractions used |
6
6
  | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
7
7
  | Auction | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/auction/test_contract.py) | - Use of algopy_testing_context<br>- Mocking of global state and transaction fields<br>- Testing of ARC4 contract methods<br>- Emulation of asset creation and transfers<br>- Verification of inner transactions | - **ARC4Contract**<br>- **Global**<br>- **Txn**<br>- **Asset**<br>- **Account**<br>- **LocalState** |
8
- | Proof of Attendance | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/proof_of_attendance/test_contract.py) | - Creation and management of dummy assets<br>- Testing of box storage operations<br>- Verification of inner transactions for asset transfers<br>- Use of any\_\* methods for generating test data | - **ARC4Contract**<br>- **Box**<br>- **BoxMap**<br>- **Asset**<br>- **Account**<br>- **op** |
8
+ | Proof of Attendance | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/proof_of_attendance/test_contract.py) | - Creation and management of dummy assets<br>- Testing of box storage operations<br>- Verification of inner transactions for asset transfers<br>- Use of `any.*` methods for generating test data | - **ARC4Contract**<br>- **Box**<br>- **BoxMap**<br>- **Asset**<br>- **Account**<br>- **op** |
9
9
  | Simple Voting | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/simple_voting/test_contract.py) | - Testing of global and local state operations<br>- Verification of transaction group operations<br>- Mocking of payment transactions | - **Contract**<br>- **GlobalState**<br>- **LocalState**<br>- **Txn**<br>- **op.GTxn** |
10
- | ZK Whitelist | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/zk_whitelist/test_contract.py) | - Testing of zero-knowledge proof verification<br>- Mocking of external application calls<br>- Use of ARC4 types and methods | - **ARC4Contract**<br>- **arc4 types**<br>- **LocalState**<br>- **Global**<br>- **Txn** |
10
+ | ZK Whitelist | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/zk_whitelist/test_contract.py) | - Testing of zero-knowledge proof verification<br>- Mocking of external application calls<br>- Use of ARC4 types and methods | - **ARC4Contract**<br>- **ARC4 types**<br>- **LocalState**<br>- **Global**<br>- **Txn** |
11
11
  | HTLC LogicSig | [test_signature.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/htlc_logicsig/test_signature.py) | - Testing of LogicSig contracts<br>- Verification of time-based conditions<br>- Mocking of transaction parameters | - **logicsig**<br>- **Account**<br>- **Txn**<br>- **Global**<br>- **op** |
12
- | Marketplace | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/marketplace/test_contract.py) | - Testing of complex marketplace operations<br>- Use of BoxMap for listings<br>- Testing of asset transfers and payments | - **ARC4Contract**<br>- **BoxMap**<br>- **Asset**<br>- **arc4 types**<br>- **Global**<br>- **Txn** |
12
+ | Marketplace | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/marketplace/test_contract.py) | - Testing of complex marketplace operations<br>- Use of BoxMap for listings<br>- Testing of asset transfers and payments | - **ARC4Contract**<br>- **BoxMap**<br>- **Asset**<br>- **ARC4 types**<br>- **Global**<br>- **Txn** |
13
13
  | Scratch Storage | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/scratch_storage/test_contract.py) | - Testing of scratch space usage<br>- Verification of scratch slot values | - **ARC4Contract**<br>- **Contract**<br>- **op** |
@@ -14,7 +14,7 @@ Operational Codes, or opcodes, are AVM instructions that are executed directly b
14
14
 
15
15
  ## What are Value Generators?
16
16
 
17
- Value Generators are helper methods that generate randomized values for testing when the specific value of the tested type is not important. In the context of Algorand Python testing, these are represented by property on the context manager, accessed via `any.*` (or `any.arc4.*`, `any.txn.*`. in the case of ARC 4 types). To understand how to use Value Generators effectively, check out our [Value Generators section](testing-guide/concepts.md#value-generators) in the documentation.
17
+ Value Generators are helper methods that produce randomized values for testing when the exact value of a type isn't important. In Algorand Python testing these generators are exposed as properties on the test context manager and accessed via `any.*` (for example, `any.arc4.*` and `any.txn.*` for ARC4 types). To learn more, see the [Value Generators section](testing-guide/concepts.md#value-generators).
18
18
 
19
19
  ## What are the limitations of the Algorand Python Testing framework?
20
20
 
@@ -26,7 +26,7 @@ The Algorand Python Testing framework emulates the Algorand Virtual Machine (AVM
26
26
  4. Certain cryptographic operations are mocked or simplified
27
27
  5. No state proof generation or verification
28
28
 
29
- For scenarios where these limitations are crucial, it's recommended to pair this framework with integration testing. If you have a solid reason to justify introducing new emulated behaviour, please open an issue or contribute to the project on [Github](https://github.com/algorandfoundation/algorand-python-testing).
29
+ For scenarios where these limitations are crucial, it's recommended to pair this framework with integration testing. If you have a solid reason to justify introducing new emulated behaviour, please open an issue or contribute to the project on [GitHub](https://github.com/algorandfoundation/algorand-python-testing).
30
30
 
31
31
  ## How does balance tracking work in the testing framework?
32
32
 
@@ -46,16 +46,16 @@ Some cryptographic operations are mocked or simplified in the framework. For a d
46
46
 
47
47
  ## Can I use this framework for security-critical validations?
48
48
 
49
- While this framework is useful for unit testing and local development, it should not be the only tool used for security-critical validations or performance benchmarking. It's designed to approximate AVM behavior for common scenarios. Always complement your testing with additional integration testing options available in `algokit`, where you can test against real localnet or testnet environments.
49
+ While this framework is useful for unit testing and local development, it should not be the only tool used for security-critical validations or performance benchmarking. It's designed to approximate AVM behaviour for common scenarios. Always complement your testing with additional integration testing options available in `algokit`, where you can test against real localnet or testnet environments.
50
50
 
51
51
  ## Is there an example of how to use this framework alongside integration tests?
52
52
 
53
53
  Yes, the `algokit-python-template`, accessible via `algokit init`, provides a working example of how to structure `algorand-python-testing` along with regular integration tests against localnet.
54
54
 
55
55
  ```{hint}
56
- An `algokit-python-template` accessible via `algokit init -t python`, provides a comprehensive and customizable working example of how to structure `algorand-python-testing` along with regular integration tests against localnet.
56
+ The `algokit-python-template`, accessible via `algokit init -t python`, provides a comprehensive and customizable working example of how to structure `algorand-python-testing` along with regular integration tests against localnet.
57
57
  ```
58
58
 
59
59
  ## Is it compatible with `pytest`?
60
60
 
61
- Yes, it is compatible with `pytest` and _any_ other python testing framework as its agnostic of the testing framework as long as its python. If you spot incompatibility with a certain tool, please open an issue or contribute to the project on [Github](https://github.com/algorandfoundation/algorand-python-testing).
61
+ Yes, it is compatible with `pytest` and _any_ other Python testing framework as it is agnostic of the testing framework as long as it's Python. If you spot incompatibility with a certain tool, please open an issue or contribute to the project on [GitHub](https://github.com/algorandfoundation/algorand-python-testing).
@@ -5,7 +5,7 @@
5
5
  [![github-stars](https://img.shields.io/github/stars/algorandfoundation/algorand-python-testing?color=74dfdc&logo=star&style=flat)](https://github.com/algorandfoundation/algorand-python-testing)
6
6
  [![visitor-badge](https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Falgorandfoundation%2Falgorand-python-testing&countColor=%2374dfdc&style=flat)](https://developer.algorand.org/algokit/)
7
7
 
8
- `algorand-python-testing` is a companion package to [Algorand Python](https://github.com/algorandfoundation/puya) that enables efficient unit testing of Algorand Python smart contracts in an offline environment. This package emulates key AVM behaviors without requiring a network connection, offering fast and reliable testing capabilities with a familiar Pythonic interface.
8
+ `algorand-python-testing` is a companion package to [Algorand Python](https://github.com/algorandfoundation/puya) that enables efficient unit testing of Algorand Python smart contracts in an offline environment. This package emulates key AVM behaviours without requiring a network connection, offering fast and reliable testing capabilities with a familiar Pythonic interface.
9
9
 
10
10
  The `algorand-python-testing` package provides:
11
11
 
@@ -160,7 +160,7 @@ This example demonstrates key aspects of testing with `algorand-python-testing`
160
160
  - Checking global and local state changes after method execution.
161
161
  - Verifying return values from ABI methods using ARC4-specific types.
162
162
 
163
- > **NOTE**: Thorough testing is crucial in smart contract development due to their immutable nature post-deployment. Comprehensive unit and integration tests ensure contract validity and reliability. Optimizing for efficiency can significantly improve user experience by reducing transaction fees and simplifying interactions. Investing in robust testing and optimization practices is crucial and offers many benefits in the long run.
163
+ > **NOTE**: Thorough testing is crucial in smart contract development due to their immutable nature post-deployment. Comprehensive unit and integration tests ensure contract validity and reliability. Optimising for efficiency can significantly improve user experience by reducing transaction fees and simplifying interactions. Investing in robust testing and optimisation practices is crucial and offers many benefits in the long run.
164
164
 
165
165
  ### Next steps
166
166
 
@@ -1,9 +1,9 @@
1
1
  # ARC4 Types
2
2
 
3
- These types are available under the `algopy.arc4` namespace. Refer to the [ARC4 specification](https://arc.algorand.foundation/ARCs/arc-0004) for more details on the spec.
3
+ These types are available under the `algopy.arc4` namespace. Refer to the [ARC4 specification](https://dev.algorand.co/arc-standards/arc-0004/) for more details on the spec.
4
4
 
5
5
  ```{hint}
6
- Test context manager provides _value generators_ for ARC4 types. To access their _value generators_, use `{context_instance}.any.arc4` property. See more examples below.
6
+ The test context manager provides _value generators_ for ARC4 types. To access the _value generators_, use `{context_instance}.any.arc4` property. See more examples below.
7
7
  ```
8
8
 
9
9
  ```{note}
@@ -63,7 +63,7 @@ address_value = arc4.Address("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
63
63
  # Generate a random address
64
64
  random_address = context.any.arc4.address()
65
65
 
66
- # Access native underlaying type
66
+ # Access native underlying type
67
67
  native = random_address.native
68
68
  ```
69
69
 
@@ -76,7 +76,7 @@ from algopy import arc4
76
76
  bytes_value = arc4.DynamicBytes(b"Hello, Algorand!")
77
77
 
78
78
  # Generate random dynamic bytes
79
- random_dynamic_bytes = context.any.arc4.dynamic_bytes(n=123) # n is the number of bits in the arc4 dynamic bytes
79
+ random_dynamic_bytes = context.any.arc4.dynamic_bytes(n=123) # n is the number of bits in the ARC4 dynamic bytes
80
80
  ```
81
81
 
82
82
  ## String
@@ -88,7 +88,7 @@ from algopy import arc4
88
88
  string_value = arc4.String("Hello, Algorand!")
89
89
 
90
90
  # Generate random string
91
- random_string = context.any.arc4.string(n=12) # n is the number of bits in the arc4 string
91
+ random_string = context.any.arc4.string(n=12) # n is the number of bits in the ARC4 string
92
92
  ```
93
93
 
94
94
  ```{testcleanup}
@@ -3,7 +3,7 @@
3
3
  These types are available directly under the `algopy` namespace. They represent the basic AVM primitive types and can be instantiated directly or via _value generators_:
4
4
 
5
5
  ```{note}
6
- For 'primitive `algopy` types such as `Account`, `Application`, `Asset`, `UInt64`, `BigUint`, `Bytes`, `Sting` with and without respective _value generator_, instantiation can be performed directly. If you have a suggestion for a new _value generator_ implementation, please open an issue in the [`algorand-python-testing`](https://github.com/algorandfoundation/algorand-python-testing) repository or contribute by following the [contribution guide](https://github.com/algorandfoundation/algorand-python-testing/blob/main/CONTRIBUTING.md).
6
+ For primitive `algopy` types such as `Account`, `Application`, `Asset`, `UInt64`, `BigUint`, `Bytes`, and `String`, instantiation can be performed directly, with or without a corresponding _value generator_. If you have a suggestion for a new _value generator_ implementation, please open an issue in the [`algorand-python-testing`](https://github.com/algorandfoundation/algorand-python-testing) repository or contribute by following the [contribution guide](https://github.com/algorandfoundation/algorand-python-testing/blob/main/CONTRIBUTING.md).
7
7
  ```
8
8
 
9
9
  ```{testsetup}