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

Feat/live 4839 anon wallet account #2069

Merged

Conversation

chabroA
Copy link
Contributor

@chabroA chabroA commented Dec 6, 2022

📝 Description

Anonymise ledger live account ids before sending them to an eWApp (External Wallet App).

This anonymisation has been done on the new wallet-api part as well as the legacy / soon to be deprecated platform part.

Note: account ids are not anonymised on the platform side since some actions (such as transaction.sign, transaction.broadcast or exchange.complete) rely on Ledger Live Operation type that use ledger live account ids.

These actions could be updated / refactored to exclude Ledger Live account ids. But if this code is supposed to be deprecated soon and replaced by the wallet-api version (that don't have such issues since it does not rely on Ledger Live Operation type), this might not be worth the effort (and the risk of breaking these flows).

❓ Context

✅ Checklist

  • Test coverage
  • Atomic delivery
  • No breaking changes

📸 Demo

🚀 Expectations to reach

Manually tested using:

Please make sure you follow these Important Steps.

Pull Requests must pass the CI and be internally validated in order to be merged.

@changeset-bot
Copy link

changeset-bot bot commented Dec 6, 2022

🦋 Changeset detected

Latest commit: e5afa8b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 6 packages
Name Type
@ledgerhq/live-common Minor
@ledgerhq/live-cli Patch
ledger-live-desktop Patch
live-mobile Patch
dummy-wallet-app Patch
live-common-tools Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions bot added common Has changes in live-common desktop Has changes in LLD mobile Has changes in LLM labels Dec 6, 2022
@vercel
Copy link

vercel bot commented Dec 6, 2022

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated
live-common-tools ✅ Ready (Inspect) Visit Preview Dec 12, 2022 at 1:05PM (UTC)
3 Ignored Deployments
Name Status Preview Updated
ledger-live-github-bot ⬜️ Ignored (Inspect) Dec 12, 2022 at 1:05PM (UTC)
native-ui-storybook ⬜️ Ignored (Inspect) Dec 12, 2022 at 1:05PM (UTC)
react-ui-storybook ⬜️ Ignored (Inspect) Dec 12, 2022 at 1:05PM (UTC)

@github-actions
Copy link

github-actions bot commented Dec 6, 2022

@chabroA

Screenshots: ✅

There are no changes in the screenshots for this PR. If this is expected, you are good to go.

@codecov
Copy link

codecov bot commented Dec 12, 2022

Codecov Report

Base: 42.89% // Head: 42.85% // Decreases project coverage by -0.04% ⚠️

Coverage data is based on head (24c1247) compared to base (3159ca6).
Patch has no changes to coverable lines.

❗ Current head 24c1247 differs from pull request most recent head e5afa8b. Consider uploading reports for the commit e5afa8b to get more accurate results

Additional details and impacted files
@@                      Coverage Diff                      @@
##           feat/wallet-api-LIVE-4293    #2069      +/-   ##
=============================================================
- Coverage                      42.89%   42.85%   -0.05%     
=============================================================
  Files                            629      631       +2     
  Lines                          26040    26158     +118     
  Branches                        7171     7201      +30     
=============================================================
+ Hits                           11171    11209      +38     
- Misses                         13706    13779      +73     
- Partials                        1163     1170       +7     
Flag Coverage Δ
test 42.85% <ø> (-0.05%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
libs/ledger-live-common/src/apps/formatting.ts 62.50% <0.00%> (-37.50%) ⬇️
...ve-common/src/families/bitcoin/datasets/bitcoin.ts 69.23% <0.00%> (-30.77%) ⬇️
libs/ledger-live-common/src/apps/logic.ts 60.74% <0.00%> (-28.98%) ⬇️
...common/src/families/ethereum/prepareTransaction.ts 65.21% <0.00%> (-9.79%) ⬇️
libs/ledger-live-common/src/apps/runner.ts 44.64% <0.00%> (-8.19%) ⬇️
...-live-common/src/mock/fixtures/cryptoCurrencies.ts 92.85% <0.00%> (-7.15%) ⬇️
libs/ledger-live-common/src/apps/polyfill.ts 82.97% <0.00%> (-6.50%) ⬇️
libs/ledger-live-common/src/platform/logic.ts 65.28% <0.00%> (-5.37%) ⬇️
libs/ledger-live-common/src/wallet-api/logic.ts 59.25% <0.00%> (-5.36%) ⬇️
...live-common/src/ble/hooks/useBleDevicesScanning.ts 86.56% <0.00%> (-3.44%) ⬇️
... and 25 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@chabroA chabroA force-pushed the feat/LIVE-4839-anon-wallet-account-id branch from 24c1247 to 5733625 Compare December 12, 2022 12:57
@github-actions github-actions bot added cli desktop Has changes in LLD mobile Has changes in LLM labels Dec 12, 2022
avoid sending account ids to a live app by creating a unique uuid from
said account id and storing this uuid / account id pair in a map for
easy retrival
@chabroA chabroA force-pushed the feat/LIVE-4839-anon-wallet-account-id branch from 5733625 to e5afa8b Compare December 12, 2022 13:03
@github-actions github-actions bot removed mobile Has changes in LLM cli desktop Has changes in LLD labels Dec 12, 2022
@chabroA chabroA marked this pull request as ready for review December 12, 2022 13:47
@chabroA chabroA requested review from Justkant and a team December 12, 2022 13:47
Copy link
Contributor

@Justkant Justkant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@chabroA chabroA merged commit a3bd1e2 into feat/wallet-api-LIVE-4293 Dec 13, 2022
@chabroA chabroA deleted the feat/LIVE-4839-anon-wallet-account-id branch December 13, 2022 15:12
Justkant pushed a commit that referenced this pull request Dec 20, 2022
* add @types/uuid dev dep

* hash the account id and create a uuidToAccountId map

avoid sending account ids to a live app by creating a unique uuid from
said account id and storing this uuid / account id pair in a map for
easy retrival

* add changeset

* update existing test cases
Justkant pushed a commit that referenced this pull request Dec 20, 2022
* add @types/uuid dev dep

* hash the account id and create a uuidToAccountId map

avoid sending account ids to a live app by creating a unique uuid from
said account id and storing this uuid / account id pair in a map for
easy retrival

* add changeset

* update existing test cases
Justkant pushed a commit that referenced this pull request Dec 20, 2022
* add @types/uuid dev dep

* hash the account id and create a uuidToAccountId map

avoid sending account ids to a live app by creating a unique uuid from
said account id and storing this uuid / account id pair in a map for
easy retrival

* add changeset

* update existing test cases
gre added a commit that referenced this pull request Dec 23, 2022
* fix: fix swap rate call v4

* test: fix tests

* chore: add changeset

* LLM - fix ratings modal close behavior

* changelogs added

* Revert hotfix commits (#2091)

* Revert ":fire: hotfix release [skip ci]"

This reverts commit e0e5bb6.

* Revert ":fire: hotfix prerelease [LLD(2.51.0-hotfix.0)]"

This reverts commit 252aa67.

* Revert ":rocket: entering LLD hotfix mode"

This reverts commit 8f708eb.

* Revert ":fire: hotfix release [skip ci]"

This reverts commit 4ca8f86.

* Revert "Update wording"

This reverts commit fea165d.

* Revert "add energy lt for warning message to be display"

This reverts commit 693e44e.

* Revert "add more feelimit to tron trc20"

This reverts commit 1910b23.

* Revert ":fire: hotfix prerelease [LLM(3.12.0)]"

This reverts commit de77a92.

* Revert ":rocket: entering LLM hotfix mode"

This reverts commit 42df4fc.

* 🚀 entering LLD prerelease mode

* chore: fix changesets

* 🚀 release prerelease [LLD(2.51.0-next.0)]

* fix: use existing getProviders call and move decentralizedSwapAvailable to common

* chore: lint fix

* fix: update logic dex provider getExchangeRates

* chore: fix lint

* Bugfix LLD onboarding: Spinner after genuine check isn't displayed (#2122)

* Fix start of post onboarding not being called in the right place

* changeset

* 🚀 release prerelease [LLD(2.51.0-next.1)]

* fix: support binance and polygon and remove extra change

* fix: includes misspelling

* fix: remove providers dependency in swap lld

* fix: add includeDEX variable

* fix: update mobile with provider attribute

* fix: fix index bug

* add BCERT svg icon

Add blockcerts BCERT token icon

* Update BCERT.svg

Removed the complex file, verifying the file can be converted to react native, verifying the requirements are present and avoid what is prohibited.

* Update BCERT.svg

Added the latest requirements and removed what was asked to remove

* Create funny-cat-distillers.md

Commit for the changeset

* feat/LIVE-4953 Rework the Debug menu and tools on LLM

* feat/LIVE-4953 Fix wrong icon size

* feat/LIVE-4953 Added a network screen + brought playground back

* feat/LIVE-4953 Added a command sender tool

* feat/LIVE-4953 Moved QRBenchmark to broken, dont know what it is

* feat/LIVE-4953 Removed direct entry to that broken screen

* feat/LIVE-4953 Refactored the debug appstate screen

* Refacto exchange partner config (#2052)

* Refacto exchange partner config

- use a util function to generate to config based on name, publickey and
signature
- remove curve field from config since it is unused (most of thems had
value `secpk256k1` which is not a valid curve)

* add changeset

* add test

* feat/FAT-738 Renaming stax - cli

* feat/FAT-738 Renaming stax - lld

* feat/FAT-738 Renaming stax - llc

* feat/FAT-738 Renaming stax - llm

* feat/FAT-738 Renaming stax - libs

* Renaming missing stax

* feat/FAT-738 Prevent LLD crash when lastSeenDevice was nanoFTS

* feat/FAT-738 bad merge fix ref to nanofts

* bugfix/FAT-728 Refactor RenameDevice into DeviceAction

* bugfix/FAT-728 UI Polishes

* TS improvements on debugging, chore

* adding wDoge token icon

* Update SVG

* update SVG

* update SVG

* update SVG

* update SVG: reduced size and removed transform tag

* Update SVG

* fix: width & height to 360

* update icon size

Update SVG to match 360 size

* Feat/LIVE-4533 LIVE-4532 - Improve decimal handling to show more digits (#2037)

* Add dynamicSignificantDigits parameter to formatCurrencyUnit to show more digits of value when needed. Also increased this default parameter value from 4 to 6, so more digits will be displayed throught LLM and LLD.

* fix an issue with the currency amount formatter where if the first number was 1 or 2, there was an extra number displayed

* Update coin apps remote branch to the generated one (#2155)

* bugfix/FAT-720 Change custom lockscreen image size LLD

* bugfix/FAT-720 Change custom lockscreen image size LLM

* feat/FAT-738 Pad custom lockscreen image to fit expected fw size

* ratings feature flag renamed in ratingsPrompt

* ratings feature flag renamed in ratingsPrompt

* lint

* bugfix/FAT-742 Prevent crash when app tries to use stored nanoFTS ref (#2157)

* bugfix/FAT-742 Prevent crash when app tries to use stored nanoFTS ref

* bugfix/FAT-742 Missing changeset

* chore: handle nanoFTS on lastConnectedDevice selector

Co-authored-by: Alexandre Magaud <alexandre.magaud@gmail.com>

* Add Stax Lotties animations on LLD (#2138)

* Revert "Merge branch 'main' into release"

This reverts commit b226417, reversing
changes made to e9edef8.

* [LIVE-4876] Bugfix - EVM family bad behaviour with tx type 0 (#2098)

* Remove "from" key in ethers transaction adapter as it will break with tx type 0 (non EIP1559)

* Fix v that can be incorrect with type 0 tx

* changeset

* feat: split webview for v2 api version

Co-authored-by: Junichi Sugiura <JunichiSugiura@users.noreply.github.com>

fix: webview v2 export

chore: update podfile.lock

fix: import issues

feat: init Wallet API v2

fix: wallet-api-server import

fix: bump version of wallet-api

feat: migrate LLC platform to walletAPI

feat: implement more handlers

feat: wallet-api integration
added account.request support using the accounts$ observable
fix transaction.sign return value
remove unneeded serialization/deserialization in transaction.broadcast
cleanup some wallet-api files in LLC
fix platform broadcastTransaction deadlock when DISABLE_TRANSACTION_BROADCAST is enabled

refactor: types and some cleanup

fix: added permissions
bump wallet-api versions
cleanup

test: fix logic test

fix: use constants and setWalletAPIVersion

Introduce WebViewV2 for WebPlatformPlayer

[WIP] Request account handler

Add drawer for request acount handler

Give wallet-api permissions

Pass account list observable to select account drawer

Cleanup

Remove Webview.tsx

Add WebView.tsx

Cleanup

Cleanup

test: fix version tests

refactor: cleanup unused code

refactor: cleanup console.log

fix: add missing permissions

* fix: remove matchVersion usage

* fix: v2 transport send not working on desktop

* refactor: move styled components to a shared file

* feat: use manifest permissions

* chore: changelog

* feat(wallet-api): device.transport integration

* fix: missing buffer in dummy-wallet-app for device.exchange
fix onResult for the action

* Setup device related handlers

* Update dummy app

* Fix internal command

* refactor: revert dummy-live-app changes
already present in dummy-wallet-app

* chore: update lockfile

* chore: bump wallet-api and handle more params

* chore: add changesets

* fix: review comments

* feat: IPCTransport for desktop

* refactor: move IPCTransport back to flow
LLD is not setup for typescript, especially eslint

* refactor: remove bidirectional commands

* Feat/live 4839 anon wallet account (#2069)

* add @types/uuid dev dep

* hash the account id and create a uuidToAccountId map

avoid sending account ids to a live app by creating a unique uuid from
said account id and storing this uuid / account id pair in a map for
easy retrival

* add changeset

* update existing test cases

* fix: serialize/deserialize errors for the IPCTransport

* fix: handle errors better with internal transport

* fix: accounts selector

* fix: unused uuidv4

* fix: share channel name constants

* fix: bump libs

* fix: internal transportChannel imports

* fix: add rxjs7 to LLD & LLM

* chore: bump wallet-api versions

* fix: anon for useGetAccountIds used for request.account

* committing for Juan because he's locked out of github lol

* File apps/ledger-live-desktop/static/i18n/en/app.json was translated to ar-AE locale

* File apps/ledger-live-desktop/static/i18n/en/app.json was translated to zh-CN locale

* File apps/ledger-live-desktop/static/i18n/en/app.json was translated to fr-FR locale

* File apps/ledger-live-desktop/static/i18n/en/app.json was translated to de-DE locale

* File apps/ledger-live-desktop/static/i18n/en/app.json was translated to ja-JP locale

* File apps/ledger-live-desktop/static/i18n/en/app.json was translated to ko-KR locale

* File apps/ledger-live-desktop/static/i18n/en/app.json was translated to pt-BR locale

* File apps/ledger-live-desktop/static/i18n/en/app.json was translated to ru-RU locale

* File apps/ledger-live-desktop/static/i18n/en/app.json was translated to es-ES locale

* File apps/ledger-live-desktop/static/i18n/en/app.json was translated to tr-TR locale

* bugfix/FAT-728 Increase hitslop for edit button, disabled rename when no changes

* Feat/NFT Gallery detox tests (#2158)

* test adding testId to tab bar buttons

* Add nft gallery test specs :
- Add app.json with nft accounts
- Disable Skeleton.tsx animations when MOCK env
- Improve docs
- Remove log box when MOCK env

* fix doc

* fix doc

* Gregor's feedback on detox testings

* Gregor's feedback on detox testings

* updated readme for MOCK and added new line

* Precisions in detox doc

Co-authored-by: Gregor Gilchrist <gregor.gilchrist@ledger.fr>

* Support/improve ruby steps for detox setup (#2169)

added new section for ios setup

added further setup steps

Co-authored-by: Gregor Gilchrist <gregorgilchrist@gmail.com>

* chore: update desktop release notes

* Feature flags UX improvements (#2143)

* Use settings store for persistency of overridden feature flags

* Use LLD settings store for persistency of overridden feature flags

* Remove useless extra "add FF" field in FF settings, add groupedFeatures

* Add grouped features tab

* cleanup

* Add new stax flags in stax group

* Cleanup

* Reuse experimental banner in case flags are locally overridden

* Change default value of featureFlagsBannerVisible

* Remove useless iconNameWeight in groupedFeatures

* lint + changeset

* lint

* chore: comments and cleaning

* feat: specific method to check if a feature flag exists

Avoids unnecessary request errors if a searched feature flag does not exist

Co-authored-by: Alexandre Magaud <alexandre.magaud@gmail.com>

* 🚀 prepare release [skip ci]

* feat: prototype for fetching/displaying dex quotes

* chore: adds providerType to ExchangeRate type.

* feat: filters cex/dex quotes correctly

* fix: fixes issue when there are no filtered rates in swap

* fix: adds undefined rates to the share form

* chore: renames Swap rate components.

* chore: removes decentralizedSwapAvailable logic.

* adds in local flag to show/hide DEX quotes

* fix: correctly shows DEX quotes

* excludes dex quotes from mobile

* fix: adds firebase feature flag for DEX quotes

* chore: update readme.md for feature flags

* fix: ensures selected rate is persisted when filters change

* fix: fixes issue where if there are no filtered rates, remove selected from redux

* fix: fixes type issues

* fix: improves on CEX and DEX provider type

* changelog

* changelog

* fix: fix extra filter in the provider list

* fix: use getProviderConfig util instead dex mock array

* fix: remove extra undefined dex rates

* fix: only shows DEX rates returned from backend

* fix: shows dex quotes for other networks

* chore: comment

* chore: refactors naming

* fix: displays 1inch instead of oneinch

* fix: adds unit tests

* fix: checks currency family

* fix: webview usage with electron 22

* update screenshots (windows-latest)

Co-authored-by: sarneijim <sarneijim@gmail.com>
Co-authored-by: Come Grellard <come.grellard@ledger.fr>
Co-authored-by: hzheng-ledger <71653044+hzheng-ledger@users.noreply.github.com>
Co-authored-by: haammar-ledger <hakim.aammar-ext@ledger.fr>
Co-authored-by: Hakim <59644786+haammar-ledger@users.noreply.github.com>
Co-authored-by: Team Live <team-live@ledger.fr>
Co-authored-by: Thomas Roger Lux <thomas@rogerlux.dev>
Co-authored-by: ofreyssinet-ledger <91890529+ofreyssinet-ledger@users.noreply.github.com>
Co-authored-by: sarneijim <38540290+sarneijim@users.noreply.github.com>
Co-authored-by: Blockcerts Blockchain Canada Inc <111895785+Blockcerts-Blockchain@users.noreply.github.com>
Co-authored-by: Juan Cortés Ross <juan@bohem.io>
Co-authored-by: Alexandre Chabrolin <9203826+chabroA@users.noreply.github.com>
Co-authored-by: Pierre-Louis Crescitz <pierrelouis.crescitz@gmail.com>
Co-authored-by: wanidulf <danielwulf@gmail.com>
Co-authored-by: nparigi-ledger <89014981+nparigi-ledger@users.noreply.github.com>
Co-authored-by: @greweb <renaudeau.gaetan@gmail.com>
Co-authored-by: Alexandre Magaud <alexandre.magaud@gmail.com>
Co-authored-by: Valentin D. Pinkman <valentin.d.pinkman@icloud.com>
Co-authored-by: Kévin Lambert <44363395+lambertkevin@users.noreply.github.com>
Co-authored-by: JunichiSugiura <jun.sugiura.jp@gmail.com>
Co-authored-by: alalmi-ledger <allane.lalmi@ledger.fr>
Co-authored-by: Ledger Live <51667930+ledgerlive@users.noreply.github.com>
Co-authored-by: nparigi-ledger <nicolas.parigi@ledger.com>
Co-authored-by: Gregor Gilchrist <gregor.gilchrist@ledger.fr>
Co-authored-by: Gregor Gilchrist <87659842+ggilchrist-ledger@users.noreply.github.com>
Co-authored-by: Gregor Gilchrist <gregorgilchrist@gmail.com>
Co-authored-by: Desifly <desire.ndri@ledger.fr>
Co-authored-by: cjordan-ledger <chris.jordan-ext@ledger.fr>
Co-authored-by: cjordan-ledger <119950081+cjordan-ledger@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
common Has changes in live-common
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants