@@ -193,7 +193,7 @@ class TransactionFieldsGetter(abc.ABC):
193193 def fields (self ) -> dict [str , object ]:
194194 raise NotImplementedError
195195
196- # explicitly define some properties commonly accessed by algopy testing
196+ # explicitly define all fields to have correct type hints
197197 @property
198198 def amount (self ) -> algopy .UInt64 :
199199 return self .fields ["amount" ] # type: ignore[return-value]
@@ -202,10 +202,190 @@ def amount(self) -> algopy.UInt64:
202202 def app_id (self ) -> algopy .Application :
203203 return self .fields ["app_id" ] # type: ignore[return-value]
204204
205+ @property
206+ def asset_amount (self ) -> algopy .UInt64 :
207+ return self .fields ["asset_amount" ] # type: ignore[return-value]
208+
209+ @property
210+ def asset_close_to (self ) -> algopy .Account :
211+ return self .fields ["asset_close_to" ] # type: ignore[return-value]
212+
213+ @property
214+ def asset_name (self ) -> algopy .Bytes :
215+ return self .fields ["asset_name" ] # type: ignore[return-value]
216+
217+ @property
218+ def asset_receiver (self ) -> algopy .Account :
219+ return self .fields ["asset_receiver" ] # type: ignore[return-value]
220+
221+ @property
222+ def asset_sender (self ) -> algopy .Account :
223+ return self .fields ["asset_sender" ] # type: ignore[return-value]
224+
225+ @property
226+ def clawback (self ) -> algopy .Account :
227+ return self .fields ["clawback" ] # type: ignore[return-value]
228+
229+ @property
230+ def close_remainder_to (self ) -> algopy .Account :
231+ return self .fields ["close_remainder_to" ] # type: ignore[return-value]
232+
233+ @property
234+ def config_asset (self ) -> algopy .Asset :
235+ return self .fields ["config_asset" ] # type: ignore[return-value]
236+
237+ @property
238+ def created_app (self ) -> algopy .Application :
239+ return self .fields ["created_app" ] # type: ignore[return-value]
240+
241+ @property
242+ def created_asset (self ) -> algopy .Asset :
243+ return self .fields ["created_asset" ] # type: ignore[return-value]
244+
245+ @property
246+ def decimals (self ) -> algopy .UInt64 :
247+ return self .fields ["decimals" ] # type: ignore[return-value]
248+
249+ @property
250+ def default_frozen (self ) -> bool :
251+ return self .fields ["default_frozen" ] # type: ignore[return-value]
252+
253+ @property
254+ def extra_program_pages (self ) -> algopy .UInt64 :
255+ return self .fields ["extra_program_pages" ] # type: ignore[return-value]
256+
257+ @property
258+ def fee (self ) -> algopy .UInt64 :
259+ return self .fields ["fee" ] # type: ignore[return-value]
260+
261+ @property
262+ def first_valid (self ) -> algopy .UInt64 :
263+ return self .fields ["first_valid" ] # type: ignore[return-value]
264+
265+ @property
266+ def first_valid_time (self ) -> algopy .UInt64 :
267+ return self .fields ["first_valid_time" ] # type: ignore[return-value]
268+
269+ @property
270+ def freeze (self ) -> algopy .Account :
271+ return self .fields ["freeze" ] # type: ignore[return-value]
272+
273+ @property
274+ def freeze_account (self ) -> algopy .Account :
275+ return self .fields ["freeze_account" ] # type: ignore[return-value]
276+
277+ @property
278+ def freeze_asset (self ) -> algopy .Asset :
279+ return self .fields ["freeze_asset" ] # type: ignore[return-value]
280+
281+ @property
282+ def frozen (self ) -> bool :
283+ return self .fields ["frozen" ] # type: ignore[return-value]
284+
285+ @property
286+ def global_num_bytes (self ) -> algopy .UInt64 :
287+ return self .fields ["global_num_bytes" ] # type: ignore[return-value]
288+
289+ @property
290+ def global_num_uint (self ) -> algopy .UInt64 :
291+ return self .fields ["global_num_uint" ] # type: ignore[return-value]
292+
293+ @property
294+ def last_valid (self ) -> algopy .UInt64 :
295+ return self .fields ["last_valid" ] # type: ignore[return-value]
296+
297+ @property
298+ def lease (self ) -> algopy .Bytes :
299+ return self .fields ["lease" ] # type: ignore[return-value]
300+
301+ @property
302+ def local_num_bytes (self ) -> algopy .UInt64 :
303+ return self .fields ["local_num_bytes" ] # type: ignore[return-value]
304+
305+ @property
306+ def local_num_uint (self ) -> algopy .UInt64 :
307+ return self .fields ["local_num_uint" ] # type: ignore[return-value]
308+
309+ @property
310+ def manager (self ) -> algopy .Account :
311+ return self .fields ["manager" ] # type: ignore[return-value]
312+
313+ @property
314+ def metadata_hash (self ) -> algopy .Bytes :
315+ return self .fields ["metadata_hash" ] # type: ignore[return-value]
316+
317+ @property
318+ def non_participation (self ) -> bool :
319+ return self .fields ["non_participation" ] # type: ignore[return-value]
320+
321+ @property
322+ def note (self ) -> algopy .Bytes :
323+ return self .fields ["note" ] # type: ignore[return-value]
324+
325+ @property
326+ def on_completion (self ) -> algopy .OnCompleteAction :
327+ return self .fields ["on_completion" ] # type: ignore[return-value]
328+
329+ @property
330+ def receiver (self ) -> algopy .Account :
331+ return self .fields ["receiver" ] # type: ignore[return-value]
332+
333+ @property
334+ def rekey_to (self ) -> algopy .Account :
335+ return self .fields ["rekey_to" ] # type: ignore[return-value]
336+
337+ @property
338+ def reserve (self ) -> algopy .Account :
339+ return self .fields ["reserve" ] # type: ignore[return-value]
340+
341+ @property
342+ def selection_key (self ) -> algopy .Bytes :
343+ return self .fields ["selection_key" ] # type: ignore[return-value]
344+
205345 @property
206346 def sender (self ) -> algopy .Account :
207347 return self .fields ["sender" ] # type: ignore[return-value]
208348
349+ @property
350+ def state_proof_key (self ) -> algopy .Bytes :
351+ return self .fields ["state_proof_key" ] # type: ignore[return-value]
352+
353+ @property
354+ def total (self ) -> algopy .UInt64 :
355+ return self .fields ["total" ] # type: ignore[return-value]
356+
357+ @property
358+ def type (self ) -> algopy .TransactionType :
359+ return self .fields ["type" ] # type: ignore[return-value]
360+
361+ @property
362+ def unit_name (self ) -> algopy .Bytes :
363+ return self .fields ["unit_name" ] # type: ignore[return-value]
364+
365+ @property
366+ def url (self ) -> algopy .Bytes :
367+ return self .fields ["url" ] # type: ignore[return-value]
368+
369+ @property
370+ def vote_first (self ) -> algopy .UInt64 :
371+ return self .fields ["vote_first" ] # type: ignore[return-value]
372+
373+ @property
374+ def vote_key (self ) -> algopy .Bytes :
375+ return self .fields ["vote_key" ] # type: ignore[return-value]
376+
377+ @property
378+ def vote_key_dilution (self ) -> algopy .UInt64 :
379+ return self .fields ["vote_key_dilution" ] # type: ignore[return-value]
380+
381+ @property
382+ def vote_last (self ) -> algopy .UInt64 :
383+ return self .fields ["vote_last" ] # type: ignore[return-value]
384+
385+ @property
386+ def xfer_asset (self ) -> algopy .Asset :
387+ return self .fields ["xfer_asset" ] # type: ignore[return-value]
388+
209389 @property
210390 def txn_id (self ) -> algopy .Bytes :
211391 return self .fields ["txn_id" ] # type: ignore[return-value]
@@ -262,10 +442,6 @@ def num_app_args(self) -> algopy.UInt64:
262442 def app_args (self ) -> Callable [[algopy .UInt64 | int ], algopy .Bytes ]:
263443 return _create_array_accessor (self ._app_args )
264444
265- @property
266- def type (self ) -> algopy .TransactionType :
267- return self .fields ["type" ] # type: ignore[return-value]
268-
269445 @property
270446 def type_bytes (self ) -> algopy .Bytes :
271447 return Bytes (self .type .txn_name .encode ("utf8" ))
@@ -304,18 +480,6 @@ def clear_state_program_pages(self) -> Callable[[algopy.UInt64 | int], algopy.By
304480 def num_clear_state_program_pages (self ) -> algopy .UInt64 :
305481 return UInt64 (len (self ._clear_state_program_pages ))
306482
307- @property
308- def on_completion (self ) -> algopy .OnCompleteAction :
309- return self .fields ["on_completion" ] # type: ignore[return-value]
310-
311- @property
312- def created_app (self ) -> algopy .Application :
313- return self .fields ["created_app" ] # type: ignore[return-value]
314-
315- @property
316- def created_asset (self ) -> algopy .Asset :
317- return self .fields ["created_asset" ] # type: ignore[return-value]
318-
319483 @property
320484 def _logs (self ) -> Sequence [algopy .Bytes ]:
321485 try :
0 commit comments