@@ -118,8 +118,9 @@ network.
118
118
119
119
After all accounts are loaded, if the transaction's size comes at or under its
120
120
loaded accounts data size limit, the program IDs of each instruction, along with
121
- their program owners, are validated. This process is unrelated to the rest of
122
- this SIMD, but is not defined elsewhere, so we define it here.
121
+ their program owners, are validated. This process is not part of determining
122
+ loaded transaction data size, but it is part of account loading (and consensus),
123
+ and it is not explicitly defined elsewhere. So we define it here.
123
124
124
125
The process is as follows; for each instruction's program ID:
125
126
@@ -138,7 +139,12 @@ SIMD-0162 is active, skip this step.
138
139
If any of these conditions are violated, loading is aborted and the transaction
139
140
pays fees.
140
141
141
- Previously, these checks were skipped if the program ID was
142
+ Previously, instead of a hardcoded list of valid loaders, the program owner was
143
+ loaded and verified to be executable and itself owned by
144
+ ` NativeLoader1111111111111111111111111111111 ` . This is undesirable because there
145
+ are many programs which match this criteria but are in fact not program loaders.
146
+
147
+ Previously, all checks were skipped if the program ID was
142
148
` NativeLoader1111111111111111111111111111111 ` itself. This special case has been
143
149
removed, and ` NativeLoader1111111111111111111111111111111 ` behaves like any
144
150
other account.
0 commit comments