
    .j                    r    d dl mZ d dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
mZmZmZ dZdZdd	Zdd
ZddZdS )    )annotationsN)CopyResearchPaths)enabled_vaultsenabled_walletsinit_watchlistload_watchlistsave_watchlistvalidate_watchlistwatchlist_path*0x1111111111111111111111111111111111111111*0x2222222222222222222222222222222222222222returnNonec                    | dz  }t          |          }t          |          }||dz  dz  k    sJ dt          |          vsJ t          j        |                                          dg g dk    sJ d S )N
state_rootstatewatchlist.jsonCrypto_Agent   versionwalletsvaults)r   r   strjsonloads	read_text)tmp_pathruntimetargetcreateds        tests/test_ctb_copy_watchlist.py/test_watchlist_json_is_initialized_outside_repor#      s    %GG$$FV$$Gg'*::::::W----:g''))**!VX.Y.YYYYYYY    c                    t          t          |           j                  }|dg g dk    sJ t          |          dk    sJ t	          |          dk    sJ d S )Nr   r    )r   r   watchlist_filer   r   )r   payloads     r"   8test_missing_watchlist_does_not_crash_and_defaults_emptyr)      sn    .x88GHHG!bAAAAAA7##r))))'""b((((((r$   c                   dt           ddddddddd	ddgt          d
ddddgd}t          |          j        du sJ d t	          |          D             t           gk    sJ d t          |          D             t          gk    sJ ddddgg d}t          |          }|j        d	u sJ d|j        v sJ t          j        t                    5  t          || dz             d d d            d S # 1 swxY w Y   d S )Nr   onmanualT )addresslabelsourceenablednotes*0x3333333333333333333333333333333333333333offFvault)vault_addressr/   r0   r1   r2   r   c                    g | ]	}|j         
S r&   )r.   .0entrys     r"   
<listcomp>zNtest_enabled_false_is_ignored_and_invalid_address_rejected.<locals>.<listcomp>,   s    @@@eEM@@@r$   c                    g | ]	}|j         
S r&   )r6   r8   s     r"   r;   zNtest_enabled_false_is_ignored_and_invalid_address_rejected.<locals>.<listcomp>-   s    EEEEEEEEr$   znot-an-address)r.   r1   zwallets[0].address_invalidr   )DUMMY_WALLETDUMMY_VAULTr
   okr   r   errorspytestraises
ValueErrorr	   )r   r(   invalid
validations       r"   :test_enabled_false_is_ignored_and_invalid_address_rejectedrF   !   s   $txTXceff'%8X]hjkk
 &17hcgrtuuv G g&&)T1111@@w'?'?@@@\NRRRREE^G-D-DEEE+VVVV5ERV)W)W(XdfggG#G,,J=E!!!!':+<<<<<	z	"	" = =w+; ;<<<= = = = = = = = = = = = = = = = = =s   C11C58C5)r   r   )
__future__r   r   rA   src.ctb_copy.runtime_pathsr   src.ctb_copy.watchlistr   r   r   r   r	   r
   r   r=   r>   r#   r)   rF   r&   r$   r"   <module>rJ      s    " " " " " "   8 8 8 8 8 8 W  W  W  W  W  W  W  W  W  W  W  W  W  W  W  W  W  WZ Z Z Z) ) ) )= = = = = =r$   