Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: do not error when using algopy.arc4.abi_call with a method selector string containing no arguments #296

Merged
merged 1 commit into from
Aug 20, 2024

Conversation

daniel-makerx
Copy link
Contributor

No description provided.

@daniel-makerx daniel-makerx enabled auto-merge (rebase) August 20, 2024 04:46
Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
src/puya
   __main__.py35197%145
   arc32.py68297%77, 103
   artifact_sorter.py49198%80
   client_gen.py1151587%55–56, 65–69, 73, 165–166, 174–175, 190, 194–195, 204
   compile.py2532291%193–194, 240–241, 263, 273, 285–286, 297, 304–305, 322–332, 342–344, 349, 478, 499
   context.py37197%44
   errors.py451567%43–53, 66–67, 69–71
   log.py2122986%36–39, 72, 92, 126–127, 169–171, 174–176, 178, 191–200, 222, 292–294, 303–304, 338, 355
   models.py132298%118, 131
   parse.py2221195%96, 108, 133, 227, 318–323, 327, 425–426, 429
   template.py44686%18–19, 41–42, 58, 60
   utils.py2212688%55, 72–73, 82–83, 91–92, 149, 153, 187, 193, 208, 211–213, 220, 242, 255–256, 264–267, 296, 298, 321, 356
src/puya/awst
   function_traverser.py281399%72, 371, 377
   nodes.py9655295%87, 91–94, 134, 138–141, 339, 516, 532, 550, 597, 624–625, 681, 685, 713–714, 863, 885, 917, 939, 944, 949, 1153, 1169, 1218, 1271–1272, 1279–1284, 1326, 1406, 1460, 1464, 1514, 1527, 1572, 1666, 1677, 1679, 1684, 1692, 1697, 1702, 1711, 1716, 1721, 1728
   to_code_visitor.py352898%123, 307–308, 350, 561, 582, 612, 615
   txn_fields.py98199%48
   wtypes.py2371992%155–159, 169–172, 187, 202, 230, 266, 290, 295, 336, 364, 366, 466
src/puya/awst_build
   arc4_utils.py3164984%43, 46–47, 49, 81, 93–95, 119, 130–134, 150, 152, 155–156, 179, 217–219, 228, 233, 238–239, 263, 267, 279, 286, 288, 302–303, 306–310, 315–316, 322–325, 333, 351, 363, 371–372, 384, 392, 493, 498, 517
   arc32_client_gen.py68297%35, 131
   base_mypy_visitor.py1273969%70–76, 94, 102–115, 129, 131, 133, 145, 150, 154, 157, 160, 166, 188, 191, 194, 201, 205, 208, 211, 215, 233, 237, 241, 245, 249, 253, 257, 261, 265, 269, 273, 277, 281
   context.py2274779%49, 71, 74, 84–85, 111–112, 208, 213, 219–223, 228, 237, 239, 242–244, 246, 253, 255, 261, 266–267, 272–274, 277, 297, 321–322, 334, 348, 351–363
   contract.py1953184%125–126, 128–131, 143, 155, 248, 252, 267–271, 279, 288, 291, 303, 311, 314, 317, 320, 323, 326, 329, 332, 335, 346, 356, 364, 370, 395–401
   contract_data.py58198%37
   intrinsic_models.py40198%49
   main.py48394%33, 50, 60
   module.py4156285%53–56, 85, 150, 164–166, 181–182, 189, 198–199, 207–211, 229–233, 240, 264–265, 276, 298–301, 311–313, 319, 342–345, 358, 392, 399, 421–422, 445–450, 504–505, 533, 544, 547, 553, 559, 569, 575, 578, 590, 593, 615, 635, 640, 644, 648–651, 678, 736, 744, 746
   pytypes.py4725189%85–87, 101–102, 142, 158–164, 187, 207, 279, 288, 307, 311, 327–328, 360, 453–455, 469–470, 539–540, 665, 676–677, 725–726, 731, 780–781, 802–803, 932–933, 957, 985, 1019–1021, 1047, 1074, 1084–1085, 1121–1123
   subroutine.py6365192%138, 260, 266, 324–327, 333, 385, 392, 395–401, 466, 627, 629–630, 648, 650, 660–661, 670–671, 675, 696, 774, 781, 801–802, 884, 915–916, 933, 955, 961, 1049, 1057, 1068, 1093, 1199–1200, 1221, 1231, 1238, 1251, 1276, 1279, 1282, 1285, 1288, 1308–1310
   utils.py1952587%36, 53–57, 73, 108–109, 111, 155–156, 228, 236, 241, 254–258, 263–266, 274, 301, 309, 352
src/puya/awst_build/eb
   _base.py1281985%53, 58–60, 65, 72, 77, 82–84, 143, 154, 178, 183, 188, 193, 204, 219, 224–226
   _bytes_backed.py48296%30–31
   _expect.py1251886%25, 36, 77–80, 92–95, 98, 157–158, 219, 232–235
   _literals.py1382979%42, 71, 90, 119, 127, 141, 145, 149–155, 165–179, 184
   utils.py44198%95
   array.py27967%24, 29–34, 44, 50
   biguint.py97694%57, 99, 136, 151–152, 154
   bool.py51884%38–42, 58, 69, 84
   bytes.py1711889%105–106, 133–134, 139–140, 146–147, 150, 158, 201, 236, 269, 273, 290–291, 306–307
   compiled.py1141389%57, 62, 68–69, 172–178, 213–217, 242
   conditional_literal.py1263572%93, 97, 151, 155–158, 167–169, 178–181, 192–195, 204, 208, 212–215, 230–242, 251–252
   contracts.py84693%64, 70, 83, 108, 129, 133
   dict.py27581%24, 32–34, 38
   ensure_budget.py33197%49
   interface.py85396%304–306, 310
   intrinsics.py97694%38, 57, 64, 77, 84, 155
   log.py43491%46–47, 52, 61
   logicsig.py15193%26
   none.py25388%17, 28, 37
   string.py1451391%72, 115–116, 135, 139, 183, 190, 194, 206, 280–282, 302
   struct.py17571%15–17, 26, 32
   subroutine.py791778%50, 54–57, 72, 75–82, 97, 105–109, 111–114, 119
   template_variables.py37295%30, 58
   tuple.py2691296%75, 147, 153, 188–189, 195, 272–273, 398, 409–410, 473
   uint64.py111595%58, 119–120, 168–169
   uint64_enums.py40295%41, 46
   unsigned_builtins.py1532186%75, 82, 106, 130, 134, 138, 142, 150, 154, 158, 162, 166, 176, 180, 186, 197, 203, 242, 274, 286, 298
src/puya/awst_build/eb/arc4
   _base.py91397%187–190, 201
   _utils.py113992%61–62, 87, 92, 122–125, 165, 169, 183
   abi_call.py3331895%122, 128, 131, 153, 223, 244–245, 326, 345, 406, 458, 476, 506, 592, 641, 726–727, 744
   address.py77396%57, 117–118
   bool.py57395%44, 86–87
   dynamic_array.py1271092%57, 126–127, 147, 149, 154, 228, 249, 255–258
   dynamic_bytes.py68396%97–99
   emit.py37197%39
   static_array.py66198%41
   string.py100991%54–55, 103, 126, 131–134, 161–162
   struct.py49198%49
   tuple.py941584%50–52, 92–95, 98–99, 135–138, 143, 147–148, 158, 168
   ufixed.py70297%43, 102
   uint.py74297%135–136
src/puya/awst_build/eb/reference_types
   _base.py52198%119
   account.py81298%60, 171
   application.py45198%35
   asset.py65198%43
src/puya/awst_build/eb/storage
   _common.py69396%107, 122–123
   _storage.py1001783%77, 85, 89, 93, 97, 101, 105, 109, 113, 123, 127, 131, 135, 141, 152, 158, 170
   value_proxy.py55787%39, 43, 51, 55, 92, 100, 104
   box_map.py143199%183
   global_state.py139596%109–110, 116, 172–173
   local_state.py1491193%104–105, 109, 158, 162, 166, 176, 180, 204, 291, 315
src/puya/awst_build/eb/transaction
   base.py39295%23, 43
   inner.py48296%88–89
   inner_params.py81594%69, 79, 83, 143, 145
   itxn_args.py60198%68
src/puya/awst_build/validation
   base_invoker.py29486%31, 38, 47–51
   inner_transactions.py181199%160
   labels.py30873%25–27, 32, 36–41
   scratch_slots.py39490%19, 33, 49, 51
src/puya/ir
   arc4_router.py3272194%157, 175, 183, 251, 341, 520–521, 535, 579–580, 592, 597, 602, 607, 612, 617, 637–641, 876, 909–910
   avm_ops.py315199%46
   avm_ops_models.py48394%21, 30, 38
   context.py87792%73, 95–101, 106, 129, 137
   main.py250299%469, 487
   models.py5322296%74, 182, 189, 338, 408–409, 414, 420–424, 437, 481, 510, 566, 612, 692, 708, 749, 752, 759, 762, 852–853
   ssa.py130398%51–52, 150
   to_text_visitor.py152895%123, 128, 212, 219–224
   types.py1011090%50, 57, 91–95, 116, 152, 157–159
   visitor.py1291787%145, 193, 205, 220, 223, 236, 239, 245, 248, 259, 262, 265, 268, 271, 274, 277, 280
   visitor_mutator.py105298%174–175
   vla.py72199%87
src/puya/ir/builder
   _utils.py62494%150, 181–183
   arc4.py5042595%93, 129–134, 375, 400, 403, 472–475, 732–733, 979, 1003, 1085, 1092, 1128, 1176, 1186, 1241, 1286, 1305, 1325, 1386–1393
   assignment.py83693%51, 98, 112, 188, 206, 222
   blocks.py140795%55, 92–96, 158, 166, 231
   bytes.py641478%13–45, 129
   callsub.py58198%92
   flow_control.py95199%56
   iteration.py198597%91–92, 107, 144, 206
   itxn.py2651395%124–125, 127, 141, 189, 210, 235–236, 565, 589–590, 603–604
   main.py5395490%102, 243, 247, 252–270, 275–293, 348, 372, 396–397, 431, 588, 610, 623–624, 680, 705, 742–744, 755, 817, 943, 956, 989, 1044, 1047, 1055, 1058, 1066, 1099, 1178, 1195, 1247–1248
   storage.py83298%101, 154
src/puya/ir/destructure
   coalesce_locals.py1011981%119, 128–129, 132–135, 138–147, 163–166
   parcopy.py84298%47, 83
src/puya/ir/optimize
   collapse_blocks.py92595%65–69
   compiled_reference.py79594%53, 87, 158–163
   control_op_simplification.py101595%166, 240–247
   inner_txn.py36197%38
   intrinsic_simplification.py4833393%76, 166–168, 173, 255, 267, 302, 313–314, 338–339, 363, 430, 568, 596, 617, 619, 634, 674, 697, 727, 733, 735, 737, 742, 744, 746, 748, 750, 802–803, 810
   main.py87298%116–117
src/puya/ir/validation
   _base.py29197%24
   compile_reference_validator.py20385%24, 30, 37
   min_avm_version_validator.py11191%15
   op_run_mode_validator.py19574%19–29
src/puya/mir
   annotaters.py159299%62, 212
   builder.py1401093%139, 248–249, 302, 305, 308, 311, 314, 317, 320
   context.py39197%35
   models.py3281695%40, 52, 68, 77, 88, 99, 110, 150, 260, 291, 328, 340, 365–371
   output.py61297%29, 31
   stack.py2501992%72, 119, 135, 146, 157, 167, 184, 201, 211, 230, 250, 256, 258, 297, 310, 334, 366, 371, 409
src/puya/mir/stack_allocation
   baileys.py205399%31, 330–334
   frame_allocation.py80298%21, 68
   koopmans.py61198%55
   peephole.py100694%75, 89, 99, 101, 103, 145
src/puya/teal/optimize
   peephole.py112298%139, 145
   repeated_rotations.py42198%13
   repeated_rotations_search.py88693%34, 40–41, 57, 67–68
src/puya/ussemble
   build.py731086%37, 52–53, 58–61, 65–68, 85–86, 115
   op_spec_models.py22195%20
   optimize.py77199%78
   output.py115199%71
   validate.py17194%19
TOTAL20731139293% 

Tests Skipped Failures Errors Time
959 3 💤 0 ❌ 0 🔥 5m 58s ⏱️

@daniel-makerx daniel-makerx merged commit 74577c4 into main Aug 20, 2024
4 checks passed
@daniel-makerx daniel-makerx deleted the fix-abi-call-no-args branch August 20, 2024 04:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants