Skip to content

Commit

Permalink
Hotfix/fix (#646)
Browse files Browse the repository at this point in the history
* release: v0.22.0-rc.4 to main (#642)

* fix: refactor select currency logic to use reducer and unit test

* chore: commit package-lock

* fix: disable button when insufficient balance

* fix: add token name to min received

* fix: advanced settings modal on swaps

* fix: use 4dp rounding on exchange rate

* fix: toggle button should also toggle amounts

* fix: function font style should be body_medium_m

* feat: make swap confirmation buttons sticky bottom

* fix: standardise button hover, active, disabled css

ref: https://zeroheight.com/0683c9fa7/p/5270b4-buttons/b/32e1a2

* feat: add error state to slippage input

* fix: use intended params for swap advance settings on apply handler

* fix: padding on swap confirm buttons

* fix: no exponents in fees block of swap confirmation

* feat: add sponsor swap transaction UI and add a hook with placeholder

* feat: bump xverse-core dep version and use sponsor2 url

* fix: bump xverse-core version and handle sponsor transaction error

* feat(Dashboard): update new action button style and add swap button

* feat(Swap): add swap screen placeholder

* feat(swap): add swap basic UI

* feat(swap): add more UI components

* feat(swap): add slippage

* feat(swap): make BitCoin and Stacks option in the coin select modal

* feat(swap): add token selection logic

* feat: add swap data connection

* feat(swap): add runSwap

* chore(swap): bump alex-sdk version

* fix(swap): slippage setting

* feat: swap confirm layout

* feat: add data bindings

* fix: function name and copy address

* feat: add advanced settings to the confirmation page

* feat: bump alex-sdk to latest and fix the issue where from is the same as to

* feat: add math.floor before converting to bigInt

* fix: skip action when input is invalid

* chore: update package.lock

* feat(swap): update to support amm v1_1 pools

* chore: fix lint warnings

* fix: update swap svg stroke and add missing translation

* fix: add key to fix react warnings

* chore: fix lint warnings

* fix: add error 700 border to swap token card

* fix: update swap error message and restrict input to number

* chore: prettier

* style: add a not-allowed cursor to disabled buttons

* fix: update translations

* fix: use background elevation_1

* style: update swap details spacing

* style: use unicode arrow right for swap route details

* feat: implement toggle tokens button in swaps

* feat: add reset slippage button to swaps

* fix: refactor select currency logic to use reducer and unit test

* chore: commit package-lock

* fix: disable button when insufficient balance

* fix: add token name to min received

* fix: advanced settings modal on swaps

* fix: use 4dp rounding on exchange rate

* fix: toggle button should also toggle amounts

* fix: function font style should be body_medium_m

* feat: make swap confirmation buttons sticky bottom

* fix: standardise button hover, active, disabled css

ref: https://zeroheight.com/0683c9fa7/p/5270b4-buttons/b/32e1a2

* feat: add error state to slippage input

* fix: use intended params for swap advance settings on apply handler

* fix: padding on swap confirm buttons

* fix: no exponents in fees block of swap confirmation

* style: prettier

* chore: update package-lock with npm i

* chore: fix package-lock.json for correct xverse-core dep

* chore: replace workflow dep with github api calls

* chore: remove erroneous `

* Fix Edit fees popup error

* Fix Edit fees popup error

* Add receiving address verification for ledger accounts

* Fix warning display condition on the ledger verification screen

* Dont close popup on checkbox click

* fix: fix for JSON serialisation of location.state

* chore: use the test instance URL

* chore: upgrade to alex-sdk 0.1.14

* Show wrong ledger device error

* Add custom ledger account name validation

* fix: turn react deps warning back on and fix stale callback

* fix: move sponsor url to constants and add sponsor to swap unsigned tx

* fix: display the transaction explorer link on successful sponsored tx

* fix: set swap transaction fee to 0 if being sponsored

* The transaction history not showing a pending send transaction that was just sent from the address

* release v0.14.0

* chore: update xverse-core to published release 1.4.0

* chore: update swaps xverse sponsor 2 host

* fix: remove btc from swaps coin modal. change was removed during merge

* fix: remove static text describing swap route

* Add Before Getting Started screen for Ledger onboarding

* update copy

* add links and update copy

* chore: add husky and pre commit prettier to staged files

* chore: run prettier --write ./src

* fix: show inscription service fee fiat amount

* Fix ledger account name UI issue

* Show loader instead of previous transaction history data

* comment out swaps button

* Add localization for onboarding flow Ledger Live warning screen

* chore: automatically do husky install on npm install

* chore: prefer .husky for hooks

* chore: run prettier again

* fix: fix unsigned tx serialisation in advance settings for swaps

* fix: use getNewNonce to ensure swaps transactions have correct nonce

* docs: comment

* bump xverse-core to v1.4.2

* fix: only show swaps button if not on a ledger account

* fix: post condition info should display to/from depending on the swap

* Fix regression issues v0.14.0-rc.1

* fix: ensure we are sending the correct ordinal

* fix: ensure we are sending the correct ordinal

* 0.14.1

* fix: remove unnecessary nested BalanceAmountText

* fix: use semantic html instead of all h1

* fix: add a filter list to not display coins for swaps

* Fix screen crash when changing account on /send-brc20 screen

* fix: button should always be disabled when processing

and show loading state in swap with await, and fix typing

* Update /send-brc20 screen logic

* use toString to convert value to BigNumber

* chore: bump xverse-core to 1.5.0

* fix: not all tickers are all uppercase e.g. xBTC

* fix: decouple alex swap from/to token list and visible token list

* Fix the case when address verification screen flashes when using wrong device

* Add an override switch for sponsoring transaction in swap screen

* Update function param name

* chore: bump core version to 1.6.0 (#560)

* Allow send ordinal to self and display warning instead of error (#525)

* feat: allow send ordinal to self and display warning instead of error

* feat: remove send btc send to self error and use warning

also adjust send ordinal warning if sending brc20 ordinal to self

* Release v0.15.0 (#544)

* bump version to v0.15.0

* Switch to alex sdk & url for sponsoring service

Inspect error code and show sponsoring service info block

feat: move alex sponsored transaction hook to new file

revert: changes to useSponsoredTransaction hook for future use

fix: sponsor transaction switch should toggle userOverrideSponsorValue

feat: add a try again button on failed swaps due to sponsor error

* feat: add warning texts to explain why a swap cannot be sponsored (#553)

* fix: enforce width on swap number input (#554)

* Fix swap screen fee update issue (#555)

* Use correct value for fee card component

* Fix fee state management

* Dont show fee block when sponsored

* chore: bump xverse-core to 1.5.1 to include fetchStxPendingTxData fix

* Fix ui glitch on the login screen (#556)

* Remove css transition code

* Add hover and active state

* fix: use :disabled css pseudo class instead of props on buttons

---------

Co-authored-by: Tim Man <[email protected]>

* Fix swaps tx history (#557)

* Use ft transfer array to show token specific history

* Add filter to only show specific token history

* Refactor txTransfers file to reuse code

* Use token ticker

* Update variable name

* Use correct decimal places for fungible token (#559)

* Use ftDecimals function for fungible token amount

* fix undefined check

---------

Co-authored-by: Tim Man <[email protected]>
Co-authored-by: Imamah-Zafar <[email protected]>
Co-authored-by: Tim Man <[email protected]>
Co-authored-by: Imamah-Zafar <[email protected]>

* chore: bump xverse-core to 1.6.1 (#561)

* fix: Don't use ordinals as inputs when recovering ordinals (#558)

* Use updated type from sats-connect (#546)

* Use updated type from sats-connect

* chore: bump sats-connect to 1.0.0

* Update package-lock.json

---------

Co-authored-by: Tim Man <[email protected]>
Co-authored-by: Tim Man <[email protected]>

* feat: remove binance onramp from buy screen (#567)

* Release 0.16.0 (#565)

* 0.16.0

* feat: change restore and backup wallet inputs (#566)

* chore: fix eslint errors with typing and use of fragments

* feat: move restore wallet route to larger screen size

* feat: replace restore wallet seed phrase text area with input boxes

* fix: ensure only one input can be visible at a time

* feat: implement verify seed quiz

* feat: disable copy of seed phrase view

* fix: set error message properly

* refactor: clean up to use one effect

* fix: styling and input labels on backup/restore wallet

* fix: handle edge case where new mnemonic already contains the answer

* feat: seedPhraseInput will focus on next input on space

and do not allow some common special characters

* fix: decouple copy from restore wallet and change password screens

* fix: bump xverse-core to 1.6.2 (#574)

* Fix incorrect swap transaction fee ticker (#562)

* Use STX as fee currency in swap screen

* Fix typo

* Fix variable name

* Fix fiat rate state calculation

* Show correct ticker and currency

* Remove isSponsored check for fee amount

* Add ability to remove connected Ledger account (#524)

* Add ability to remove connected Ledger account

* Improve the ledger account removal logic

* Select the first account after ledger account removal

* Create a reusable `optionsDialog` component

* Fix account list logic, rename `seperator` component to `separator`

* Fix option dialog indents

* Add `deviceAccountIndex` value for ledger accounts that are missing it

* Fix ledger account address verification

* Move the `deviceAccountIndex` field migration to `loadActiveAccounts` func

* Update copy

---------

Co-authored-by: Tim Man <[email protected]>

* Support BTC message signing with ledger accounts (#549)

* Support BTC message signing with ledger accounts

* Remove console.logs

* Change ledger signing modal displaying

* Add segwit tx signing functionality

* Use `signSimpleBip322Message` method for bip 322 message signing

* Update package-lock.json

* Update PSBT signing logic for ledger accounts

* Add `findLedgerAccountId` util, update usage for `signIncomingSingleSigPSBT` function

* Update `isAccountSelected` func logic for external popup account select window

* Pass an array of inputs to sign to `signIncomingSingleSigPSBT` func

* Move `handleBip322LedgerMessageSigning` func to utils, make some small code fixes

* Disable the PSBT signing for BTC ledger accounts

* Remove the `@stacks/common` module

* Add error warning regarding ledger Bitcoin app version

* Update error handling for signature request popup

* Update copy and make some small UI tweaks

* Update the copy for message signing screen

* release: v0.17.0 (#576)

* release: v0.17.0

* chore: bump to 1.6.3-rc.1 (#575)

* chore: bump to 1.6.3-rc.1

* bump core version

---------

Co-authored-by: Yukan <[email protected]>

* update package-lock

---------

Co-authored-by: Yukan <[email protected]>

* Filter out dead pending transactions (#568)

* Filter out dead pending transactions

* Get account current nonce from confirmed and pending transactions

* Refactor filterng out dead pending transaction logic

* Address comments

* Update variable name

* fix: account select navigation (#578)

* Display pending fungible token transactions in token dashboard (#572)

* Update filterTx function to show pending fungible transactions

* Fix transaction title display

* Show pending ordinal transactions (#563)

* Show pending ordinal transactions

* Slight refactor of getBtcTokenTransferTitle

* Fix duplicate tx in groupBtcTxsByDate

* chore: bump to xverse-core v1.6.4-rc.2

* Remove unused fallback value

---------

Co-authored-by: Den <[email protected]>
Co-authored-by: Tim Man <[email protected]>

* feat: add Xverse namespaced providers (#581)

* add Xverse namespaced providers

* fix comments

* Enable PSBT signing for ledger BTC accounts (#570)

* Support BTC message signing with ledger accounts

* Remove console.logs

* Change ledger signing modal displaying

* Add segwit tx signing functionality

* Use `signSimpleBip322Message` method for bip 322 message signing

* Update package-lock.json

* Update PSBT signing logic for ledger accounts

* Add `findLedgerAccountId` util, update usage for `signIncomingSingleSigPSBT` function

* Update `isAccountSelected` func logic for external popup account select window

* Pass an array of inputs to sign to `signIncomingSingleSigPSBT` func

* Move `handleBip322LedgerMessageSigning` func to utils, make some small code fixes

* Disable the PSBT signing for BTC ledger accounts

* Enable PSBT signing for ledger BTC accounts

* Remove the `@stacks/common` module

* Add error warning regarding ledger Bitcoin app version

* Update error handling for signature request popup

* Update copy and make some small UI tweaks

* Update the copy for message signing screen

* Update PSBT signing screen copy

* fix: allow display of brc-20 if application/json type (#587)

* fix: allow display of brc-20 if application/json type

* make bg colours for a BRC-20 coin consistent

* fix: full screen and popup styling (#577)

* fix: full screen and popup styling

* fix screen container

* fix app load styling

* fix full screen popup pages

---------

Co-authored-by: Tim Man <[email protected]>

* feat: add inscription confirmation for sats connect (#571)

* feat: add inscription confirmation for sats connect

* implement inscribing and improve event naming

* Added complete inscription screen

* Add edit fees

* Add HTML and SVG preview functionality

* change content to content type and allow more previews

* implement error designs on main screen

* add error modal

* fix: completion page not displaying

* fix: styling issues and add inscription developer fees

* add custom initial fee rate

* fix screen height styling

* set app height to 600 again

* revert screen container size

* improve screen container height

* moved feerate get one level up

* fix: full screen and popup styling

* fix screen container

* fix app load styling

* Make top address selector sticky. Also fixes it for sign psbt and sign message requests

* Update todos

* fix full screen popup pages

* fix account row styling

* add json validaiton

* add brc-20 and sats names views

* add preview menu and fix styling

* add preview markdown

* switch to single inscribe event

* fix preview of file type text and html

* Ensure we only use non ordinal UTXOs for inscriptions

* update sats-connect arg names and update the dom event name

* fix type name

* Show correct fiat currency

* Use phosphor-icons

* update beta core

* fix: fee rate and styling issues

* clean up icons

* Clean up more icons

* Update Core

* Update sats connect version

* Update sats connect

* Add STX support for Ledger accounts (#564)

* Add STX support for Ledger accounts

* Update the copy and ledger account import logic

* Update the ledger account import logic for STX support

* Add `/add-stx-address-ledger` route for adding stx account

* Remove the old case handling when there is no `ordinalsAddress`

* Add STX address verification with ledger device

* Remove the `/send-stx-ledger` path and update `/send-stx` to handle ledger

* Handle regular STX transactions

* Remove unused `/review-ledger-stx-tx` path, add STX NFT handling

* Remove `/review-ledger-ft-tx` and `/send-ft-ledger` routes, update `/send-ft` to support ledger

* Enable STX auth requests for ledger accounts that have an STX address

* Add link to the auth popup  to add the STX Ledger account

* Update screen UI for STX NFT sending

* Update copy for STX incoming tx signing

* Update STX message signing logic

* Update STX-related logic for ledger accounts

* Update error handling for STX message signing with ledger

* Get rid of `findLedgerAccountId` ledger util, move more copy to locales

* Fix cropped button container for tx signing popup

* Update address index definition for adding stx address

* Update address index definition for address verification and stx tx confirmation

* Update address index definition for stx jwt auth

* Fix ledger account import when both BTC and STX options are selected

* Fix `unsignedTx` type

* Add `StacksRecipient` type and make some small code fixes

* Add `icon` prop for the `ActionButton` component

* Change the ledger steps in a callback

* Add types for ledger tx state objects

* Fix account index for stx account import, update ledger tx types and utils

* Change the import path for `StacksRecipient`

* Add error handling when user rejects stx address

* Add a guard from account changing for the `/add-stx-address-ledger` route

* Remove the back button on the ledger account import flow

* Throw an error when `stacksCreds` were not fetched

* Upgrade `@secretkeylabs/xverse-core` version to `^1.6.5-3bb284c`

* Update package files

* Fix add stx address error handling

* Fix signing with 1st ledger account and bottom modal position

* Skip the `No errors` value of the `errorMessage` for STX ledger signature

* Remove the caret symbol in `sats-connect` package version

* chore: bump xverse-core version 1.7.2

---------

Co-authored-by: Tim Man <[email protected]>

* fix: brc-20 balance number check (#592)

* fix: don't show fees until we have UTXOs on inscription screen (#594)

* fix: improve full screen popup styling (#593)

* fix: improve full screen popup styling

* fix: set height to 600 on options window

* Release/v0.18.0 (#591)

* release: v0.18.0

* feat: add inscription confirmation for sats connect (#571)

* feat: add inscription confirmation for sats connect

* implement inscribing and improve event naming

* Added complete inscription screen

* Add edit fees

* Add HTML and SVG preview functionality

* change content to content type and allow more previews

* implement error designs on main screen

* add error modal

* fix: completion page not displaying

* fix: styling issues and add inscription developer fees

* add custom initial fee rate

* fix screen height styling

* set app height to 600 again

* revert screen container size

* improve screen container height

* moved feerate get one level up

* fix: full screen and popup styling

* fix screen container

* fix app load styling

* Make top address selector sticky. Also fixes it for sign psbt and sign message requests

* Update todos

* fix full screen popup pages

* fix account row styling

* add json validaiton

* add brc-20 and sats names views

* add preview menu and fix styling

* add preview markdown

* switch to single inscribe event

* fix preview of file type text and html

* Ensure we only use non ordinal UTXOs for inscriptions

* update sats-connect arg names and update the dom event name

* fix type name

* Show correct fiat currency

* Use phosphor-icons

* update beta core

* fix: fee rate and styling issues

* clean up icons

* Clean up more icons

* Update Core

* Update sats connect version

* Update sats connect

* Use `ticker` field instead of `name` for ft and brc-20 token sending (#595)

* update package-lock.json

---------

Co-authored-by: Victor Kirov <[email protected]>
Co-authored-by: Yukan <[email protected]>
Co-authored-by: Den <[email protected]>

* Fix Tx history screen reload & send form navigation issues (#584)

* Donot show spinner when refetching transaction history data

* Fix STX navigation issue

* Fix input fields clearance on naviagtion

* Update dependency array for useEffect

* Add comment

* Fix memo error

* Support script outputs in psbts (#534)

* Support script outputs

* Update copy

* Revert package.json change

* Add info message for output script

* Use Array.some

* Remove unused style

* Update core versio  and address comments

* Remove pretext from output script ui

* Refactor render script output logic

* Donot show spinner when refetching transaction history data

* Fix STX navigation issue

* Fix input fields clearance on naviagtion

* chore: turn on eslint for staged files on precommit

and turn off no-plusplus rule

* Fix eslint issues

* Update dependency array for useEffect

* Add comment

* Fix script count

* fix: eslint fix

---------

Co-authored-by: Tim Man <[email protected]>
Co-authored-by: Tim Man <[email protected]>

* Mismatch when verifying the addresses from the ledger device (#580)

* Handle min fee rate returned by the API (#583)

* Handle min fee rate returned by the API

* Add a check for the STX tx min fee

* Fix a couple of tslint errors

* fix: don't show loader on balance refetch on home screen ENG-2757 (#589)

* Add refetch loader

* resize loading spinner

* Release/v0.18.2 (#600)

* release: v0.18.0

* feat: add inscription confirmation for sats connect (#571)

* feat: add inscription confirmation for sats connect

* implement inscribing and improve event naming

* Added complete inscription screen

* Add edit fees

* Add HTML and SVG preview functionality

* change content to content type and allow more previews

* implement error designs on main screen

* add error modal

* fix: completion page not displaying

* fix: styling issues and add inscription developer fees

* add custom initial fee rate

* fix screen height styling

* set app height to 600 again

* revert screen container size

* improve screen container height

* moved feerate get one level up

* fix: full screen and popup styling

* fix screen container

* fix app load styling

* Make top address selector sticky. Also fixes it for sign psbt and sign message requests

* Update todos

* fix full screen popup pages

* fix account row styling

* add json validaiton

* add brc-20 and sats names views

* add preview menu and fix styling

* add preview markdown

* switch to single inscribe event

* fix preview of file type text and html

* Ensure we only use non ordinal UTXOs for inscriptions

* update sats-connect arg names and update the dom event name

* fix type name

* Show correct fiat currency

* Use phosphor-icons

* update beta core

* fix: fee rate and styling issues

* clean up icons

* Clean up more icons

* Update Core

* Update sats connect version

* Update sats connect

* Use `ticker` field instead of `name` for ft and brc-20 token sending (#595)

* update package-lock.json

* release v0.18.2

* fix send through app fees when inscribing

* update package-lock

---------

Co-authored-by: Tim Man <[email protected]>
Co-authored-by: Victor Kirov <[email protected]>
Co-authored-by: Tim Man <[email protected]>
Co-authored-by: Den <[email protected]>

* feat: 1 step brc 20 transfers (#585)

* chore: use xverse-core with brc20 hooks

* refactor: make reusable fiat row component from sendForm

* feat: update send brc20 form to use 1 step mode

* feat: update theme elevations to revamp elevations

* fix: ensure brc20 currencies are uppercase

* fix: remove margin on reusable component tokenImage

* feat: create confirm brc20 transaction screen

* chore: add jsx key eslint rule

* feat: style the brc20 review screen & fees component

* feat: implement edit fees for brc20 transfer

* fix: show brc20 ticker and image on confirm screen

* fix: styling of account header and other brc20 fixes

* feat: remove copy buttons from account header

* feat: bottom bar will always maintain height

* fix: padding and margins on confirm brc20 screen

* feat: create a file for common styles and new screen for execute brc20

* fix: styling, react errors, and estimate fees on click edit fees buttons

* fix: edit fees button width

* fix: account list padding

* feat: implement loading status animation

* feat: integrate the animations for loading transaction status

* fix: clean up TODOs

* feat: use content loader in brc20 edit fees

* chore: rename the common styled file

* fix: fix reset user flow on confirmBrc20Transaction and unused styles

* Revert "feat: bottom bar will always maintain height"

This reverts commit 07e9fca564beb0a971c4703aa07893a8a9491e5d.

* docs: comment

* Update src/app/screens/confirmBrc20Transaction/index.tsx

Co-authored-by: Victor Kirov <[email protected]>

* style: use relative import for consistency

* style: remove unused comment

* docs: add todo to existing comment

* fix: reset user flow to '/' and other review fixes

* fix: don't clear input if a disallowed key is pressed

* fix: ensure only run executeBrc20Transaction once

* refactor: simplify usage of useResetUserFlow

* chore: remove unused types

* chore: update core version to use new brc20 hook

* refactor: use useBrc20EstimateTransfer hook

* refactor: save edit fees previous state if user clicks cancel

* refactor: separate logic to hook

* fix: add hook typings and use phosphor icon

* fix: actually pass the user input fee rate to execute transfer

* fix: disable cancel and confirm buttons while estimate fee is loading

* fix: add padding back in account row list on btc select address screen

* fix: colors on options and popup css

* fix: button positioning on full screen ledger view

* refactor: rename one step brc20 send screen and put TODOs for ledger

* revert: restore 2 step brc20 send form for ledger support

* fix: apply useResetUserFlow update to sendBrc20

* fix: restore 2 step brc20 translations

* fix: update new pages to refactored reset user flow hook

---------

Co-authored-by: Victor Kirov <[email protected]>

* update license (#606)

* Add scrollbar on all scrollable screens (#582)

* Update scrollbar

* Include scrollbar styling in theme file

* Show transparent scrollbar in account list screen

* Remove disable cycle dependency flag

* Revert unrelated eslint fixes

* Update src/theme/index.ts

Co-authored-by: Tim Man <[email protected]>

* Update theme file

* Add missing hidden scrollbar css

---------

Co-authored-by: Tim Man <[email protected]>

* fix: loader on home page issues (#603)

Co-authored-by: Tim Man <[email protected]>

* Fix scrollbar in landing page (#609)

* Fix scrollbar in landing page

* Revert "Fix scrollbar in landing page"

This reverts commit 46c1a8f45cd4f308c84a15db2e57bc284515bbbe.

* fix: add back the global CSS to hide scrollbars by default

and add display: block on scrollbars CSS when desired

---------

Co-authored-by: Tim Man <[email protected]>

* feat: notice for an non taproot address when sending brc 20 tokens (#602)

* refactor: move fiatRow into separate component

* feat: add callout and inputFeedback to send brc20 one step screen

and include components in ui-library

* feat: add conditional callouts to confirm brc20 screen

* feat: update the recipient card on confirm brc20 transaction

* fix: input borders should reflect errors only, not info feedback

* refactor: include a helper function for checking if error state

* refactor: make styles consistent in callout.tsx

* fix: remove unused icon variants

* fix: fix styling and imports on brc20 one step and callout component

* refactor: use recipient card props instead of type from core

* fix: update success callout color and add to theme

* fix:  fix estimate fee error not showing, and vertical align of callout body

* refactor: use styled components instead of React.createElement

* Revert "refactor: use styled components instead of React.createElement"

This reverts commit 31faea642fdcc867b0cec707bf2ff8a5814aab44.

* fix: disable key presses for - and . on brc20 edit fees

* refactor: use styled icon instead of React.createElement

* refactor: use fiatAmountText component and allow styling

* fix: use input feedback in editFees and update components to allow styled components

* release: v0.19.0 (#607)

* release: v0.19.0

* update package-lock

* bump xverse core version to fix fee issue

---------

Co-authored-by: Yukan <[email protected]>

* Build analytics tracking for web-extension (#590)

* Build analytics tracking for web-extension

* Add `/privacy-preferences` screen

* Build analytics tracking for web-extension

* Update mixpanel tracking logic

* Remove unused wallet action name

* Add authorize data collection toggler and popup

* Update tracking logic

* Add translation keys

* Update mixpanel tracking logic

* Remove unused imports

* Make some code changes after PR review, upgrade `xverse-core` package version

* Upgrade `xverse-core` package version

* Resolve git conflicts

* Handling fees with thresholds (#601)

* Handling fees with thresholds

* Add margin under the high fees warning

* Change the high fees warning position for Ordinals & Brc-20 txs

* Show the warning if the initial fee from transaction is greater than the threshold

* Add high fee warning for one-step brc20 transfer

* update copy

---------

Co-authored-by: Yukan <[email protected]>

* Refactor ledger-related logic (#586)

* Add STX support for Ledger accounts

* Update the copy and ledger account import logic

* Update the ledger account import logic for STX support

* Add `/add-stx-address-ledger` route for adding stx account

* Remove the old case handling when there is no `ordinalsAddress`

* Add STX address verification with ledger device

* Remove the `/send-stx-ledger` path and update `/send-stx` to handle ledger

* Handle regular STX transactions

* Remove unused `/review-ledger-stx-tx` path, add STX NFT handling

* Remove `/review-ledger-ft-tx` and `/send-ft-ledger` routes, update `/send-ft` to support ledger

* Enable STX auth requests for ledger accounts that have an STX address

* Add link to the auth popup  to add the STX Ledger account

* Update screen UI for STX NFT sending

* Update copy for STX incoming tx signing

* Update STX message signing logic

* Update STX-related logic for ledger accounts

* Update error handling for STX message signing with ledger

* Get rid of `findLedgerAccountId` ledger util, move more copy to locales

* Fix cropped button container for tx signing popup

* Update address index definition for adding stx address

* Update address index definition for address verification and stx tx confirmation

* Update address index definition for stx jwt auth

* Refactor ledger-related logic

* Refactor ledger account import

* Fix ledger account import when both BTC and STX options are selected

* Refactor ledger address verification screen

* Refactor ledger tx confirmation screen

* Refactor Add stx address screen

* Fix `unsignedTx` type

* Add `StacksRecipient` type and make some small code fixes

* Add `icon` prop for the `ActionButton` component

* Change the ledger steps in a callback

* Add types for ledger tx state objects

* Fix account index for stx account import, update ledger tx types and utils

* Change the import path for `StacksRecipient`

* Change the steps numeration for ledger account import

* Get rid of unused step changing logic for ledger account import

* Add more error handling

* Update xverse-core version for testing purposes

* Remove caret symbol in xverse-core package

* Fix CI build

* Make a couple of code fixes according to PR review comments

* Add more transaltions

* Add the `DEFAULT_TRANSITION_OPTIONS` constant

* Make separate components for Steps and StepControls for the Ledger account import flow

* Fix style imports

* Upgrade the `xverse-core` package version

* Upgrade `xverse-core` package version

* Disable PSBT tx signing for ledger accounts

* update xverse-core

* package-lock

---------

Co-authored-by: Yukan <[email protected]>

* Release/v0.20.0 (#611)

* chore: merge from upstream develop (#26)

* release: v0.19.0 (#607)

* release: v0.19.0

* update package-lock

* bump xverse core version to fix fee issue

---------

Co-authored-by: Yukan <[email protected]>

* Build analytics tracking for web-extension (#590)

* Build analytics tracking for web-extension

* Add `/privacy-preferences` screen

* Build analytics tracking for web-extension

* Update mixpanel tracking logic

* Remove unused wallet action name

* Add authorize data collection toggler and popup

* Update tracking logic

* Add translation keys

* Update mixpanel tracking logic

* Remove unused imports

* Make some code changes after PR review, upgrade `xverse-core` package version

* Upgrade `xverse-core` package version

* Resolve git conflicts

* Handling fees with thresholds (#601)

* Handling fees with thresholds

* Add margin under the high fees warning

* Change the high fees warning position for Ordinals & Brc-20 txs

* Show the warning if the initial fee from transaction is greater than the threshold

* Add high fee warning for one-step brc20 transfer

* update copy

---------

Co-authored-by: Yukan <[email protected]>

* Refactor ledger-related logic (#586)

* Add STX support for Ledger accounts

* Update the copy and ledger account import logic

* Update the ledger account import logic for STX support

* Add `/add-stx-address-ledger` route for adding stx account

* Remove the old case handling when there is no `ordinalsAddress`

* Add STX address verification with ledger device

* Remove the `/send-stx-ledger` path and update `/send-stx` to handle ledger

* Handle regular STX transactions

* Remove unused `/review-ledger-stx-tx` path, add STX NFT handling

* Remove `/review-ledger-ft-tx` and `/send-ft-ledger` routes, update `/send-ft` to support ledger

* Enable STX auth requests for ledger accounts that have an STX address

* Add link to the auth popup  to add the STX Ledger account

* Update screen UI for STX NFT sending

* Update copy for STX incoming tx signing

* Update STX message signing logic

* Update STX-related logic for ledger accounts

* Update error handling for STX message signing with ledger

* Get rid of `findLedgerAccountId` ledger util, move more copy to locales

* Fix cropped button container for tx signing popup

* Update address index definition for adding stx address

* Update address index definition for address verification and stx tx confirmation

* Update address index definition for stx jwt auth

* Refactor ledger-related logic

* Refactor ledger account import

* Fix ledger account import when both BTC and STX options are selected

* Refactor ledger address verification screen

* Refactor ledger tx confirmation screen

* Refactor Add stx address screen

* Fix `unsignedTx` type

* Add `StacksRecipient` type and make some small code fixes

* Add `icon` prop for the `ActionButton` component

* Change the ledger steps in a callback

* Add types for ledger tx state objects

* Fix account index for stx account import, update ledger tx types and utils

* Change the import path for `StacksRecipient`

* Change the steps numeration for ledger account import

* Get rid of unused step changing logic for ledger account import

* Add more error handling

* Update xverse-core version for testing purposes

* Remove caret symbol in xverse-core package

* Fix CI build

* Make a couple of code fixes according to PR review comments

* Add more transaltions

* Add the `DEFAULT_TRANSITION_OPTIONS` constant

* Make separate components for Steps and StepControls for the Ledger account import flow

* Fix style imports

* Upgrade the `xverse-core` package version

* Upgrade `xverse-core` package version

* Disable PSBT tx signing for ledger accounts

* update xverse-core

* package-lock

---------

Co-authored-by: Yukan <[email protected]>

---------

Co-authored-by: Yukan <[email protected]>
Co-authored-by: Den <[email protected]>

* chore: allow ci build version to pass env vars to build (#27)

* feat/eng 2904 implement frontend on web extension (#5)

* Tim/eng 2933 implement dashboard display of rare sats bundles (#1)

* chore: create a hook for rare sats with placeholder data

* chore: add some inscription placeholder with image

* feat/eng 2933 implement dashboard rare sats tab (#4)

* chore: create a collectiblesTabs component with react-tabs

* refactor: move nft dashboard logic into hook

* feat: move rare sats into separate tab

* fix: add tab state styling and move to common.styled

* feat: style collectibles header

* fix: restyle all grid item colors and add total items

* fix: supply total nfts and total rare sats number

and type the collectiblesTabs props

* style: comments

* feat/eng 2934 implement sats bundle UI screen (#6)

* Abdulhaseeb/eng 2930 implement settings screen updates (#7)

* feat: enable rare sats from settings

* fix: disabled UI

* fix: typos

* Abdulhaseeb/eng 2931 implement info dialogs (#8)

* feat: enable rare sats from settings

* feat: notice alert and rarities screen

* feat: new feature dialog

* fix: styles

* feat: add UI for rare sats bundle in collectible item details (#2)

* fix: ordinal thumbnails were broken (#10)

* Add no collectibles and error screens (#11)

* feat: integrate rare sats form core (#9)

* feat: add rare sats item detail screen (#3)

* feat: add UI for rare sats bundle in collectible item details

* feat: implement rare sats details screen

---------

Co-authored-by: Tim Man <[email protected]>

* feat: implement rare sats send screen (#12)

* chore: use getUtxoOrdinalBundle to know if a inscription belongs to a bundle (#14)

* Abdulhaseeb/eng 2938 implement rare sats confirm screen (#15)

* feat: confirm rare sat tx

* feat: added warning callout

* feat: implement UI for rare sats thumbnails (#16)

* feat: add UI for rare sats bundle in collectible item details

* feat: implement rare sats details screen

* feat: add rare sats thumbnathumbnails

* chore: add missing mock data for testing inscriptions belonging to a bundle

* Tim/eng 2959 set up test mocks (#17)

* fix: react console errors

* fix: send rare sat heading and sub text

* fix: eslint errors

* chore: add mock test cases in hook

* fix: back button sometimes has no history

* fix: revert merge change

* fix: should be no commoners in mock tests

* feat: added thumbnail in confirm screen (#18)

* fix: react console errors

* fix: send rare sat heading and sub text

* fix: eslint errors

* chore: add mock test cases in hook

* fix: back button sometimes has no history

* fix: revert merge change

* fix: should be no commoners in mock tests

* feat: added thumbnail in confirm screen

* fix: ui

---------

Co-authored-by: Tim Man <[email protected]>

* fix: rarities screen UI (#19)

* chore: fix some todos and issues in rare sats feature (#20)

* chore: Unify assets and rarity label in rarityTile and rareSatIcon components

* chore: create bundle asset and use it in RareSatsTabGridItem and confirm send screen

* chore: add bundle asset component in send screen

* chore: make glow optional and remove it from inscribed rare sats asset

* chore: add assets to bundle gallery view

* chore: remove unsupported media callout. add margin bottom and fix cannot send rare sat individually for gallery view

* fix: styling on gallery view for dashboard and rare sats bundle grids (#22)

* fix: styling on gallery view for dashboard and rare sats bundle grids

* fix: add column layout for rare sats bundle gallery view

* fix: rare sats bundle back should always fo to gallery

* fix: header spacing rare sats bundle and load more button

* feat: add isLoading state for rare sats tab

* fix: remove is owned by active account check

the user flow resets whenever account changes, so this check is no
longer necessary

* feat: save collectibles tab index in query params

* fix: restore ledger open in new tab behaviour

* fix: show info panel regardless of empty state (#23)

* chore: fix UI issues (#24)

* chore: fix issues with dont see your rare sat banner

* chore: fix ui issues in rare sats details screen

* Update src/app/screens/nftDashboard/notice.tsx

* refactor: use library components and minor styling fixes

* fix: rare sat bundle send button width

* fix: add separator in gallery view rare sats bundle and styling fixes

* fix: minor style fix

---------

Co-authored-by: Tim Man <[email protected]>

* fix: branch merge errors

* chore: remove mock data (#28)

* chore: remove mock data

* chore: add extenral links to scan tool and rare sats post

* chore: move external link urls to constants file

---------

Co-authored-by: Abdul Haseeb <[email protected]>
Co-authored-by: fede erbes <[email protected]>
Co-authored-by: Victor Kirov <[email protected]>

* release v0.20.0

* chore: bump to xverse-core 1.8.2 for bip322 signing fix

* fix: collectibles dashboard should ignore invalid params errors (#33)

* fix: put in a quick fix for more location.state serialization bugs (#34)

* chore: add support for rare sats in tx confirmation screen (#35)

* chore: add support for rare sats in tx confirmation screen

* chore: remove logs and fix typo

* chore: change unknown icon

---------

Co-authored-by: Yukan <[email protected]>
Co-authored-by: Den <[email protected]>
Co-authored-by: Abdul Haseeb <[email protected]>
Co-authored-by: fede erbes <[email protected]>
Co-authored-by: Victor Kirov <[email protected]>

* Show BRC20 token transaction history (#523)

* Show BRC20 token transaction history

* Handle pending state

* Use updated brc20 transaction history response

* Update package.lock.json file

* fix loading state

* Update brc20 history tx title

* Update core version to latest

---------

Co-authored-by: Denys Hriaznov <[email protected]>

* fix rare sats settings copy (#612)

* Release/0.21.0 (#613)

* chore: merge from upstream develop (#26)

* release: v0.19.0 (#607)

* release: v0.19.0

* update package-lock

* bump xverse core version to fix fee issue

---------

Co-authored-by: Yukan <[email protected]>

* Build analytics tracking for web-extension (#590)

* Build analytics tracking for web-extension

* Add `/privacy-preferences` screen

* Build analytics tracking for web-extension

* Update mixpanel tracking logic

* Remove unused wallet action name

* Add authorize data collection toggler and popup

* Update tracking logic

* Add translation keys

* Update mixpanel tracking logic

* Remove unused imports

* Make some code changes after PR review, upgrade `xverse-core` package version

* Upgrade `xverse-core` package version

* Resolve git conflicts

* Handling fees with thresholds (#601)

* Handling fees with thresholds

* Add margin under the high fees warning

* Change the high fees warning position for Ordinals & Brc-20 txs

* Show the warning if the initial fee from transaction is greater than the threshold

* Add high fee warning for one-step brc20 transfer

* update copy

---------

Co-authored-by: Yukan <[email protected]>

* Refactor ledger-related logic (#586)

* Add STX support for Ledger accounts

* Update the copy and ledger account import logic

* Update the ledger account import logic for STX support

* Add `/add-stx-address-ledger` route for adding stx account

* Remove the old case handling when there is no `ordinalsAddress`

* Add STX address verification with ledger device

* Remove the `/send-stx-ledger` path and update `/send-stx` to handle ledger

* Handle regular STX transactions

* Remove unused `/review-ledger-stx-tx` path, add STX NFT handling

* Remove `/review-ledger-ft-tx` and `/send-ft-ledger` routes, update `/send-ft` to support ledger

* Enable STX auth requests for ledger accounts that have an STX address

* Add link to the auth popup  to add the STX Ledger account

* Update screen UI for STX NFT sending

* Update copy for STX incoming tx signing

* Update STX message signing logic

* Update STX-related logic for ledger accounts

* Update error handling for STX message signing with ledger

* Get rid of `findLedgerAccountId` ledger util, move more copy to locales

* Fix cropped button container for tx signing popup

* Update address index definition for adding stx address

* Update address index definition for address verification and stx tx confirmation

* Update address index definition for stx jwt auth

* Refactor ledger-related logic

* Refactor ledger account import

* Fix ledger account import when both BTC and STX options are selected

* Refactor ledger address verification screen

* Refactor ledger tx confirmation screen

* Refactor Add stx address screen

* Fix `unsignedTx` type

* Add `StacksRecipient` type and make some small code fixes

* Add `icon` prop for the `ActionButton` component

* Change the ledger steps in a callback

* Add types for ledger tx state objects

* Fix account index for stx account import, update ledger tx types and utils

* Change the import path for `StacksRecipient`

* Change the steps numeration for ledger account import

* Get rid of unused step changing logic for ledger account import

* Add more error handling

* Update xverse-core version for testing purposes

* Remove caret symbol in xverse-core package

* Fix CI build

* Make a couple of code fixes according to PR review comments

* Add more transaltions

* Add the `DEFAULT_TRANSITION_OPTIONS` constant

* Make separate components for Steps and StepControls for the Ledger account import flow

* Fix style imports

* Upgrade the `xverse-core` package version

* Upgrade `xverse-core` package version

* Disable PSBT tx signing for ledger accounts

* update xverse-core

* package-lock

---------

Co-authored-by: Yukan <[email protected]>

---------

Co-authored-by: Yukan <[email protected]>
Co-authored-by: Den <[email protected]>

* chore: allow ci build version to pass env vars to build (#27)

* feat/eng 2904 implement frontend on web extension (#5)

* Tim/eng 2933 implement dashboard display of rare sats bundles (#1)

* chore: create a hook for rare sats with placeholder data

* chore: add some inscription placeholder with image

* feat/eng 2933 implement dashboard rare sats tab (#4)

* chore: create a collectiblesTabs component with react-tabs

* refactor: move nft dashboard logic into hook

* feat: move rare sats into separate tab

* fix: add tab state styling and move to common.styled

* feat: style collectibles header

* fix: restyle all grid item colors and add total items

* fix: supply total nfts and total rare sats number

and type the collectiblesTabs props

* style: comments

* feat/eng 2934 implement sats bundle UI screen (#6)

* Abdulhaseeb/eng 2930 implement settings screen updates (#7)

* feat: enable rare sats from settings

* fix: disabled UI

* fix: typos

* Abdulhaseeb/eng 2931 implement info dialogs (#8)

* feat: enable rare sats from settings

* feat: notice alert and rarities screen

* feat: new feature dialog

* fix: styles

* feat: add UI for rare sats bundle in collectible item details (#2)

* fix: ordinal thumbnails were broken (#10)

* Add no collectibles and error screens (#11)

* feat: integrate rare sats form core (#9)

* feat: add rare sats item detail screen (#3)

* feat: add UI for rare sats bundle in collectible item details

* feat: implement rare sats details screen

---------

Co-authored-by: Tim Man <[email protected]>

* feat: implement rare sats send screen (#12)

* chore: use getUtxoOrdinalBundle to know if a inscription belongs to a bundle (#14)

* Abdulhaseeb/eng 2938 implement rare sats confirm screen (#15)

* feat: confirm rare sat tx

* feat: added warning callout

* feat: implement UI for rare sats thumbnails (#16)

* feat: add UI for rare sats bundle in collectible item details

* feat: implement rare sats details screen

* feat: add rare sats thumbnathumbnails

* chore: add missing mock data for testing inscriptions belonging to a bundle

* Tim/eng 2959 set up test mocks (#17)

* fix: react console errors

* fix: send rare sat heading and sub text

* fix: eslint errors

* chore: add mock test cases in hook

* fix: back button sometimes has no history

* fix: revert merge change

* fix: should be no commoners in mock tests

* feat: added thumbnail in confirm screen (#18)

* fix: react console errors

* fix: send rare sat heading and sub text

* fix: eslint errors

* chore: add mock test cases in hook

* fix: back button sometimes has no history

* fix: revert merge change

* fix: should be no commoners in mock tests

* feat: added thumbnail in confirm screen

* fix: ui

---------

Co-authored-by: Tim Man <[email protected]>

* fix: rarities screen UI (#19)

* chore: fix some todos and issues in rare sats feature (#20)

* chore: Unify assets and rarity label in rarityTile and rareSatIcon components

* chore: create bundle asset and use it in RareSatsTabGridItem and confirm send screen

* chore: add bundle asset component in send screen

* chore: make glow optional and remove it from inscribed rare sats asset

* chore: add assets to bundle gallery view

* chore: remove unsupported media callout. add margin bottom and fix cannot send rare sat individually for gallery view

* fix: styling on gallery view for dashboard and rare sats bundle grids (#22)

* fix: styling on gallery view for dashboard and rare sats bundle grids

* fix: add column layout for rare sats bundle gallery view

* fix: rare sats bundle back should always fo to gallery

* fix: header spacing rare sats bundle and load more button

* feat: add isLoading state for rare sats tab

* fix: remove is owned by active account check

the user flow resets whenever account changes, so this check is no
longer necessary

* feat: save collectibles tab index in query params

* fix: restore ledger open in new tab behaviour

* fix: show info panel regardless of empty state (#23)

* chore: fix UI issues (#24)

* chore: fix issues with dont see your rare sat banner

* chore: fix ui issues in rare sats details screen

* Update src/app/screens/nftDashboard/notice.tsx

* refactor: use library components and minor styling fixes

* fix: rare sat bundle send button width

* fix: add separator in gallery view rare sats bundle and styling fixes

* fix: minor style fix

---------

Co-authored-by: Tim Man <[email protected]>

* fix: branch merge errors

* chore: remove mock data (#28)

* chore: remove mock data

* chore: add extenral links to scan tool and rare sats post

* chore: move external link urls to constants file

---------

Co-authored-by: Abdul Haseeb <[email protected]>
Co-authored-by: fede erbes <[email protected]>
Co-authored-by: Victor Kirov <[email protected]>

* release v0.20.0 (#29)

* release: v0.19.0 (#607)

* release: v0.19.0

* update package-lock

* bump xverse core version to fix fee issue

---------

Co-authored-by: Yukan <[email protected]>

* Build analytics tracking for web-extension (#590)

* Build analytics tracking for web-extension

* Add `/privacy-preferences` screen

* Build analytics tracking for web-extension

* Update mixpanel tracking logic

* Remove unused wallet action name

* Add authorize data collection toggler and popup

* Update tracking logic

* Add translation keys

* Update mixpanel tracking logic

* Remove unused imports

* Make some code changes after PR review, upgrade `xverse-core` package version

* Upgrade `xverse-core` package version

* Resolve git conflicts

* Handling fees with thresholds (#601)

* Handling fees with thresholds

* Add margin under the high fees warning

* Change the high fees warning position for Ordinals & Brc-20 txs

* Show the warning if the initial fee from transaction is greater than the threshold

* Add high fee warning for one-step brc20 transfer

* update copy

---------

Co-authored-by: Yukan <[email protected]>

* Refactor ledger-related logic (#586)

* Add STX support for Ledger accounts

* Update the copy and ledger account import logic

* Update the ledger account import logic for STX support

* Add `/add-stx-address-ledger` route for adding stx account

* Remove the old case handling when there is no `ordinalsAddress`

* Add STX address verification with ledger device

* Remove the `/send-stx-ledger` path and update `/send-stx` to handle ledger

* Handle regular STX transactions

* Remove unused `/review-ledger-stx-tx` path, add STX NFT handling

* Remove `/review-ledger-ft-tx` and `/send-ft-ledger` routes, update `/send-ft` to support ledger

* Enable STX auth requests for ledger accounts that have an STX address

* Add link to the auth popup  to add the STX Ledger account

* Update screen UI for STX NFT sending

* Update copy for STX incoming tx signing

* Update STX message signing logic

* Update STX-related logic for ledger accounts

* Update error handling for STX message signing with ledger

* Get rid of `findLedgerAccountId` ledger util, move more copy to locales

* Fix cropped button container for tx signing popup

* Update address index definition for adding stx address

* Update address index definition for address verification and stx tx confirmation

* Update address index definition for stx jwt auth

* Refactor ledger-related logic

* Refactor ledger account import

* Fix ledger account import when both BTC and STX options are selected

* Refactor ledger address verification screen

* Refactor ledger tx confirmation screen

* Refactor Add stx address screen

* Fix `unsignedTx` type

* Add `StacksRecipient` type and make some small code fixes

* Add `icon` prop for the `ActionButton` component

* Change the ledger steps in a callback

* Add types for ledger tx state objects

* Fix account index for stx account import, update ledger tx types and utils

* Change the import path for `StacksRecipient`

* Change the steps numeration for ledger account import

* Get rid of unused step changing logic for ledger account import

* Add more error handling

* Update xverse-core version for testing purposes

* Remove caret symbol in xverse-core package

* Fix CI build

* Make a couple of code fixes according to PR review comments

* Add more transaltions

* Add the `DEFAULT_TRANSITION_OPTIONS` constant

* Make separate components for Steps and StepControls for the Ledger account import flow

* Fix style imports

* Upgrade the `xverse-core` package version

* Upgrade `xverse-core` package version

* Disable PSBT tx signing for ledger accounts

* update xverse-core

* package-lock

---------

Co-authored-by: Yukan <[email protected]>

* release v0.20.0

* chore: bump to xverse-core 1.8.2 for bip322 signing fix

* fix: collectibles dashboard should ignore invalid params errors (#33)

* fix: put in a quick fix for more location.state serialization bugs (#34)

* chore: add support for rare sats in tx confirmation screen (#35)

* chore: add support for rare sats in tx confirmation screen

* chore: remove logs and fix typo

* chore: change unknown icon

---------

Co-authored-by: Tim Man <[email protected]>
Co-authored-by: Den <[email protected]>
Co-authored-by: Tim Man <[email protected]>
Co-authored-by: fede erbes <[email protected]>

* chore: tidy up zips of each build run and the release uploads (#31)

* feat: collectibles ui frontend (#30)

* [ENG-2836] feat: Ordinals and BRC-20 collectibles UI

* Improve ordinals & brc-20 collectibles fetching logic and UI

* Collectible ordinal detail page (#32)

* Tim/eng 2933 implement dashboard display of rare sats bundles (#1)

* chore: create a hook for rare sats with placeholder data

* chore: add some inscription placeholder with image

* feat/eng 2933 implement dashboard rare sats tab (#4)

* chore: create a collectiblesTabs component with react-tabs

* refactor: move nft dashboard logic into hook

* feat: move rare sats into separate tab

* fix: add tab state styling and move to common.styled

* feat: style collectibles header

* fix: restyle all grid item colors and add total items

* fix: supply total nfts and total rare sats number

and type the collectiblesTabs props

* style: comments

* feat/eng 2934 implement sats bundle UI screen (#6)

* Abdulhaseeb/eng 2930 implement settings screen updates (#7)

* feat: enable rare sats from settings

* fix: disabled UI

* fix: typos

* Abdulhaseeb/eng 2931 implement info dialogs (#8)

* feat: enable rare sats from settings

* feat: notice alert and rarities screen

* feat: new feature dialog

* fix: styles

* feat: add UI for rare sats bundle in collectible item details (#2)

* fix: ordinal thumbnails were broken (#10)

* Add no collectibles and error screens (#11)

* feat: integrate rare sats form core (#9)

* feat: add rare sats item detail screen (#3)

* feat: add UI for rare sats bundle in collectible item details

* feat: implement rare sats details screen

---------

Co-authored-by: Tim Man <[email protected]>

* feat: implement rare sats send screen (#12)

* chore: use getUtxoOrdinalBundle to know if a inscription belongs to a bundle (#14)

* Abdulhaseeb/eng 2938 implement rare sats confirm screen (#15)

* feat: confirm rare sat tx

* feat: added warning callout

* feat: implement UI for rare sats thumbnails (#16)

* feat: add UI for rare sats bundle in collectible item details

* feat: implement rare sats details screen

* feat: add rare sats thumbnathumbnails

* chore: add missing mock data for testing inscriptions belonging to a bundle

* Tim/eng 2959 set up test mocks (#17)

* fix: react console errors

* fix: send rare sat heading and sub text

* fix: eslint errors

* chore: add mock test cases in hook

* fix: back button sometimes has no history

* fix: revert merge change

* fix: should be no commoners in mock tests

* feat: added thumbnail in confirm screen (#18)

* fix: react console errors

* fix: send rare sat heading and sub text

* fix: eslint errors

* chore: add mock test cases in hook

* fix: back button sometimes has no history

* fix: revert merge change

* fix: should be no commoners in mock tests

* feat: added thumbnail in confirm screen

* fix: ui

---------

Co-authored-by: Tim Man <[email protected]>

* fix: rarities screen UI (#19)

* chore: fix some todos and issues in rare sats feature (#20)

* chore: Unify assets and rarity label in rarityTile and rareSatIcon components

* chore: create bundle asset and use it in RareSatsTabGridItem and confirm send screen

* chore: add bundle asset component in send screen

* chore: make glow optional and remove it from inscribed rare sats asset

* chore: add assets to bundle gallery view

* chore: remove unsupported media callout. add margin bottom and fix cannot send rare sat individually for gallery view

* fix: styling on gallery view for dashboard and rare sats bundle grids (#22)

* fix: styling on gallery view for dashboard and rare sats bundle grids

* fix: add column layout for rare sats bundle gallery view

* fix: rare sats bundle back should always fo to gallery

* fix: header spacing rare sats bundle and load more button

* feat: add isLoading state for rare sats tab

* fix: remove is owned by active account check

the user flow resets whenever account changes, so this check is no
longer necessary

* feat: save collectibles tab index in query params

* fix: restore ledger open in new tab behaviour

* fix: show info panel regardless of empty state (#23)

* Add ordinal attributes in detail screen

* chore: fix UI issues (#24)

* chore: fix issues with dont see your rare sat banner

* chore: fix ui issues in rare sats details screen

* Update src/app/screens/nftDashboard/notice.tsx

* refactor: use library components and minor styling fixes

* fix: rare sat bundle send button width

* fix: add separator in gallery view rare sats bundle and styling fixes

* fix: minor style fix

---------

Co-authored-by: Tim Man <[email protected]>

* fix: branch merge errors

* chore: remove mock data (#28)

* chore: remove mock data

* chore: add extenral links to scan tool and rare sats post

* chore: move external link urls to constants file

* Add scrollbar to ordinal detail screen

* Adjust text alignment

* Update Navigation Bar

* Add Share button in extension ordinal detail screen

* Include useInscription hook

---------

Co-authored-by: Tim Man <[email protected]>
Co-authored-by: Abdul Haseeb <[email protected]>
Co-authored-by: fede erbes <[email protected]>
Co-authored-by: Victor Kirov <[email protected]>

* Fix `getNextPageParam` param in the `useAddressInscriptionCollections` hook

* feat: inscriptions collection page UI components (#36)

* chore: use xverse-core with api functions

* feat: add ordinals collection screen and route

* chore: add prettier organize imports plugin

* chore: remove unused eslint disable line

* fix: fix tab query params

* feat: add ordinals collection route and screen

* fix: revert scrollbar change

* Tim/eng 2813 inscriptions collection page data fetching pagination (#37)

* Make some small code tweaks

* Complete Remaining Todos for Ordinal Detail Screen (#38)

* Update ordinal detail Ui accodrding to MVP

* Get ordinal details from api

* Have placeholder incase market data does not exist

* Fix navigation and address comments

* feat: collection grid items (#39)

* Add content skeleton loader for Collectibles tab

* Fix border radius for Collectibles skeleton loader

* Fix the loader condition in Collectibles tab

* Update BRC20 token collection thumbnail in main collectible page

* Tim/eng 2833 inscriptions full screen responsive main page collection (#41)

* feat: style the send screen including responsive layout

* style: use theme radius

Co-authored-by: Den <[email protected]>

---------

Co-authored-by: Den <[email protected]>

* Display collection market data (#40)

* Get collection amrket data

* Fix alignment on collection page

* chore: revert the large package-lock.json diff

* Update receive screen and bottom modal (#42)

* Update recieve screen

* Add updated QR code in recieve screen

* Update receive modal

* Fix getNextPageParam for const useAddressInscriptionCollections = () => {

* Remove unused package

* fix: use theme radius

Co-authored-by: Den <[email protected]>

* fix: use theme radius

Co-authored-by: Den <[email protected]>

* Address comments

* chore: remove empty unreferenced component

* Remove unused background color

* fix: layout and spacing on updated bottom modal, receive nft

---------

Co-authored-by: Tim Man <[email protected]>
Co-authored-by: Den <[email protected]>

* fix color for custom switch and code t…
  • Loading branch information
12 people authored Nov 9, 2023
1 parent 152ea19 commit d84ca7d
Show file tree
Hide file tree
Showing 20 changed files with 75 additions and 42 deletions.
23 changes: 19 additions & 4 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,21 @@
"sourceType": "module",
"project": "./tsconfig.json"
},
"plugins": ["react", "prettier", "eslint-plugin-no-inline-styles", "@tanstack/query"],
"plugins": [
"react",
"prettier",
"eslint-plugin-no-inline-styles",
"@tanstack/query"
],
"rules": {
"consistent-return": "off",
"import/prefer-default-export": 1,
"no-restricted-imports": [
"warn",
{
"patterns": ["@secretkeylabs/xverse-core/**/*"]
"patterns": [
"@secretkeylabs/xverse-core/**/*"
]
}
],
"no-promise-executor-return": "warn",
Expand All @@ -54,8 +61,16 @@
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"],
"moduleDirectory": ["node_modules", "src/"]
"extensions": [
".js",
".jsx",
".ts",
".tsx"
],
"moduleDirectory": [
"node_modules",
"src/"
]
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "xverse-web-extension",
"description": "A Bitcoin wallet for Web3",
"version": "0.22.0",
"version": "0.22.1",
"private": true,
"engines": {
"node": "^18.18.2"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@ const useAddressInscriptionCollections = () => {
}
return false;
},
refetchOnMount: false,
refetchOnWindowFocus: false,
staleTime: 1 * 60 * 1000, // 1 min
});
};

Expand Down
3 changes: 1 addition & 2 deletions src/app/hooks/queries/ordinals/useAddressInscriptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ const useAddressInscriptions = (collectionId?: string) => {
}
return false;
},
refetchOnMount: false,
refetchOnWindowFocus: false,
staleTime: 1 * 60 * 1000, // 1 min
},
);
};
Expand Down
8 changes: 3 additions & 5 deletions src/app/hooks/queries/ordinals/useAddressRareSats.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import useWalletSelector from '@hooks/useWalletSelector';
import { getAddressUtxoOrdinalBundles, getUtxoOrdinalBundle } from '@secretkeylabs/xverse-core';
import { useInfiniteQuery, useQuery } from '@tanstack/react-query';
import { handleRetries, InvalidParamsError } from '@utils/query';
import { InvalidParamsError, handleRetries } from '@utils/query';
import { mapRareSatsAPIResponseToRareSats } from '@utils/rareSats';

const PAGE_SIZE = 30;
Expand All @@ -28,15 +28,14 @@ export const useAddressRareSats = () => {
};

return useInfiniteQuery(['rare-sats', ordinalsAddress], getRareSatsByAddress, {
refetchOnMount: false,
refetchOnWindowFocus: false,
retry: handleRetries,
getNextPageParam: (lastPage, allPages) => {
const currentLength = allPages.map((page) => page.results).flat().length;
if (currentLength < lastPage.total) {
return currentLength;
}
},
staleTime: 1 * 60 * 1000, // 1 min
});
};

Expand All @@ -54,11 +53,10 @@ export const useGetUtxoOrdinalBundle = (output?: string, shouldMakeTheCall?: boo

const { data, isLoading } = useQuery({
enabled: !!(output && shouldMakeTheCall),
refetchOnMount: false,
refetchOnWindowFocus: false,
queryKey: ['rare-sats', output],
queryFn: getUtxoOrdinalBundleByOutput,
retry: handleRetries,
staleTime: 1 * 60 * 1000, // 1 min
});
const bundle = data?.txid ? mapRareSatsAPIResponseToRareSats(data) : undefined;

Expand Down
3 changes: 2 additions & 1 deletion src/app/hooks/queries/ordinals/useCollectionMarketData.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import useWalletSelector from '@hooks/useWalletSelector';
import { CollectionMarketDataResponse, getCollectionMarketData } from '@secretkeylabs/xverse-core';
import { useQuery } from '@tanstack/react-query';
import { handleRetries, InvalidParamsError } from '@utils/query';
import { InvalidParamsError, handleRetries } from '@utils/query';

/**
* Get inscription collection market data
Expand All @@ -20,6 +20,7 @@ const useInscriptionCollectionMarketData = (collectionId?: string | null) => {
retry: handleRetries,
queryKey: ['collection-market-data', collectionId],
queryFn: collectionMarketData,
staleTime: 1 * 60 * 1000, // 1 min
});
};

Expand Down
2 changes: 1 addition & 1 deletion src/app/hooks/queries/useAppConfig.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import useWalletSelector from '@hooks/useWalletSelector';
import { getAppConfig } from '@secretkeylabs/xverse-core/api/xverse';
import { getAppConfig } from '@secretkeylabs/xverse-core';
import { ChangeNetworkAction } from '@stores/wallet/actions/actionCreators';
import { useQuery } from '@tanstack/react-query';
import { useDispatch } from 'react-redux';
Expand Down
4 changes: 2 additions & 2 deletions src/app/hooks/queries/useBtcWalletData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ export const useBtcWalletData = () => {
};

return useQuery({
queryKey: [`wallet-data-${btcAddress}`],
refetchOnWindowFocus: true,
queryKey: ['btc-wallet-data', btcAddress],
queryFn: fetchBtcWalletData,
enabled: !!btcAddress,
staleTime: 10 * 1000, // 10 secs
});
};

Expand Down
3 changes: 2 additions & 1 deletion src/app/hooks/queries/useCoinRates.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import useWalletSelector from '@hooks/useWalletSelector';
import { fetchBtcToCurrencyRate, fetchStxToBtcRate } from '@secretkeylabs/xverse-core/api';
import { fetchBtcToCurrencyRate, fetchStxToBtcRate } from '@secretkeylabs/xverse-core';
import { setCoinRatesAction } from '@stores/wallet/actions/actionCreators';
import { useQuery } from '@tanstack/react-query';
import { useDispatch } from 'react-redux';
Expand All @@ -24,6 +24,7 @@ export const useCoinRates = () => {
return useQuery({
queryKey: ['coin_rates'],
queryFn: fetchCoinRates,
staleTime: 5 * 60 * 1000, // 5 min
});
};

Expand Down
4 changes: 2 additions & 2 deletions src/app/hooks/queries/useFeeMultipliers.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import useWalletSelector from '@hooks/useWalletSelector';
import { fetchAppInfo } from '@secretkeylabs/xverse-core/api';
import { AppInfo } from '@secretkeylabs/xverse-core/types';
import type { AppInfo } from '@secretkeylabs/xverse-core';
import { fetchAppInfo } from '@secretkeylabs/xverse-core';
import { setFeeMultiplierAction } from '@stores/wallet/actions/actionCreators';
import { useQuery } from '@tanstack/react-query';
import { useDispatch } from 'react-redux';
Expand Down
4 changes: 2 additions & 2 deletions src/app/hooks/queries/useStxPendingTxData.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { fetchStxPendingTxData } from '@secretkeylabs/xverse-core';
import { StoreState } from '@stores/index';
import { useQuery } from '@tanstack/react-query';
import { useSelector } from 'react-redux';
import { fetchStxPendingTxData } from '@secretkeylabs/xverse-core/api';
import { StoreState } from '@stores/index';
import useNetworkSelector from '../useNetwork';

const useStxPendingTxData = () => {
Expand Down
7 changes: 4 additions & 3 deletions src/app/hooks/queries/useStxWalletData.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { fetchStxAddressData } from '@secretkeylabs/xverse-core/api';
import { StxAddressData } from '@secretkeylabs/xverse-core/types';
import type { StxAddressData } from '@secretkeylabs/xverse-core';
import { fetchStxAddressData } from '@secretkeylabs/xverse-core';
import { setStxWalletDataAction } from '@stores/wallet/actions/actionCreators';
import { useQuery } from '@tanstack/react-query';
import { PAGINATION_LIMIT } from '@utils/constants';
Expand Down Expand Up @@ -32,9 +32,10 @@ export const useStxWalletData = () => {
};

return useQuery({
queryKey: [`wallet-data-${stxAddress}`],
queryKey: ['stx-wallet-data', stxAddress],
queryFn: fetchStxWalletData,
enabled: !!stxAddress,
staleTime: 10 * 1000, // 10 secs
});
};

Expand Down
4 changes: 2 additions & 2 deletions src/app/hooks/queries/useTransactions.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import useWalletSelector from '@hooks/useWalletSelector';
import { fetchBtcTransactionsData, getBrc20History } from '@secretkeylabs/xverse-core/api';
import { Brc20HistoryTransactionData, BtcTransactionData } from '@secretkeylabs/xverse-core/types';
import type { Brc20HistoryTransactionData, BtcTransactionData } from '@secretkeylabs/xverse-core';
import { fetchBtcTransactionsData, getBrc20History } from '@secretkeylabs/xverse-core';
import {
AddressTransactionWithTransfers,
MempoolTransaction,
Expand Down
7 changes: 3 additions & 4 deletions src/app/hooks/useTextOrdinalContent.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { getTextOrdinalContent } from '@secretkeylabs/xverse-core/api/index';
import type { CondensedInscription, Inscription } from '@secretkeylabs/xverse-core/types';
import type { CondensedInscription, Inscription } from '@secretkeylabs/xverse-core';
import { getTextOrdinalContent } from '@secretkeylabs/xverse-core';
import { useQuery } from '@tanstack/react-query';
import PQueue from 'p-queue';
import useWalletSelector from './useWalletSelector';
Expand All @@ -11,8 +11,7 @@ const useTextOrdinalContent = (ordinal: Inscription | CondensedInscription) => {
const { data: textContent } = useQuery({
queryKey: [`ordinal-text-${ordinal?.id}`],
queryFn: async () => queue.add(() => getTextOrdinalContent(network.type, ordinal?.id)),
refetchOnMount: false,
refetchOnWindowFocus: false,
staleTime: 5 * 60 * 1000, // 5 min
});

return textContent?.toString();
Expand Down
9 changes: 6 additions & 3 deletions src/app/hooks/useWalletReducer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@ import {
} from '@secretkeylabs/xverse-core/types';
import { newWallet, walletFromSeedPhrase } from '@secretkeylabs/xverse-core/wallet';
import {
addAccountAction,
ChangeNetworkAction,
addAccountAction,
fetchAccountAction,
getActiveAccountsAction,
resetWalletAction,
selectAccount,
setWalletAction,
setWalletUnlockedAction,
storeEncryptedSeedAction,
updateLedgerAccountsAction,
updateLedgerAccountsAction
} from '@stores/wallet/actions/actionCreators';
import { useQueryClient } from '@tanstack/react-query';
import { generatePasswordHash } from '@utils/encryptionUtils';
Expand Down Expand Up @@ -170,6 +170,7 @@ const useWalletReducer = () => {
ordinalsPublicKey: wallet.ordinalsPublicKey,
stxAddress: wallet.stxAddress,
stxPublicKey: wallet.stxPublicKey,
bnsName: wallet.bnsName,
};
const hasSeed = await seedVault.hasSeed();
if (hasSeed && !masterPubKey) {
Expand Down Expand Up @@ -229,6 +230,7 @@ const useWalletReducer = () => {
ordinalsPublicKey: wallet.ordinalsPublicKey,
stxAddress: wallet.stxAddress,
stxPublicKey: wallet.stxPublicKey,
bnsName: wallet.bnsName,
};
trackMixPanel(AnalyticsEvents.CreateNewWallet);

Expand All @@ -252,7 +254,7 @@ const useWalletReducer = () => {
const switchAccount = async (account: Account) => {
// we clear the query cache to prevent data from the other account potentially being displayed
await queryClient.cancelQueries();
await queryClient.clear();
queryClient.clear();

dispatch(
selectAccount(
Expand Down Expand Up @@ -295,6 +297,7 @@ const useWalletReducer = () => {
ordinalsPublicKey: wallet.ordinalsPublicKey,
stxAddress: wallet.stxAddress,
stxPublicKey: wallet.stxPublicKey,
bnsName: wallet.bnsName,
};
dispatch(setWalletAction(wallet));
try {
Expand Down
4 changes: 2 additions & 2 deletions src/app/screens/home/index.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import dashboardIcon from '@assets/img/dashboard-icon.svg';
import SIP10Icon from '@assets/img/dashboard/SIP10.svg';
import BitcoinIcon from '@assets/img/dashboard/bitcoin_icon.svg';
import BitcoinToken from '@assets/img/dashboard/bitcoin_token.svg';
import ListDashes from '@assets/img/dashboard/list_dashes.svg';
import ordinalsIcon from '@assets/img/dashboard/ordinalBRC20.svg';
import SIP10Icon from '@assets/img/dashboard/SIP10.svg';
import stacksIcon from '@assets/img/dashboard/stack_icon.svg';
import ArrowSwap from '@assets/img/icons/ArrowSwap.svg';
import AccountHeaderComponent from '@components/accountHeader';
Expand All @@ -12,7 +12,6 @@ import ActionButton from '@components/button';
import ReceiveCardComponent from '@components/receiveCardComponent';
import ShowBtcReceiveAlert from '@components/showBtcReceiveAlert';
import ShowOrdinalReceiveAlert from '@components/showOrdinalReceiveAlert';
import SquareButton from '@components/squareButton';
import BottomBar from '@components/tabBar';
import TokenTile from '@components/tokenTile';
import UpdatedBottomModal from '@components/updatedBottomModal';
Expand All @@ -37,6 +36,7 @@ import { useDispatch } from 'react-redux';
import { useNavigate } from 'react-router-dom';
import styled, { useTheme } from 'styled-components';
import Theme from 'theme';
import SquareButton from '../../components/squareButton';
import BalanceCard from './balanceCard';

export const Container = styled.div((props) => ({
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/nftDashboard/collectiblesTabs.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import ActionButton from '@components/button';
import { StyledBarLoader, TilesSkeletonLoader } from '@components/tilesSkeletonLoader';
import WrenchErrorMessage from '@components/wrenchErrorMessage';
import { StyledP, StyledTab, StyledTabList } from '@ui-library/common.styled';
import { ApiBundle, Bundle, mapRareSatsAPIResponseToRareSats } from '@utils/rareSats';
Expand All @@ -9,6 +8,7 @@ import { useNavigate, useSearchParams } from 'react-router-dom';
import { TabPanel, Tabs } from 'react-tabs';
import styled from 'styled-components';
import type { NftDashboardState } from '.';
import { StyledBarLoader, TilesSkeletonLoader } from '../../components/tilesSkeletonLoader';
import Notice from './notice';
import RareSatsTabGridItem from './rareSatsTabGridItem';

Expand Down
2 changes: 1 addition & 1 deletion src/app/stores/wallet/actions/actionCreators.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { PostGuardPing } from '@components/guards/singleTab';
import type {
Account,
AppInfo,
AccountType,
AppInfo,
BaseWallet,
Coin,
FungibleToken,
Expand Down
19 changes: 18 additions & 1 deletion src/app/utils/query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,23 @@ export function handleRetries(failureCount: number, error: unknown): boolean {
return failureCount < 3;
}

export const queryClient = new QueryClient();
export const queryClient = new QueryClient({
defaultOptions: {
queries: {
// time before garbage collection of query data
cacheTime: 5 * 60 * 1000, // 5 min

// increase this for specific queries to reduce refetches
staleTime: 0,

// at least one of these are required to refetch stale queries
// refetchInterval
// refetchIntervalInBackground
refetchOnMount: true,
refetchOnWindowFocus: true,
refetchOnReconnect: true,
},
},
});

export const offlineStorage = createSyncStoragePersister({ storage: window.localStorage });

0 comments on commit d84ca7d

Please sign in to comment.