nautls / nautilus-wallet Goto Github PK
View Code? Open in Web Editor NEWPrivacy wallet designed for Ergo Platform
Home Page: https://www.nautiluswallet.com
License: MIT License
Privacy wallet designed for Ergo Platform
Home Page: https://www.nautiluswallet.com
License: MIT License
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
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!
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.
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.
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).
From Discord:
Feature request, I'd like a toggle in settings for Nautilus to always open in expanded view.
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.
Please find the below screen recording:
Send All
option to consolidate UTXOsIt 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.
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!
After #44 is done, NiPoPoW verifications can be added.
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:
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.
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.
It looks like nautilus isn't showing error messages returned from GraphQL server.
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"
}
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
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 support to EIP31
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!
Useful to keep privacy while screenshooting
Minotaur have a good UX for it
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.
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
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.
Congratulation on 3rd place! https://ergoplatform.org/en/blog/2022-03-01-ergohack-iii-results/
Not sure where else to ask the questions above.
Thanks!
Useful to consolidate UTxOs.
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.
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.
Allow all erg and assets to be sent to single primary or derived addresses
It would be very useful to be able to connect to the ergo testnet by flipping a switch, like in the nami wallet.
Sending a transaction with inputData through Nautilus Testnet 0.8.2 produces the following error:
{code: -2, info: '[GraphQL] ERGO_NODE_ADDRESS is undefined in .env file.'}
Minimal example repo: https://github.com/SavonarolaBit/bug-tx-inputData
1-liner to reproduce:
git clone [email protected]:SavonarolaBit/bug-tx-inputData.git && cd bug-tx-inputData && npm i && npm run dev -- --open
Investigated the issue a bit more, seems to be user error by combining multiple UTxOs.
The last missing piece to create and send transactions without the need to directly interact with the explorer.
Please create a website so that Nautilus can be linked somewhere besides github.
All it needs are:
What it could also have:
Fixed by greenhat and merged to develop branch of sigma-rust
pushed to ergo-lib-wasm-browser:
https://www.npmjs.com/package/ergo-lib-wasm-browser/v/0.25.0-alpha-ce63c9c
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.