Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ef0ff2f75e |
+231
-168
@@ -5,11 +5,12 @@ Firefox. This guide explains how to install it and how to use it.
|
|||||||
|
|
||||||
## What it does
|
## What it does
|
||||||
|
|
||||||
- It keeps your wallets. A wallet comes from a recovery phrase, a private key or
|
- It keeps your wallets. A wallet comes from a recovery phrase (12 or 24 words),
|
||||||
an extended private key.
|
from a private key, or from an extended private key. An extended private key
|
||||||
|
is a single key that many addresses are computed from.
|
||||||
- It shows the ETH and ERC-20 token balances of your addresses. ETH is the
|
- It shows the ETH and ERC-20 token balances of your addresses. ETH is the
|
||||||
currency of Ethereum. An ERC-20 token is a token issued by a contract on
|
currency of Ethereum. A contract is a program that runs on Ethereum. An ERC-20
|
||||||
Ethereum.
|
token is a token issued by a contract under the ERC-20 standard.
|
||||||
- It sends and receives ETH and ERC-20 tokens.
|
- It sends and receives ETH and ERC-20 tokens.
|
||||||
- It connects to web3 sites and signs what you approve. A web3 site is a website
|
- It connects to web3 sites and signs what you approve. A web3 site is a website
|
||||||
that asks a wallet to sign for it.
|
that asks a wallet to sign for it.
|
||||||
@@ -18,52 +19,58 @@ It does nothing else. It has:
|
|||||||
|
|
||||||
- no swap screen;
|
- no swap screen;
|
||||||
- no portfolio view;
|
- no portfolio view;
|
||||||
- no NFT gallery;
|
- no NFT gallery (an NFT is a non-fungible token, such as a collectible);
|
||||||
- no advertising;
|
- no advertising;
|
||||||
- no tracking.
|
- no tracking.
|
||||||
|
|
||||||
## What it sends, and to whom
|
## What it sends, and to whom
|
||||||
|
|
||||||
The wallet runs in your browser. The developer runs no server.
|
The wallet runs in your browser. The developer runs no server. Each service
|
||||||
|
named below sees your IP address, as any website you visit does.
|
||||||
|
|
||||||
By default the wallet talks to one service: the Ethereum RPC endpoint. The RPC
|
By default the wallet talks to one service: the Ethereum RPC endpoint. The RPC
|
||||||
endpoint is the server that the wallet asks about the blockchain and sends your
|
endpoint is the server that the wallet asks about the blockchain and sends your
|
||||||
transactions through. A new install uses a public one,
|
transactions through. Usually it is a node, a computer running the Ethereum
|
||||||
|
software. A new install uses a public one,
|
||||||
`https://ethereum-rpc.publicnode.com`. You can change it in Settings.
|
`https://ethereum-rpc.publicnode.com`. You can change it in Settings.
|
||||||
|
|
||||||
The RPC endpoint sees every address that the wallet asks about and every
|
The RPC endpoint sees every address that the wallet asks about and every
|
||||||
transaction that the wallet sends. If you want privacy, point the Ethereum RPC
|
transaction that the wallet sends. While the wallet is open, it asks for your
|
||||||
setting at a node of your own.
|
balances every 10 seconds. While it is closed, it asks every 60 seconds. If you
|
||||||
|
want privacy, point the Ethereum RPC setting at a node of your own.
|
||||||
|
|
||||||
On Ethereum Mainnet the wallet reads USD prices through the RPC endpoint, from
|
On Ethereum Mainnet, the main Ethereum network, the wallet reads USD prices
|
||||||
Chainlink price feed contracts. No price service is contacted.
|
through the RPC endpoint, from Chainlink price feed contracts. No price service
|
||||||
|
is contacted. A token with no Chainlink price feed shows no USD value.
|
||||||
|
|
||||||
Two more services get your data only after you turn on a setting. Both are off
|
Two more services get your data only after you turn on a setting. Both settings
|
||||||
in a new install. The first screen and Settings both offer them.
|
are off in a new install. The first screen and Settings both offer the two
|
||||||
|
settings.
|
||||||
|
|
||||||
- "Use Blockscout". Blockscout is an open-source block explorer, a service that
|
- "Use Blockscout". Blockscout is an open-source block explorer, a service that
|
||||||
indexes the blockchain. With the setting on, the wallet sends your addresses,
|
indexes the blockchain and answers questions about it. With the setting on,
|
||||||
and the hash of each transaction you open, to the Blockscout server set in
|
the wallet sends Blockscout your addresses on each refresh, and the hash of
|
||||||
Settings. In return the wallet shows your transaction history, transaction
|
each transaction you open. A hash is the id of a transaction. In return the
|
||||||
details and the tokens you have not tracked. You can point the setting at a
|
wallet shows your transaction history, transaction details and the tokens you
|
||||||
Blockscout server of your own.
|
have not added yourself. You can point the setting at a Blockscout server of
|
||||||
|
your own.
|
||||||
- "Check recipients on Etherscan". Etherscan is a block explorer website. With
|
- "Check recipients on Etherscan". Etherscan is a block explorer website. With
|
||||||
the setting on, the wallet fetches the recipient's Etherscan page each time
|
the setting on, the wallet fetches the recipient's Etherscan page each time
|
||||||
you review a send. It warns when Etherscan labels the address as phishing,
|
you review a send. The wallet warns when Etherscan labels the address as
|
||||||
scam or exploiter. Only the recipient's address is sent. The Etherscan server
|
phishing, scam or exploiter. Only the recipient's address is sent. The
|
||||||
cannot be changed.
|
Etherscan server cannot be changed.
|
||||||
|
|
||||||
The wallet checks each site that asks to connect, to send or to sign against a
|
Each time a site's request opens an approval screen, the wallet checks the site
|
||||||
phishing list built into the extension. That check sends nothing anywhere.
|
against a phishing list built into the extension. That check sends nothing
|
||||||
|
anywhere.
|
||||||
|
|
||||||
These stay in your browser and never leave it:
|
These stay in your browser and never leave it:
|
||||||
|
|
||||||
- your recovery phrases, private keys and extended private keys, encrypted with
|
- your recovery phrases, private keys and extended private keys, encrypted with
|
||||||
your password;
|
your password;
|
||||||
- which wallets, addresses and tokens you have;
|
- your wallet names and your settings;
|
||||||
- which sites you have allowed or denied;
|
- which sites you have allowed or denied;
|
||||||
- the spam filter settings and the list of fraud contracts that the wallet has
|
- the list of fraud contracts that the wallet has seen.
|
||||||
seen.
|
|
||||||
|
|
||||||
The Etherscan links on the screens are ordinary links. They contact nothing
|
The Etherscan links on the screens are ordinary links. They contact nothing
|
||||||
until you click them.
|
until you click them.
|
||||||
@@ -104,19 +111,27 @@ libsodium library.
|
|||||||
|
|
||||||
The password is not part of your recovery phrase. Anyone with the phrase can
|
The password is not part of your recovery phrase. Anyone with the phrase can
|
||||||
restore the wallet on any device without the password. The password protects
|
restore the wallet on any device without the password. The password protects
|
||||||
only the copy stored in this browser. If you lose the phrase, the password
|
only the copy stored in this browser.
|
||||||
cannot bring it back.
|
|
||||||
|
While a phrase wallet is in this browser, `[recovery phrase]` in Settings shows
|
||||||
|
its phrase after your password. Once this browser's copy is gone too, the wallet
|
||||||
|
is lost.
|
||||||
|
|
||||||
The wallet asks for the password when you:
|
The wallet asks for the password when you:
|
||||||
|
|
||||||
- send a transaction;
|
- send a transaction;
|
||||||
- sign a transaction, message or typed data for a site;
|
- sign a transaction, message or typed data for a site (typed data is structured
|
||||||
|
data laid out as named fields);
|
||||||
- show a recovery phrase;
|
- show a recovery phrase;
|
||||||
- export a private key;
|
- export a private key;
|
||||||
- delete a wallet with "Confirm Delete".
|
- delete a wallet with "Confirm Delete".
|
||||||
|
|
||||||
It never asks for the password to show balances, to receive funds, to read the
|
It never asks for the password to:
|
||||||
transaction history or to remove an address.
|
|
||||||
|
- show balances;
|
||||||
|
- receive funds;
|
||||||
|
- read the transaction history;
|
||||||
|
- remove an address.
|
||||||
|
|
||||||
The password cannot be recovered or reset. If you forget it, you can still
|
The password cannot be recovered or reset. If you forget it, you can still
|
||||||
delete the wallet with "I have lost my password". Then add the wallet again from
|
delete the wallet with "I have lost my password". Then add the wallet again from
|
||||||
@@ -133,8 +148,7 @@ your backup, with a new password. See Deleting a wallet below.
|
|||||||
4. On the "From Phrase" tab, click the die button. It writes a new 12-word
|
4. On the "From Phrase" tab, click the die button. It writes a new 12-word
|
||||||
recovery phrase into the box.
|
recovery phrase into the box.
|
||||||
5. Write the words down and keep them safe. Anyone with them can take your
|
5. Write the words down and keep them safe. Anyone with them can take your
|
||||||
funds. If you lose them, the wallet is gone, and AutistMask cannot recover
|
funds. Without them, this browser's copy is the only copy of your wallet.
|
||||||
them.
|
|
||||||
6. Choose a password and type it twice. It needs at least 12 characters, unless
|
6. Choose a password and type it twice. It needs at least 12 characters, unless
|
||||||
"Allow weak passwords" is on in Settings.
|
"Allow weak passwords" is on in Settings.
|
||||||
7. Click "Import".
|
7. Click "Import".
|
||||||
@@ -146,20 +160,23 @@ additional wallet..." link at the bottom of the home screen.
|
|||||||
|
|
||||||
The Add Wallet screen has three tabs:
|
The Add Wallet screen has three tabs:
|
||||||
|
|
||||||
- "From Phrase": paste a 12 or 24 word recovery phrase. AutistMask derives
|
- "From Phrase": paste a 12 or 24 word recovery phrase. AutistMask computes
|
||||||
addresses on the path `m/44'/60'/0'/0`, the one most wallets use, so the same
|
addresses from the phrase by the rule `m/44'/60'/0'/0`, called the derivation
|
||||||
phrase gives the same addresses here and elsewhere.
|
path. Most wallets use the same rule, so the same phrase gives the same
|
||||||
|
addresses here and elsewhere.
|
||||||
- "From Key": paste one private key. The wallet gets one address.
|
- "From Key": paste one private key. The wallet gets one address.
|
||||||
- "From xprv": paste an extended private key, a key from which a whole series of
|
- "From xprv": paste an extended private key. It must be the master key, the
|
||||||
addresses is derived. It must be the master key, the root of that series. The
|
root of the key tree, not a key computed from the root. The wallet behaves
|
||||||
wallet behaves like a phrase wallet but has no phrase to show.
|
like a phrase wallet but has no phrase to show.
|
||||||
|
|
||||||
All three tabs ask for the same password fields. "Import" finishes the job.
|
All three tabs ask for the same password fields. "Import" finishes the job.
|
||||||
|
|
||||||
After a phrase or xprv import the wallet looks for addresses that have been
|
After a phrase or xprv import the wallet looks for addresses that have been
|
||||||
used. It checks addresses through the RPC endpoint, five at a time, and stops
|
used. The scan counts an address as used when it holds ETH or has sent a
|
||||||
after five unused ones in a row. When it finds more than one used address, those
|
transaction. An address that only received tokens is not found. The scan checks
|
||||||
addresses replace the list, and a message says how many were found.
|
addresses through the RPC endpoint, five at a time, and stops after five unused
|
||||||
|
ones in a row. When it finds more than one used address, those addresses replace
|
||||||
|
the wallet's address list, and a message says how many were found.
|
||||||
|
|
||||||
The wallet refuses:
|
The wallet refuses:
|
||||||
|
|
||||||
@@ -170,28 +187,29 @@ The wallet refuses:
|
|||||||
### Adding addresses
|
### Adding addresses
|
||||||
|
|
||||||
A wallet made from a phrase or an extended private key can hold many addresses.
|
A wallet made from a phrase or an extended private key can hold many addresses.
|
||||||
On the home screen, click the "+" button next to the wallet's name. The next
|
On the home screen, click the "+" button next to the wallet's name. The wallet
|
||||||
address is derived at once. The same phrase always gives the same sequence of
|
computes the next address at once. The same phrase always gives the same
|
||||||
addresses. Each address is labelled "Address N".
|
sequence of addresses. Each address is labelled "Address N".
|
||||||
|
|
||||||
### The active address
|
### The active address
|
||||||
|
|
||||||
One address is the active address. The home screen shows it at the top, with its
|
One address is the active address. The home screen shows it at the top, with its
|
||||||
ETH balance and its USD value. "Send" and "Receive" on the home screen act on
|
ETH balance and its USD value. "Send" and "Receive" on the home screen act on
|
||||||
it. Connected sites see the active address and no other. Tap any address row on
|
the active address. Connected sites see the active address and no other. Tap any
|
||||||
the home screen to make that address active.
|
address row on the home screen to make that address active.
|
||||||
|
|
||||||
### Removing an address
|
### Removing an address
|
||||||
|
|
||||||
Each address of a phrase or xprv wallet with more than one address has an `[x]`
|
Each address of a phrase or xprv wallet with more than one address has an `[x]`
|
||||||
button on the home screen. The confirmation screen explains what removing does.
|
button on the home screen. The confirmation screen explains what removing does.
|
||||||
Nothing is destroyed: the address stays yours, and any funds at it stay where
|
Nothing is destroyed: the address stays yours, and any funds at it stay where
|
||||||
they are. The wallet only stops listing it.
|
they are. The wallet stops listing the address and forgets the sites allowed or
|
||||||
|
denied for it.
|
||||||
|
|
||||||
Getting the address back is not easy. "+" derives the next unused address, not
|
Getting the address back is not easy. "+" computes an address that this wallet
|
||||||
the removed one. The way back is to delete the whole wallet and import its
|
has never listed, so never the removed one. The way back is to delete the whole
|
||||||
backup again. The scan after the import finds the address only if it has been
|
wallet and import its backup again. The scan after the import finds the address
|
||||||
used.
|
only if it holds ETH or has sent a transaction.
|
||||||
|
|
||||||
### Deleting a wallet
|
### Deleting a wallet
|
||||||
|
|
||||||
@@ -209,9 +227,11 @@ the wallet loses everything it holds, forever.
|
|||||||
|
|
||||||
### Which tokens are shown
|
### Which tokens are shown
|
||||||
|
|
||||||
A tracked token is one you added by contract address. Tracked tokens are shown
|
A tracked token is one you added yourself, by its contract address. A tracked
|
||||||
on every address, whether or not "Use Blockscout" is on. By default a tracked
|
token is listed on every address while "Show tracked tokens with zero balance"
|
||||||
token is shown even at zero balance; the Display setting changes that.
|
is on, which it is in a new install. With that setting off, a tracked token is
|
||||||
|
listed only on the addresses that hold it. Tracked tokens are shown whether or
|
||||||
|
not "Use Blockscout" is on.
|
||||||
|
|
||||||
Other tokens appear only while "Use Blockscout" is on. Blockscout reports every
|
Other tokens appear only while "Use Blockscout" is on. Blockscout reports every
|
||||||
token that an address holds. The wallet lists such a token only when it is on
|
token that an address holds. The wallet lists such a token only when it is on
|
||||||
@@ -219,8 +239,10 @@ the bundled list of well-known tokens or has at least 1,000 holders. Everything
|
|||||||
else is treated as spam and hidden. Turning "Use Blockscout" off removes every
|
else is treated as spam and hidden. Turning "Use Blockscout" off removes every
|
||||||
untracked token from the lists at once.
|
untracked token from the lists at once.
|
||||||
|
|
||||||
A fake token that claims a well-known symbol from the wrong contract is hidden
|
The balance list and the send screen hide a token that uses a well-known symbol
|
||||||
everywhere, `ETH` included. See Scam protection.
|
from another contract, `ETH` included. A token you track yourself is still
|
||||||
|
listed at zero while "Show tracked tokens with zero balance" is on. See Scam
|
||||||
|
protection.
|
||||||
|
|
||||||
### Tracking a token
|
### Tracking a token
|
||||||
|
|
||||||
@@ -252,7 +274,7 @@ On an address's screen, click any balance row. The token screen shows:
|
|||||||
|
|
||||||
- the token's balance;
|
- the token's balance;
|
||||||
- its contract address;
|
- its contract address;
|
||||||
- its name, symbol and decimals;
|
- its name, symbol and decimals (the number of decimal places its amounts have);
|
||||||
- its holder count, when known;
|
- its holder count, when known;
|
||||||
- its website, when known;
|
- its website, when known;
|
||||||
- the token's own transaction history.
|
- the token's own transaction history.
|
||||||
@@ -276,8 +298,9 @@ An amount must be a number above zero, written as digits with at most one
|
|||||||
decimal point. ETH has 18 decimal places. A token has as many as it declares, up
|
decimal point. ETH has 18 decimal places. A token has as many as it declares, up
|
||||||
to 18. Digits beyond them must be zeros.
|
to 18. Digits beyond them must be zeros.
|
||||||
|
|
||||||
A name that has no on-chain address is refused. So is a name whose owner keeps
|
An ENS name is refused when it has no address recorded on Ethereum. A name whose
|
||||||
its address off-chain. Enter the address instead.
|
owner serves its address from a web server instead is refused too. Enter the
|
||||||
|
address instead.
|
||||||
|
|
||||||
### The confirmation screen
|
### The confirmation screen
|
||||||
|
|
||||||
@@ -289,8 +312,9 @@ The screen shows:
|
|||||||
picture made from the address) and an Etherscan link;
|
picture made from the address) and an Etherscan link;
|
||||||
- the amount, with its USD value;
|
- the amount, with its USD value;
|
||||||
- your balance on this network;
|
- your balance on this network;
|
||||||
- the network fee: what the transfer is expected to cost, and under it the
|
- the network fee, the price the network charges to process the transaction. The
|
||||||
larger amount reserved until the transaction confirms. The network refunds the
|
screen shows what the transfer is expected to cost, and under it the larger
|
||||||
|
amount reserved until the transaction confirms. The network refunds the
|
||||||
difference.
|
difference.
|
||||||
|
|
||||||
It warns when the recipient is:
|
It warns when the recipient is:
|
||||||
@@ -298,11 +322,12 @@ It warns when the recipient is:
|
|||||||
- on the wallet's list of known scam addresses;
|
- on the wallet's list of known scam addresses;
|
||||||
- a burn address, one nobody controls, where funds are destroyed;
|
- a burn address, one nobody controls, where funds are destroyed;
|
||||||
- the address you are sending from;
|
- the address you are sending from;
|
||||||
- a contract, a program on Ethereum rather than a person's address;
|
- a contract rather than a person's address;
|
||||||
- an address that has never sent a transaction and holds no ETH;
|
- an address that has never sent a transaction and holds no ETH;
|
||||||
- labelled as phishing, scam or exploiter on Etherscan, while "Check recipients
|
- labelled as phishing, scam or exploiter on Etherscan, while "Check recipients
|
||||||
on Etherscan" is on. While that setting is off, a line says the address was
|
on Etherscan" is on. A lookup that fails shows no warning, so no warning does
|
||||||
not checked.
|
not prove the address was checked. While the setting is off, a line says the
|
||||||
|
address was not checked.
|
||||||
|
|
||||||
It refuses to send, and says why, when:
|
It refuses to send, and says why, when:
|
||||||
|
|
||||||
@@ -319,20 +344,23 @@ and broadcasts it to the network. Before signing, it refuses when:
|
|||||||
- the network was switched since you reviewed the send;
|
- the network was switched since you reviewed the send;
|
||||||
- the wallet shown no longer holds the From address;
|
- the wallet shown no longer holds the From address;
|
||||||
- the fee or gas limit that the network quotes is above the wallet's limits,
|
- the fee or gas limit that the network quotes is above the wallet's limits,
|
||||||
which allow a total fee of at most 1 ETH;
|
which allow a total fee of at most 1 ETH. Gas is the unit Ethereum measures
|
||||||
|
work in, and the gas limit is the most gas the transaction may use;
|
||||||
- the token contract now reports a different number of decimals than the amount
|
- the token contract now reports a different number of decimals than the amount
|
||||||
was shown with.
|
was shown with.
|
||||||
|
|
||||||
### After sending
|
### After sending
|
||||||
|
|
||||||
A waiting screen shows the transaction hash and a counter. The wallet asks the
|
A waiting screen shows the transaction hash and a counter. The wallet asks the
|
||||||
network for the receipt every 10 seconds, and the wait resumes if you close and
|
network every 10 seconds for the receipt, the network's record that the
|
||||||
reopen the popup. Then:
|
transaction was included in a block. The wait resumes if you close and reopen
|
||||||
|
the wallet. Then:
|
||||||
|
|
||||||
- a receipt opens the success screen, with the block number, the hash and
|
- a receipt opens the success screen, with the block number, the hash and
|
||||||
Etherscan links;
|
Etherscan links;
|
||||||
- no receipt after 60 seconds opens the error screen with a timeout message. The
|
- no receipt after 60 seconds opens the error screen with a timeout message. A
|
||||||
transaction may still confirm later; check the hash on Etherscan;
|
timeout does not mean the transaction failed. It may still confirm; check the
|
||||||
|
hash on Etherscan;
|
||||||
- six failed lookups in a row open the error screen with a message saying the
|
- six failed lookups in a row open the error screen with a message saying the
|
||||||
network could not be reached. Check the Ethereum RPC setting.
|
network could not be reached. Check the Ethereum RPC setting.
|
||||||
|
|
||||||
@@ -350,25 +378,29 @@ What to send cannot be changed there.
|
|||||||
Give the address only to senders on the network you are using. AutistMask works
|
Give the address only to senders on the network you are using. AutistMask works
|
||||||
on Ethereum Mainnet and the Sepolia test network. Tokens sent to your address on
|
on Ethereum Mainnet and the Sepolia test network. Tokens sent to your address on
|
||||||
another network do not appear in AutistMask, and it cannot move them. Opened
|
another network do not appear in AutistMask, and it cannot move them. Opened
|
||||||
from a token's screen, the Receive screen says this for that token.
|
from a token's screen, the Receive screen warns that this token sent on another
|
||||||
|
network is lost.
|
||||||
|
|
||||||
## Transaction history
|
## Transaction history
|
||||||
|
|
||||||
Transaction history comes from Blockscout, so it needs "Use Blockscout". While
|
Transaction history comes from Blockscout, so it needs "Use Blockscout". While
|
||||||
the setting is off, each history list shows one line saying so.
|
the setting is off, each history list shows one line saying so.
|
||||||
|
|
||||||
- The home screen lists the 25 most recent transactions across all your
|
- The home screen lists up to 25 of the most recent transactions across all your
|
||||||
addresses.
|
addresses.
|
||||||
- An address's screen lists that address's transactions.
|
- An address's screen lists up to 25 of its most recent transactions.
|
||||||
- A token's screen lists that token's transfers for the address.
|
- A token's screen lists the token's transfers among those 25.
|
||||||
|
|
||||||
Each row shows:
|
Each row shows:
|
||||||
|
|
||||||
- the age and the direction;
|
- the age and the direction, "Sent" or "Received". A row for a call to a
|
||||||
|
contract shows the name of the call instead, such as "Approve", and a symbol
|
||||||
|
without an amount;
|
||||||
- the amount;
|
- the amount;
|
||||||
- the other party's address, in full.
|
- the other party's address, in full. A swap row shows your own address here.
|
||||||
|
|
||||||
The scam filters below hide fake and dust transactions from these lists.
|
The scam filters below hide fake transfers and dust from these lists. Dust is a
|
||||||
|
tiny amount of ETH.
|
||||||
|
|
||||||
Tap a row to open the transaction. The transaction screen shows:
|
Tap a row to open the transaction. The transaction screen shows:
|
||||||
|
|
||||||
@@ -380,33 +412,43 @@ Tap a row to open the transaction. The transaction screen shows:
|
|||||||
- the time, as a date and time and as an age;
|
- the time, as a date and time and as an age;
|
||||||
- the exact amount, and under it the amount in the token's smallest unit;
|
- the exact amount, and under it the amount in the token's smallest unit;
|
||||||
- the token's contract address, for a token transfer;
|
- the token's contract address, for a token transfer;
|
||||||
- the block number;
|
- these details from Blockscout:
|
||||||
- the nonce, the transaction's sequence number for your address;
|
- the block number;
|
||||||
- the gas price, the gas used and the fee;
|
- the nonce, the sender's sequence number for this transaction;
|
||||||
- what the transaction did, when the wallet can read it;
|
- the gas price, the gas used and the fee;
|
||||||
- the raw data.
|
- what the transaction did, when the wallet can read it;
|
||||||
|
- the raw data, the bytes the transaction carried.
|
||||||
|
|
||||||
Tapping a value copies it. Each address, hash and block has an Etherscan link.
|
Tapping the hash, an address, the amount or a detail copies it. Each address,
|
||||||
The block, nonce, gas, fee and raw data come from Blockscout.
|
hash and block has an Etherscan link.
|
||||||
|
|
||||||
## Connecting to web3 sites
|
## Connecting to web3 sites
|
||||||
|
|
||||||
AutistMask gives every page a standard wallet connection (`window.ethereum`). A
|
AutistMask offers every page a standard wallet connection. It takes
|
||||||
site that wants your wallet opens a connection request.
|
`window.ethereum`, the name sites look for, when no other wallet has taken it.
|
||||||
|
Sites that list wallets can pick AutistMask by name. A site that wants your
|
||||||
|
wallet opens a connection request.
|
||||||
|
|
||||||
### Connection requests
|
### Connection requests
|
||||||
|
|
||||||
The request shows the site's origin, that is its scheme, host and port, for
|
The request shows the site's origin: its address up to the first slash, for
|
||||||
example `https://app.example`. It shows the address that will be shared, which
|
example `https://app.example`. The origin includes the scheme (`https`), the
|
||||||
|
host and the port. The request also shows the address that will be shared, which
|
||||||
is the active address. Click "Allow" or "Deny".
|
is the active address. Click "Allow" or "Deny".
|
||||||
|
|
||||||
Tick "Remember my choice for this site" to skip the request next time. The
|
"Remember my choice for this site" starts ticked. The box stays as you last left
|
||||||
choice applies to that exact origin. A choice remembered for
|
it. While it is ticked, the wallet keeps your answer, and the site is not asked
|
||||||
`https://app.example` does not cover `http://app.example` or another port of the
|
again. The answer applies to that exact origin and to the active address. A
|
||||||
same host.
|
choice remembered for `https://app.example` does not cover `http://app.example`
|
||||||
|
or another port of the same host. A choice remembered for one address does not
|
||||||
|
cover another.
|
||||||
|
|
||||||
Without "Remember", an allowed site stays connected until the browser closes,
|
Without "Remember", an allowed site stays connected until:
|
||||||
until you make another address active, or until you remove the site in Settings.
|
|
||||||
|
- the browser closes;
|
||||||
|
- you make another address active;
|
||||||
|
- you remove the site in Settings;
|
||||||
|
- you remove the address, or delete its wallet.
|
||||||
|
|
||||||
### Transaction requests
|
### Transaction requests
|
||||||
|
|
||||||
@@ -420,12 +462,13 @@ The window shows:
|
|||||||
- the site's origin;
|
- the site's origin;
|
||||||
- what the transaction does, when the wallet can read it:
|
- what the transaction does, when the wallet can read it:
|
||||||
- a token transfer;
|
- a token transfer;
|
||||||
- a token approval;
|
- a token approval, which lets a contract move your tokens;
|
||||||
- a swap through the Uniswap Universal Router, step by step;
|
- a swap, an exchange of one token for another, through the Uniswap
|
||||||
|
Universal Router, step by step;
|
||||||
- the From address and the contract or recipient, in full;
|
- the From address and the contract or recipient, in full;
|
||||||
- the value in ETH and its USD value;
|
- the value in ETH and its USD value;
|
||||||
- the largest network fee the transaction can cost, with the gas limit and fee
|
- the largest network fee the transaction can cost, with the gas limit and the
|
||||||
per gas;
|
price per unit of gas;
|
||||||
- the network and the nonce;
|
- the network and the nonce;
|
||||||
- the raw data.
|
- the raw data.
|
||||||
|
|
||||||
@@ -434,35 +477,40 @@ transaction shown, and checks the signed transaction against every value on the
|
|||||||
screen before it broadcasts anything. What you read is what goes out, or nothing
|
screen before it broadcasts anything. What you read is what goes out, or nothing
|
||||||
does. "Reject" tells the site you refused.
|
does. "Reject" tells the site you refused.
|
||||||
|
|
||||||
One transaction request is open at a time. A site that sends another while one
|
One transaction request is open at a time, across all sites. While one is open,
|
||||||
is unanswered is told to wait.
|
the wallet refuses any other, and the site is asked to send it again later.
|
||||||
|
|
||||||
### Signature requests
|
### Signature requests
|
||||||
|
|
||||||
A connected site can ask you to sign a message or typed data. Typed data is
|
A connected site can ask you to sign a message or typed data. The request opens
|
||||||
structured data laid out as named fields. The request opens in a window of its
|
in a window of its own. The window shows:
|
||||||
own and shows the site's origin, the type, the From address and what will be
|
|
||||||
signed.
|
|
||||||
|
|
||||||
A plain message is shown as text, in the order of its bytes. A character that
|
- the site's origin;
|
||||||
paints nothing, such as a zero-width character, is shown as a marked code
|
- whether a message or typed data is to be signed;
|
||||||
instead. The hex form of the message is shown under the text.
|
- the From address;
|
||||||
|
- what will be signed.
|
||||||
|
|
||||||
|
A plain message is shown as text, left to right in the order it was written, so
|
||||||
|
right-to-left characters cannot reorder it. An invisible character, such as a
|
||||||
|
zero-width space, is shown as its code in a small box, for example `U+200B`. The
|
||||||
|
message is also shown as hex, that is as the hexadecimal digits of its bytes.
|
||||||
|
|
||||||
Typed data is shown as its fields. Fields that the site added but that are not
|
Typed data is shown as its fields. Fields that the site added but that are not
|
||||||
signed are listed apart, under "Not part of the signature". When the data is a
|
signed are listed apart, under "Not part of the signature". A token permission
|
||||||
token permission (a `Permit`, or a Permit2 permission; Permit2 is Uniswap's
|
is a `Permit` or a Permit2 permission. Permit2 is Uniswap's contract for token
|
||||||
token allowance contract), a red warning names the spender, and each token and
|
allowances, that is for permissions to move tokens. For a token permission, a
|
||||||
amount that the signature lets the spender take.
|
red warning names the spender and each token and amount that the spender may
|
||||||
|
take.
|
||||||
|
|
||||||
"Sign" is disabled, and the screen says why, when:
|
"Sign" is disabled, and the screen says why, when:
|
||||||
|
|
||||||
- the typed data cannot be signed as shown;
|
- the typed data cannot be signed as shown;
|
||||||
- the typed data names a different network than the active one;
|
- the typed data names a different network than the active one;
|
||||||
- a message is not in hex form.
|
- a message is not hex.
|
||||||
|
|
||||||
A request made with the older `eth_sign` method shows a warning that says so.
|
A request made with the older `eth_sign` method shows a warning that names the
|
||||||
Enter your password and click "Sign" to sign. "Reject" tells the site you
|
method. Enter your password and click "Sign" to sign. "Reject" tells the site
|
||||||
refused.
|
you refused.
|
||||||
|
|
||||||
### Network switch requests
|
### Network switch requests
|
||||||
|
|
||||||
@@ -492,51 +540,61 @@ Settings lists the sites under three headings:
|
|||||||
- Connected Sites: allowed without it;
|
- Connected Sites: allowed without it;
|
||||||
- Denied Sites: denied with it.
|
- Denied Sites: denied with it.
|
||||||
|
|
||||||
`[x]` beside an allowed or connected site disconnects it. The site is told it
|
`[x]` beside an allowed or connected site disconnects the site. The site is told
|
||||||
has no address. `[x]` beside a denied site forgets the refusal.
|
it has no address. `[x]` beside a denied site forgets the refusal.
|
||||||
|
|
||||||
Making another address active disconnects every site allowed without "Remember"
|
Making another address active disconnects every site allowed without "Remember",
|
||||||
and rejects every request still waiting for an answer.
|
and rejects every request still waiting for an answer. A site remembered for the
|
||||||
|
old address only is not told the new one.
|
||||||
|
|
||||||
## Scam protection
|
## Scam protection
|
||||||
|
|
||||||
Five defenses are on in a new install.
|
Address poisoning is a scam. The scammer gets an address that resembles one you
|
||||||
|
have dealt with into your history, hoping that you copy it later instead of the
|
||||||
|
real one. Five defenses against this and related scams are on in a new install.
|
||||||
|
|
||||||
Fake tokens. Scammers create tokens that borrow a well-known symbol, such as
|
Fake tokens. Scammers issue tokens from their own contracts under a well-known
|
||||||
`USDT` or `ETH`, from a contract that has nothing to do with it. The wallet
|
symbol, such as `USDT` or `ETH`. The wallet knows which contracts may carry each
|
||||||
knows which contracts may carry each symbol on its bundled list. A token that
|
symbol on its bundled list. The balance list and the send screen hide a token
|
||||||
carries one of those symbols from any other contract is hidden from your
|
that carries one of those symbols from any other contract. `ETH` and the test
|
||||||
balances, from the send screen and from the transaction history. `ETH` and the
|
network's `SepoliaETH` belong to no contract at all, so every token that claims
|
||||||
test network's `SepoliaETH` belong to no contract at all, so every token that
|
them is hidden. In the history, the rule applies while "Hide fake tokens
|
||||||
claims them is hidden. A token you tracked yourself is still listed, at zero. In
|
impersonating a known symbol" is on. A token you track yourself is still listed
|
||||||
the history, this is the setting "Hide fake tokens impersonating a known
|
at zero while "Show tracked tokens with zero balance" is on.
|
||||||
symbol".
|
|
||||||
|
|
||||||
Tokens with few holders. Real tokens have many holders; scam tokens made for
|
Tokens with few holders. Real tokens have many holders; tokens made for address
|
||||||
address poisoning have almost none. While "Hide tokens with fewer than 1,000
|
poisoning have almost none. While "Hide tokens with fewer than 1,000 holders" is
|
||||||
holders" is on, the history and the send screen hide a token with fewer than
|
on, the history and the send screen hide a token with fewer than 1,000 reported
|
||||||
1,000 reported holders. The balance list has its own rule: an untracked token
|
holders. The balance list has its own rule: an untracked token appears only when
|
||||||
appears only when it is on the bundled list or has at least 1,000 reported
|
it is on the bundled list or has at least 1,000 reported holders. When
|
||||||
holders. A token whose holder count Blockscout does not report is not hidden
|
Blockscout reports no holder count for a token, the history and the send screen
|
||||||
from the history or the send screen. While "Use Blockscout" is off, no holder
|
still show it. While "Use Blockscout" is off, no holder count is known.
|
||||||
count is known.
|
|
||||||
|
|
||||||
Fraud contracts. When the wallet detects a fake token transfer, it adds the
|
Fraud contracts. When the wallet detects a fake token transfer, it adds the
|
||||||
contract to a list that it keeps. Transfers from those contracts are hidden from
|
token's contract to a list that it keeps. While "Hide transactions from detected
|
||||||
the history while "Hide transactions from detected fraud contracts" is on. The
|
fraud contracts" is on, the history hides transfers from the contracts on that
|
||||||
send screen always leaves them out. Turning the fake-token setting off also
|
list. The send screen never offers those tokens. Turning "Hide fake tokens
|
||||||
stops new contracts being added to the list.
|
impersonating a known symbol" off also stops new contracts being added to the
|
||||||
|
list.
|
||||||
|
|
||||||
Dust transactions. Scammers send tiny amounts of ETH from addresses that
|
Dust transactions. Scammers send tiny amounts of ETH from an address that
|
||||||
resemble your real contacts, so that the look-alike lands in your history. While
|
resembles one you have dealt with, so that the similar address lands in your
|
||||||
"Hide dust transactions below N gwei" is on, ETH transfers below the threshold
|
history. While "Hide dust transactions below N gwei" is on, ETH transfers below
|
||||||
are hidden from the history. A gwei is a billionth of an ETH. The threshold
|
the threshold are hidden from the history. A gwei is a billionth of an ETH. The
|
||||||
starts at 100,000 gwei, which is 0.0001 ETH. A threshold of 0 hides nothing.
|
threshold starts at 100,000 gwei, which is 0.0001 ETH. A threshold of 0 hides
|
||||||
|
nothing.
|
||||||
|
|
||||||
Known scam addresses. The wallet ships a list of addresses used for fraud,
|
Known scam addresses. The wallet ships a list of addresses used for fraud, for
|
||||||
phishing and wallet draining. Sending to one of them raises a warning on the
|
phishing and for wallet drainers, contracts that empty a wallet once given
|
||||||
confirmation screen, and such an address cannot be tracked as a token. The list
|
permission. Sending to one of them raises a warning on the confirmation screen,
|
||||||
holds only addresses involved in fraud; it is not a sanctions list.
|
and such an address cannot be tracked as a token. The list holds only addresses
|
||||||
|
involved in fraud; it is not a sanctions list.
|
||||||
|
|
||||||
|
Addresses and hashes are shown in full, because address poisoning relies on
|
||||||
|
shortened ones. The only shortened address is the label of a token with no known
|
||||||
|
symbol: the first 10 characters of its contract address and "…". That label
|
||||||
|
appears on the send screen, on the token screen, and on the confirmation and
|
||||||
|
result screens of a send.
|
||||||
|
|
||||||
The wallet also warns about phishing sites. The list of phishing domains is
|
The wallet also warns about phishing sites. The list of phishing domains is
|
||||||
built into the extension and checked in your browser, so nobody learns which
|
built into the extension and checked in your browser, so nobody learns which
|
||||||
@@ -557,7 +615,7 @@ Switching:
|
|||||||
- reloads every balance and history for the new network;
|
- reloads every balance and history for the new network;
|
||||||
- tells every open site about the new network.
|
- tells every open site about the new network.
|
||||||
|
|
||||||
On Sepolia, a red `[TESTNET]` banner sits at the top of every screen, and no USD
|
On Sepolia, a red `[TESTNET]` banner sits at the top of the wallet, and no USD
|
||||||
values are shown.
|
values are shown.
|
||||||
|
|
||||||
## Settings
|
## Settings
|
||||||
@@ -571,8 +629,10 @@ Click the gear in the title bar.
|
|||||||
characters when you add a wallet.
|
characters when you add a wallet.
|
||||||
- Tracked Tokens: the tokens tracked on the active network, each with `[x]`, and
|
- Tracked Tokens: the tokens tracked on the active network, each with `[x]`, and
|
||||||
"+ Add token".
|
"+ Add token".
|
||||||
- Display: "Show tracked tokens with zero balance", "UTC Timestamps" (otherwise
|
- Display:
|
||||||
times are shown in your local time) and the theme, System, Light or Dark.
|
- "Show tracked tokens with zero balance";
|
||||||
|
- "UTC Timestamps"; otherwise times are shown in your local time;
|
||||||
|
- the theme: System, Light or Dark.
|
||||||
- Network: Ethereum Mainnet or Sepolia Testnet.
|
- Network: Ethereum Mainnet or Sepolia Testnet.
|
||||||
- Ethereum RPC: the RPC endpoint URL. "Save" checks that the URL answers for the
|
- Ethereum RPC: the RPC endpoint URL. "Save" checks that the URL answers for the
|
||||||
shown network before storing it.
|
shown network before storing it.
|
||||||
@@ -583,8 +643,11 @@ Click the gear in the title bar.
|
|||||||
- Token Spam Protection: the four filters described under Scam protection, and
|
- Token Spam Protection: the four filters described under Scam protection, and
|
||||||
the dust threshold in gwei.
|
the dust threshold in gwei.
|
||||||
- Allowed Sites, Connected Sites, Denied Sites: see Managing sites.
|
- Allowed Sites, Connected Sites, Denied Sites: see Managing sites.
|
||||||
- About: the project link, the license, the author, the version, the release
|
- About:
|
||||||
date and the commit the build came from.
|
- the project link;
|
||||||
|
- the license and the author;
|
||||||
|
- the version and the release date;
|
||||||
|
- the commit the build came from.
|
||||||
- Debug: hidden until you click the version ten times. It holds a checkbox that
|
- Debug: hidden until you click the version ten times. It holds a checkbox that
|
||||||
turns on a red banner and more detailed logging in the browser console.
|
turns on a red banner and more detailed logging in the browser console.
|
||||||
|
|
||||||
@@ -598,8 +661,8 @@ nothing can be signed or sent. Sites that ask the wallet for anything are told
|
|||||||
that the saved data cannot be read.
|
that the saved data cannot be read.
|
||||||
|
|
||||||
Click "Export Saved Data" first. The stored data appears in a box on the screen,
|
Click "Export Saved Data" first. The stored data appears in a box on the screen,
|
||||||
and the browser offers it as a download where it can. Keep that copy. It may
|
and the browser offers it as a download when it allows one. Keep that copy. It
|
||||||
hold the encrypted keys of your wallets, and it is the only copy.
|
may hold the encrypted keys of your wallets, and it is the only copy.
|
||||||
|
|
||||||
"Erase Saved Data" deletes every wallet stored in this browser and starts the
|
"Erase Saved Data" deletes every wallet stored in this browser and starts the
|
||||||
wallet fresh. You must type `ERASE MY WALLET` first. With a kept recovery
|
wallet fresh. You must type `ERASE MY WALLET` first. With a kept recovery
|
||||||
@@ -611,11 +674,10 @@ gone.
|
|||||||
|
|
||||||
**Can I use AutistMask alongside another wallet?**
|
**Can I use AutistMask alongside another wallet?**
|
||||||
|
|
||||||
Yes. AutistMask derives addresses on the path `m/44'/60'/0'/0`, so the same
|
Yes. AutistMask computes addresses by the rule `m/44'/60'/0'/0`, so the same
|
||||||
recovery phrase gives the same addresses as any other wallet using that path.
|
recovery phrase gives the same addresses as any other wallet using that rule.
|
||||||
Two wallet extensions can be installed side by side. Only one of them can answer
|
Two wallet extensions can be installed side by side. Only one of them can hold
|
||||||
a site as `window.ethereum`; sites that list wallets can pick AutistMask by
|
`window.ethereum`; sites that list wallets can pick AutistMask by name.
|
||||||
name.
|
|
||||||
|
|
||||||
**Can I use a hardware wallet?**
|
**Can I use a hardware wallet?**
|
||||||
|
|
||||||
@@ -634,15 +696,16 @@ by AutistMask.
|
|||||||
|
|
||||||
**What happens if I uninstall the extension?**
|
**What happens if I uninstall the extension?**
|
||||||
|
|
||||||
Your data is deleted. Make sure you have your recovery phrase, private key or
|
The browser deletes the extension's storage. Make sure you have your recovery
|
||||||
extended private key before uninstalling. With that backup you can restore the
|
phrase, private key or extended private key before uninstalling. With that
|
||||||
wallet in AutistMask or in any other wallet that uses the standard path.
|
backup you can restore the wallet in AutistMask or in any other wallet that uses
|
||||||
|
the rule `m/44'/60'/0'/0`.
|
||||||
|
|
||||||
**What happens when a transaction times out?**
|
**What happens when a transaction times out?**
|
||||||
|
|
||||||
After 60 seconds without a receipt the wallet shows the error screen. The
|
After 60 seconds without a receipt the wallet shows the error screen. A timeout
|
||||||
transaction has not failed; it may still confirm. Check the hash on Etherscan.
|
does not mean the transaction failed. It may still confirm; check the hash on
|
||||||
Congestion or a low fee can delay confirmation past 60 seconds.
|
Etherscan. Congestion or a low fee can delay confirmation past 60 seconds.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user