def __init__(<EOL>self,<EOL>seed: str,<EOL>name: str,<EOL>wallet_type: str = None,<EOL>cfg: dict = None,<EOL>access_creds: dict = None) -> None:
LOGGER.debug(<EOL>'<STR_LIT>',<EOL>name,<EOL>wallet_type,<EOL>cfg,<EOL>access_creds)<EOL>self._seed = seed<EOL>self._handle = None<EOL>self._cfg = cfg or {}<EOL>if not isinstance(self.cfg.get('<STR_LIT>', False), bool):<EOL><INDENT>LOGGER.debug('<STR_LIT>')<EOL>raise JSONValidation('<STR_LIT>')<EOL><DEDENT>self._cfg['<STR_LIT:id>'] = name<EOL>self._cfg['<STR_LIT>'] = wallet_type or '<STR_LIT:default>'<EOL>self._auto_remove = self._cfg.pop('<STR_LIT>') if self._cfg and '<STR_LIT>' in self._cfg else False<EOL>if '<STR_LIT>' not in self._cfg:<EOL><INDENT>self._cfg['<STR_LIT>'] = <NUM_LIT:0><EOL><DEDENT>self._access_creds = access_creds or Wallet.DEFAULT_ACCESS_CREDS<EOL>self._did = None<EOL>self._verkey = None<EOL>self._created = False<EOL>LOGGER.debug('<STR_LIT>')<EOL>
Initializer for wallet. Store input parameters, packing name and wallet_type into cfg (the
signature retains them independently as a convenience and to retain compatibility with prior releases).
Do not create wallet until call to create(). Do not open until call to open() or __aenter__().

:param seed: seed for wallet user
:param name: name of the wallet
:param wallet_type: wallet type str, None for default
:param cfg: configuration dict, None for default; i.e.,
    ::
    {
        'auto-remove': bool (default False) - whether to remove serialized indy configuration data on close,
        ... (more keys) : ... (more types) - any other configuration data to pass through to indy-sdk
    }
:param access_creds: wallet access credentials dict, None for default