Home Reports May 25, 2026

Monday, May 25, 2026

Commits
243
pushed this day
Repositories
11
with activity
Contributors
10
distinct authors
Lines changed
+362,314 −379,264
additions / deletions

May 2026

‹ ›
M
T
W
T
F
S
S

Dot = report available

Authors 9

Monday, May 25, 2026

243 commits were pushed across 11 repos by 10 authors. There were 362,314 additions and 379,264 deletions.

Stay up to date with the latest insights and developments on AlgoScan

Updated repos

11 repositories

Commit Log

243 commits · 11 repositories

01:00:21 go-algorand - Build 2728 Data +1 −1
01:56:19 algokit-walletsdk-kmp michaeltchuang fix: put placeholder text on empty screens for iOS +84 −19
02:16:00 wen-tools LoafPickleWW feat: add BatchUpdate and SimpleUpdate pages for ARC-69 and ARC-19 metadata management +617 −504
02:38:48 algokit-walletsdk-kmp michaeltchuang fix: put placeholder text on empty screens for iOS (#316) +84 −19
02:59:59 puya achidlow update to latest mypy version +351 −216
03:51:39 puya achidlow eliminate repeated ArrayLength nodes when the argument is a stack value +10 −1
03:51:39 puya achidlow update to latest mypy version +351 −216
03:52:15 puya achidlow chore: compile all +8251 −8514
03:52:21 puya achidlow GVN test cases +185 −0
03:52:21 puya achidlow feat: implement GVN +604 −0
03:52:21 puya achidlow chore: compile all +15543 −0
03:52:42 puya achidlow chore: compile all +54275 −50262
03:52:43 puya achidlow refactor +13 −16
03:52:43 puya achidlow GVN refactoring: simplify the way we pass scope down to children +30 −53
03:52:43 puya achidlow refactoring +41 −125
03:52:43 puya achidlow fix nasty potential bug with static index and VN collisions in extrac/replace ops +18 −5
03:52:43 puya achidlow - use ValueProviderVisitor in GVN to ensure exhaustiveness +194 −82
03:52:43 puya achidlow simplify +1 −3
03:52:43 puya achidlow extract ValueProviderVisitor from IRVisitor +59 −53
03:52:43 puya achidlow add docstrings to some higher level IR models +10 −0
03:52:43 puya achidlow refactoring: restrict "const" VN to Constant | TemplateVar - Undefined should definitely not be considered equal, and compiled refs get replaced by constants eventually anyway. +10 −6
03:52:43 puya achidlow GVN refactor: +174 −106
03:52:43 puya achidlow refactoring +9 −10
03:52:43 puya achidlow chore: compile all +799 −866
03:52:43 puya achidlow refactoring: VN -> register and Value -> VN mappings don't need scoping +15 −19
03:52:44 puya achidlow GVN refactor: remove _PhiKey +9 −15
03:52:44 puya achidlow fix: scope GVN tables to dominator tree to prevent potential dominance violation +5 −2
03:52:44 puya achidlow GVN refactoring (WIP) +26 −35
03:52:44 puya achidlow GVN: better candidate selection +126 −102
03:52:44 puya achidlow GVN refactoring (WIP) +40 −46
03:52:44 puya achidlow chore: compile all +3 −3
03:53:06 puya achidlow chore: compile all +41405 −26485
03:53:07 puya achidlow GVN refactoring (WIP) +7 −6
03:53:07 puya achidlow refactor: rewrite SCC phi congruence to operate on the replacement map +33 −36
03:53:07 puya achidlow GVN: simplify +35 −47
03:53:07 puya achidlow fix: handle irreducible control flow in GVN SCC phi congruence +1 −4
03:53:07 puya achidlow GVN refactoring (WIP) +10 −3
03:53:07 puya achidlow GVN: fix bug with back-edges +8 −14
03:53:07 puya achidlow GVN: refactor +32 −32
03:53:07 puya achidlow GVN: refactor (WIP) +91 −83
03:53:07 puya achidlow GVN: simplify +6 −11
03:53:07 puya achidlow GVN: refactor +26 −29
03:53:07 puya achidlow GVN: refactor (WIP) +3 −9
03:53:07 puya achidlow GVN: refactor (WIP) +190 −199
03:53:07 puya achidlow GVN: handle no-args intrinsics by assigning same VN but skipping replacement (due to stack shuffling impacts) +9 −5
03:53:07 puya achidlow GVN: refactor (WIP) +47 −59
03:53:07 puya achidlow GVN: refactor +84 −73
03:53:35 puya achidlow GVN: refactor (WIP) +6 −1
03:53:35 puya achidlow GVN global hash map (WIP) +57 −12
03:53:35 puya achidlow add GVN test for AVAIL/PRE (not implemented yet) +2432 −0
03:53:35 puya achidlow GVN: give constants a consistent key regardless of representation +47 −12
03:53:35 puya achidlow chore: compile all +1330 −2133
03:53:35 puya achidlow chore: compile all +85459 −137112
03:53:35 puya achidlow add additional testing of runtime-dominance +1734 −6
03:53:35 puya achidlow GVN global hash map (WIP) +34 −41
03:53:35 puya achidlow GVN: refactor (WIP) +38 −28
03:53:59 puya achidlow GVN: intrinsic identities (WIP) +38 −0
03:53:59 puya achidlow chore: compile all +6193 −4048
03:54:17 puya achidlow chore: compile all +10633 −20279
03:54:18 puya achidlow GVN: replace UInt64 constants +57 −16
03:54:38 puya achidlow chore: compile all +332 −5570
03:54:38 puya achidlow hmm +43 −54
03:54:38 puya achidlow GVN refactoring +19 −17
03:54:38 puya achidlow chore: compile all +3062 −14839
03:54:38 puya achidlow GVN refactoring (partial undo, `global` is not PURE) +3 −4
03:54:38 puya achidlow remove byte constant restriction +3 −4
03:54:38 puya achidlow chore: compile all +0 −41
03:54:38 puya achidlow use GVN in redundant assert detection +40 −86
03:54:39 puya achidlow mostly comment updates, one minor refactor +11 −22
03:54:39 puya achidlow GVN: skip Value rather than just Constant for uint64 propagation +5 −2
03:54:39 puya achidlow chore: compile all +559 −82
03:54:39 puya achidlow chore: compile all +42 −105
03:54:39 puya achidlow remove binary-op identity simplifications from intrinsic_simplification, it has been subsumed and improved upon in GVN +0 −26
03:54:39 puya achidlow mostly comment updates, some minor refactoring +16 −38
03:54:39 puya achidlow simplify simplifier +70 −68
03:54:58 puya achidlow chore: compile all +190 −502
03:54:58 puya achidlow chore: compile all +1686 −17394
03:54:58 puya achidlow refactoring, hmmm +23 −20
03:54:58 puya achidlow chore: compile all +33 −138
03:54:58 puya achidlow GVN: record negation comparisons even when there is a match to the un-negated version, so that double negation works +5 −1
03:54:58 puya achidlow refactoring, hmmm +39 −36
03:54:58 puya achidlow add GVN test for double-negation of comparison +2253 −768
03:54:58 puya achidlow GVN: concat consts +56 −44
03:54:58 puya achidlow refactoring, hmmm (plus not folding) +28 −24
03:54:58 puya achidlow refactoring, hmmm +17 −20
03:54:58 puya achidlow GVN: len of const +3 −7
03:54:58 puya achidlow refactoring, hmmm +14 −8
03:54:58 puya achidlow GVN: len of const +5 −0
03:54:58 puya achidlow simplify simplifier +20 −20
03:55:20 puya achidlow refactor / small bytes consts when the source is an intrinsic with register args (causing stack shuffling) +42 −16
03:55:20 puya achidlow chore: compile all +2573 −2613
03:55:39 puya achidlow simplify the simplifier +83 −63
03:55:39 puya achidlow simplify the simplifier +19 −11
03:55:39 puya achidlow simplify the simplifier +73 −50
03:55:39 puya achidlow chore: compile all +32 −544
03:55:39 puya achidlow chore: compile all +1601 −1729
03:55:39 puya achidlow re-use single const bytes simplifications +67 −11
03:55:39 puya achidlow simplify the simplifier +6 −11
03:55:39 puya achidlow wip +26 −40
03:55:39 puya achidlow GVN: fold bytes constant binary ops +137 −124
03:55:39 puya achidlow fix itertools.count type subscripting +7 −1
03:55:39 puya achidlow re-use single const uint64 simplifications +86 −33
03:55:39 puya achidlow chore: compile all +2 −2
03:55:39 puya achidlow preserve encoding +55 −29
03:55:39 puya achidlow simplify the simplifier +43 −41
03:55:39 puya achidlow GVN: fold uint64 constant binary ops +32 −4
03:55:39 puya achidlow GVN: substring const +18 −0
03:55:39 puya achidlow chore: compile all +4 −6
03:55:39 puya achidlow GVN: extract/extract3 const +28 −0
03:55:39 puya achidlow chose best encoding for VN +15 −0
03:55:57 puya achidlow wip +10 −6
03:55:57 puya achidlow chore: compile all +124 −906
03:55:57 puya achidlow GVN: disable byte-const-inlining (for now) +13 −11
03:56:17 puya achidlow HMMM +292 −121
03:56:17 puya achidlow chore: compile all +1740 −1615
03:56:17 puya achidlow allow no-stack-args intrinsics to participate in VN coalescing, but start a new group for each one +17 −19
03:56:17 puya achidlow chore: compile all +64 −294
03:56:37 puya achidlow add op sizes +153 −0
03:56:37 puya achidlow chore: compile all +351 −1193
03:56:37 puya achidlow wip +110 −15
03:56:57 puya achidlow chore: compile all +1946 −376
03:56:57 puya achidlow fixes +3 −5
03:56:57 puya achidlow fixes +4 −2
03:56:57 puya achidlow getbyte const folding (GVN + intrinsics) +61 −0
03:56:57 puya achidlow chore: compile all +1930 −325
03:56:57 puya achidlow review fixes +14 −15
03:56:57 puya achidlow replace3 const folding (GVN + intrinsics) +79 −2
03:56:57 puya achidlow chore: compile all +2027 −626
03:56:57 puya achidlow review fixes +54 −54
03:56:57 puya achidlow chore: compile all +6450 −6427
03:56:57 puya achidlow comment rejiggering +13 −7
03:56:57 puya achidlow GVN: wide-math +266 −31
03:56:57 puya achidlow setbyte const folding (GVN + intrinsics) +85 −0
03:56:57 puya achidlow chore: compile all +1 −1
03:56:57 puya achidlow chore: compile all +3 −608
03:57:17 puya achidlow chore: compile all +474 −250
03:57:17 puya achidlow don't need a test case per op, that's just silly +24 −38
03:57:17 puya achidlow fix multi-target assignment in GVN?? +39 −7
03:57:17 puya achidlow fix test to do what it actually claims to do (take #2) +3 −7
03:57:17 puya achidlow chore: compile all +3817 −494
03:57:17 puya achidlow linting +8 −8
03:57:17 puya achidlow fix test to do what it actually claims to do +7 −5
03:57:17 puya achidlow tests for x % 1 == 0 identity +34 −2
03:57:17 puya achidlow chained extract_uintN -> extract S 0 optimisation, disable binary uint64 const folding in intrinsics +33 −1
03:57:17 puya achidlow hmmm +3 −9
03:57:17 puya achidlow chore: compile all +167 −167
03:57:17 puya achidlow chore: compile all +8259 −4491
03:57:17 puya achidlow chore: compile all +3722 −2490
03:57:17 puya achidlow chore: compile all +241 −303
03:57:17 puya achidlow simplify identity x % 1 == 0 +6 −0
03:57:17 puya achidlow chore: compile all +589 −2326
03:57:17 puya achidlow test fix - doh +2 −2
03:57:17 puya achidlow linting +8 −8
03:57:38 puya achidlow further shifting from intrinsic_simplification.py -> GVN +18 −24
03:57:38 puya achidlow chore: compile all +26032 −16394
03:57:38 puya achidlow chore: compile all +1350 −2416
03:57:39 puya achidlow preserver property that compile time constants ops should be pure +6 −2
03:57:39 puya achidlow split up intrinsic_simplification (WIP) +38 −24
03:57:39 puya achidlow refactoring +5 −12
03:57:39 puya achidlow refactoring +7 −22
03:57:39 puya achidlow refactoring +22 −43
03:57:39 puya achidlow refactor multi-value folding in GVN to show that it only handles uint64 for now +36 −32
03:57:39 puya achidlow minor +1 −1
03:57:39 puya achidlow refactoring +2 −2
03:57:39 puya achidlow refactoring +4 −10
03:57:39 puya achidlow refactoring +67 −75
03:57:39 puya achidlow refactoring +4 −18
03:57:39 puya achidlow refactoring +14 −32
03:57:39 puya achidlow refactoring +46 −67
03:57:39 puya achidlow refactoring +31 −25
03:57:39 puya achidlow refactoring +254 −234
03:57:39 puya achidlow refactoring +13 −12
03:57:39 puya achidlow refactoring +63 −134
03:57:39 puya achidlow refactoring +9 −7
03:57:39 puya achidlow refactoring +31 −52
03:57:39 puya achidlow refactoring +146 −109
03:57:39 puya achidlow chore: compile all +250 −365
03:57:39 puya achidlow refactoring +284 −283
03:57:39 puya achidlow refactoring +31 −29
03:57:39 puya achidlow refactoring +136 −131
03:57:39 puya achidlow chore: compile all (after rebase) +0 −5
03:57:39 puya achidlow refactoring +31 −31
03:57:39 puya achidlow refactoring +43 −44
03:57:39 puya achidlow refactoring (plus safe-guard against repeated ValueTuple substitutions) +27 −62
03:57:39 puya achidlow refactoring +6 −6
03:57:39 puya achidlow refactoring +66 −64
03:58:00 puya achidlow chore: compile all +42293 −22851
03:58:01 puya achidlow split up intrinsic_simplification +202 −193
03:58:01 puya achidlow split up intrinsic_simplification (WIP) +9 −6
03:58:01 puya achidlow simplify convert_stack_args_to_immediates +94 −118
03:58:01 puya achidlow refactoring +40 −31
03:58:01 puya achidlow chore: compile all +15 −0
03:58:01 puya achidlow simplify convert_stack_args_to_immediates +48 −86
03:59:04 puya achidlow chore: compile all +118 −4858
06:08:09 algonaut manuelmauro docs(readme): showcase contract! macro in quickstart +29 −25
06:09:40 mobileapp ipaleka Refactoring for API 2.0 Phase C5d: Added per-row price-unit toggle +264 −92
07:26:41 mobileapp ipaleka Refactoring for API 2.0 Phase C5d2: dropped v1 code +92 −482
07:46:31 mobileapp ipaleka Refactoring for API 2.0 Phase C5d3: removed all v1 related modules +0 −2611
07:50:10 mobileapp ipaleka Refactoring for API 2.0 Phase C5d4: removed the rest of deprecated modules +0 −985
08:06:07 mobileapp ipaleka Removed unused imports +0 −15
09:57:37 solidity-land-registry dependabot[bot] npm: bump hardhat from 2.28.6 to 3.5.1 +1 −1
09:58:09 solidity-land-registry dependabot[bot] npm: bump @types/node from 22.19.19 to 25.9.1 +1 −1
10:53:38 algonaut manuelmauro refactor(abi): share ARC-4 JSON model via new algonaut_abi_model crate +600 −172
11:23:59 algonaut manuelmauro chore: merge origin/main into feat/contract-macro +416 −4
11:38:08 algonaut manuelmauro feat(abi): add contract! macro for typed ARC-4 contract clients (#341) +1842 −52
11:54:56 algonaut manuelmauro docs(adr): state ARC-4 is not deprecated, only ARC-32 +19 −6
11:54:56 algonaut manuelmauro docs(adr): propose ARC-56 app spec for the contract! macro +223 −0
11:56:25 mobileapp ipaleka Refactoring for API 2.0 Phase C5d5: Zero-price handling +58 −45
12:07:31 algonaut manuelmauro docs(adr): accept ARC-56 app-spec ADR +8 −2
12:08:10 algonaut manuelmauro feat(abi): parse the full ARC-56 app spec in algonaut_abi_model +721 −9
12:39:18 algonaut manuelmauro feat(abi): generate named structs as contract! method arguments +464 −52
12:46:07 algonaut manuelmauro feat(abi): supply literal default arguments automatically +93 −13
12:51:50 wen-tools LoafPickleWW feat: add SimpleUpdate component to support updating asset metadata and configuration +4 −3
13:02:41 algonaut manuelmauro feat(abi): add read-only simulate path to generated builders +36 −0
13:06:59 algonaut manuelmauro feat(abi): decode ARC-28 events from a contract's logs +137 −0
13:11:08 algonaut manuelmauro feat(abi): generate global-state read accessors +161 −0
13:14:31 algonaut manuelmauro feat(abi): expose declared call actions as lifecycle setters +70 −0
13:16:27 algonaut manuelmauro docs(adr): record implemented ARC-56 phases and the deferred deploy +29 −11
13:25:10 algokit-utils-py mrcointreau ci: pin action SHAs to latest, fix devportal docs and retire alpha channel +22 −42
13:25:35 wen-tools LoafPickleWW feat: add IPFS provider selection component and Filebase integration support +974 −810
13:28:16 algonaut manuelmauro feat(atomic): expose the created app id on ExecuteOutcome +9 −1
13:28:57 algonaut manuelmauro feat(abi): generate a deploy constructor from ARC-56 source +119 −0
13:29:24 algonaut manuelmauro docs(adr): record deploy as implemented (created-app-id API added) +7 −6
13:35:25 algonaut manuelmauro docs(examples): add a full ARC-56 contract! example +140 −0
13:36:10 algonaut manuelmauro docs(adr): link the example and the gaps tracker (#345) +6 −3
14:02:22 algokit-utils-py mrcointreau chore: bump vulnerable dev deps and drop unused sphinx-autobuild to fix pip-audit +1009 −1218
14:03:33 algokit-subscriber-py mrcointreau ci: pin action SHAs to latest, fix devportal docs and retire alpha channel +37 −50
14:39:10 algokit-utils-py mrcointreau ci: pin polytest to 0.7 +5 −1
14:54:42 wen-tools LoafPickleWW feat: add XRPL NFT import utilities and UI for resolving metadata via IPFS gateways +100 −58
15:29:48 wen-tools LoafPickleWW feat: add BulkAssetManager page for managing Algorand asset transactions and state +322 −103
16:04:02 a-day-in-my-bobalife michaeltchuang chore: log greeting (2026-05-25) +2 −0
16:07:40 puya Argimirodelpozo fix: preserve order and discard unreachable blocks in `IRMutator` switch visitor +16 −4
16:07:40 puya Argimirodelpozo test: add test for incorrect match branch being folded +30 −0
16:07:41 puya Argimirodelpozo chore: add changelog +43 −0
16:07:41 puya Argimirodelpozo chore: compile all +2342 −0
16:07:42 puya Argimirodelpozo address review comments (unreachable match blocks now error + change test to expected output) +28 −1337
16:38:44 puya Argimirodelpozo chore: compile all +0 −1038
16:39:19 algorand-python-testing mrcointreau ci: pin action SHAs to latest and fix devportal docs publishing +41 −29
17:38:11 algokit-walletsdk-kmp mithiraj95 Merge remote-tracking branch 'michael/main' into feature/walletsdk-266-ios-ui +84 −19
17:44:39 a-day-in-my-bobalife michaeltchuang chore: v2026.20.0 (release) +13 −0
17:44:41 a-day-in-my-bobalife michaeltchuang Notes added by 'git notes add' +1 −0
19:18:04 wen-tools LoafPickleWW feat: add BulkAssetManager page for managing Algorand asset transactions +6 −1
19:56:43 wen-tools LoafPickleWW feat: implement NFT import tool with multi-chain support for XRPL, Cardano, and Ethereum via Koios integration +1043 −436