Skip to content

Conversation

joe-p
Copy link
Contributor

@joe-p joe-p commented Jul 11, 2025

An app client created from an ARC4 spec will assume all actions are allowed for all methods (including bare)

Main use case is for older apps that don't have ARC32 or 56 available. Only downside is that generated clients will have more methods available than what is actually supported but I think that is acceptable for users that are using ARC4 specs.

Fixes #171

An app client create from an ARC4 spec will assume all actions are
allowed for all methods (including bare)
Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
src/algokit_utils
   _debugging.py1411887%21, 40–42, 45, 54, 62, 81, 87, 96, 110–114, 133, 141–143
   account.py330%1–12
   algorand.py981288%64–65, 79–80, 110–111, 138–139, 299, 322, 338, 357
   application_client.py330%1–11
   application_specification.py770%1–39
   config.py782963%23, 30–34, 73–74, 90, 95, 100, 111–116, 140–156
   deploy.py330%1–10
   logic_error.py330%1–10
src/algokit_utils/_legacy_v2
   _ensure_funded.py72199%96
   _transfer.py72396%14, 77–78
   account.py931386%15–18, 71–75, 109, 126, 156, 159, 203
   application_client.py5377786%56–57, 176, 181, 210, 320, 325–326, 328, 330, 799, 814, 832–835, 929, 969, 981, 994, 1036, 1096–1102, 1106–1111, 1113, 1149, 1156, 1269, 1305, 1319, 1357–1359, 1361, 1371–1428, 1439–1444, 1464–1467
   asset.py80495%24–27
   common.py13192%13
   deploy.py4072295%32–35, 170, 174–175, 193, 249, 339–340, 361, 395, 406–414, 429, 437, 593–594, 618
   network_clients.py73593%79–80, 105–106, 139
src/algokit_utils/accounts
   account_manager.py2554084%167, 183–184, 211–216, 295–305, 322, 339–344, 391–393, 422, 461, 481–485, 498, 557, 578, 735, 841, 920, 925, 940–941, 964
   kmd_account_manager.py731086%47–53, 94, 150, 157
src/algokit_utils/applications
   abi.py1396950%14, 75, 111, 117, 119, 121, 141–160, 176, 179–185, 201–214, 227–239, 254–265
   app_client.py73721171%66–74, 136, 144, 331–334, 337, 340, 343, 346, 358–361, 364, 367, 370, 373, 385, 394, 403, 406–468, 481–539, 563–565, 582–585, 593–596, 604–607, 615–618, 626–629, 640–643, 656, 752–755, 789, 801, 813, 825, 837, 852, 867, 877, 887, 897, 907, 917, 954–967, 983, 1000, 1017, 1034, 1055, 1076, 1166, 1222, 1359, 1423–1424, 1473, 1475, 1481, 1534–1542, 1575–1578, 1581–1584, 1605, 1653, 1716–1718, 1731–1738, 1783, 1800, 1802, 1805, 1809, 1956, 1967–1968, 1996, 2006–2008, 2011–2033, 2043, 2052–2067, 2072–2077
   app_deployer.py2373784%96, 270, 277, 287–292, 295–299, 375–376, 591, 603–617, 629, 634–637, 646, 660, 667, 674, 703, 714–755
   app_factory.py2712790%430, 451, 460, 652, 662, 712, 944, 958–963, 974–975, 1008, 1046, 1064–1065, 1108, 1116–1129
   app_manager.py2231892%258, 279–280, 350–351, 396–401, 433, 457–458, 488, 516–519, 551, 560
src/algokit_utils/applications/app_spec
   arc32.py95892%198–207
   arc56.py5871997%171, 292, 308–309, 379, 399–401, 453, 465, 467, 739, 753, 931, 933, 993, 995–996, 1012
src/algokit_utils/assets
   asset_manager.py1281291%282–283, 292, 298–322, 332
src/algokit_utils/clients
   client_manager.py1785470%24–26, 79–86, 111, 143–145, 205, 216–219, 244, 283, 318–323, 358–360, 393, 410, 432, 477–480, 520–523, 564–567, 604–607, 629–654, 692, 705, 717
   dispenser_api_client.py961288%134–135, 139–142, 198–200, 219–221
src/algokit_utils/errors
   logic_error.py561180%14, 105–121
src/algokit_utils/models
   account.py921584%32, 34, 80–81, 128, 136, 144, 168–175, 188, 196, 209, 217
   amount.py1061784%35, 42, 88, 98, 104, 112, 117–119, 126, 131–133, 140, 147, 160, 166
   application.py66198%8
   state.py41588%61, 65–68
   transaction.py51394%66, 86, 91
src/algokit_utils/protocols
   account.py11282%17, 22
   typed_clients.py24483%12–24
src/algokit_utils/transactions
   transaction_composer.py110311090%34–41, 574, 619, 622, 627, 631–642, 674, 715, 782, 789, 811, 850, 947–976, 1005, 1023–1025, 1031–1046, 1051, 1059, 1061, 1063, 1079, 1085, 1123, 1131, 1144, 1240, 1290, 1739–1740, 1779–1780, 1821, 2033, 2036, 2055, 2060, 2084–2086, 2123–2159, 2166–2173, 2314, 2318, 2449, 2451–2452, 2502–2503
   transaction_creator.py75791%394, 427, 482, 520, 557, 590, 688
   transaction_sender.py1611094%101, 270, 313–314, 712–717, 722–723, 888
TOTAL671690687% 

Tests Skipped Failures Errors Time
410 0 💤 0 ❌ 0 🔥 5m 45s ⏱️

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.

bare_actions are not optional when using an ARC56 spec

1 participant