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

MOB-1909 - Global search receiver functionality #454

Conversation

Oleg-Pecheneg
Copy link
Contributor

No description provided.

Show from the home view.
Added input field and scan qr option
Added UI for following selection
Adjusted navigation header UI
Handle actions in view model
Hide empty sections on receiver selection screen
Created tests for interpreter
…t/send_crypto/MOB-1903-receiver-selection

# Conflicts:
#	unstoppable-ios-app/domains-manager-ios.xcodeproj/project.pbxproj
#	unstoppable-ios-app/domains-manager-ios/Extensions/Extension-String+Preview.swift
#	unstoppable-ios-app/domains-manager-ios/Modules/Home/Wallet/HomeWalletView/HomeWalletViewModel.swift
#	unstoppable-ios-app/domains-manager-ios/SupportingFiles/Localization/en.lproj/Localizable.strings
…t/send_crypto/MOB-1904-select-asset

# Conflicts:
#	unstoppable-ios-app/domains-manager-ios.xcodeproj/project.pbxproj
#	unstoppable-ios-app/domains-manager-ios/Entities/Mock/MockEntitiesFabric+SendCrypto.swift
#	unstoppable-ios-app/domains-manager-ios/Modules/Home/Explore/Subviews/Followers/HomeExploreFollowerRelationshipTypePickerView.swift
#	unstoppable-ios-app/domains-manager-ios/Modules/Home/HomeTabRouter.swift
#	unstoppable-ios-app/domains-manager-ios/Modules/Home/HomeTabView.swift
…t/send_crypto/MOB-1905-token-amount-input

# Conflicts:
#	unstoppable-ios-app/domains-manager-ios.xcodeproj/project.pbxproj
#	unstoppable-ios-app/domains-manager-ios/Modules/Home/SendCryptoAsset/SelectAssetToSend/SelectCryptoAssetToSendTokenView.swift
#	unstoppable-ios-app/domains-manager-ios/Modules/Home/SendCryptoAsset/SendCryptoAsset.swift
#	unstoppable-ios-app/domains-manager-ios/Modules/Home/SendCryptoAsset/SendCryptoAssetNavigationDestination.swift
#	unstoppable-ios-app/domains-manager-ios/Modules/Home/SendCryptoAsset/SendCryptoAssetViewModel.swift
#	unstoppable-ios-app/domains-manager-ios/Modules/Home/Wallet/HomeWalletView/Subviews/HomeWalletTokenRowView.swift
…t/send_crypto/MOB-1909-search-receiver

# Conflicts:
#	unstoppable-ios-app/domains-manager-ios.xcodeproj/project.pbxproj
#	unstoppable-ios-app/domains-manager-ios/Extensions/Extension-String+Preview.swift
#	unstoppable-ios-app/domains-manager-ios/Modules/Home/SendCryptoAsset/SendCryptoAssetViewModel.swift
#	unstoppable-ios-app/domains-manager-ios/SupportingFiles/Localization/en.lproj/Localizable.strings
@Oleg-Pecheneg Oleg-Pecheneg requested a review from rommex March 21, 2024 11:31
@Oleg-Pecheneg Oleg-Pecheneg merged commit f941702 into dev/feat/send_crypto/MOB-1898-send-crypto Mar 21, 2024
@Oleg-Pecheneg Oleg-Pecheneg deleted the dev/feat/send_crypto/MOB-1909-search-receiver branch March 21, 2024 11:41
Oleg-Pecheneg added a commit that referenced this pull request Apr 4, 2024
* MOB-1900 - Update home screen for send crypto (#449)

* Updated receive button place. Removed current profile switcher.
Added send button

* Updated home screen title view

* MOB-1903 - UI for receiver selection (#450)

* Updated receive button place. Removed current profile switcher.
Added send button

* Updated home screen title view

* Added send crypto view.
Show from the home view.
Added input field and scan qr option

* Added section with user's wallets

* Added send crypto view model
Added UI for following selection

* Refactoring

* Updated nav bar customisation

* Disable interactive dismiss when navigate

* MOB-1904 - UI for select asset to send (#451)

* Updated receive button place. Removed current profile switcher.
Added send button

* Updated home screen title view

* Added send crypto view.
Show from the home view.
Added input field and scan qr option

* Added section with user's wallets

* Added send crypto view model
Added UI for following selection

* Refactoring

* Updated nav bar customisation

* Disable interactive dismiss when navigate

* Extracted tab selection view from explore module

* Refactoring

* Created UI for token balance

* Make tokens selectable

* Added UI for domains list in assets selection
Adjusted navigation header UI

* Created senc crypto flow actions
Handle actions in view model
Hide empty sections on receiver selection screen

* Pass actions from select receiver and asset type views

* MOB-1905 - UI for token amount input (#453)

* Updated receive button place. Removed current profile switcher.
Added send button

* Updated home screen title view

* Added send crypto view.
Show from the home view.
Added input field and scan qr option

* Added section with user's wallets

* Added send crypto view model
Added UI for following selection

* Refactoring

* Updated nav bar customisation

* Disable interactive dismiss when navigate

* Extracted tab selection view from explore module

* Refactoring

* Created UI for token balance

* Make tokens selectable

* Added UI for domains list in assets selection
Adjusted navigation header UI

* Created senc crypto flow actions
Handle actions in view model
Hide empty sections on receiver selection screen

* Pass actions from select receiver and asset type views

* Refactoring

* Fixed initial onAppear call in token icons view

* Created UDNumberButtonView

* Created number pad view and input interpreter.
Created tests for interpreter

* Improved number pad logic

* Added UI for input and token info

* Added converted value label and toggle

* Added confirmation button

* Refactoring

* Disable animation for primary input view

* Swap buy and send actions on home screen

* Fixed copy on select receiver screen

* Added token icon near primary input value

* Adjusted UI for nav bar and in the IP SE

* MOB-1909 - Global search receiver functionality (#454)

* Updated receive button place. Removed current profile switcher.
Added send button

* Updated home screen title view

* Added send crypto view.
Show from the home view.
Added input field and scan qr option

* Added section with user's wallets

* Added send crypto view model
Added UI for following selection

* Refactoring

* Updated nav bar customisation

* Disable interactive dismiss when navigate

* Extracted tab selection view from explore module

* Refactoring

* Created UI for token balance

* Make tokens selectable

* Added UI for domains list in assets selection
Adjusted navigation header UI

* Created senc crypto flow actions
Handle actions in view model
Hide empty sections on receiver selection screen

* Pass actions from select receiver and asset type views

* Refactoring

* Fixed initial onAppear call in token icons view

* Created UDNumberButtonView

* Created number pad view and input interpreter.
Created tests for interpreter

* Improved number pad logic

* Added UI for input and token info

* Added converted value label and toggle

* Added confirmation button

* Refactoring

* Disable animation for primary input view

* Swap buy and send actions on home screen

* Fixed copy on select receiver screen

* Added token icon near primary input value

* Adjusted UI for nav bar and in the IP SE

* Added search by domain profiles

* Show direct wallet address result

* Fixed first responder reset issue

* MOB-1910 - Confirm send crypto UI (#455)

* Updated receive button place. Removed current profile switcher.
Added send button

* Updated home screen title view

* Added send crypto view.
Show from the home view.
Added input field and scan qr option

* Added section with user's wallets

* Added send crypto view model
Added UI for following selection

* Refactoring

* Updated nav bar customisation

* Disable interactive dismiss when navigate

* Extracted tab selection view from explore module

* Refactoring

* Created UI for token balance

* Make tokens selectable

* Added UI for domains list in assets selection
Adjusted navigation header UI

* Created senc crypto flow actions
Handle actions in view model
Hide empty sections on receiver selection screen

* Pass actions from select receiver and asset type views

* Refactoring

* Fixed initial onAppear call in token icons view

* Created UDNumberButtonView

* Created number pad view and input interpreter.
Created tests for interpreter

* Improved number pad logic

* Added UI for input and token info

* Added converted value label and toggle

* Added confirmation button

* Refactoring

* Disable animation for primary input view

* Swap buy and send actions on home screen

* Fixed copy on select receiver screen

* Added token icon near primary input value

* Adjusted UI for nav bar and in the IP SE

* Added search by domain profiles

* Show direct wallet address result

* Fixed first responder reset issue

* Implemented UI for token's sending value info

* Implemented UI for connector between sender and receiver

* Created curve shape for info section

* Implemented UI for send info

* Added confirm button
Adjusted UI for IP SE

* Updated icons on info view

* Localize content

* Use data from selected token

* Created structure for asset receiver.
Pass structure from select receiver screen.

* Pass data to SelectTokenAssetAmountToSendView

* Pass data to ConfirmSendTokenView

* Show receiver info on confirmation screen

* Show sender information

* Calculate and show formatted amount  to send

* Added convertation and formatting on select amount and confirm screens

* Updated tilda icon

* MOB-1916 - Screen to scan wallet address (#457)

* Moved camera preview logic to separate view

* Created QRWalletAddressScannerView

* Customise scanner hint

* Added UI and functions to control torch is on.
Added passing of camera capabilities

* Control torch enabled state

* Handle wallet address recognised

* Added more space

* Updated home view actions UI

* Updated crypto input copy

* MOB-1917 - UI for domains selection to transfer (#459)

* Moved camera preview logic to separate view

* Created QRWalletAddressScannerView

* Customise scanner hint

* Added UI and functions to control torch is on.
Added passing of camera capabilities

* Control torch enabled state

* Handle wallet address recognised

* Added more space

* Updated home view actions UI

* Updated crypto input copy

* Added search field when select domains

* Home domains section data refactoring

* Refactoring

* Use UI  for domains from home screen.
Filter for UD domains only

* Adjusted UI

* Added onButtonTap handling to nav more button

* MOB-1919 - Confirm domain transfer UI and functionality (#460)

* Created confirm transfer view and navigation path to it

* Refactoring

* Implemented UI of confirm transfer screen

* Implemented UI to confirm domain transfer

* Localize transfer confirmation

* Payment refactoring
Handling transfer action

* Created UI of success screen

* Localize success screen

* Created transaction status tracker

* Finalise transfer functionality

* Filter domains by available to transfer

* Cleaning

* MOB-1920 - Implement UI for different states when send crypto (#461)

* Created confirm transfer view and navigation path to it

* Refactoring

* Implemented UI of confirm transfer screen

* Implemented UI to confirm domain transfer

* Localize transfer confirmation

* Payment refactoring
Handling transfer action

* Created UI of success screen

* Localize success screen

* Created transaction status tracker

* Finalise transfer functionality

* Filter domains by available to transfer

* Cleaning

* Show max crypto info pull up

* Implemented UI of insufficient funds state on input view

* Disable confirm button if insufficient funds

* Implemented UI of insufficient funds state on confirm view

* Implement UI for different wallet states

* Added UI for transaction speed selection

* Updated mock copies

* Miscellaneous fixes within send crypto feature (#462)

* Updated confirm send transaction pull up

* Fixed wallet icons tint color on receiver selection screen

* Fixed copy for max token pull up

* Fixed icon for external wallet in select receiver screen

* MOB-1924 - Added activity tab (#463)

* Updated confirm send transaction pull up

* Fixed wallet icons tint color on receiver selection screen

* Fixed copy for max token pull up

* Added activity view to tab

* Created wallet transactions service and API to get transactions

* Removed test code

* Refactoring

* Updated transactions response structure.

* Moved cache transactions logic to separate service.
Created tests for transactions service

* Refactoring.
Added wallet txs service to app context.
Created functions to create mock txs related objects

* Updated tx timestamp property

* Created structure for WalletTransactionDisplayInfo

* Load txs in view model

* Setup home activity stack

* Created simple ui for transactions

* Fixed icon for external wallet in select receiver screen

* Open Tx details on tap
Updated UI for nft Txs.
Added PTR

* Pass force refresh flag to request

* Make imageUrl optional field in wallet transaction

* Use symbol instead of full name in max tokens pull up

* Show user wallets in search results

* Miscellaneous fixes within Send crypto feature (#464)

* initted

* refactoring

* refact

* Update CryptoSenderProtocol.swift

* added hash property into description

* rm StoredTx

* create TX

also extracting JRPC methods

* refactor protocol

* extracting sendTx from WC2

* extracted fetchGasLimit()

* added working demo with Sepolia

* factor in amount and chain env

* fixed amount computation

* helper init

* check support of native tokens

* take use of default gas price

* added TxSpeed, top-level CryptoSender

* computeGasFeeFrom() finalyzed

* refactoring

* refact

* refactor

* support ext wallets

* transferring chain to ext wallet

* ext wallet fix

* fetching range of gas prices

* Update navigation title

* Will use domain name for wallet on receiver selection screen if available

* new enum SupportedToken

* default body nil

* removed double-checking

* removed repeated code

* refactored computeGasPrice()

* computed gas fee in token units (Double)

* Fixed preview target

* Implemented use max crypto to send calculations.
Updated show pull up logic

---------

Co-authored-by: rommex <roman@unstoppabledomains.com>

* MOB-1928 - Connected send crypto functionality to UI (#465)

* initted

* refactoring

* refact

* Update CryptoSenderProtocol.swift

* added hash property into description

* rm StoredTx

* create TX

also extracting JRPC methods

* refactor protocol

* extracting sendTx from WC2

* extracted fetchGasLimit()

* added working demo with Sepolia

* factor in amount and chain env

* fixed amount computation

* helper init

* check support of native tokens

* take use of default gas price

* added TxSpeed, top-level CryptoSender

* computeGasFeeFrom() finalyzed

* refactoring

* refact

* refactor

* support ext wallets

* transferring chain to ext wallet

* ext wallet fix

* fetching range of gas prices

* Update navigation title

* Will use domain name for wallet on receiver selection screen if available

* new enum SupportedToken

* default body nil

* removed double-checking

* removed repeated code

* refactored computeGasPrice()

* computed gas fee in token units (Double)

* use speed-based gas price

* Fixed preview target

* Implemented use max crypto to send calculations.
Updated show pull up logic

* Filter tokens by can send

* Refactoring

* Created bridge functions to send crypto in view model

* Added ui entity for transaction speed

* Fetch gas fee and display on the UI.

* Updated gas fee price formatting

* Updated token formatting and saved value

* Refactoring

* Restore limited scope of requested porfolio data

* Remove speed estimation in sec from UI

* Run refresh gas timer

* Submit send crypto

* introduced EVMTokenAmount, extra helper method fetchGasPrices()

* fix: Eth Tx is build with WEIs only

* refactoring

* Update gas fee and prices calculations

* renaming (#452)

* Fix merging issue

* Gas fee and gas prices refactoring

* Fixed gas prices preserved and refactoring

* Handle send all tokens

* Check for user's fund is enough to cover gas before sending.

* Force refresh wallet update

* Add biometric verification to confirm send transaction.

* Updated using max button title

---------

Co-authored-by: rommex <roman@unstoppabledomains.com>

* MOB-1932 - Added analytics to send crypto module (#466)

* initted

* refactoring

* refact

* Update CryptoSenderProtocol.swift

* added hash property into description

* rm StoredTx

* create TX

also extracting JRPC methods

* refactor protocol

* extracting sendTx from WC2

* extracted fetchGasLimit()

* added working demo with Sepolia

* factor in amount and chain env

* fixed amount computation

* helper init

* check support of native tokens

* take use of default gas price

* added TxSpeed, top-level CryptoSender

* computeGasFeeFrom() finalyzed

* refactoring

* refact

* refactor

* support ext wallets

* transferring chain to ext wallet

* ext wallet fix

* fetching range of gas prices

* Update navigation title

* Will use domain name for wallet on receiver selection screen if available

* new enum SupportedToken

* default body nil

* removed double-checking

* removed repeated code

* refactored computeGasPrice()

* computed gas fee in token units (Double)

* use speed-based gas price

* Fixed preview target

* Implemented use max crypto to send calculations.
Updated show pull up logic

* Filter tokens by can send

* Refactoring

* Created bridge functions to send crypto in view model

* Added ui entity for transaction speed

* Fetch gas fee and display on the UI.

* Updated gas fee price formatting

* Updated token formatting and saved value

* Refactoring

* Restore limited scope of requested porfolio data

* Remove speed estimation in sec from UI

* Run refresh gas timer

* Submit send crypto

* introduced EVMTokenAmount, extra helper method fetchGasPrices()

* fix: Eth Tx is build with WEIs only

* refactoring

* Update gas fee and prices calculations

* renaming (#452)

* Fix merging issue

* Gas fee and gas prices refactoring

* Fixed gas prices preserved and refactoring

* Handle send all tokens

* Check for user's fund is enough to cover gas before sending.

* Force refresh wallet update

* Add biometric verification to confirm send transaction.

* Updated using max button title

* Added crypto views lifecycle analytic events

* Fixed typo

* Added analytic events for scan qr code and select receiver views

* Added analytics to asset selection and token input views

* Added analytics to transfer domain view

* Added analytics to send crypto view

* Added analytics to success screen

* Log send asset error

* Refactoring

---------

Co-authored-by: rommex <roman@unstoppabledomains.com>

* MOB-1924 - Update tx list ui logic (#467)

* initted

* refactoring

* refact

* Update CryptoSenderProtocol.swift

* added hash property into description

* rm StoredTx

* create TX

also extracting JRPC methods

* refactor protocol

* extracting sendTx from WC2

* extracted fetchGasLimit()

* added working demo with Sepolia

* factor in amount and chain env

* fixed amount computation

* helper init

* check support of native tokens

* take use of default gas price

* added TxSpeed, top-level CryptoSender

* computeGasFeeFrom() finalyzed

* refactoring

* refact

* refactor

* support ext wallets

* transferring chain to ext wallet

* ext wallet fix

* fetching range of gas prices

* Update navigation title

* Will use domain name for wallet on receiver selection screen if available

* new enum SupportedToken

* default body nil

* removed double-checking

* removed repeated code

* refactored computeGasPrice()

* computed gas fee in token units (Double)

* use speed-based gas price

* Fixed preview target

* Implemented use max crypto to send calculations.
Updated show pull up logic

* Filter tokens by can send

* Refactoring

* Created bridge functions to send crypto in view model

* Added ui entity for transaction speed

* Fetch gas fee and display on the UI.

* Updated gas fee price formatting

* Updated token formatting and saved value

* Refactoring

* Restore limited scope of requested porfolio data

* Remove speed estimation in sec from UI

* Run refresh gas timer

* Submit send crypto

* introduced EVMTokenAmount, extra helper method fetchGasPrices()

* fix: Eth Tx is build with WEIs only

* refactoring

* Update gas fee and prices calculations

* renaming (#452)

* Fix merging issue

* Gas fee and gas prices refactoring

* Fixed gas prices preserved and refactoring

* Handle send all tokens

* Check for user's fund is enough to cover gas before sending.

* Force refresh wallet update

* Add biometric verification to confirm send transaction.

* Updated using max button title

* Added crypto views lifecycle analytic events

* Fixed typo

* Added analytic events for scan qr code and select receiver views

* Added analytics to asset selection and token input views

* Added analytics to transfer domain view

* Added analytics to send crypto view

* Added analytics to success screen

* Log send asset error

* Refactoring

* Refactoring

* Updated and localized tx list items

* Adjust UI for long values in tx list

* Fixed targets

* Extend tx id

* Updated tx icons ui

* bump version to 5.3.0(1)

* Added tx type indicator
Updated titles of tx

* Prepared mock data

* Adjusted UI for nft indicator

* Fixed tests target

* Fixed loading more txs logic

* Updated txs grouping rules

* Updated UI of txs list

---------

Co-authored-by: rommex <roman@unstoppabledomains.com>

* MOB-1933 Fetch gas prices from Infura (#471)

* initted

* refactoring

* refact

* Update CryptoSenderProtocol.swift

* added hash property into description

* rm StoredTx

* create TX

also extracting JRPC methods

* refactor protocol

* extracting sendTx from WC2

* extracted fetchGasLimit()

* added working demo with Sepolia

* factor in amount and chain env

* fixed amount computation

* helper init

* check support of native tokens

* take use of default gas price

* added TxSpeed, top-level CryptoSender

* computeGasFeeFrom() finalyzed

* refactoring

* refact

* refactor

* support ext wallets

* transferring chain to ext wallet

* ext wallet fix

* fetching range of gas prices

* Update navigation title

* Will use domain name for wallet on receiver selection screen if available

* new enum SupportedToken

* default body nil

* removed double-checking

* removed repeated code

* refactored computeGasPrice()

* computed gas fee in token units (Double)

* use speed-based gas price

* Fixed preview target

* Implemented use max crypto to send calculations.
Updated show pull up logic

* Filter tokens by can send

* Refactoring

* Created bridge functions to send crypto in view model

* Added ui entity for transaction speed

* Fetch gas fee and display on the UI.

* Updated gas fee price formatting

* Updated token formatting and saved value

* Refactoring

* Restore limited scope of requested porfolio data

* Remove speed estimation in sec from UI

* Run refresh gas timer

* Submit send crypto

* introduced EVMTokenAmount, extra helper method fetchGasPrices()

* fix: Eth Tx is build with WEIs only

* refactoring

* Update gas fee and prices calculations

* renaming (#452)

* Fix merging issue

* Gas fee and gas prices refactoring

* Fixed gas prices preserved and refactoring

* Handle send all tokens

* Check for user's fund is enough to cover gas before sending.

* Force refresh wallet update

* Add biometric verification to confirm send transaction.

* Updated using max button title

* Added crypto views lifecycle analytic events

* Fixed typo

* Added analytic events for scan qr code and select receiver views

* Added analytics to asset selection and token input views

* Added analytics to transfer domain view

* Added analytics to send crypto view

* Added analytics to success screen

* Log send asset error

* Refactoring

* Refactoring

* Updated and localized tx list items

* Adjust UI for long values in tx list

* Fixed targets

* Extend tx id

* Updated tx icons ui

* bump version to 5.3.0(1)

* added fetchInfuraGasPrices()

* refactoring

* rm auth key

---------

Co-authored-by: Oleg <oleg@unstoppabledomains.com>

* Update copy for minting tx (when there's no from address)

* Various improvements within Send crypto feature (#473)

* Removed estimated time when send crypto

* Implemented empty states for domains and tokens

* Show total estimate when sending crypto

* Cleaning

* Fixing unit tests

* Added bottom padding to confirm button

* MOB-1940 - Updated search to purchase title

* Updated pull up height

---------

Co-authored-by: rommex <roman@unstoppabledomains.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants