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

[Bitcoin] return BTC address on auth #2909

Closed
314159265359879 opened this issue Nov 25, 2022 · 5 comments
Closed

[Bitcoin] return BTC address on auth #2909

314159265359879 opened this issue Nov 25, 2022 · 5 comments

Comments

@314159265359879
Copy link
Contributor

As requested by Friedger for catamaranswaps.

@314159265359879
Copy link
Contributor Author

friedger.btc — Today at 10:58 AM
A relevant issue here: bitcoin-nfts/bitcoin-colors#26

The requirement is "wallet should provide the BTC address of the logged in user".

Sharing the btc address without user's consent might be a privacy issue if the user selects only the stx address for sharing/auth.

@whoabuddy
Copy link

There's also a challenge of which BTC address to return:

  • the converted Stacks address, which produces a legacy 1 address at the Stacks derivation path (used with Catamaran Swaps iirc?)
  • the wrapped Segwit address, generated from the same key but down the default derivation path (this is what Xverse uses)
  • other options/combinations of the above

We're interested in the second one for the linked issue. If this were positioned as the "wallet" sharing "known addresses" on login, do you think that'd still be an issue? Could the privacy challenge be solved by clear communication?

@314159265359879
Copy link
Contributor Author

Mark mentioned we'll be going with Native SegWit initially in the discussion here: #2845

Will that work for your purpose too @whoabuddy?

@whoabuddy
Copy link

Not in the current form of the design. Since both legacy and wrapped segwit addresses (or basically, anything Base58Check encoded) can be converted into a Stacks address, we're using that as a way to associate an NFT with a Bitcoin address, as well as allow that Bitcoin address to claim the NFT later.

The plan is to store the Bitcoin address in the contract using the same definition as PoX, which while it's being upgraded to support segwit/taproot, the libraries and primitives we are working with are still based on those legacy addresses.

Our hope was that both Hiro and Xverse could align on using the wrapped segwit address so the experience of loading the seed phrase into either wallet is the same. It'd be a shame if that didn't work out as I think it'd cause more confusion.

Is it overly complex to have both? I know the Mycellium wallet does this, allowing you to switch between legacy, wrapped segwit, and native segwit addresses based on the same seed phrase.

@markmhendrickson
Copy link
Collaborator

We're looking to support just Native SegWit with our initial Bitcoin implementation to keep things simple. However, I've filed an issue here for capturing the future support of other address types: #2923

blockstack-devops pushed a commit that referenced this issue Feb 27, 2023
## [4.2.0](v4.1.0...v4.2.0) (2023-02-27)

### Features

* add copy btn in account switching menu ([2399304](2399304))
* add ordinals address to receive modal ([1fd1b4b](1fd1b4b))
* add prefix ([1f8b20f](1f8b20f))
* make ordinals occupy entire space ([81e3634](81e3634))
* return btc address during auth, closes [#2909](#2909), [#3092](#3092) ([bac34f5](bac34f5))

### Bug Fixes

* asset page routing ([ddea6f2](ddea6f2))
* bad derivation ([34b4016](34b4016))
* btc recipient form validation ([95d110f](95d110f))
* collectibles map key errors ([58c053a](58c053a))
* collectibles on ledger ([3bdb4c5](3bdb4c5))
* receive modal console error ([66c1b3a](66c1b3a))
* support form restore for non-btc currencies, clear on exit ([48430e8](48430e8))

### Internal

* change copy ([ba5a9c7](ba5a9c7))
* error when missing dep ([1aafea2](1aafea2))
* improve ordinals query ([b9bfca3](b9bfca3))
* next steps copy ([9397bbe](9397bbe))
* remove fund step from onboarding ([77f69e1](77f69e1))
* single header instance ([8d50ef5](8d50ef5))
* track input/output lengths, helpful for analysing fees ([f948cdc](f948cdc))
mihirKachroo pushed a commit to mihirKachroo/stacks-wallet-web that referenced this issue Mar 7, 2023
mihirKachroo pushed a commit to mihirKachroo/stacks-wallet-web that referenced this issue Mar 7, 2023
## [4.2.0](leather-io/extension@v4.1.0...v4.2.0) (2023-02-27)

### Features

* add copy btn in account switching menu ([2399304](leather-io@2399304))
* add ordinals address to receive modal ([1fd1b4b](leather-io@1fd1b4b))
* add prefix ([1f8b20f](leather-io@1f8b20f))
* make ordinals occupy entire space ([81e3634](leather-io@81e3634))
* return btc address during auth, closes [leather-io#2909](leather-io#2909), [leather-io#3092](leather-io#3092) ([bac34f5](leather-io@bac34f5))

### Bug Fixes

* asset page routing ([ddea6f2](leather-io@ddea6f2))
* bad derivation ([34b4016](leather-io@34b4016))
* btc recipient form validation ([95d110f](leather-io@95d110f))
* collectibles map key errors ([58c053a](leather-io@58c053a))
* collectibles on ledger ([3bdb4c5](leather-io@3bdb4c5))
* receive modal console error ([66c1b3a](leather-io@66c1b3a))
* support form restore for non-btc currencies, clear on exit ([48430e8](leather-io@48430e8))

### Internal

* change copy ([ba5a9c7](leather-io@ba5a9c7))
* error when missing dep ([1aafea2](leather-io@1aafea2))
* improve ordinals query ([b9bfca3](leather-io@b9bfca3))
* next steps copy ([9397bbe](leather-io@9397bbe))
* remove fund step from onboarding ([77f69e1](leather-io@77f69e1))
* single header instance ([8d50ef5](leather-io@8d50ef5))
* track input/output lengths, helpful for analysing fees ([f948cdc](leather-io@f948cdc))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants