Coder Social home page Coder Social logo

Comments (1)

rdig avatar rdig commented on September 22, 2024

Common wallet interface fields are not very common

Due to no "real" standard existing here (not that it would make much sense), a truly common interface cannot exist, especially in libraries like purser, which try to unify very different implementations of wallets, with wildly different approaches to doing so.

applicable only to hardware wallets

I'm sorry but I'll have to disagree with you here. It's rather applicable only to software wallets, since most of what you listed below is strictly available only through purser-software, as all other wallets don't expose either the privateKey, mnemonic or keystore props

address

Yes, a setter is only available to the purser-metamask module, the others use the derivation path to get the address, and setting it by hand would not make sense. These do not apply to metamask, hence the need for a setter

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

If by "software" you mean metamask, or metamask-like wallets then yes, they don't, but otherwise, software wallets like ethersjs's one most certainly provides access to all values and ways of accessing said wallet instance: private keys, mnemonics, and the json keystore file

mnemonic

See above

keystore
The instantiation process for software wallet providers is usually not open to public

Why? The purser library is intended to be used by developers to facilitate faster wallet integration within they're dapps. This is not intended to be used, directly, by end-users of said that.

What the developer chooses to allow or disallow as a wallet instantiation method is strictly up to them (Ie: we at Colony disallow both privateKey or keystore wallet instantiation, but that won't prevent purser-software from exposing that to the developer)

Also, please note that most (I think the docs need some updates) interface props in the docs list which ones you can expect in which wallet types: https://github.com/JoinColony/purser/blob/master/docs/_Interface_Common_Wallet_Interface.md#otheraddresses

Note: This prop is only available on Hardware Wallet types (Eg: Trezor).

from purser.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.