Skip to content

Commit

Permalink
Dev >test (#799)
Browse files Browse the repository at this point in the history
* fix(EWM-323): store backup banner state by master key; refactor `SecureStorageService` keys; (#577)

* fix(EWM-323): store backup banner state by master key; refactor `SecureStorageService` keys;

* fix(EWM-340): remove testnet networks

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-342): implement add/change network provider methods (#569)

* feat(EWM-342): change network

* feat(EWM-342): add network

# Conflicts:
#	lib/app/service/nekoton_related/connection_service/network_presets.dart

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-308, change text and add clear button suffix (#578)

* fix: ewm-308, change text and add clear button suffix

* replace sparx on SparX

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-345): minor ui updates (#579)

* feat(EWM-345): minor ui updates

* Update network_item.dart

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: minor updates & fixes (#581)

* feat(EWM-349): rename browser useragent

* fix: minor ui fixes

* feat(EWM-238): update policy link

* fix: ios `BottomNavigationBar`

* feat(EWM-348): update support email

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* chore(EWM-353): update `nekoton_webview` (#582)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: EWM-336 App links (#580)

* EWM-336. App links Android

* EWM-336. Universal links iOS

* EWM-336. app_links package logic

* EWM-336. app_links package logic

* EWM-336. AndroidManifest.xml fix app link host

* EWM-336. Android handle init app link

* EWM-336. Plugin Android

* EWM-336. broxus_app_links

* EWM-336 listen plugin app links

* EWM-336 add handle link query from app link

* EWM-336 BehaviorBase

* EWM-336 handle applink in AppLinksService instead EventBus

* EWM-336 handle applink in AppLinksService instead EventBus

* EWM-336 broxus_app_links from git

* EWM-336 after merge

* fix(EWM-355): wait for account to be created before navigating from onboarding to main screen (#583)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* EWM-336 add broxus_app_links ref v1.0.0 (#588)

* feat: dev >test (#590)

* feat: EWM-251 add back up flow (#454)

* create badge on wallet
create common modal
create modal backup modal

* keep safe modal

* create good job modal

* password modal + manul back up modal + logic

* add ui for check seed phrase screen, add logic of choosing word, showing finish modal dialog

* fix linter and comments

* finish logic

* fix modal with keyboard

* fix linter issues and some comments

* make method get value more universal

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* dev -> test (#538)

* fix: EWM-286 (#524)

* EWM-286. Fix colors layout in ChangeColorBottomSheet

* EWM-286. KeyDetailView use UserAvatar

* EWM-286 use set full address to UserAvatar

* fix: ewm-300 (#525)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-297 (#526)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-298 (#527)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* EWM-252. Always show see all bookmarks button in browser (#528)

* EWM-299. Browser use onLoadResource instead onProgressChanged (#529)

* feat: EWM-286. Update IdentifyIconData (#530)

* EWM-286. AccountSettingsWidget change buttons order

* EWM-286. IdentifyIconData

* EWM-286. IdentifyIconData

* EWM-286. UserAvatar remove DecoratedBox

* fix: local manual backup (#531)

* fix: local manual backup

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-293 fix max length (#537)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-303 fix switching account (#536)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* Readme. Update long clone repo section (#535)

* EWM-302. Press Wallet scroll to top (#534)

* EWM-304. Choose network screen remove network description (#533)

* feat(EWM-273): staking (#532)

* feat(EWM-273): staking

* fix: format

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: venom transport config (#539)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: check wallet before start polling (#540)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* EWM-314. AmountInput remove token symbol (#543)

* EWM-286. Remove circle round avatar (#541)

* feat: ewm-308 change texts (#544)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-311. If change words tab - clear inputs (#542)

* EWM-311. If change words tab - clear inputs

* EWM-311. Import wallet. Change tab - clear seed.

* EWM-311. Paste 12 words only to 12 seed, 24 to 24

* EWM-304. Choose network change padding (#545)

---------

Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>
Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* Test update (#571)

* fix: EWM-286 (#524)

* EWM-286. Fix colors layout in ChangeColorBottomSheet

* EWM-286. KeyDetailView use UserAvatar

* EWM-286 use set full address to UserAvatar

* fix: ewm-300 (#525)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-297 (#526)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-298 (#527)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* EWM-252. Always show see all bookmarks button in browser (#528)

* EWM-299. Browser use onLoadResource instead onProgressChanged (#529)

* feat: EWM-286. Update IdentifyIconData (#530)

* EWM-286. AccountSettingsWidget change buttons order

* EWM-286. IdentifyIconData

* EWM-286. IdentifyIconData

* EWM-286. UserAvatar remove DecoratedBox

* fix: local manual backup (#531)

* fix: local manual backup

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-293 fix max length (#537)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-303 fix switching account (#536)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* Readme. Update long clone repo section (#535)

* EWM-302. Press Wallet scroll to top (#534)

* EWM-304. Choose network screen remove network description (#533)

* feat(EWM-273): staking (#532)

* feat(EWM-273): staking

* fix: format

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: venom transport config (#539)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: check wallet before start polling (#540)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* EWM-314. AmountInput remove token symbol (#543)

* EWM-286. Remove circle round avatar (#541)

* feat: ewm-308 change texts (#544)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-311. If change words tab - clear inputs (#542)

* EWM-311. If change words tab - clear inputs

* EWM-311. Import wallet. Change tab - clear seed.

* EWM-311. Paste 12 words only to 12 seed, 24 to 24

* EWM-304. Choose network change padding (#545)

* fix(EWM-315): amount validation (#546)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-313): simulate transaction tree (#547)

# Conflicts:
#	lib/feature/wallet/token_wallet_send/view/token_wallet_send_confirm_view.dart
#	lib/feature/wallet/ton_wallet_send/view/ton_wallet_send_confirm_view.dart

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: ewm-301 (#548)

* feat: ewm-301

* comment stake

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-316): wallet types names (#551)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: EWM-317 fix max value (#550)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-309): improve custom network support (#549)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-323 fix import multisig (#553)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat: EWM-233 (#552)

* EWM-233. No internet screen

* EWM-233. No internet route

* EWM-233. App widget Elementary

* EWM-233. Splash screen flow

* EWM-233. Break redirect before complete bootstrap

* EWM-233. AppRouter class

* EWM-233. AppRouter check splash

* EWM-233. AppRouter hasSeeds.valueOrNull

* EWM-233. AppRouter redirect return saved location

* EWM-233. Native splash only color and Flutter splash

* EWM-233. after merge

* add check for interent connection by click

* EWM-233. fix after analyze

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-320): staking initialization (#558)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-327): expand asset tap area (#557)

* feat(EWM-327): expand asset tap area

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-325 fix validator after paste (#556)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-322): refactor current accounts service (#555)

* fix(EWM-322): refactor current accounts service

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-321 (#554)

* fix: ewm-321

* dispose controllers

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-329 (#559)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-337 (#562)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-274): money format (#560)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-330 (#561)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-326): subscriptions refactor (#564)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: EWM-256 add js (#563)

* EWM-256. JS wrapper for web

* EWM-256. android:usesCleartextTraffic="true"

* EWM-256. Rebuild nekoton js

* EWM-256. Add license for js

* EWM-256. Fix after analyze

* chore: update `nekoton_webview` (+ `flutter_inappwebview@6.1.4`) (#567)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-341): add account info to confirm window (#566)

* fix(EWM-341): add account info to confirm window

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-331): add master key to list (#565)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-343): skip redirect for direct subroute navigation (#568)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

---------

Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>
Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: test update (#574)

* fix: EWM-286 (#524)

* EWM-286. Fix colors layout in ChangeColorBottomSheet

* EWM-286. KeyDetailView use UserAvatar

* EWM-286 use set full address to UserAvatar

* fix: ewm-300 (#525)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-297 (#526)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-298 (#527)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* EWM-252. Always show see all bookmarks button in browser (#528)

* EWM-299. Browser use onLoadResource instead onProgressChanged (#529)

* feat: EWM-286. Update IdentifyIconData (#530)

* EWM-286. AccountSettingsWidget change buttons order

* EWM-286. IdentifyIconData

* EWM-286. IdentifyIconData

* EWM-286. UserAvatar remove DecoratedBox

* fix: local manual backup (#531)

* fix: local manual backup

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-293 fix max length (#537)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-303 fix switching account (#536)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* Readme. Update long clone repo section (#535)

* EWM-302. Press Wallet scroll to top (#534)

* EWM-304. Choose network screen remove network description (#533)

* feat(EWM-273): staking (#532)

* feat(EWM-273): staking

* fix: format

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: venom transport config (#539)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: check wallet before start polling (#540)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* EWM-314. AmountInput remove token symbol (#543)

* EWM-286. Remove circle round avatar (#541)

* feat: ewm-308 change texts (#544)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-311. If change words tab - clear inputs (#542)

* EWM-311. If change words tab - clear inputs

* EWM-311. Import wallet. Change tab - clear seed.

* EWM-311. Paste 12 words only to 12 seed, 24 to 24

* EWM-304. Choose network change padding (#545)

* fix(EWM-315): amount validation (#546)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-313): simulate transaction tree (#547)

# Conflicts:
#	lib/feature/wallet/token_wallet_send/view/token_wallet_send_confirm_view.dart
#	lib/feature/wallet/ton_wallet_send/view/ton_wallet_send_confirm_view.dart

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: ewm-301 (#548)

* feat: ewm-301

* comment stake

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-316): wallet types names (#551)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: EWM-317 fix max value (#550)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-309): improve custom network support (#549)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-323 fix import multisig (#553)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat: EWM-233 (#552)

* EWM-233. No internet screen

* EWM-233. No internet route

* EWM-233. App widget Elementary

* EWM-233. Splash screen flow

* EWM-233. Break redirect before complete bootstrap

* EWM-233. AppRouter class

* EWM-233. AppRouter check splash

* EWM-233. AppRouter hasSeeds.valueOrNull

* EWM-233. AppRouter redirect return saved location

* EWM-233. Native splash only color and Flutter splash

* EWM-233. after merge

* add check for interent connection by click

* EWM-233. fix after analyze

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-320): staking initialization (#558)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-327): expand asset tap area (#557)

* feat(EWM-327): expand asset tap area

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-325 fix validator after paste (#556)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-322): refactor current accounts service (#555)

* fix(EWM-322): refactor current accounts service

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-321 (#554)

* fix: ewm-321

* dispose controllers

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-329 (#559)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-337 (#562)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-274): money format (#560)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-330 (#561)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-326): subscriptions refactor (#564)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: EWM-256 add js (#563)

* EWM-256. JS wrapper for web

* EWM-256. android:usesCleartextTraffic="true"

* EWM-256. Rebuild nekoton js

* EWM-256. Add license for js

* EWM-256. Fix after analyze

* chore: update `nekoton_webview` (+ `flutter_inappwebview@6.1.4`) (#567)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-341): add account info to confirm window (#566)

* fix(EWM-341): add account info to confirm window

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-331): add master key to list (#565)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-343): skip redirect for direct subroute navigation (#568)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: decimal part format (#572)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

---------

Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>
Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: dev -> test (#584)

* fix(EWM-323): store backup banner state by master key; refactor `SecureStorageService` keys; (#577)

* fix(EWM-323): store backup banner state by master key; refactor `SecureStorageService` keys;

* fix(EWM-340): remove testnet networks

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-342): implement add/change network provider methods (#569)

* feat(EWM-342): change network

* feat(EWM-342): add network

# Conflicts:
#	lib/app/service/nekoton_related/connection_service/network_presets.dart

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-308, change text and add clear button suffix (#578)

* fix: ewm-308, change text and add clear button suffix

* replace sparx on SparX

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-345): minor ui updates (#579)

* feat(EWM-345): minor ui updates

* Update network_item.dart

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: minor updates & fixes (#581)

* feat(EWM-349): rename browser useragent

* fix: minor ui fixes

* feat(EWM-238): update policy link

* fix: ios `BottomNavigationBar`

* feat(EWM-348): update support email

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* chore(EWM-353): update `nekoton_webview` (#582)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: EWM-336 App links (#580)

* EWM-336. App links Android

* EWM-336. Universal links iOS

* EWM-336. app_links package logic

* EWM-336. app_links package logic

* EWM-336. AndroidManifest.xml fix app link host

* EWM-336. Android handle init app link

* EWM-336. Plugin Android

* EWM-336. broxus_app_links

* EWM-336 listen plugin app links

* EWM-336 add handle link query from app link

* EWM-336 BehaviorBase

* EWM-336 handle applink in AppLinksService instead EventBus

* EWM-336 handle applink in AppLinksService instead EventBus

* EWM-336 broxus_app_links from git

* EWM-336 after merge

* fix(EWM-355): wait for account to be created before navigating from onboarding to main screen (#583)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

---------

Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>
Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

---------

Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>
Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* EWM-305 add clipboard paste button (#587)

* fix: EWM-356 (#593)

* EWM-356. Clipboard utils

* EWM-356. Update regexp

* EWM-356. Seed Easter egg

* feat: dev >test (#592)

* feat: EWM-251 add back up flow (#454)

* create badge on wallet
create common modal
create modal backup modal

* keep safe modal

* create good job modal

* password modal + manul back up modal + logic

* add ui for check seed phrase screen, add logic of choosing word, showing finish modal dialog

* fix linter and comments

* finish logic

* fix modal with keyboard

* fix linter issues and some comments

* make method get value more universal

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* dev -> test (#538)

* fix: EWM-286 (#524)

* EWM-286. Fix colors layout in ChangeColorBottomSheet

* EWM-286. KeyDetailView use UserAvatar

* EWM-286 use set full address to UserAvatar

* fix: ewm-300 (#525)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-297 (#526)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-298 (#527)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* EWM-252. Always show see all bookmarks button in browser (#528)

* EWM-299. Browser use onLoadResource instead onProgressChanged (#529)

* feat: EWM-286. Update IdentifyIconData (#530)

* EWM-286. AccountSettingsWidget change buttons order

* EWM-286. IdentifyIconData

* EWM-286. IdentifyIconData

* EWM-286. UserAvatar remove DecoratedBox

* fix: local manual backup (#531)

* fix: local manual backup

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-293 fix max length (#537)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-303 fix switching account (#536)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* Readme. Update long clone repo section (#535)

* EWM-302. Press Wallet scroll to top (#534)

* EWM-304. Choose network screen remove network description (#533)

* feat(EWM-273): staking (#532)

* feat(EWM-273): staking

* fix: format

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: venom transport config (#539)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: check wallet before start polling (#540)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* EWM-314. AmountInput remove token symbol (#543)

* EWM-286. Remove circle round avatar (#541)

* feat: ewm-308 change texts (#544)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-311. If change words tab - clear inputs (#542)

* EWM-311. If change words tab - clear inputs

* EWM-311. Import wallet. Change tab - clear seed.

* EWM-311. Paste 12 words only to 12 seed, 24 to 24

* EWM-304. Choose network change padding (#545)

---------

Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>
Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* Test update (#571)

* fix: EWM-286 (#524)

* EWM-286. Fix colors layout in ChangeColorBottomSheet

* EWM-286. KeyDetailView use UserAvatar

* EWM-286 use set full address to UserAvatar

* fix: ewm-300 (#525)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-297 (#526)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-298 (#527)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* EWM-252. Always show see all bookmarks button in browser (#528)

* EWM-299. Browser use onLoadResource instead onProgressChanged (#529)

* feat: EWM-286. Update IdentifyIconData (#530)

* EWM-286. AccountSettingsWidget change buttons order

* EWM-286. IdentifyIconData

* EWM-286. IdentifyIconData

* EWM-286. UserAvatar remove DecoratedBox

* fix: local manual backup (#531)

* fix: local manual backup

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-293 fix max length (#537)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-303 fix switching account (#536)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* Readme. Update long clone repo section (#535)

* EWM-302. Press Wallet scroll to top (#534)

* EWM-304. Choose network screen remove network description (#533)

* feat(EWM-273): staking (#532)

* feat(EWM-273): staking

* fix: format

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: venom transport config (#539)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: check wallet before start polling (#540)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* EWM-314. AmountInput remove token symbol (#543)

* EWM-286. Remove circle round avatar (#541)

* feat: ewm-308 change texts (#544)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-311. If change words tab - clear inputs (#542)

* EWM-311. If change words tab - clear inputs

* EWM-311. Import wallet. Change tab - clear seed.

* EWM-311. Paste 12 words only to 12 seed, 24 to 24

* EWM-304. Choose network change padding (#545)

* fix(EWM-315): amount validation (#546)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-313): simulate transaction tree (#547)

# Conflicts:
#	lib/feature/wallet/token_wallet_send/view/token_wallet_send_confirm_view.dart
#	lib/feature/wallet/ton_wallet_send/view/ton_wallet_send_confirm_view.dart

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: ewm-301 (#548)

* feat: ewm-301

* comment stake

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-316): wallet types names (#551)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: EWM-317 fix max value (#550)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-309): improve custom network support (#549)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-323 fix import multisig (#553)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat: EWM-233 (#552)

* EWM-233. No internet screen

* EWM-233. No internet route

* EWM-233. App widget Elementary

* EWM-233. Splash screen flow

* EWM-233. Break redirect before complete bootstrap

* EWM-233. AppRouter class

* EWM-233. AppRouter check splash

* EWM-233. AppRouter hasSeeds.valueOrNull

* EWM-233. AppRouter redirect return saved location

* EWM-233. Native splash only color and Flutter splash

* EWM-233. after merge

* add check for interent connection by click

* EWM-233. fix after analyze

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-320): staking initialization (#558)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-327): expand asset tap area (#557)

* feat(EWM-327): expand asset tap area

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-325 fix validator after paste (#556)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-322): refactor current accounts service (#555)

* fix(EWM-322): refactor current accounts service

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-321 (#554)

* fix: ewm-321

* dispose controllers

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-329 (#559)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-337 (#562)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-274): money format (#560)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-330 (#561)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-326): subscriptions refactor (#564)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: EWM-256 add js (#563)

* EWM-256. JS wrapper for web

* EWM-256. android:usesCleartextTraffic="true"

* EWM-256. Rebuild nekoton js

* EWM-256. Add license for js

* EWM-256. Fix after analyze

* chore: update `nekoton_webview` (+ `flutter_inappwebview@6.1.4`) (#567)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-341): add account info to confirm window (#566)

* fix(EWM-341): add account info to confirm window

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-331): add master key to list (#565)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-343): skip redirect for direct subroute navigation (#568)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

---------

Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>
Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: test update (#574)

* fix: EWM-286 (#524)

* EWM-286. Fix colors layout in ChangeColorBottomSheet

* EWM-286. KeyDetailView use UserAvatar

* EWM-286 use set full address to UserAvatar

* fix: ewm-300 (#525)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-297 (#526)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-298 (#527)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* EWM-252. Always show see all bookmarks button in browser (#528)

* EWM-299. Browser use onLoadResource instead onProgressChanged (#529)

* feat: EWM-286. Update IdentifyIconData (#530)

* EWM-286. AccountSettingsWidget change buttons order

* EWM-286. IdentifyIconData

* EWM-286. IdentifyIconData

* EWM-286. UserAvatar remove DecoratedBox

* fix: local manual backup (#531)

* fix: local manual backup

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-293 fix max length (#537)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-303 fix switching account (#536)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* Readme. Update long clone repo section (#535)

* EWM-302. Press Wallet scroll to top (#534)

* EWM-304. Choose network screen remove network description (#533)

* feat(EWM-273): staking (#532)

* feat(EWM-273): staking

* fix: format

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: venom transport config (#539)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: check wallet before start polling (#540)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* EWM-314. AmountInput remove token symbol (#543)

* EWM-286. Remove circle round avatar (#541)

* feat: ewm-308 change texts (#544)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-311. If change words tab - clear inputs (#542)

* EWM-311. If change words tab - clear inputs

* EWM-311. Import wallet. Change tab - clear seed.

* EWM-311. Paste 12 words only to 12 seed, 24 to 24

* EWM-304. Choose network change padding (#545)

* fix(EWM-315): amount validation (#546)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-313): simulate transaction tree (#547)

# Conflicts:
#	lib/feature/wallet/token_wallet_send/view/token_wallet_send_confirm_view.dart
#	lib/feature/wallet/ton_wallet_send/view/ton_wallet_send_confirm_view.dart

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: ewm-301 (#548)

* feat: ewm-301

* comment stake

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-316): wallet types names (#551)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: EWM-317 fix max value (#550)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-309): improve custom network support (#549)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-323 fix import multisig (#553)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat: EWM-233 (#552)

* EWM-233. No internet screen

* EWM-233. No internet route

* EWM-233. App widget Elementary

* EWM-233. Splash screen flow

* EWM-233. Break redirect before complete bootstrap

* EWM-233. AppRouter class

* EWM-233. AppRouter check splash

* EWM-233. AppRouter hasSeeds.valueOrNull

* EWM-233. AppRouter redirect return saved location

* EWM-233. Native splash only color and Flutter splash

* EWM-233. after merge

* add check for interent connection by click

* EWM-233. fix after analyze

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-320): staking initialization (#558)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-327): expand asset tap area (#557)

* feat(EWM-327): expand asset tap area

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-325 fix validator after paste (#556)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-322): refactor current accounts service (#555)

* fix(EWM-322): refactor current accounts service

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-321 (#554)

* fix: ewm-321

* dispose controllers

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-329 (#559)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-337 (#562)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-274): money format (#560)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-330 (#561)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-326): subscriptions refactor (#564)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: EWM-256 add js (#563)

* EWM-256. JS wrapper for web

* EWM-256. android:usesCleartextTraffic="true"

* EWM-256. Rebuild nekoton js

* EWM-256. Add license for js

* EWM-256. Fix after analyze

* chore: update `nekoton_webview` (+ `flutter_inappwebview@6.1.4`) (#567)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-341): add account info to confirm window (#566)

* fix(EWM-341): add account info to confirm window

* fix: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-331): add master key to list (#565)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-343): skip redirect for direct subroute navigation (#568)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: decimal part format (#572)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

---------

Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>
Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: dev -> test (#584)

* fix(EWM-323): store backup banner state by master key; refactor `SecureStorageService` keys; (#577)

* fix(EWM-323): store backup banner state by master key; refactor `SecureStorageService` keys;

* fix(EWM-340): remove testnet networks

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-342): implement add/change network provider methods (#569)

* feat(EWM-342): change network

* feat(EWM-342): add network

# Conflicts:
#	lib/app/service/nekoton_related/connection_service/network_presets.dart

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: ewm-308, change text and add clear button suffix (#578)

* fix: ewm-308, change text and add clear button suffix

* replace sparx on SparX

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat(EWM-345): minor ui updates (#579)

* feat(EWM-345): minor ui updates

* Update network_item.dart

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: minor updates & fixes (#581)

* feat(EWM-349): rename browser useragent

* fix: minor ui fixes

* feat(EWM-238): update policy link

* fix: ios `BottomNavigationBar`

* feat(EWM-348): update support email

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* chore(EWM-353): update `nekoton_webview` (#582)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: EWM-336 App links (#580)

* EWM-336. App links Android

* EWM-336. Universal links iOS

* EWM-336. app_links package logic

* EWM-336. app_links package logic

* EWM-336. AndroidManifest.xml fix app link host

* EWM-336. Android handle init app link

* EWM-336. Plugin Android

* EWM-336. broxus_app_links

* EWM-336 listen plugin app links

* EWM-336 add handle link query from app link

* EWM-336 BehaviorBase

* EWM-336 handle applink in AppLinksService instead EventBus

* EWM-336 handle applink in AppLinksService instead EventBus

* EWM-336 broxus_app_links from git

* EWM-336 after merge

* fix(EWM-355): wait for account to be created before navigating from onboarding to main screen (#583)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

---------

Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>
Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

---------

Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>
Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* version: 1.0.3

* fix(EWM-346): update `nekoton_repository` (#599)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-357): update `nekoton_repository`; add loaders; (#604)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: paste logic ewm-363 (#602)

* fix: paste logic

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat: EWM-359 (#601)

* EWM-359. ImportWalletScreen import seed auto change tab

* EWM-359. fix call change tab

* EWM-359. EnterSeedPhrase paste seed auto change tab

* android:roundIcon (#600)

* fix: letter spacing (#603)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-352 (#605)

* EWM-352. Fix StateError common_select_dropdown.dart

* EWM-352. Fix FormatException primary_view.dart

* EWM-352. Fix StateError AddSeedEnableBiometryCubit. Cannot emit new states after calling close

* EWM-352. Fix StateError TokenWalletDetailsCubit. Cannot emit new states after calling close

* EWM-352. Add AppRouter maybePop try..catch

* EWM-352. TonWalletSendBloc cehck is not null fees

* EWM-352. Fix BrowserTabView _TypeError

* EWM-352. PlatformException local_auth_darwin

* feat: ewm-347 (#596)

* feat: ewm-347

* fix late initialization

* feat: fix getting not-cached tokens

* unsubscribeToken

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-274): update `TokenTransferInfoWidget` amount format (#607)

* fix(EWM-274): update `TokenTransferInfoWidget` amount format

* chore: fix analyze & format

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix(EWM-351): clear biometry storage data; + minor fixes and improvments (#606)

* fix(EWM-351): clear biometry storage data

* feat: add choose network button loader

* refactor: unify `SecureStorageService` and add it to `StorageManagerService`

* fix: subscription errors on logout

* chore: analyze & format

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat(EWM-369): token api (#611)

* feat(EWM-369): use token api to scan wallets

# Conflicts:
#	lib/di/di.config.dart

* refactor: optimize build_runner

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: ewm-365 change ui for accounts (#610)

* feat: ewm-365 change ui for accounts

* fix linter

* add const
and fix linter

* fix comment and fix bug with calling item builder

* remove unused loop

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: WIP: some points from docs of ewm 347 (#612)

* fix: some points from docs of ewm 347

* fix comment

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix(EWM-369): use `tokenWalletService` to search wallets on the first entering (#613)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: EWM-362 (#608)

* EWM-352. user agent

* EWM-352. Add check url with http and without www

* EWM-352. after analyze

* fix: change bg (#614)

* fix: change bg

* fix logic with showing new tokens label

* hide label with 0 token

* fix comment

* ui hotfixes

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* Update check custom app link (#615)

* Update check custom app link

* customAppLinks metamask without https

* feat: new flow create account (#616)

* fix: change bg

* fix logic with showing new tokens label

* hide label with 0 token

* fix comment

* ui hotfixes

* feat: new flow of creating account

* fix linter

* remove unused method

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: add clamp for column (#617)

* fix: add clamp for column

* move logic from build method

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat: update transaction tree simulation errors UI (#618)

* feat: update transaction tree simulation errors UI

* chore: rename `disabled` field

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: fix locale (#619)

* fix lcoale

* change on capital letter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-381 (#620)

* EWM-381. Update dependencies

* EWM-381. ConnectionService _updateTransportByConnection remove rethrow

* EWM-381. Checkout to ever network if current with error

* EWM-381. Fix after analyze

* fix(EWM-313): minor fixes (#623)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: WIP! EWM-382 Tycho (#621)

* EWM-381. Update dependencies

* EWM-381. ConnectionService _updateTransportByConnection remove rethrow

* EWM-381. Checkout to ever network if current with error

* EWM-381. Fix after analyze

* EWM-382. Add Tycho in default networks

* EWM-382. Update TychoTransportStrategy availableWalletTypes and networkName

* EWM-382. Add Tycho in onboarding

* EWM-382. nekoton_repository 0.37.0-dev.9

* EWM-382. AppBar Tycho image

* EWM-382. Add images and pods

* EWM-382. After merge

* EWM-382. Update Tycho currencyUrl

* EWM-382. Handle error stream AccountAssetTabCubit

* chore: fix analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix label with empty state (#626)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-392 fix focus on current account (#625)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix bug with switching network, change local for network (#624)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: empty state for new tokens (#633)

* fix empty state for new tokens

* use lambda

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* chore(deps): Bump auto_size_text_field from 2.2.3 to 2.2.4 (#632)

Bumps [auto_size_text_field](/~https://github.com/lzhuor/auto_size_text_field) from 2.2.3 to 2.2.4.
- [Release notes](/~https://github.com/lzhuor/auto_size_text_field/releases)
- [Changelog](/~https://github.com/lzhuor/auto_size_text_field/blob/master/CHANGELOG.md)
- [Commits](/~https://github.com/lzhuor/auto_size_text_field/commits)

---
updated-dependencies:
- dependency-name: auto_size_text_field
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump logging from 1.2.0 to 1.3.0 (#631)

Bumps [logging](/~https://github.com/dart-lang/core/tree/main/pkgs) from 1.2.0 to 1.3.0.
- [Release notes](/~https://github.com/dart-lang/core/releases)
- [Commits](/~https://github.com/dart-lang/core/commits/logging-v1.3.0/pkgs)

---
updated-dependencies:
- dependency-name: logging
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump internet_connection_checker_plus from 2.5.1 to 2.5.2 (#629)

Bumps [internet_connection_checker_plus](/~https://github.com/OutdatedGuy/internet_connection_checker_plus) from 2.5.1 to 2.5.2.
- [Release notes](/~https://github.com/OutdatedGuy/internet_connection_checker_plus/releases)
- [Changelog](/~https://github.com/OutdatedGuy/internet_connection_checker_plus/blob/main/CHANGELOG.md)
- [Commits](/~https://github.com/OutdatedGuy/internet_connection_checker_plus/compare/v2.5.1...v2.5.2)

---
updated-dependencies:
- dependency-name: internet_connection_checker_plus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump flutter_inappwebview from 6.1.4 to 6.1.5 (#628)

Bumps [flutter_inappwebview](/~https://github.com/pichillilorenzo/flutter_inappwebview) from 6.1.4 to 6.1.5.
- [Release notes](/~https://github.com/pichillilorenzo/flutter_inappwebview/releases)
- [Commits](/~https://github.com/pichillilorenzo/flutter_inappwebview/compare/v6.1.4...v6.1.5)

---
updated-dependencies:
- dependency-name: flutter_inappwebview
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump local_auth from 2.2.0 to 2.3.0 (#630)

Bumps [local_auth](/~https://github.com/flutter/packages/tree/main/packages/local_auth) from 2.2.0 to 2.3.0.
- [Release notes](/~https://github.com/flutter/packages/releases)
- [Commits](/~https://github.com/flutter/packages/commits/local_auth-v2.3.0/packages/local_auth)

---
updated-dependencies:
- dependency-name: local_auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: showing staking (#645)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* chore(deps): Bump flutter_gen_runner from 5.4.0 to 5.8.0 (#644)

Bumps [flutter_gen_runner](/~https://github.com/FlutterGen/flutter_gen) from 5.4.0 to 5.8.0.
- [Release notes](/~https://github.com/FlutterGen/flutter_gen/releases)
- [Changelog](/~https://github.com/FlutterGen/flutter_gen/blob/main/CHANGELOG.md)
- [Commits](/~https://github.com/FlutterGen/flutter_gen/compare/v5.4.0...v5.8.0)

---
updated-dependencies:
- dependency-name: flutter_gen_runner
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump share_plus from 10.0.2 to 10.1.2 (#643)

Bumps [share_plus](/~https://github.com/fluttercommunity/plus_plugins/tree/main/packages/share_plus) from 10.0.2 to 10.1.2.
- [Release notes](/~https://github.com/fluttercommunity/plus_plugins/releases)
- [Commits](/~https://github.com/fluttercommunity/plus_plugins/commits/device_info_plus-v10.1.2/packages/share_plus)

---
updated-dependencies:
- dependency-name: share_plus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump string_extensions from 0.7.1 to 0.7.3 (#642)

Bumps [string_extensions](/~https://github.com/esentis/string_extensions) from 0.7.1 to 0.7.3.
- [Changelog](/~https://github.com/esentis/string_extensions/blob/develop/CHANGELOG.md)
- [Commits](/~https://github.com/esentis/string_extensions/compare/v0.7.1...v0.7.3)

---
updated-dependencies:
- dependency-name: string_extensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump injectable from 2.4.4 to 2.5.0 (#641)

Bumps [injectable](/~https://github.com/Milad-Akarie/injectable) from 2.4.4 to 2.5.0.
- [Commits](/~https://github.com/Milad-Akarie/injectable/commits)

---
updated-dependencies:
- dependency-name: injectable
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump injectable_generator from 2.6.1 to 2.6.2 (#640)

Bumps [injectable_generator](/~https://github.com/Milad-Akarie/injectable) from 2.6.1 to 2.6.2.
- [Commits](/~https://github.com/Milad-Akarie/injectable/commits)

---
updated-dependencies:
- dependency-name: injectable_generator
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: linter and fix scrolling selecting account (#646)

* fix linter and fix scrolling selecting account

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* refactor: Performance improvements (#627)

* pref: improve currencies fetch performance

# Conflicts:
#	pubspec.lock
#	pubspec.yaml

* refactor: migrate to `get_storage`

* fix: native balance

* fix: format & analyze

* fix: integration tests

* fix: update deps; `await transport.dispose()`;

* fix: build

* fix(EWM-313): update `nekoton_repository`; downgrade `money2`;

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* Add TychoTransportStrategy to TransportExtension (#647)

* fix: WalletContractType json name (#651)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: staking (#652)

* fix: staking init performance

* fix: staking attached amount

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* chore(deps): Bump mobile_scanner from 3.4.1 to 6.0.2 (#650)

Bumps [mobile_scanner](/~https://github.com/juliansteenbakker/mobile_scanner) from 3.4.1 to 6.0.2.
- [Release notes](/~https://github.com/juliansteenbakker/mobile_scanner/releases)
- [Changelog](/~https://github.com/juliansteenbakker/mobile_scanner/blob/master/CHANGELOG.md)
- [Commits](/~https://github.com/juliansteenbakker/mobile_scanner/compare/v3.4.1...v6.0.2)

---
updated-dependencies:
- dependency-name: mobile_scanner
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump flutter_svg from 2.0.15 to 2.0.16 (#649)

Bumps [flutter_svg](/~https://github.com/flutter/packages/tree/main/third_party/packages) from 2.0.15 to 2.0.16.
- [Release notes](/~https://github.com/flutter/packages/releases)
- [Commits](/~https://github.com/flutter/packages/commits/flutter_svg-v2.0.16/third_party/packages)

---
updated-dependencies:
- dependency-name: flutter_svg
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update pods (#653)

* fix scroll in selecting account (#654)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* mobile_scanner: 3.4.1 (#655)

* manage_seeds_accounts_cubit.dart check is already show backup (#657)

* fix: use cached balances (#659)

* fix: use cached balances

* chore: update `nekoton_webview`

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: Add the logger (#658)

* add the_logger

* add initLogger

* fix: sentry errors (#660)

* browser_tab_view.dart try..catch goBack

* AccountDetailCubit try..catch subscribeByAddress

* WalletAccountActionsCubit try..catch getLocalCustodians

* ExportSeedCubit emit safe

* CreateSeedPasswordProfilePage try..catch goNamed

* NoInternetScreenWidgetModel contextSafe

* startLogSession try..catch

* TokenWalletDetailsCubit try..catch getLocalCustodians

* AccountTransactionsTabCubit emitSafe

* CurrentAccountsService try..catch startPolling

* AccountTransactionsTabCubit try..catch _createSubs

* EnterSeedPhraseCubit try..finally _resetFormAndError

* Bloc addSafe

* BrowserTabView try..catch canGoBack and canGoForward

* ManageSeedsAccountsCubit.init check isNotEmpty

* EnterSeedPhraseCubit.pastePhrase try..catch

* StakingBloc.init addSafe

* ImportWalletScreenModel try..catch allowedValues

* SelectAccountModel try..catch getBalance

* TokenWalletSendBloc late unsignedMessage -> nullable unsignedMessage

* ContextWmMixin and ContextMixin contextSafe try..catch

* NewAccountPage nullable params

* defaultCanPopAction and defaultPopAction try..catch

* CheckSeedPhraseCubit emitSafe

* Add trailing comma

* Default user agent (#662)

* fix: staking (#661)

* fix: improve pwd creation ux

* fix: hide asset select arrow if only 1 asset; improve `max` button dx;

* feat: add staking withdraw hint; fix `AmountInput` tap area;

* chore: review

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: manual backup flow (#663)

* fix: manual backup flow

* chore: fix format & analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* EWM-400. Browser force open tg scheme url (#664)

* feat: rename app (#668)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* NewAccountPage check if need show error (#666)

* DeriveKeysCubit emitSafe (#669)

* feat: rename build (#670)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* feat: update `nekoton_repository`;add transport http client; (#671)

* feat: update `nekoton_repository`;add transport http client;

* chore: fix logger name

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* shouldOverrideUrlLoading remove canLaunch (#667)

* fix: prevent redundant transactions request (#673)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* CreateSeedCubit emitSafe (#674)

* Tonkeeper (#672)

* Add tonkeeper in _customAppLinks

* _customAppLinks app.tonkeeper -> app.tonkeeper.com

* fix: Biometry flow inside onboarding (#677)

* Biometry flow inside onboarding

* PopCapture

* PopCapture VoidCallback? onPop

* fix: message timeout (#683)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: confirmation transaction message timeout; send token fix; (#684)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: predev (#687)

* update custom modal

* feat: update deploy flow without nekoton

* fix comments

* implemented new version of nekoton, pass hours like parameter

* add external account flow

* feat: implemented rename custodian logic

* implement new transaction ui for multisig

* fix first issues

* move input formatters

* change map on for

* fix color avatar and ci

* update ui on the main screen

* fix biometry

* fix EWM-409

* fix padding, add cache cubit hours, add switch account modal, remove action info from native

* fix localization and accent buttons on ms

* fix modal, fix gray screen

* change on password v2 widget

* fix implementing 4998

* fix modal with 0.1

* fix linter

* fix bugs from 5002

* fix bugs 8 and 9

* chore: update `nekoton_repository` (#682)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix 8,9,4,11

* fix background for ever transactions

* fix transactions for native token

* fix check for 5 unconfirmed transactions

* fix: transaction expiration; + token transaction list lazy loading;

* fix pending status and fix allowing stake logic

* 12 confirm transaction (#685)

* Shaped container

* Multisig confirm screen

* add timer icon for transactions, fix dApp send message

* create predev with TokenWalletTransactionsCubit error

* chore: update `nekoton_repository`

* fix: add storage migration; fix custom network support;

* chore: format & analyze

* Get remote config to networks. Screen failed (#690)

* Connection isUsedOnStart (#689)

* fix: `addExternalAccount` (doc 14)

* Sentry fixies (#688)

* Everywhere use emitSafe

* ActionStakingBloc check is null staking

* SelectAccountWidgetModel onAddAccount check contextSafe is null

* BrowserTabView fix Null check

* SendMessageWidgetModel fix Null check currency

* WalletPrepareTransferPageWidgetModel contextSafe

* After merge

* TxTreeSimulationErrorWidget can be null

* fix: disable transaction simulation for TON

* fix: ms expiration time convert hours to seconds

* chore: remove hive (#693)

* chore: remove hive

* chore: disable empty integration tests

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: Remove assets background divider (#692)

* AccountAssetsTab update background lint

* txTreeSimulationErrorHintCanFix args symbol or empty string

* Send get presets data error to Sentry (#691)

* fix: ton transactions; ton token api;

* fix: add custom jetton asset

* ProfileView change color (#694)

* fix localization

* fix external account

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>
Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>
Co-authored-by: Dmitry Andriyanov <knightsforce@users.noreply.github.com>

* fix: mutex error (#695)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* nekoton_repository: 0.45.0 (#699)

* fix: copy label on manual (#706)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: EWM-410 implement sorting (#703)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: `AmountTooLargeException` (#704)

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: fix logs (#707)

* Update FetchPresetsConnectionsExceptions

* Update the_logger init

* build: Ci select flavor (#712)

* CI select flavor

* CI. Check flavor for store build

* CI. Rename flavor-target to flavor

* CI. setup job. Display flavor target

* CI. Default flavor == staging

* CI. Flavor options with quotes

* CI. Flavor to fastlane

* CI. Flavor to fastlane remove space

* CI. Flavor to fastlane remove space

* CI. Android remove flavor suffix for package id

* Update sign ios

* Update sign ios

* ipa_path hardcode name

* ipa_path hardcode name

* getRootPath try..catch (#708)

* CI. Set main target from flavor (#714)

* feat(EWM-413): staking (#709)

* feat(EWM-413): staking

* refactor(EWM-423): cancel unstaking

* refactor: optimize imports

* feat: dynamic gas price

* feat: staking dynamic gas price

* fix: wait for staking info

* fix: bugfix

* feat: add max sendable amount message and update validation logic

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* Ewm 458. Request balances/search, conifg file, select network type (#725)

* refactor(EWM-440): networks bloc

* refactor: add `onSwitch` callback to `showSwitchToThisNetworkSheet`

* EWM-458. Tycho balances url

* EWM-458. throw CachePresetsConnectionsExceptions

* EWM-458. Json file config

* EWM-458. mapping customNetworkOptions

* EWM-458. networkTypeWord

* EWM-458. Refactor EditNetworkElementary

* EWM-458. EndpointsField add ObjectKey

* EWM-458. After analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: `flutter@3.27.0` (#727)

* chore: update SDK constraints and dependencies across packages

* chore: update dependencies, remove unused files, and refactor error handling

* chore: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* EWM-419. Fix builds in widgets (#723)

* fix: ewm-452 fix selected asset (#711)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-392 fix scroll (#705)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-379 remove autofocus (#720)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* Refactor AppWrapper to Elementary (#729)

* build: Ci flutter 3.27 (#735)

* ci. flutter version from file

* ci. flutter version from file

* fix todo

* Display Flutter version

* CI. Use v3 tag

* mobile_scanner: 5.2.3 (#742)

* mobile_scanner: 5.2.3

* mobile_scanner: 5.2.3

* Update pods

* feat: relaese 1.1.0 (#747)

* version: 1.1.0

* fix: EWM-461 (#731)

* fix: EWM-461

* chore: fix build

* fix: downgrade mobile_scanner to 5.2.3

* chore: analyze

* fix: update nekoton_repository

* fix: dynamic gas computation

* fix: downgrade Flutter SDK and dependencies for compatibility

* chore: analyze

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: estimate deployment fees (#748)

* fix: EWM-461

* chore: fix build

* fix: downgrade mobile_scanner to 5.2.3

* chore: analyze

* fix: update nekoton_repository

* fix: dynamic gas computation

* fix: downgrade Flutter SDK and dependencies for compatibility

* chore: analyze

* feat: add minimum balance handling in wallet actions

---------

Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* fix: notify receiver `false`

* fix: minor fix

* fix: refactor fee estimation and update nekoton_repository to 0.50.0

* fix: remove unused unsignedMessage variable and ensure proper disposal in wallet-related blocs

* android.enableR8.fullMode=false (#752)

* AppLifecycleListener create after init (#753)

---------

Co-authored-by: Egor Komarov <Odrin@users.noreply.github.com>
Co-authored-by: Egor Komarov <egor.komarov@bf.rocks>

* feat: prerelease (#759)

* fix: ewm-468 skip select seed screen if one seed (#757)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix currency on network fee (#756)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* version: 1.2.0

* feat: network group cache (#758)

* Update android build

* Migration v4

* Cache assets by network group

* json networkGroup

* Connections add networkGroup

* fix use NetworkType -> NetworkGroup

* Migration balancec

* Rollback StorageMigrationService

* Update connections.json

* Fix json serialize

* ndkVersion = "25.2.9519653"

* fix: hotfix/ewm 466  (#761)

* exchange usd change

* fix linter

---------

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: Prerelease fix (#762)

* flutter_rust_bridge: 2.7.0

* runZonedGuarded catch if log null uses print

* Prerelease fixes2 (#763)

* Hack TonWalletIconWidget svg network render

* Rename tansports_mapper -> transports_mapper

* fix: big_numbers and fix icon (#764)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix attached amount

* org.gradle.jvmargs=-xmx4608m

* org.gradle.jvmargs=-Xmx4608M

* Update README

---------

Co-authored-by: Andrey Molochko <36672245+AndreyMolochko@users.noreply.github.com>
Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* const timeoutMinutes = 3 (#767)

* fix: ewm-462 fix sending page (#736)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: background for transactions and asset (#721)

Co-authored-by: Andrey Malochka <andrey.molocko2018@gmail.com>

* fix: ewm-456 fix adding external account switching (#724)

Co-a…
  • Loading branch information
7 people authored Feb 28, 2025
1 parent 4678a5b commit 948d96f
Show file tree
Hide file tree
Showing 28 changed files with 193 additions and 142 deletions.
2 changes: 2 additions & 0 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
android:enableOnBackInvokedCallback="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:fullBackupContent="false"
android:label="${appName}"
android:usesCleartextTraffic="true">
<activity
Expand Down
3 changes: 2 additions & 1 deletion assets/configs/connections.json
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,8 @@
"defaultNativeCurrencyDecimal": 9,
"genericTokenType": "jetton",
"accountExplorerLinkType": "packAddress",
"transactionExplorerLinkType": "transaction"
"transactionExplorerLinkType": "transaction",
"currencyApiBaseUrl": "https://tonapi.io/v2"
},
{
"networkName": "Hamster Network",
Expand Down
14 changes: 9 additions & 5 deletions lib/app/service/assets_service.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'dart:async';
import 'dart:convert';

import 'package:app/app/service/connection/connection_factory.dart';
import 'package:app/app/service/presets_connection/presets_connection_service.dart';
import 'package:app/app/service/service.dart';
import 'package:app/data/models/models.dart';
Expand All @@ -11,6 +10,7 @@ import 'package:injectable/injectable.dart';
import 'package:logging/logging.dart';
import 'package:nekoton_repository/nekoton_repository.dart';
import 'package:rxdart/rxdart.dart';
import 'package:ui_components_lib/ui_components_lib.dart';

/// Service that allows loading and updating list of contracts for transport.
/// This service also provides ability to load information about custom
Expand All @@ -24,7 +24,6 @@ class AssetsService {
this.presetsConnectionService,
this.httpService,
this.storage,
this.connectionFactory,
this.tonRepository,
);

Expand All @@ -36,7 +35,6 @@ class AssetsService {
final PresetsConnectionService presetsConnectionService;
final HttpService httpService;
final GeneralStorageService storage;
final ConnectionFactory connectionFactory;
final TonRepository tonRepository;

StreamSubscription<TransportStrategy>? _currentTransportSubscription;
Expand Down Expand Up @@ -92,7 +90,14 @@ class AssetsService {
List<TokenContractAsset>, List<TokenContractAsset>>(
storage.customTokenContractAssetsStream(transport.transport.group),
storage.systemTokenContractAssetsStream(transport.transport.group),
(a, b) => <TokenContractAsset>{...a, ...b}.toList(),
(a, b) => <TokenContractAsset>{
...a,
...b,
}.map((e) {
final symbol = currencySymbolConfig[e.symbol];
if (symbol == null) return e;
return e.copyWith(symbol: symbol);
}).toList(),
);
},
);
Expand Down Expand Up @@ -232,7 +237,6 @@ class AssetsService {
if (transport.networkType == 'ton') {
final details = await JettonWallet.getJettonRootDetails(
transport: transport.transport,
gqlConnection: connectionFactory.getTonGqlConnection(),
tokenRoot: rootTokenContract,
);
final info = await tonRepository.getTokenInfo(
Expand Down
1 change: 0 additions & 1 deletion lib/app/service/connection/connection.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export 'connection_factory.dart';
export 'connection_service.dart';
export 'data/data.dart';
export 'default_network.dart';
Expand Down
32 changes: 0 additions & 32 deletions lib/app/service/connection/connection_factory.dart

This file was deleted.

4 changes: 0 additions & 4 deletions lib/app/service/connection/generic_token_subscriber.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import 'package:app/app/service/connection/connection_factory.dart';
import 'package:app/http/repository/ton_repository.dart';
import 'package:nekoton_repository/nekoton_repository.dart';

Expand Down Expand Up @@ -27,11 +26,9 @@ class Tip3TokenWalletSubscriber extends GenericTokenSubscriber {
class JettonTokenWalletSubscriber extends GenericTokenSubscriber {
JettonTokenWalletSubscriber(
this._tonRepository,
this._connectionFactory,
);

final TonRepository _tonRepository;
final ConnectionFactory _connectionFactory;
final Map<Address, Symbol> _symbolCache = {};

@override
Expand All @@ -42,7 +39,6 @@ class JettonTokenWalletSubscriber extends GenericTokenSubscriber {
}) async =>
JettonTokenWallet.subscribe(
transport: transport,
gqlConnection: _connectionFactory.getTonGqlConnection(),
owner: owner,
rootTokenContract: rootTokenContract,
symbol: await _getSymbol(rootTokenContract),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ class CommonTransportStrategy extends AppTransportStrategy {

late final _subscriber = switch (genericTokenType) {
GenericTokenType.tip3 => Tip3TokenWalletSubscriber(),
GenericTokenType.jetton => JettonTokenWalletSubscriber(inject(), inject()),
GenericTokenType.jetton => JettonTokenWalletSubscriber(inject()),
};

NetworkGroup get networkGroup => transport.group;
Expand Down
54 changes: 54 additions & 0 deletions lib/app/service/currencies_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,27 @@ class CurrenciesService {
required List<String> currencyAddresses,
required NetworkType networkType,
required NetworkGroup networkGroup,
}) =>
switch (networkGroup) {
'ton' => _fetchCurrenciesTon(
endpoint: endpoint,
currencyAddresses: currencyAddresses,
networkType: networkType,
networkGroup: networkGroup,
),
_ => _fetchCurrenciesDefault(
endpoint: endpoint,
currencyAddresses: currencyAddresses,
networkType: networkType,
networkGroup: networkGroup,
),
};

Future<List<CustomCurrency>> _fetchCurrenciesDefault({
required String endpoint,
required List<String> currencyAddresses,
required NetworkType networkType,
required NetworkGroup networkGroup,
}) async {
final data = jsonEncode({
'currencyAddresses': currencyAddresses,
Expand Down Expand Up @@ -250,6 +271,39 @@ class CurrenciesService {
.toList();
}

Future<List<CustomCurrency>> _fetchCurrenciesTon({
required String endpoint,
required List<String> currencyAddresses,
required NetworkType networkType,
required NetworkGroup networkGroup,
}) async {
final nativeTokenAddress =
nekotonRepository.currentTransport.nativeTokenAddress;
final addresses = [...currencyAddresses, 'TON'];
final encoded = await httpService.getRequest(
'$endpoint/rates?tokens=${addresses.join(',')}&currencies=USD',
);
final decoded = jsonDecode(encoded) as Map<String, dynamic>;
final rates = decoded['rates'] as Map<String, dynamic>;

rates[nativeTokenAddress.toRaw()] = rates['TON'];
rates.remove('TON');

return rates.entries.map((element) {
final address = element.key;
final prices = (element.value as Map<String, dynamic>)['prices'];
final price =
(prices as Map<String, dynamic>?)?['USD']?.toString() ?? '0';

return CustomCurrency(
address: Address(address: address),
price: price,
networkGroup: networkGroup,
networkType: networkType,
);
}).toList();
}

Future<CustomCurrency> _fetchCurrency({
required String endpoint,
required NetworkType networkType,
Expand Down
1 change: 0 additions & 1 deletion lib/data/models/custom_currency.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ part 'custom_currency.g.dart';
class CustomCurrency with _$CustomCurrency {
// TODO(nesquikm): refactor to use Currency and Money
const factory CustomCurrency({
required String currency,
required Address address,

/// Price in USD
Expand Down
41 changes: 7 additions & 34 deletions lib/data/models/custom_currency.freezed.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ CustomCurrency _$CustomCurrencyFromJson(Map<String, dynamic> json) {

/// @nodoc
mixin _$CustomCurrency {
String get currency => throw _privateConstructorUsedError;
Address get address => throw _privateConstructorUsedError;

/// Price in USD
Expand All @@ -45,11 +44,7 @@ abstract class $CustomCurrencyCopyWith<$Res> {
_$CustomCurrencyCopyWithImpl<$Res, CustomCurrency>;
@useResult
$Res call(
{String currency,
Address address,
String price,
String networkType,
String networkGroup});
{Address address, String price, String networkType, String networkGroup});

$AddressCopyWith<$Res> get address;
}
Expand All @@ -69,17 +64,12 @@ class _$CustomCurrencyCopyWithImpl<$Res, $Val extends CustomCurrency>
@pragma('vm:prefer-inline')
@override
$Res call({
Object? currency = null,
Object? address = null,
Object? price = null,
Object? networkType = null,
Object? networkGroup = null,
}) {
return _then(_value.copyWith(
currency: null == currency
? _value.currency
: currency // ignore: cast_nullable_to_non_nullable
as String,
address: null == address
? _value.address
: address // ignore: cast_nullable_to_non_nullable
Expand Down Expand Up @@ -119,11 +109,7 @@ abstract class _$$CustomCurrencyImplCopyWith<$Res>
@override
@useResult
$Res call(
{String currency,
Address address,
String price,
String networkType,
String networkGroup});
{Address address, String price, String networkType, String networkGroup});

@override
$AddressCopyWith<$Res> get address;
Expand All @@ -142,17 +128,12 @@ class __$$CustomCurrencyImplCopyWithImpl<$Res>
@pragma('vm:prefer-inline')
@override
$Res call({
Object? currency = null,
Object? address = null,
Object? price = null,
Object? networkType = null,
Object? networkGroup = null,
}) {
return _then(_$CustomCurrencyImpl(
currency: null == currency
? _value.currency
: currency // ignore: cast_nullable_to_non_nullable
as String,
address: null == address
? _value.address
: address // ignore: cast_nullable_to_non_nullable
Expand All @@ -177,17 +158,14 @@ class __$$CustomCurrencyImplCopyWithImpl<$Res>
@JsonSerializable()
class _$CustomCurrencyImpl implements _CustomCurrency {
const _$CustomCurrencyImpl(
{required this.currency,
required this.address,
{required this.address,
required this.price,
required this.networkType,
required this.networkGroup});

factory _$CustomCurrencyImpl.fromJson(Map<String, dynamic> json) =>
_$$CustomCurrencyImplFromJson(json);

@override
final String currency;
@override
final Address address;

Expand All @@ -201,16 +179,14 @@ class _$CustomCurrencyImpl implements _CustomCurrency {

@override
String toString() {
return 'CustomCurrency(currency: $currency, address: $address, price: $price, networkType: $networkType, networkGroup: $networkGroup)';
return 'CustomCurrency(address: $address, price: $price, networkType: $networkType, networkGroup: $networkGroup)';
}

@override
bool operator ==(Object other) {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$CustomCurrencyImpl &&
(identical(other.currency, currency) ||
other.currency == currency) &&
(identical(other.address, address) || other.address == address) &&
(identical(other.price, price) || other.price == price) &&
(identical(other.networkType, networkType) ||
Expand All @@ -221,8 +197,8 @@ class _$CustomCurrencyImpl implements _CustomCurrency {

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(
runtimeType, currency, address, price, networkType, networkGroup);
int get hashCode =>
Object.hash(runtimeType, address, price, networkType, networkGroup);

/// Create a copy of CustomCurrency
/// with the given fields replaced by the non-null parameter values.
Expand All @@ -243,17 +219,14 @@ class _$CustomCurrencyImpl implements _CustomCurrency {

abstract class _CustomCurrency implements CustomCurrency {
const factory _CustomCurrency(
{required final String currency,
required final Address address,
{required final Address address,
required final String price,
required final String networkType,
required final String networkGroup}) = _$CustomCurrencyImpl;

factory _CustomCurrency.fromJson(Map<String, dynamic> json) =
_$CustomCurrencyImpl.fromJson;

@override
String get currency;
@override
Address get address;

Expand Down
2 changes: 0 additions & 2 deletions lib/data/models/custom_currency.g.dart

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

Loading

0 comments on commit 948d96f

Please sign in to comment.