Ë
    Œ|Si  ã                  ó’   — d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
mZ ddlmZ  ed¬«       G d	„ d
«      «       Z G d„ de«      Zy)z:Wallet-specific hook context for django-hooks integration.é    )Úannotations)Ú	dataclassÚfield)ÚDecimal)ÚAnyÚDictÚOptional)ÚHookRegistryT)Úfrozenc                  óº   — e Zd ZU dZded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   dZd
ed<   dZded<    ee¬«      Z	ded<    ee¬«      Z
ded<   dZded<   y)ÚHookContextzÏ
    Immutable context passed to hooks containing transaction details.

    All transaction parameters are frozen to prevent hooks from modifying them.
    Use metadata dict to share data between hooks.
    ÚstrÚ	operationÚintÚuser_idÚ
point_typer   ÚamountÚremarkszOptional[int]Ú
trans_typeÚiidNÚ
to_user_idzOptional[str]Úto_point_type)Údefault_factoryzDict[str, Any]ÚparamsÚmetadatazOptional[Decimal]Úcurrent_balance)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r   Údictr   r   r   © ó    úL/home/cursorai/projects/django-wallet-utils/src/django_wallet_utils/hooks.pyr   r      sv   … ñð ƒNð ƒLØƒOð ƒOØƒLØÓØ	ƒHð !%€J�Ó$Ø#'€M�=Ó'ñ #°4Ô8€FˆNÓ8ñ  %°TÔ:€HˆnÓ:ð *.€OÐ&Ô-r$   r   c                  ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚWalletHookRegistryz“
    Wallet-specific hook registry that extends the base registry.
    
    Adds wallet operations: 'add', 'deduct', 'transfer', and '*' (all)
    c                ó*   •— t         ‰| �  g d¢¬«       y )N)ÚaddÚdeductÚtransferÚ*)Ú
operations)ÚsuperÚ__init__)ÚselfÚ	__class__s    €r%   r/   zWalletHookRegistry.__init__8   s   ø€ Ü‰ÑÒ$FÐÕGr$   )r   r   r   r    r/   Ú__classcell__)r1   s   @r%   r'   r'   1   s   ø„ ñ÷Hð Hr$   r'   N)r    Ú
__future__r   Údataclassesr   r   Údecimalr   Útypingr   r   r	   Údjango_package_hooksr
   ÚBaseHookRegistryr   r'   r#   r$   r%   Ú<module>r9      sK   ðÙ @å "ç (Ý ß &Ñ &õ Bñ �$Ô÷ .ð  .ó ð .ôFHÐ)õ Hr$   