Ë
    ]8iû
  ã                  óV   — d Z ddlmZ ddlmZ ddlmZ  G d„ dej                  «      Zy)zHTransaction model capturing deposits, withdrawals, rewards, commissions.é    )Úannotations)ÚDecimal)Úmodelsc                  ó|  — e Zd ZdZdZdZdZdZdZedfedfed	fed
fedfgZ	dZ
dZdZdZdZe
dfedfedfedfedfgZ ej"                  dej$                  d¬«      Z ej(                  de	¬«      Z ej,                  dd¬«      Z ej(                  de¬«      Z ej,                  dd¬«      Z ej,                  dd¬«      Z ej(                  ddddd¬ «      Z ej(                  d!ddd¬"«      Z ej:                  ed¬#«      Z ej@                  d¬$«      Z! ej@                  d¬%«      Z" G d&„ d'«      Z#d,d(„Z$d,d)„Z%d-d*„Z&y+).ÚTransactionz:Records all wallet-impacting events with indexed metadata.ÚdepositÚ
withdrawalÚ
investmentÚrewardÚ
commissionÚDepositÚ
WithdrawalÚ
InvestmentÚRewardÚ
CommissionÚpendingÚ
processingÚ	completedÚ	cancelledÚ	forfeitedÚPendingÚ
ProcessingÚ	CompletedÚ	CancelledÚ	Forfeitedz
users.UserÚtransactions)Ú	on_deleteÚrelated_nameé   )Ú
max_lengthÚchoicesé   )Ú
max_digitsÚdecimal_placesé2   Tz6Blockchain for deposits/withdrawals (e.g., tron, bnb).)r    ÚnullÚblankÚdb_indexÚ	help_textéÿ   )r    r&   r'   r(   )Údefaultr'   )Úauto_now_add)Úauto_nowc                  óŒ   — e Zd ZdZ ej
                  ddg¬«       ej
                  ddg¬«       ej
                  ddg¬«      gZy)	úTransaction.Metar   ÚuserÚtransaction_type)ÚfieldsÚstatusÚ
created_atÚ
blockchainN)Ú__name__Ú
__module__Ú__qualname__Údb_tabler   ÚIndexÚindexes© ó    úI/home/cursorai/projects/telegram-earn/backend/apps/transactions/models.pyÚMetar/   D   sI   „ Ø!ˆàˆF�L‰L Ð);Ð <Ô=ØˆF�L‰L ¨<Ð 8Ô9ØˆF�L‰LÐ!3°\Ð BÔCð
‰r=   r?   c                óf   — | j                   › d| j                  j                  › d| j                  › �S )Nz - z - $)r1   r0   Ú
first_nameÚamount©Úselfs    r>   Ú__str__zTransaction.__str__L   s/   € Ø×'Ñ'Ð(¨¨D¯I©I×,@Ñ,@Ð+AÀÀdÇkÁkÀ]ÐSÐSr=   c                óV   — | j                   r| j                   j                  dd«      S dS )z-Return explorer link stored in JSON metadata.Úexplorer_linkÚ )ÚdataÚgetrC   s    r>   Úget_explorer_linkzTransaction.get_explorer_linkO   s"   € à59·Y²Yˆt�y‰y�}‰}˜_¨bÓ1ÐFÀBÐFr=   c                óH   — | j                   si | _         || j                   d<   y)z#Set explorer link in JSON metadata.rG   N)rI   )rD   Úlinks     r>   Úset_explorer_linkzTransaction.set_explorer_linkS   s   € à�yŠyØˆDŒIØ%)ˆ�	‰	�/Ò"r=   N)ÚreturnÚstr)rM   rP   rO   ÚNone)'r6   r7   r8   Ú__doc__ÚTYPE_DEPOSITÚTYPE_WITHDRAWALÚTYPE_INVESTMENTÚTYPE_REWARDÚTYPE_COMMISSIONÚTYPE_CHOICESÚSTATUS_PENDINGÚSTATUS_PROCESSINGÚSTATUS_COMPLETEDÚSTATUS_CANCELLEDÚSTATUS_FORFEITEDÚSTATUS_CHOICESr   Ú
ForeignKeyÚCASCADEr0   Ú	CharFieldr1   ÚDecimalFieldrB   r3   Úbalance_beforeÚbalance_afterr5   Útransaction_hashÚ	JSONFieldÚdictrI   ÚDateTimeFieldr4   Ú
updated_atr?   rE   rK   rN   r<   r=   r>   r   r   
   sº  „ ÙDà€LØ"€OØ"€OØ€KØ"€Oà	�yÐ!Ø	˜,Ð'Ø	˜,Ð'Ø	�hÐØ	˜,Ð'ð€Lð €NØ$ÐØ"ÐØ"ÐØ"Ðà	˜Ð#Ø	˜LÐ)Ø	˜;Ð'Ø	˜;Ð'Ø	˜;Ð'ð€Nð ˆ6×ÑØØ—.‘.Ø#ô€Dð
 (�v×'Ñ'°2¸|ÔLÐØ ˆV× Ñ ¨B¸qÔA€FØˆV×Ñ¨°^ÔD€FØ(�V×(Ñ(°BÀqÔI€NØ'�F×'Ñ'°2ÀaÔH€Mà!�×!Ñ!ØØØØØJô€Jð (�v×'Ñ'ØØØØô	Ðð ˆ6×Ñ D°Ô5€Dà%�×%Ñ%°4Ô8€JØ%�×%Ñ%¨tÔ4€J÷
ñ 
óTóGô*r=   r   N)	rR   Ú
__future__r   Údecimalr   Ú	django.dbr   ÚModelr   r<   r=   r>   Ú<module>rn      s#   ðÙ Nå "å å ôM*�&—,‘,õ M*r=   