ThierryM1212 / SAFEW

Simple And Fast Ergo Wallet
MIT License
29 stars 4 forks source link

SAFEW

Simple And Fast Ergo Wallet

Ergo wallet integrating a dApp connector compatible EIP-12.

SAFEW is compatible with

SAFEW was awarded as project participating in ErgoHack 3: https://ergoplatform.org/en/blog/2022-03-01-ergohack-iii-results/

Releases

Features

Wallet features:

Security

The wallets are stored in the local storage of the SAFEW browser extension.
The mnemonic is encrypted (AES-256) with the spending password, that is not stored in the application.
The password will be required to spend funds or to add or discover new addresses.
You can use ErgoPay wallet to keep your secrets on a mobile device (iOS or Android wallet)
ErgoPay wallets are available to sign remotely the transaction using iOS or Android wallet v1.6+, to avoid to store the encrypted mnemonic in your browser extension local storage.

Privacy

The address discovery can be launched at any time to generate unused addresses in the wallets.
Non connected sites have no access to the information of your wallet.
Connected sites can read the wallet content.
The explorer and node used to interact with Ergo blockchain are configurable.
ErgoPay/ReadOnly wallets allow you to keep the content of your wallet hidden..
ErgoMixer integration ease the usage of privacy tools.

Reliability

The transaction balance displayed when sending funds using SAFEW is computed from the unsigned transaction, not from the UI inputs.

Build the project

git clone https://github.com/ThierryM1212/SAFEW.git
cd SAFEW
npm install
npm run build-prod

Load the unpacked extension as described at: https://developer.chrome.com/docs/extensions/mv3/getstarted/

It requires to disable Yoroi or Nautilus extension to use the dApp connector.

debug

npm run watch
And reload the extension from the build directory
Set the key "debug" = "true" in the local storage to display dApp connector popups buttons

dApp Connector

It tries to follow https://github.com/Emurgo/Emurgo-Research/blob/master/ergo/EIP-0012.md sign_tx_input, sign_data and add_external_box are not implemented yet

Same ergo_request_read_access and ergo_check_read_access than Yoroi method are declared to ensure the compatibility of existing dApp using Yoroi.

Sample screens

Wallet list image Send multi-asset Ergo mixer Transaction builder Sign with ErgoPay Mint NFTs, including image, audio or videos Display NFTs

Release notes

v0.7.2

v0.7.1

v0.6.10

v0.6.9.1

v0.6.9

v0.6.8

v0.6.7

v0.6.6

v0.6.5

v0.6.4

v0.6.3

v0.6.2

v0.6.1

v0.6.0

v0.5.0

v0.4.7

v0.4.6

v0.4.5

v0.4.4

v0.4.3

v0.4.2

v0.4.1

v0.4

v0.3