Skip to content
This repository has been archived by the owner on Feb 21, 2024. It is now read-only.
This repository has been archived by the owner on Feb 21, 2024. It is now read-only.

Common wallet interface fields are not very common #304

Open
@KiChjang

Description

As we expand the scope on the kinds of wallets that we support on purser, some functionalities that are considered common denominators across all wallets are in fact applicable only to hardware wallets. Here are some of the fields that do not fit nicely to the interface:

  1. address

The getter function for this field is and should be common, but what's not common is the setter. We've actually sort of encountered this problem in the Metamask integration, whereby the address setter is only intended to be used by the StateObserver watching over Metamask state changes and not by users of purser -- in fact, the behaviour of setting the address by users is not known to me personally, and is possibly undefined. Other software wallet providers such as Authereum and Fortmatic do not expect users to have multiple addresses with their account, so it would make little sense for them to have an address setter.

  1. privateKey

To my knowledge, software wallet providers generally own the private keys and would not allow access to the private keys for the wallet.

  1. mnemonic

Same with privateKey, though I'm less certain -- I maybe wrong on this.

  1. keystore

The instantiation process for software wallet providers is usually not open to public. It is therefore weird and unnatural to be able to access internal fields of these software wallets from purser. It's also not clear to me what purpose a user would have to have access to the keystore string.

There may be more fields/methods, but these are the ones that I can list off the top of my head.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions