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

Wrong account#/index# when deriving additional Thorchain addresses #8001

Closed
purelycrickets opened this issue Oct 24, 2024 · 3 comments
Closed
Assignees
Labels
bug Something isn't working high-priority needs engineering Requires engineering input before bounty

Comments

@purelycrickets
Copy link

Overview

Reported in Support and recreated by Ops:

The first address (0th address) is derived with 44'/931'/0'/0/0 which is correct.

Other tools increment the index# (last digit) when deriving additional addresses:
44'/931'/0'/0/1
44'/931'/0'/0/2
44'/931'/0'/0/3
but it seems ShapeShift is incrementing the account number instead:

44'/931'/1'/0/0
44'/931'/2'/0/0
44'/931'/3'/0/0
This creates an inconsistency between how ShapeShift works vs how all other tools work.

If a user creates a 2nd address on any other tool, and then tries to use that address on ShapeShift, they'll think the funds are gone.

Similarly, if someone creates a 2nd address on ShapeShift but then tries to use any other tool, they won't find their funds there either

References and additional details

https://jam.dev/c/33665cda-3e4e-4b77-a518-4c5175803bcf
See the difference^

Acceptance Criteria

ShapeShift uses the proper account derivation index incrementation.

Need By Date

No response

Screenshots/Mockups

No response

Estimated effort

No response

@purelycrickets purelycrickets added bug Something isn't working needs engineering Requires engineering input before bounty high-priority labels Oct 24, 2024
@gomesalexandre gomesalexandre self-assigned this Oct 24, 2024
@gomesalexandre
Copy link
Contributor

Closing as this isn't a bug - different wallets use different derivation paths for accounts 0+, this is the state of internet chains.
More details in https://discord.com/channels/554694662431178782/1299096396108136549/1299098236111294494

@mperklin
Copy link

mperklin commented Oct 25, 2024

You can choose to label this as "not a bug" but it still has multiple negative consequences for ShapeShift.

  1. User Confusion: I went to do a swap on ShapeShift earlier this week and could not find my account. This prompted me to open a support ticket.
  2. Support Cost: Every support ticket opened has a real cost for some paid DAO member to look at and resolve.
  3. User Frustration: I spent 30mins looking for any way to get the ShapeShift webapp to recognize a different derivation path so I could access my tokens but all paths lead to these addresses that—while mine—were not the ones that had the tokens that I wanted to access with ShapeShift
  4. Lost Revenue: I left the ShapeShift app in frustration and swapped on THORSwap instead because they were able to show me the addresses I wanted to use.
  5. Brand Tarnishing: The experience left me with a worse impression of ShapeShift since it couldn't serve what I needed. I am now less-inclined to recommend ShapeShift to my friends who use multiple accounts because I know that if they try to use multiple accounts on ShapeShift they will encounter the same issues I did.

@gomesalexandre you are technically "correct" that this isn't a "bug" by the definition of a bug. But when everybody else is deriving addresses one way and ShapeShift is alone in deriving them a different way, this issue affects ShapeShift users.

(I define "everybody else" as a combination of: Ledger Live, XDEFI, and THORSwap)

While it may not be a "bug" there are a number of negative effects that are real and measurable.

Even though there is no "correct" derivation path, there are very few reasons to use custom/unique paths and very many reasons to use the same paths the rest of the entire ecosystem uses.

As an exercise, I encourage you to enumerate all the pros/cons for why ShapeShift should continue using non-standardized paths here and all the benefits those non-standard paths bring to ShapeShift and its users.
Then enumerate all the pros/cons for changing paths to match the rest of the ecosystem.

Which set of pros/cons has more upside for ShapeShift?
Which set of pros/cons has more upside for ShapeShift's users?

@gomesalexandre
Copy link
Contributor

@mperklin Thanks for the additional context! The issue is this was raised to @shapeshift/operations through a support ticket and eventually as a high-priority bug in the GitHub bug board (and required immediate attention as was wrongly though to be a prod issue from the description).

Just to get things clear here, I'm myself in favour of this as a feature and would love to see it added. All points are very valid - I've voiced support for it in the past myself to address the frustration of TS keystore users - especially now with our current focus on making the wallets experience better.

If you want to vouch for this feature, #product-public-chat is the goer, let's get this through regular channels and product lifecycle 🙏🏽

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working high-priority needs engineering Requires engineering input before bounty
Projects
Status: Done
Development

No branches or pull requests

3 participants