Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Activity/History #2

Open
33 tasks
DimitarNestorov opened this issue Nov 9, 2021 · 0 comments
Open
33 tasks

Activity/History #2

DimitarNestorov opened this issue Nov 9, 2021 · 0 comments

Comments

@DimitarNestorov
Copy link
Contributor

DimitarNestorov commented Nov 9, 2021

Activity/History

Design prototype

A place where the wallet keeps track of everything that the user signed which includes:

  • Transactions
  • Messages

Every item in the activity should have:

  • Timestamp (a date and time of when the message/transaction has been signed)
  • Dapp domain

If the activity item is a transaction it should have:

  • From address (prefer displaying ENS)
  • To address (prefer displaying ENS)
  • Nonce
  • Amount (the ETH amount that was sent)
  • Gas Limit (Units)
  • Gas Used (Units) (when the transaction has been mined)
  • Base fee (GWEI)
  • Priority fee (GWEI)
  • Total Gas Fee (base + priority) * (if transaction is mined use gas used otherwise use gas limit)
  • Total (total gas fee + amount)
  • Burnt fees (only when mined) (only when enabled in settings)
  • Transaction hash (only when enabled in settings)
  • Mined timestamp
  • Status (queued, submitted, dropped/replaced, confirmed, failed)
  • Chain ID

If the activity item is a message it should have:

  • The message that was signed

Filter activity

There should be an option to filter activity:

  • filter by type (transaction/message)
  • filter by transaction status (pending/failed/succeeded)
  • filter by contract (Uniswap Router/SushiSwap router) (depends on rich activity, see below)
  • filter by dapp domain (zapper.fi/app.uniswap.org)

Fetch onchain activity

  • When setting up the wallet it should fetch previous transactions that are on the blockchain and display them to the user.
  • Users may have made transactions using other wallets/devices. When the wallet is started again it should check for new transactions and fetch them.

Activity from other addresses

On Ethereum other people can send you assets. The activity should show when someone else has sent you assets, not just transactions/messages made by your address.

Rich activity

When I make a swap on Uniswap in MetaMask it displays Exact Input Single (which is the name of the method) and the domain of the dapp. Instead we should display the actual swap that happened like on Etherscan.

MetaMask screenshot

Etherscan screenshot

  • ERC-20 approvals should display the allowance amount
  • ERC-20 transfers should display the amount that was transferred
  • Swaps on Uniswap and other decentralized exchanges should display the actual tokens swapped
  • When NFTs are transferred the NFT should be displayed
  • When there's an interaction with ENS the ENS domain should be displayed
  • Bridged assets between different chains need to be marked as such

Cloud sync

  • Signed messages should be synced since they're not on the blockchain. That way the user can see them on all of their devices

Notes

While rich activity are great they will never support every single protocol. Instead a feature for adding notes to every activity item will be more than enough for many users.

@DimitarNestorov DimitarNestorov transferred this issue from Safari-Wallet/core Nov 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant