Code Monkey home page Code Monkey logo

axelar-satellite's People

Contributors

alanrsoares avatar canhtrinh avatar dependabot[bot] avatar kalidax avatar milapsheth avatar nfl0 avatar nicolam1 avatar npty avatar omniwired avatar vladwulf avatar vorobevsa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

axelar-satellite's Issues

8-31-2022 ceremony comments/fixes

today's ceremony comments:
[x] - BUG: edge case where you have a certain srcChain/destChain/asset combination AND THEN SWITCH to another chain combination where the asset isn't supported. black screen of death. to reproduce, go from Osmosis src chain, with WBNB asset selected. change Osmosis to something else. get a black screen. The error is coming because bnb is not available between moonbeam and axelar (on mainnet). also, this leads to an error page: https://canh-testing.vercel.app/?asset_denom=wbnb-wei&destination=axelar&source=moonbeam. fixed by #48
add Connect button on src chain next to "Available Balance" if src chain wallet is not connected yet.
[x] - “top flow” doesn’t close when i select. fixed in #49
[x] - max transfer doesn’t show up for some chains. (0) for others. ==> so, my understanding is that we only show the max when you select an EVM chain as a destination chain where the max is actually set (i.e. not zero). so that's the treatment there. but displaying zero is an issue that is fixed here: 2de2637
[x] - text change: “OR USE FROM SATELLITE” -> or send via your wallet. => addressed here: 726a79a4d8e5ba900ad45c0f7df9406caff250b7
[x] - right-align logo and "powered by axelar": addressed here: 726a79a4d8e5ba900ad45c0f7df9406caff250b7
image
[x] - cancel transfer while it’s in progress? users will think they can revert. should hide or change the language to something like “refresh or make another transfer”. replace X something related => addressed here: 726a79a4d8e5ba900ad45c0f7df9406caff250b7
[x] - switch to a black browser icon? hard to see
image => addressed here: 726a79a4d8e5ba900ad45c0f7df9406caff250b7
[x] - “execution of asset transfer to” -> “your destination address” => addressed here: 726a79a4d8e5ba900ad45c0f7df9406caff250b7
image
[x] - When loading Satellite, the Maximum Transfer Amount query takes a while but as a result the UI doesn't keep space for it and then adds it later which causes the UI to resize. Try a few refreshes when looking at the field location to see what I mean => (kind of) addressed here (with a hack): 5e909ff
[x] - Rejecting Keplr deposit pop-up keeps Satellite in waiting for deposit status (for e.g. maybe the user wants to change the amount / wallet address and retry) => they're not actually prevented from doing that if they hit cancel...
[x] - Link to destination chain transaction hash block explorer - nevermind, no need to do this since those links are available in axelarscan anyway
[x] - On step 2, show the min/max transfer amounts
[x] - Should show relayer gas fee after transfer initiation too (since we allow the user to change the amount there)
[x] - On transfer completion, the completed/success message should be front and center, with a link to axelarscan I think, instead of the addresses and tx hash (which is more useful if the transfer doesn’t complete).

[] - a few assets and chains are missing their image / using a default in the dropdowns
[] - revisit estimated wait times now that they're shorter
[] - Pressing Autofill with Keplr when it’s not available (say on Firefox) moves the UI weirdly and doesn’t show an error
[] - TODO: Try some parallel transfers. Are we making use of more info from the deposit confirmation events to create the topic now?
[] - Cosmostation support (for later)

From earlier:
[] - “Waiting for transaction confirmation” => include number of confirmations (if possible) while waiting

Rok feedback

While the transfer was successfully completed on the network, the UI got stuck on step 2 and was never completed. Things like Keplr/MM disconnect/connect buttons and go back/start-again features are still missing, but I'm guessing this is all already on the to-do list. It would be nice to have the minimum amounts displayed on the UI or auto-corrected. Apart from that, it worked as expected, but I'll try to get more transfers in asap.

From a UX perspective, the text under steps 1-2-3 seems a bit small to me and hard to read, especially when using the site for the first time. Same with the Support & Feedback pop-up. The highlight for me, though, was definitely when I wasn't sure about the background Image (Satellite) initially, but then I pressed start, and it all made sense

smal UI but related to keplr wallet connect

if the keplr wallet is actually already connected, but Satellite does not already detect that (i.e. with the localStorage variable set), the UI shows the "Connect" button next to the "Autofill" option, which is fine... but once you click it, nothing happens

image

chain/asset combos are too restrictive

the way that we do asset/chain restrictions is a bit too restrictive. and makes it difficult to get to a certain asset/chain combination you want. the better fix may be to make it so that you can make any asset/chain selection you want but then do the validation when you try to hit the button. same way old satellite treated it.

milap comments

[x] - Trying to reconnect wallet, gives me Connector already connected, should be Wallet already connected
[x] - Axelar logo seems a tad bit larger than other logos?
[x] - If a user doesn’t have wallet connected already, and copies their recipient address, then we don’t show them an option to send token using wallet integration. This is particularly a problem when doing EVM -> Cosmos flow (so wallet connect option is Keplr, but suppose they don’t have this), then we don’t show an option to send via Metamask
[x] - Chain names are not capitalized for transfer status messages. Should also use token symbol instead of denom here.
[x] - Relayer gas fee message should use token symbol too.
amount / wallet address and retry)
[x] - If the max amount is large, it’s truncated in the input field. Maybe keep the input field larger, or use 1M / 1e10 notation for really large amounts
[x] - Weird resets on cancellation. For e.g.
Initiate Axelar -> Moonbeam flow, cancel, Axelar changes to Avalanche, press autofill, Avalanche changes to Axelar

[x] - Reversing the chains (via reverse button press) doesn’t update the GET params in the URL
[x] - Destination chain list is not capitalized
[x] - RIP Terra station integration I guess? FOR NOW, YES

will address in #47
[] - Should show relayer gas fee after transfer initiation too (since we allow the user to change the amount there)
[] - Rejecting Keplr deposit pop-up keeps Satellite in waiting for deposit status (for e.g. maybe the user wants to change the
[] - On transfer completion, the completed/success message should be front and center, with a link to axelarscan I think, instead of the addresses and tx hash (which is more useful if the transfer doesn’t complete).

canh comments

checklist of items to address in a PR:
[x] - add mint limit stuff
[x] - connect wallet button doesn’t close after clicking keplr again once it’s already connected
[x] - destination chain dropdown are lowercase
[x] - “Copied to Clipboard” vs “copied to clipboard”
[x] - “OR USE” => “OR DEPOSIT FROM SATELITE BELOW”
[x] - “Transfer on avalanche detected!” => Transfer on Avalanche tedtected
[x] - “Transferring your uausdc to moonbeam” => Transferring your axlaUSDC to Moonbeam”
[x] - “Transaction Hash” => “Deposit Confirmation” with link to block explorer on source chain
[x] - Button to add token to metamask
[x] - deploy to canh-testing.vercel.app (via Github action)

will address in #47
[] - Link to destination chain transaction hash block explorer
[] - On step 2, show the min/max transfer amounts
[] - “Waiting for transaction confirmation” => include number of confirmations (if possible) while waiting

comments from Vlad

TODO: we use metamask to listen for events on destination chain, if metamask is not connected this is not possible?

deposit hash is not if transfer not initiated from metamask. Need to hide it
image

when source chain is cosmos chain need to add more information, like transaction hash of deposit, etc.

versioning

add app version and sdk version to the bottom of satellite (similar to what axelarscan does)

add token to metamask upfront; other cleanup items

  1. allow users to add token MM upfront
  • if you're not connected to MM, won't see this button at all.
  • the option to add on either the src or dest depends on whether it's an EVM chain or not (e.g. if you're doing cosmos to axelar, fox doesn't appear at all)
  1. update youtube walkthrough video [we had the old one linked up the whole time :-( ]

  2. small edit to the EVM popup... section that shows balance for wAXL in connected wallet.

add github actions

to enable via github:

  • enabling/disabling maintenance mode
  • updating disabled chains

9-06-2022 ceremony comments/fixes

  • Reduce the size of the "new to satellite" popup image
  • Use the primary button to trigger wallet transactions image
  • Fix duplicate status
    image
  • Remove injective
  • Clear destination address on chains switch
  • Reduce address shortener to 7 characters
  • Rethink max amount button, we don't want to prevent people to transfer more but maybe provide them a way to contact us if they want to do so
  • Test for unsupported assets on chain change -> main problem comes from top flows so need to fix this
    image
  • EVM warning modal, push to the top on the same level than the swap box
  • catch metamask errors graciously (eg: chain is not in metamask and/or wallet not connected, token balance is 0)
  • Think about how to fix rpc issues (eg: crescent rpc)
  • Last top flow should be polygon -> matic -> osmosis
  • Provide more info on why you can close satellite
    image
  • Typo in "Transfering", change to "Transferring"

9-1-2022 ceremony comments/fixes

[] - missing logos
[x] - i first had an EVM chain as a destination, then switched to Osmosis as destination, it didn't clear the destination address; and allowed me to click "generate deposit" with incorrect destination address. it froze on that. (a) we should clear the destination address when switching networks; missing some error checks when it fails to return a msg to the users?
[x] - there is no "refresh" button? i'm stuck here now
image
[x] - add links to USDC contract address / balance address? or allow to copy the full address?
image
[x] - i found this screen a bit confusing: i click on generate deposit address; then the bottom of the UI updated; then I click on metamask -> it tells me that amount cannot be zero. i had to search then where to input the amount. the the user needs to understand that they need to enter the amount above and only THEN click on metamask. a more explicit window or "send" action with amount besides it would be cleaner. clicked metamask multiple times, then realize I need to enter the amount first.
image
[x] - alternatively we force the user to enter the amount before they can generate deposit address.. but that prevents deposits from CEXs. another alternative: replace "waiting for deposit" to "send via metamask" (and remove that option from the middle screen) and it gives an error when users clicks send but no amount is specific.
[x] - after send, we just let users hang. i'd rather we let them know "done; your transfer will arrive at destination after ~X mins. good bye". otherwise not clear what i need to do. + "waiting for deposit is updated updated" even after Transaction is sent and X blocks deep.
image
[x] - the transaction completed page is not clear, it is small and greyed out (probably that apply for each stage deposit generation and waiting is clear to me)
[] - the existing satlellite has an explorer link to the destination address for user to see the incoming deposit. should we keep that? it only has an destination address now
image
[x] - :upvote:i think some of the info can be displayed in a pop-up. "transaction info", and by default we display one field only? "you funds will arrive at [deposit address] after X mins". click [here] for transaction info log.
-> pr 50 re-arranges information presented to the user so that should fix it
[x] - Top flows don’t match what we currently have on mainnet
[x] - When using an incorrect value in the URL, it takes longer to load, and then shows the default correctly
[x] - The MAINNET tag feels out of place with the new design. I think the tag should only be present for Testnet (not really needed for main site, now that we’re beyond Beta stage).
[x] - Should still add a button to switch to the testnet version for anyone interested

cc @vladwulf

certain errors are not propagated to the UI

Scenario:

  • Asset config was outdated
  • A flow was started for a chain that wasn't present in the asset config
  • An error occurs during processing, but the UI shows generating deposit address indefinitely. Instead, the UI should have a pop-up which says something like Something went wrong, please try later. and cancels the flow. Of course, a more helpful error is useful when possible.

EVM asset popup

when you start a transaction in a browser session after having completed one prior that involves an EVM chain, the EVM asset warning modal doesn't show up on the second screen. there is a "user acknowledgement" that is made after the first one, so any future transfers won't include that warning unless you do a hard refresh.

the warning should come up each time a transfer begins.

Disable deposit button after submission

After a user sends the deposit, the deposit button should be greyed out unless the tx broadcast fails, otherwise they can re-press it by mistake. There is also no UI indication that the IBC transfer broadcast succeeded (like for EVM chains)

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.