Giter VIP home page Giter VIP logo

nautilus-wallet's People

Contributors

alesfatalis avatar andrehafner avatar arobsn avatar cafebedouin avatar capt-nemo429 avatar ceilican avatar danieloravec avatar erg0ne avatar ergotester avatar gammahazard avatar jimmyhoffa avatar koukarin avatar maustafat avatar mavbg avatar muhammadtakdir avatar nn-dmt avatar pandavio avatar sepehrganji avatar supergeometry avatar tabbypos avatar vorujack avatar yasha-black avatar ykris45 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

nautilus-wallet's Issues

Spending password?

Hello,

I have a new wallet setup but I realize I did not setup a sending password. Is it possible to add or do I need to setup a new wallet account? Thanks

Quick launch https://explorer.ergoplatform.com/

Afternoon devs, can we install a quick launch from the application/extension to launch a new browser where we can view our wallet address on the explorer? It would make it a lot easier and in line with other blockchain wallets. Thanks for your help!

Decode svg format for onchain nft image

Currently, nautilus can showcase NFT images when the image is stored on IPFS. Images stored on-chain in the SVG format cannot be decoded properly by nautilus. Ergonames' current system stores every image on-chain, meaning nautilus shows a blank image when trying to view it in the wallet.

Example token with on-chain image data (id given): 50fdc80e168c153e472bd7e3dd18a4a0b9e90c550206fdbdb789ee8afdd3b1a9

Putting that id into ergotokens.org will show you the image data stored on-chain in register 9.

No way to check for a dapp connection without auto-prompting the user to choose a wallet

When a user navigates to a page, we need a way to check if they have an active nautilus connection.

This is problematic because it will automatically prompt the user to choose a wallet if they haven't already connected one:

// @ts-ignore
const injectApi = await ergoConnector.nautilus.connect();
  if (injectApi) {
    // @ts-ignore
    const changeAddress = await ergo.get_change_address();
    if (changeAddress) {
      setDappConnected(true);
      return changeAddress;
  }
}

If we auto-prompt a user, then it negates the "sign in" button. If we decide not to potentially auto-prompt non-logged in users, we have no way of knowing when a user navigates to the page and has already connected in the past.

We can store an active connection in localStorage or a database, but then if the user manually disconnects via Nautilus, the dapp will think they're logged in. It will then use the ergoConnector.nautilus.connect() to instantiate the API, causing an automatic wallet selection prompt. If the app is operating under the premise that the user chose a specific wallet before, and now the user chooses a different one, there are differences between the user's connected wallet and the app session.

The app can compare the two, but then a new session must be created. Sometimes, this forces a page refresh (like with next-auth), and the user-flow is interrupted and not automatically started again.

Add hybrid synchronisation and local boxes handling

Combines light and full synchronization to keep track of all owned boxes and transactions locally while maintain fast sync times. This feature will also serve as basis to 'Transactions history' tab (#44).

Todo

  • Add UTxO data model
  • Add transactions data model
  • Migrate to backend API v1
  • #37
  • Add EIP-29 parser
  • Add full sync mechanism
  • #44
  • Add full and light box/balance fetching mechanism based on the status of the full sync process.

Issue with words when restoring wallet

When attempting to restore a wallet, while putting in a word for a mnemonic phrase there is an issue with what populates. I have tried two methods of picking words, hitting enter on keyboard on the highlighted word from the list and also clicking on a word using the mouse.

  • When clicking the word abandon appears for some reason.
  • When hitting enter, what you have typed out thus far appears as well as the highlighted word

Please find the below screen recording:

Screen.Recording.2023-05-27.at.5.56.52.PM.mov

UI feature requests

  1. 'View' password button
  2. Using the tab key works as enter/next when entering mnemonic
  3. Send All option to consolidate UTXOs
  4. Making pending transactions more obvious / locking wallets until the transaction is confirmed.

Make "send max" withdrawal feature more obvious, maybe even add 25%, 50%, 75% options too

It did not occur to me trying to setup my ledger wallet on Nautilus that there was a "send max" amount feature, the grey balance number at the bottom right.

Maybe make it more obvious when choosing an amount that this is a "send max" feature.

Maybe also include other options like 25%, 50%, 75%, 100% boxes.

Recommend perhaps before the user types in a number, have these 25-50-75-100% options as greyed out boxes that can be chosen, or disappear once typing.

Add confirmation page when successfully restoring a wallet

When I restored a wallet created on Satergo, it was a standard 15 word with password, I restore it in Nautilus (on two different wallets this happened), upon successfully restoring the wallet and clicking "Confirm", nothing happens...

However, when you click out or close the screen, the wallet takes and is successfully restored.

I would recommend fixing this bug and adding a "celebration" page/window change or "confirmation" page for positive feedback it "took".

I tried this on Mozilla and Brave Browsers. Thanks!

ErgoPay support

Add method to web dapp connector:

 Eip12Connection.invokeErgoPay(ergoPayUrl: string, completionHandler: function)
 // invokes an EIP-20 ErgoPay request

completionHandler is called when the user completes the ErgoPay request by submitting a transaction. If the user cancels, it is not called (therefore a Promise is not correct to use).

The request is successful without having an Eip12Connection established before (isConnected() may result to false) as it is not necessary. An ErgoPay request might be bound to a different connection or (if it does not result in a reduced transaction to sign) might not need a wallet connection at all.

When invokeErgoPay called, the following actions are performed:

  1. Static ErgoPay request (ergopay:<reducedTx>)
    User can select the wallet to sign. ReducedTx is shown (inputboxes and outputboxes) for the user to confirm. The inputboxes must be fetched from the blockchain in order to check if tokens might be burned.
    On confirmation, the tx is signed and submitted and in case of success the completionHandler is called.

  2. Dynamic ErgoPay request(ergopay://<url>)
    If url contains "#P2PK_ADDRESS#": show the user a choose dialog for a wallet and wallet address. When user made their choice, proceed.
    Fetch data from https://url (or http://url for local addresses) and process the response as outlined in EIP-20. If the response contains a reduced transaction, show it as outlined in 1)
    If the response data contains no address information and the user did not already choose the wallet to use, it is now needed to choose a wallet to sign with. If address information is provided or the user already made a choice, do not prompt again.
    When a signed transaction is submitted, completionHandler is called. It is not called when there was no reduced transaction in the response.

Add wallet and API info on `ergoConnector`

Add a method called ergoConnector.nautilus.getInfo(), it should return:

{
  name: string, // verbose wallet name
  icon: string, // base64 wallet icon
  apiVersion: string, // dApp Connector API version
  walletVerson: string, // wallet version
  network: "mainnet" | "testnet"
}

Add create new wallet flow when there's no wallet on `ergoConnection.nautilus.connect()`

from discord:

Does nautilus/fleet have the ability to have a front end function to initiate a new wallet creator window popup with nautilus?
I want to generate wallets for new musicians who arent crypto people with my front end, but i also dont want them to have to trust me at all
so im thinking if i could tell them to first install nautilus, then click a button on site or use nautilus to just do it
but the idea is a button on my site which pops up nautilus and instead of a transaction its a 'create wallet' modal

Add "Show address on device" function

From the Ledger Team:

A Show address on device like button which triggers the receiving address to be displayed on the Ledger device would be required (Somewhere on the Receive tab for example)

Add Babel Fees support

Add support to EIP31

Todo

  • Add fee selector UI
  • Transaction building
  • Transaction review UI
  • Consider mempool for Babel Box selection

Default address was not used for transaction

Hello!

I believe I found a bug? I recently created a new auction on ergoauctions.org and nautilus did not use the default address. I was not using the dapp connector.

Not sure if this is related to the most recent release.

My wallet version: v0.2.1
Commit: e7b06a6

Now I just pulled these versions, if this changed since I performed the transaction I do not know.

My default wallet address: 9iAxF4iuyr9n5UEHnk6S2zg6PpnefvihLaT6guVsQYHRz2HRaQR
The address that was used: 9hSdjaUj1pC3RdiG32DoMqmhUNbvMX8b2njMqocTDYVUjMV9X8n

Transaction that did not use the default address: https://explorer.ergoplatform.com/en/transactions/b9a5a03adbd6e2de6c11eb9b7b29b81e7768734f42dc5a0f4964059a51914137

Please let me know if there is anything else I can provide to aid debugging.

Thank you!

Box/Address Locking

It might be useful to people if you can see which tokens are in which boxes or addresses and to be able to lock certain boxes so that you can't accidentally send things from those boxes without additional confirmation.

Update Ledger logo

From the Ledger Team:

When I want to connect with Ledger, Connect a Hardware wallet โ†’ I can see the old Ledger logo. It is a small remark without much consequence but if you have the possibility to replace it by the updated one ๐Ÿ˜‡

Resources: https://www.ledger.com/press

25th word

I would like to store my NFTs on a ledger using a 25th word, but if for some reason there is a problem with ledger it would be nice to be able to restore the wallet in Nautilus by entering that 25th word.

Add "send USD" denomination

Add ability to send in $USD denomination, e.g. I type in $20, and it auto fills in the amount of $ERG. Currently, it's a bit of guess and check typing in ERG and seeing the below price in USD amount.

Which address does token belong to?

When I open Nautilus wallet in Chrome/Brave I see my wallet balance as well as the NFT's in the wallet. There is no indication, however, of which wallet address the NFT is in. To find that out I need to go the the Receive tab, click on each address, and look in an Ergo explorer to see which NFT's are associated with that address.

This was an issue recently when, in order to be able to purchase an NFT, the funds had to be sent from the address holding the tokens associated with the project (NETA). Then address was determined by snapshot and added to a whitelist. When I entered the NFT minting portal I was given an address to send to and an amount. I opened Nautilus and skipped right to the 'Send' tab, entered the address and amount, then my spending password, and submitted the transaction. Since the address the payment was sent *from was NOT the one on the white list, it was refunded, but I was disappointed to miss out on the NFT.

The place to specify the default address to use in Nautilus is in the 'Receive' tab. Would it worth indicating which address is being used to send tokens from in the 'Send' tab? And consider making it possible to see which address a fungible token is associated with so that the proper address can be selected for the transaction without having to hunt for it in Ergo explorer.

I realize that my error was just that, mine, and stemmed from not fully understanding what was going on. Still I thought it was worth making this post.

Consolidate assets

Allow all erg and assets to be sent to single primary or derived addresses

  • Allow calling by dApp for signing
  • Ability to select destination address
  • Ability to leave minimum erg amount

To delete, sorry.

Investigated the issue a bit more, seems to be user error by combining multiple UTxOs.

Make a landing page

Please create a website so that Nautilus can be linked somewhere besides github.

All it needs are:

  • A Hero Section that says "Get Nautilus" and links firefox and google play
  • A short description of nautilus
  • Link to github

What it could also have:

  • guides on how to use nautilus
  • links to partnerships and dapps that currently work with nautilus

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.