From dca5fd703b5b935bf029543cbc7204c659c99e17 Mon Sep 17 00:00:00 2001 From: Stefan Popov Date: Thu, 21 Mar 2024 21:14:06 +0100 Subject: [PATCH] Release 1.32.0 (#1354) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix evm expected fee (#1091) * update evm gas price * improve gas fee calculation * remove mainnet from evm networks ids * update gasLimits * add external fee warning * refactoring externalBalance * update locales * update translations from localisr * fix merge conflict * Save sub bridge transaction fees in runtime tx processing (#1088) * fix hashi bridge * fetch sub bridgeassets * update wallet * fix external account check * remove unnecessary codeline * remove console.log * demo for fetching extrinsic fee * fix merge conflict * save tx fee & xcm fee * remove duplicated code from bridge reducers * improve network restoration * refactoring external native token balance * refactoring registered asset naming * update evm gas price * update evm gas price * improve gas fee calculation * remove mainnet from evm networks ids * update gasLimits * add external fee warning * refactoring externalBalance * update locales * update translations from localisr * impove outgoing tracking * wip locked balance * use locked balance in bridge calculations * refactoring * update BridgeTransaction asset locked balance check * refactoring event search * get bridge contract asset locked balance * remove Karura from config * refactoring before wallet update * update wallet 1.18.1 * calc evm fee based on asset kind * fix sonar issues * fix naming * Bridge balances refactoring (#1100) * update store balances * remove externalBalance from sort method * refactoring balance update * bridge route params * Change jenkins lib * spam reminder & bridge fee fix (#1103) * address book (#1099) * bump wallet * add lang * Update KycView.vue * bump wallet * update wallet 1.18.5 (#1106) * [SORA Card]: change camera access request (#1107) * add functionality * add translations * add css vars * Update KycView.vue * Update KycView.vue * Update SECURITY.md (#1105) * Update SECURITY.md Quick grammar fixes to security policy * Update SECURITY.md * Update SECURITY.md * Update SECURITY.md --------- Co-authored-by: Rustem * [Swap] Show loss warning dialog (#1108) * update value-status-wrapper * add loss warning dialog * update translations * fix loss translation argument * update wallet 1.18.8 (#1110) * Fix sub bridge tracking issues (#1104) * fix incoming tracking first steps * improve rococo incomplete transaction tracking * update retry button * refactoring namings in sub reducer * return env.json * parachain data tracking * add sora parachain hash to transaction ui * improve incoming failed tx tracking * refactor to pass sonar * add block height & blocks left in ui * update wallet 1.18.6 * refactoring adapter usage * wip adapters usage * try to refactor complexity * replace adapters in reducer * add beforeSign to bridge reducer * move sora sign to reducers * refactoring signExternal * try to pass sonar * refactoring complexity * refactoring duplicated code * fix incoming tracking & transfer notification modal * [Bridge UI] Use xcm fee in amount calculations (#1112) * fix incoming tracking first steps * improve rococo incomplete transaction tracking * update retry button * refactoring namings in sub reducer * return env.json * parachain data tracking * add sora parachain hash to transaction ui * improve incoming failed tx tracking * refactor to pass sonar * add block height & blocks left in ui * update wallet 1.18.6 * refactoring adapter usage * wip adapters usage * try to refactor complexity * replace adapters in reducer * add beforeSign to bridge reducer * move sora sign to reducers * refactoring signExternal * try to pass sonar * refactoring complexity * refactoring duplicated code * fix incoming tracking & transfer notification modal * add externalTransferFee to store * rename evm to external fee * get transfer fee from const * update bridge main form & logic * fix bridge formatted fee * native token decimals * revert BridgeInitMixin changes * Fix node name in status bar (#1113) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Add soramitsu node (#1114) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * update wallet 1.18.9 (#1115) * Update nodes names (#1116) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * [Tech] Testing workflow (#1111) * Update card.ts * fix sr lang * add Auth and KYC SDK creds * fix typo * use dev price oracle * Update X1Dialog.vue * Update X1Dialog.vue * Update X1Dialog.vue * Update X1Dialog.vue * check url * change images * remove mentions * Update sr.json * Update X1Dialog.vue * switch to prod endpoint * Update KycView.vue * Update X1Dialog.vue * Update card.ts * debug * Update KycView.vue * Update X1Dialog.vue * Update X1Dialog.vue * Fix todo-s comments * make silent * fix typo * debug referenceNumber * Fix soraNetwork issues * Update KycView.vue * Fix types issue --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * remove sora parachain xcm fee, update rococo event (#1120) * update wallet with google login (#1121) * Get blacklisted countries from ipfs (#1122) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * update wallet with google seed fix (#1124) * Sub history restoration update (#1127) * remove sora parachain xcm fee, update rococo event * wip history restoration * add parachain data for history restoration * show parachain block id instead of extrinsic hash * wip outgoing tx restoration * sub history incoming restoration * unify bridge history actions * refactoring sub history restoration * update wallet 1.19 * update TransactionView external hash placeholder * refactoring sub history * fix decimals in locked balance check (#1128) * Update KycView.vue (#1131) * Fix release 1.19 (#1134) * Update mainnet config * Update zh_CN.json * Improve translations * Update wallet version --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * fix decimals usage (#1136) * Use address book in sub bridge (#1133) * use address book in sub bridge * update wallet & fix BridgeTransaction vie * Fix release 1.20 (#1141) * Fix types & remove brackets for fiat difference * Set 10% as the default error status for fiat difference/price impact * Fix issues with Cyrillic character * Add synths filter --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * added wallet translations for swap transfer batch extrinsic * Vue 2.7.14 & update packages (#1145) * remove vue-svg-loader * remove cache-loader from vue-loader * rewrite vue.config.js * update wallet * css fixes * remove sass warnings * fix spacing * add alt attrs to RoadMap * remove some todo * fix calculator btn * Pools & Explore pages default sort (#1146) * remove vue-svg-loader * remove cache-loader from vue-loader * rewrite vue.config.js * update wallet * css fixes * remove sass warnings * fix spacing * add alt attrs to RoadMap * remove some todo * explore pages default sort * add pools default sort * add default sort to demeter staking * refactor tokens items * send sora card refresh token (#1140) Co-authored-by: Stefan Popov * Refactoring (#1148) * refactoring * await, fix types * unify payment systems (#1048) * refactor X1 * refactor payment system * resolve imports issues * add eth icon * debug * debug * add connect wallet buttons * debug * remove debug * debug info * improve icons * remove unused icon * add margin * fixes * adjust icons for ads * add translations * adjust pop-ups of ads * add missing translation * add delay * add other langs * update langs * adjust footer * disable x1 * Update env.json * Update env.json * show XST ad with higher probability * add const * update prod env.json * update env.json * show when logged in * make button pressed * Update X1Dialog.vue * add prod creds * improve ads * Update AppAd.vue * improve texts and remove MC icon * Update ethers library to v6 (#1147) * remove vue-svg-loader * remove cache-loader from vue-loader * rewrite vue.config.js * update wallet * css fixes * remove sass warnings * fix spacing * add alt attrs to RoadMap * remove some todo * update ethers usage * refactoring ethers utils * add type annotaions * small fixes * wip external fee * refactoring adapter to remove hardcoded networks usage * add prefix for external fee * history restoration console info * fix sub bridge max btn * remove external network fee getter * refactoring * fix sonar issues * refactoring bridge utils * update api.query usage * improve tracking * refactoring sub reducers * improve sub history restoration * sonar issue refactoring * wip external fiat values * add nativeTOken getter to bridge * fix BridgeTransaction address * refactoring balance utils * remove bridgeApi from getters * fix transaction view prefix * update wallet 1.21.2 * remove unused variable * ADAR name is const now * updated localize for adar * Update swap subscription (#1150) * remove vue-svg-loader * remove cache-loader from vue-loader * rewrite vue.config.js * update wallet * css fixes * remove sass warnings * fix spacing * add alt attrs to RoadMap * remove some todo * update ethers usage * refactoring ethers utils * add type annotaions * small fixes * wip external fee * refactoring adapter to remove hardcoded networks usage * add prefix for external fee * history restoration console info * fix sub bridge max btn * remove external network fee getter * refactoring * fix sonar issues * refactoring bridge utils * update api.query usage * improve tracking * refactoring sub reducers * improve sub history restoration * sonar issue refactoring * wip external fiat values * add nativeTOken getter to bridge * fix BridgeTransaction address * refactoring balance utils * remove bridgeApi from getters * fix transaction view prefix * update wallet 1.21.2 * remove unused variable * prepare for subscription update * update wallet 1.21.5 * Fix dev branch issues (#1152) * fix json import (#1153) Co-authored-by: Stefan Popov * bump wallet version and update yarn lock * Swap quote subscription (#1156) * initial changes * update types * update accessors * remove unused imports * add try catch to subscriptions (#1157) * update wallet 1.21.8 (#1158) * allow select node while node is connecting (#1159) * revise & dashboard (#1129) * KYC revise & dashboard * refactor code * remove test data from build * Update env.json * fix appearance bug * do not hide iban * create translations and refactor icons * add translation * notification prework * css refactoring * fix sonarCube issues * add support for kyc count * plural forms * add pools subscription to calc balance * fix fetching * update langs * fix * Update SoraCard.vue * fixes * Update Dashboard.vue * Fix release 1.21 issues (#1160) * Update address book input props * Replace toPromise * Update wallet lib * Update translations * Update referral system strings --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Remove synths blockers from Add LP (#1162) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Add synthetic switcher to select asset (#1161) * add synthetic switcher to select asset * fix check in create alert * update add liquidity select token --------- Co-authored-by: Stefan Popov * Improve ads (#1163) * Add first version of dynamic ads * Add responsive * Fix sora card progress bar styles * Add screenBreakpointClass * Make header responsive * Make FiatDeposit view responsive * Fix names & remove unused svg-s * Update AppAd.vue --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Add debounce to resize event (#1164) * Add debounce to resize event * Fix names * Fix images size --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Fix content bottom margin (#1165) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Update App.vue (#1167) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Merge master (#1168) * Release 0.1.2 (#80) * Add base project files * Add About page * Add unit tests * Remove unused files * Update library version * Moved images to img folder. * Refactored some styles, added normalize css. * Fixed article card header font weight. * Fix About snapshot * Fix styles and its imports * PSS-132: Token list store * Add env.json and readme * PSS-134 DevOps: Develop CI and CD processes for Polkaswap web project (#5) * add ci cd Signed-off-by: Bulat Saifullin * fix Dockerfile Signed-off-by: Bulat Saifullin * add pull_request_template.md Signed-off-by: Bulat Saifullin * fix template Signed-off-by: Bulat Saifullin * PSS-132: Select token screen * PSS-132: Refactoring * PSS-132: Change short name to symbol * PSS-132: Add i18n to select token * PSS-132: Add unit tests * PSS-132: Remove elements from tests * Added Swap Interface draft (#4) * Swap Interface: Added screen, Unit Tests, Updated UI Lib version. * PSS-132: Create pair * PSS-132: Fixes for select token * PSS-132: Fix title style * PSS-132: UPdate snaphots * PSS-132: Fix shadow * PSS-132: Fix variable style using * Swap Interface Confirmation Screens (#8) * Added Transaction Submit dialog. * Swap Interface: Moved some variables to store for better relations between different screens and dialogs. * Confirm Swap Dialog: Fixed dialog opening, added confirmation flag to the store. * Added token default logo image, refactored translation call for liquidity. * Added SelectToken dialog on click. * PSS-126: Confirm supply modal * Confirmation screens for create pair * Design fixes * Update ui lib * PSS-126: Logo component * Update tests * Wallet integration and styles issues (#10) * Wallet integration * Fix routing issues * Update UI library version * Refactor all styles * Fix wallet connected state * Update tests * Update test * Update Dockerfile (#12) * PSS-129: Add and remove liquidity page * Design fixes * Token logo check fixes * Refactoring and fixes * Add pair token logo for add liquidity * Settings implementation (#15) * Add settings dialog * Add tests * Update tests * Fix titles for info card * Pool Interface Start Screens (#11) * Pool Interface: Added Start Screen. * Refactored components due to UI Lib updates: set size and border-radius of elements. * Created Dialog wrapper component, refactored dialogs, added fixed top position, fixed close behaviour. * Refactored components imports. * Converted logo icon to link to the home page. * Fixed error in console for Create pair component. * Added Back link behaviour for several components. * Updated unit tests. * PSS-172: Dynamic Page Title (#14) * Added dynamic page title. * PSS-128: Add confirmation screens for pool (#16) * PSS-128: Add confirmation screens for pool Co-authored-by: alexnatalia * Mocks for pool screen * Refactoring * Update tests * Add liquidity button for pairs * Design Fixes and Refactoring (#17) * Refactored TokenLogo and PairTokenLogo components, fixed some bugs, updated unit tests. Refactored components headers. * Added Popper class for info tooltips. Fixed default prop value for Object types. Updated Unit tests. * Design Issues Fix (#19) * Updated configuration variables and Exchange tabs styles. * Updated About page images and styles, Header styles and Menu colors settings. Hid unused links and buttons in header. * Updeted typography variables and Font Styles: Updated Font Size, Line Height and Font Weight Configuration. * Updated Create Pair button styles. Updated Ui Lib version. * Fixed tokens icons for Pool screen. * Updated tooltips to one consistent style. Fixed Pool screen bug. * Refactored: Created special component for Generic Header. Fixed Back icon. * Updated some fonts and Pool screen styles. * Added Empty icon for Select token popup. * Added First Liquidity Provider message to Create a Pair screen. * Hid tooltip for Slider element on Settings screen, hid tooltips for Swap Confirmation. * Updated unit tests. * PSS-205: Remove liquidity: everything should be clickable and with recalculation * Update tests * Fix set remove part to 0 * Inpur for remove part * Fixes * Price container fixes * Update tests * PS-223: Fix remove liquidity in safari * PSS-205: Design Review Issues (#21) * Fixed titles case. Updated buttons with text and icons. Updated typography styles. * Update wallet version & add blockchain integration (#23) * Update wallet version & add blockchain integration * Commented out unit tests. Co-authored-by: alexnatalia * PSS-123: Select token integration * Fix async behavior for dexApi (#25) * Fix async behavior for dexApi * Update .eslintrc.js * PSS-247: Custom Slippage Tolerance Fix (#27) * Updated STab styles. * Updated UI Lib and Wallet versions and styles according to UI Lib fixes. * PSS-129: Add liquiditiy integration * PSS-74 Swap Interface Integration (#26) * Hid swap info for not connected wallet. * Updated SelectToken search by name, added check for translation existance. * Added Swap Integration. * Refactored formatNumber calls. * Hid swap info under buttons for zero amount. * Fixed Header Menu colors. * Fixed swap from Wallet assets. * Updated tooltips. * Updated About page text and Main menu links order. * Fixed Card title color for About page. * Updated Default token setting. * Updated Wallet version. * Hid Transaction Deadline area for Settings. * Removed unneeded tooltip from Settings dialog. * Added validation for Settings. * Added validation for Insufficient Amount error from server. * Added loading while not conencted, changed store to not strict mode, updated tokens setting in store. * Fixed focused behaviour for Swap input fields. * Fix wallet connection & select token behavior * Fixed Min Received format. Co-authored-by: Stefan Popov * Swap result calculation for non connected mode (#28) * Fixed Swap result calculation for non connected mode. * Fixed About page text and styles. * Fix i18n (#30) * Updated Swap input width and Max swap behaviour. Updated Swap Info styles. (#29) * PSS-271: Medium and GitHub links (#31) * Added Github and Medium links for About page. * Upated the Wallet version. * Fixed wallet button color on hover. * Calculate total suply * PSS-216: Design Issues Fixing (#32) * Updated content primary color. * Fixed Price and Token areas horizontal alignment. * Updated tooltips. * Updated Generic Header tooltip. * Updated Token item height for Select Token dialog. * Added Token icons. * Updated token icons names. * PSS-129: Create pair integration * Remove mocks * Refactoring * Add network fee calculation * Fixes * PSS-281: Recalculate Input Values On Select Token (#33) * Added util method to check isNumber value. Removed Max button from token To area. * Added Max sold for reversed swap. * Updated Swap Integration. * Updated UI Lib version. * Added recalc on Select Token. * Fixed Swap for Polkadot.js * Updated isExchangeB param in methods. * Hid Node Address area for Settings popup. * Added Network Fee field to Swap component. * Updated Custom slippage tolerance for Settings. * Fixed paste string value to Swap fields. * Updated Network Fee calls, updated Wallet version, fixed swap tokens balance. * Added isExchangeB parameter to swap call. * Refactoring * fix total supply * PSS-129: Share of pool * Remove share of pool mock * Fix get asset symbol * Hide add liquidity Fix slippage tolerance for add liquidity Fix share of pool Fix unsupprted assets error message * Disable max button for add liquidity Reset values after change tokens * Fixes * Updated Tokens Icons, added PAL icon. (#35) * Wallet connection issues (#38) * Fix wallet connection issues * Fix styles * Update wallet version * Update favicon.ico * PSS-297: check fee on max amount * PSS-295: Added Insufficient Balance Checking (#37) * Added Insufficient balance checking. * Updated FPNumber parameters. * Removed formatNumber usage from Swap screens. * Fixed focus and placeholders values for Swap. * Updated some styles for huge number values. * Refactored due to PR comments. * Result Dialog Styles Fix (#41) * Fixed Result Dialog button styles. * Renamed USD icon. * Update library * Fix swap, liquidity behavior * Update index.ts * TODO: Revert this commit after PSS-309 * Updated wallet version. Co-authored-by: Stefan Popov * PSS-273: WEB UI: Connect Wallet - Close button leads always on Exchange page, not to the previous page (#42) * Fix routing issue * Update wallet version * PSS-295: Confirm Swap Insufficient Balance Checking (#43) * Fixed console error on tokens switch. * Added Is Insufficient Balance checking for Confirm Swap dialog. * Updated Confirm Swap styles. * Updated Swap info after Swap, added max button to init screen. (#44) * Update ui library version (#46) * Update ui library version * Update wallet * BP-312: Fixes for pool * Fix icons position (#47) * Fix icons position * Fix logo * PSS-287: Swap Amount Fields Formatting (#45) * Added Swap fields formatter. * Fixed Slippage Tolerance editing and Swap fields formatting. * Updated wallet version. * Change toString to toFixed * Change formatNumber to toFixed * Fix remove liquidity price * Move back toFixed to toString * Fixed estimated label existence for zero values (#50) * Refactored, added some comments, fixed estimated label existence for zero values. * Modify env config file (#49) Co-authored-by: Bulat Saifullin * Add custom notifications & notification tracking service (#51) * Add custom notifications & notification tracking service * Update notifications & strings according to latest changes * Update api * Update soramitsu-variables.scss * PSS-335: Designer Feedback Fixes FE (#53) * Fixed functionality and layout bugs. * Added draft component to fix layout behaviour. * Fixed Settings behaviour. * Swap: removed Result dialog, edited Network Fee tooltip. * Fixed translation bugs. * Account info implementation & fix loading state (#54) * Add account info * Fix styles * Hide test assets (#55) * Update connection * Remove usdt mock * Add liquidity issues & update notifications (#56) * Add missing notifications * Update RemoveLiquidity * Fix add liquidity screen * Add async loading of liquidity * Fix pool issues * Updated not connected pool interface message. (#60) * PSS-300: Swap confirmation dialog message update (#61) * Updated Swap confirmation dialog message. * Confirm Swap Dialog: Updated message for max sold behaviour. * Swap screen: Fixed Min Received/Max Sold area asset symbol. (#62) * PSS-379: WEB UI. Add liquidity. Click MAX button on 0 balance of XOR (#59) * Updated wallet version. Swap, Add Liquidity, Create Pair components: Updated Max button availability, refactored. * Refactored due to PR comments. * Swap, Add Liquidity: Fixed negative amount after max. Updated wallet version. * Create pair implementation & fix liquidity issues (#63) * Add create pair implementation & fix logic for add liquidity * PSS-297: WEB UI: Restrict Adding liquidity if balance is insufficient (#64) * Add Liquidity: Refactored Insufficient Balance. * Create Pair, Remove Liquidity: Updated Max functionality. * Add insufficient liquidity message for swap (#66) * link @soramitsu/soraneo-wallet-web 0.4.6 * return network address * use wallet routes in app.vue to correctly handle wallet icon click * set changePage method as private * removed local model for inputs: createPairModel * refactoring CreatePair methods * add input maxlength check * fix inputMaxLength method * improve formatNumberField method * refactoring inputMaxLength method * refactoring AddLiquidity view * create TokenPair mixin * wip refactoring * add maxlength to removeLiquidity view inputs * create TokenInputMixin * add input handlers on removeLiquidity view * handle swap inputs * return commented line * PSS-400: WEB UI. Minimum receive/Maximum sold token not changed (#69) * Fixed min received/max sold symbol. * Update wallet & api version (#70) * fixes after review * add store state interfaces * PSS-467: On the swap screen user should be able to select all tokens excecpt pool tokens (#71) * Update wallet & api version * Fix swap with assets created by user * Update wallet & api version * add watcher for slippageTolerance in Swap.vue * remove console lgos * use state types in store mutations & getters * apply transaction mixin changes from wallet * update @soramitsu/soraneo-wallet-web dependency * navigate to wallet connection view on wallet click (#75) * PSS-419: restrict precision in inputs (#74) * add TokenInput component * use TokenInput in Swap.vue * add ConfirmDialogMixin * prepare to refactoring modals * remove comments * remove unneccessary actions * add TODO comments * fix TokenInput handler * link js-ui-library with input fix * PSS-398: WEB UI. Multiple click on Confirm - create multiple transactions. (#76) * Fix multiple confirm for operations * Fix notifications view * Update env.json * PSS-364: reuse s-float-input component (#77) * prepare TokenInput component for export * use s-float-input instead of TokenInput * refactoring Settings component * refactoring RemoveLiquidity * Update wallet (#79) Co-authored-by: alexnatalia Co-authored-by: Aleksandr Makhnev Co-authored-by: Bulat Saifullin Co-authored-by: Alex Natalia <38787212+alexnatalia@users.noreply.github.com> Co-authored-by: Dmitriy Creed Co-authored-by: alexnatalia Co-authored-by: Nikita Polyakov Co-authored-by: Nikita-Polyakov Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> * Release 0.1.3 (#97) * Add base project files * Add About page * Add unit tests * Remove unused files * Update library version * Moved images to img folder. * Refactored some styles, added normalize css. * Fixed article card header font weight. * Fix About snapshot * Fix styles and its imports * PSS-132: Token list store * Add env.json and readme * PSS-134 DevOps: Develop CI and CD processes for Polkaswap web project (#5) * add ci cd Signed-off-by: Bulat Saifullin * fix Dockerfile Signed-off-by: Bulat Saifullin * add pull_request_template.md Signed-off-by: Bulat Saifullin * fix template Signed-off-by: Bulat Saifullin * PSS-132: Select token screen * PSS-132: Refactoring * PSS-132: Change short name to symbol * PSS-132: Add i18n to select token * PSS-132: Add unit tests * PSS-132: Remove elements from tests * Added Swap Interface draft (#4) * Swap Interface: Added screen, Unit Tests, Updated UI Lib version. * PSS-132: Create pair * PSS-132: Fixes for select token * PSS-132: Fix title style * PSS-132: UPdate snaphots * PSS-132: Fix shadow * PSS-132: Fix variable style using * Swap Interface Confirmation Screens (#8) * Added Transaction Submit dialog. * Swap Interface: Moved some variables to store for better relations between different screens and dialogs. * Confirm Swap Dialog: Fixed dialog opening, added confirmation flag to the store. * Added token default logo image, refactored translation call for liquidity. * Added SelectToken dialog on click. * PSS-126: Confirm supply modal * Confirmation screens for create pair * Design fixes * Update ui lib * PSS-126: Logo component * Update tests * Wallet integration and styles issues (#10) * Wallet integration * Fix routing issues * Update UI library version * Refactor all styles * Fix wallet connected state * Update tests * Update test * Update Dockerfile (#12) * PSS-129: Add and remove liquidity page * Design fixes * Token logo check fixes * Refactoring and fixes * Add pair token logo for add liquidity * Settings implementation (#15) * Add settings dialog * Add tests * Update tests * Fix titles for info card * Pool Interface Start Screens (#11) * Pool Interface: Added Start Screen. * Refactored components due to UI Lib updates: set size and border-radius of elements. * Created Dialog wrapper component, refactored dialogs, added fixed top position, fixed close behaviour. * Refactored components imports. * Converted logo icon to link to the home page. * Fixed error in console for Create pair component. * Added Back link behaviour for several components. * Updated unit tests. * PSS-172: Dynamic Page Title (#14) * Added dynamic page title. * PSS-128: Add confirmation screens for pool (#16) * PSS-128: Add confirmation screens for pool Co-authored-by: alexnatalia * Mocks for pool screen * Refactoring * Update tests * Add liquidity button for pairs * Design Fixes and Refactoring (#17) * Refactored TokenLogo and PairTokenLogo components, fixed some bugs, updated unit tests. Refactored components headers. * Added Popper class for info tooltips. Fixed default prop value for Object types. Updated Unit tests. * Design Issues Fix (#19) * Updated configuration variables and Exchange tabs styles. * Updated About page images and styles, Header styles and Menu colors settings. Hid unused links and buttons in header. * Updeted typography variables and Font Styles: Updated Font Size, Line Height and Font Weight Configuration. * Updated Create Pair button styles. Updated Ui Lib version. * Fixed tokens icons for Pool screen. * Updated tooltips to one consistent style. Fixed Pool screen bug. * Refactored: Created special component for Generic Header. Fixed Back icon. * Updated some fonts and Pool screen styles. * Added Empty icon for Select token popup. * Added First Liquidity Provider message to Create a Pair screen. * Hid tooltip for Slider element on Settings screen, hid tooltips for Swap Confirmation. * Updated unit tests. * PSS-205: Remove liquidity: everything should be clickable and with recalculation * Update tests * Fix set remove part to 0 * Inpur for remove part * Fixes * Price container fixes * Update tests * PS-223: Fix remove liquidity in safari * PSS-205: Design Review Issues (#21) * Fixed titles case. Updated buttons with text and icons. Updated typography styles. * Update wallet version & add blockchain integration (#23) * Update wallet version & add blockchain integration * Commented out unit tests. Co-authored-by: alexnatalia * PSS-123: Select token integration * Fix async behavior for dexApi (#25) * Fix async behavior for dexApi * Update .eslintrc.js * PSS-247: Custom Slippage Tolerance Fix (#27) * Updated STab styles. * Updated UI Lib and Wallet versions and styles according to UI Lib fixes. * PSS-129: Add liquiditiy integration * PSS-74 Swap Interface Integration (#26) * Hid swap info for not connected wallet. * Updated SelectToken search by name, added check for translation existance. * Added Swap Integration. * Refactored formatNumber calls. * Hid swap info under buttons for zero amount. * Fixed Header Menu colors. * Fixed swap from Wallet assets. * Updated tooltips. * Updated About page text and Main menu links order. * Fixed Card title color for About page. * Updated Default token setting. * Updated Wallet version. * Hid Transaction Deadline area for Settings. * Removed unneeded tooltip from Settings dialog. * Added validation for Settings. * Added validation for Insufficient Amount error from server. * Added loading while not conencted, changed store to not strict mode, updated tokens setting in store. * Fixed focused behaviour for Swap input fields. * Fix wallet connection & select token behavior * Fixed Min Received format. Co-authored-by: Stefan Popov * Swap result calculation for non connected mode (#28) * Fixed Swap result calculation for non connected mode. * Fixed About page text and styles. * Fix i18n (#30) * Updated Swap input width and Max swap behaviour. Updated Swap Info styles. (#29) * PSS-271: Medium and GitHub links (#31) * Added Github and Medium links for About page. * Upated the Wallet version. * Fixed wallet button color on hover. * Calculate total suply * PSS-216: Design Issues Fixing (#32) * Updated content primary color. * Fixed Price and Token areas horizontal alignment. * Updated tooltips. * Updated Generic Header tooltip. * Updated Token item height for Select Token dialog. * Added Token icons. * Updated token icons names. * PSS-129: Create pair integration * Remove mocks * Refactoring * Add network fee calculation * Fixes * PSS-281: Recalculate Input Values On Select Token (#33) * Added util method to check isNumber value. Removed Max button from token To area. * Added Max sold for reversed swap. * Updated Swap Integration. * Updated UI Lib version. * Added recalc on Select Token. * Fixed Swap for Polkadot.js * Updated isExchangeB param in methods. * Hid Node Address area for Settings popup. * Added Network Fee field to Swap component. * Updated Custom slippage tolerance for Settings. * Fixed paste string value to Swap fields. * Updated Network Fee calls, updated Wallet version, fixed swap tokens balance. * Added isExchangeB parameter to swap call. * Refactoring * fix total supply * PSS-129: Share of pool * Remove share of pool mock * Fix get asset symbol * Hide add liquidity Fix slippage tolerance for add liquidity Fix share of pool Fix unsupprted assets error message * Disable max button for add liquidity Reset values after change tokens * Fixes * Updated Tokens Icons, added PAL icon. (#35) * Wallet connection issues (#38) * Fix wallet connection issues * Fix styles * Update wallet version * Update favicon.ico * PSS-297: check fee on max amount * PSS-295: Added Insufficient Balance Checking (#37) * Added Insufficient balance checking. * Updated FPNumber parameters. * Removed formatNumber usage from Swap screens. * Fixed focus and placeholders values for Swap. * Updated some styles for huge number values. * Refactored due to PR comments. * Result Dialog Styles Fix (#41) * Fixed Result Dialog button styles. * Renamed USD icon. * Update library * Fix swap, liquidity behavior * Update index.ts * TODO: Revert this commit after PSS-309 * Updated wallet version. Co-authored-by: Stefan Popov * PSS-273: WEB UI: Connect Wallet - Close button leads always on Exchange page, not to the previous page (#42) * Fix routing issue * Update wallet version * PSS-295: Confirm Swap Insufficient Balance Checking (#43) * Fixed console error on tokens switch. * Added Is Insufficient Balance checking for Confirm Swap dialog. * Updated Confirm Swap styles. * Updated Swap info after Swap, added max button to init screen. (#44) * Update ui library version (#46) * Update ui library version * Update wallet * BP-312: Fixes for pool * Fix icons position (#47) * Fix icons position * Fix logo * PSS-287: Swap Amount Fields Formatting (#45) * Added Swap fields formatter. * Fixed Slippage Tolerance editing and Swap fields formatting. * Updated wallet version. * Change toString to toFixed * Change formatNumber to toFixed * Fix remove liquidity price * Move back toFixed to toString * Fixed estimated label existence for zero values (#50) * Refactored, added some comments, fixed estimated label existence for zero values. * Modify env config file (#49) Co-authored-by: Bulat Saifullin * Add custom notifications & notification tracking service (#51) * Add custom notifications & notification tracking service * Update notifications & strings according to latest changes * Update api * Update soramitsu-variables.scss * PSS-335: Designer Feedback Fixes FE (#53) * Fixed functionality and layout bugs. * Added draft component to fix layout behaviour. * Fixed Settings behaviour. * Swap: removed Result dialog, edited Network Fee tooltip. * Fixed translation bugs. * Account info implementation & fix loading state (#54) * Add account info * Fix styles * Hide test assets (#55) * Update connection * Remove usdt mock * Add liquidity issues & update notifications (#56) * Add missing notifications * Update RemoveLiquidity * Fix add liquidity screen * Add async loading of liquidity * Fix pool issues * Updated not connected pool interface message. (#60) * PSS-300: Swap confirmation dialog message update (#61) * Updated Swap confirmation dialog message. * Confirm Swap Dialog: Updated message for max sold behaviour. * Swap screen: Fixed Min Received/Max Sold area asset symbol. (#62) * PSS-379: WEB UI. Add liquidity. Click MAX button on 0 balance of XOR (#59) * Updated wallet version. Swap, Add Liquidity, Create Pair components: Updated Max button availability, refactored. * Refactored due to PR comments. * Swap, Add Liquidity: Fixed negative amount after max. Updated wallet version. * Create pair implementation & fix liquidity issues (#63) * Add create pair implementation & fix logic for add liquidity * PSS-297: WEB UI: Restrict Adding liquidity if balance is insufficient (#64) * Add Liquidity: Refactored Insufficient Balance. * Create Pair, Remove Liquidity: Updated Max functionality. * Add insufficient liquidity message for swap (#66) * link @soramitsu/soraneo-wallet-web 0.4.6 * return network address * use wallet routes in app.vue to correctly handle wallet icon click * set changePage method as private * removed local model for inputs: createPairModel * refactoring CreatePair methods * add input maxlength check * fix inputMaxLength method * improve formatNumberField method * refactoring inputMaxLength method * refactoring AddLiquidity view * create TokenPair mixin * wip refactoring * add maxlength to removeLiquidity view inputs * create TokenInputMixin * add input handlers on removeLiquidity view * handle swap inputs * return commented line * PSS-400: WEB UI. Minimum receive/Maximum sold token not changed (#69) * Fixed min received/max sold symbol. * Update wallet & api version (#70) * fixes after review * add store state interfaces * PSS-467: On the swap screen user should be able to select all tokens excecpt pool tokens (#71) * Update wallet & api version * Fix swap with assets created by user * Update wallet & api version * add watcher for slippageTolerance in Swap.vue * remove console lgos * use state types in store mutations & getters * apply transaction mixin changes from wallet * update @soramitsu/soraneo-wallet-web dependency * navigate to wallet connection view on wallet click (#75) * PSS-419: restrict precision in inputs (#74) * add TokenInput component * use TokenInput in Swap.vue * add ConfirmDialogMixin * prepare to refactoring modals * remove comments * remove unneccessary actions * add TODO comments * fix TokenInput handler * link js-ui-library with input fix * PSS-398: WEB UI. Multiple click on Confirm - create multiple transactions. (#76) * Fix multiple confirm for operations * Fix notifications view * Update env.json * PSS-364: reuse s-float-input component (#77) * prepare TokenInput component for export * use s-float-input instead of TokenInput * refactoring Settings component * refactoring RemoveLiquidity * Update wallet (#79) * SFloatInput Fixes (#82) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * PSS-378: WEB UI. Remove liquidity. Troubles with entering of amount manually (#83) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * Remove liquidity: fixed fields editing and insufficient balance calculation. * Remove Liquidity: Fixed editing behaviour. * Updated due to PR comments. * PSS-486: reset vuex values after transaction (#81) * PSS-351: Show balance in select token dialog (#84) * wip assetList * fixes in swap * fix types * remove unused imports * Refactoring Modals: add ConfirmTokenPairDialog component (#78) * add ConfirmTokenPairDialog component * add modal props fix and throw error on create pair failure * fix openSelectTokenDialog method in Swap.vue(#86) * PSS-350: Add clear button to select token search input (#85) * add clear button * refactoring mixin * remove global style in SelectToken * use global style for input button * Update wallet (#87) * Update wallet * Change s-form-item to div in SelectToken dialog (#88) * remove s-form-item * change wrapper classname * Refactoring swap view (#89) * wip * remove formModel * add reset fields method * wip swap values * refactoring minMaxRecieved calls * wip refactoring * use exchangeB as source of truth * use isExchangeB instead of activeField * disable switch during values calculation * recounting check * use promise all for parallel calculation * update ui library * discarding env.json * fixes after revie * Hide balance in SelectToken dialog, if wallet not connected (#91) * Add license (#92) * PSS-248 Web UI: Settings - Problems with input in Custom field (#90) * allow type any value * fix error * add local model * PSS-418: Precision management (#93) * Create NumberFormatterMixin.ts * Improve precision management for pool * Improve precision management for swap operation * Improve precision management for select token dialog * Update AddLiquidity.vue * Improve precision management for remove liquidity operation * Update todo sections * Fix issues * Update wallet & api versions * Add balance updates * Add zero string const * update wallet (#94) * PSS-351 Select Token fixes (#95) * select-token fixes * show 0 balance as - Co-authored-by: alexnatalia Co-authored-by: Aleksandr Makhnev Co-authored-by: Bulat Saifullin Co-authored-by: Alex Natalia <38787212+alexnatalia@users.noreply.github.com> Co-authored-by: Dmitriy Creed Co-authored-by: alexnatalia Co-authored-by: Nikita Polyakov Co-authored-by: Nikita-Polyakov Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> * Release 0.1.3 (#100) * PSS-516: WEB UI. Can go to remove liquidity page without liquidity on account (#96) * Added Page Not Found Draft. * Fixed Add and Remove Liquidity router bags, hid some screens for unauthorized access. Added redirect to exchange for Page Not Found error. * Disabled selects for existed liquidity addition. * Update Swap.vue (#99) * Release 0.1.4 (#126) * Add base project files * Add About page * Add unit tests * Remove unused files * Update library version * Moved images to img folder. * Refactored some styles, added normalize css. * Fixed article card header font weight. * Fix About snapshot * Fix styles and its imports * PSS-132: Token list store * Add env.json and readme * PSS-134 DevOps: Develop CI and CD processes for Polkaswap web project (#5) * add ci cd Signed-off-by: Bulat Saifullin * fix Dockerfile Signed-off-by: Bulat Saifullin * add pull_request_template.md Signed-off-by: Bulat Saifullin * fix template Signed-off-by: Bulat Saifullin * PSS-132: Select token screen * PSS-132: Refactoring * PSS-132: Change short name to symbol * PSS-132: Add i18n to select token * PSS-132: Add unit tests * PSS-132: Remove elements from tests * Added Swap Interface draft (#4) * Swap Interface: Added screen, Unit Tests, Updated UI Lib version. * PSS-132: Create pair * PSS-132: Fixes for select token * PSS-132: Fix title style * PSS-132: UPdate snaphots * PSS-132: Fix shadow * PSS-132: Fix variable style using * Swap Interface Confirmation Screens (#8) * Added Transaction Submit dialog. * Swap Interface: Moved some variables to store for better relations between different screens and dialogs. * Confirm Swap Dialog: Fixed dialog opening, added confirmation flag to the store. * Added token default logo image, refactored translation call for liquidity. * Added SelectToken dialog on click. * PSS-126: Confirm supply modal * Confirmation screens for create pair * Design fixes * Update ui lib * PSS-126: Logo component * Update tests * Wallet integration and styles issues (#10) * Wallet integration * Fix routing issues * Update UI library version * Refactor all styles * Fix wallet connected state * Update tests * Update test * Update Dockerfile (#12) * PSS-129: Add and remove liquidity page * Design fixes * Token logo check fixes * Refactoring and fixes * Add pair token logo for add liquidity * Settings implementation (#15) * Add settings dialog * Add tests * Update tests * Fix titles for info card * Pool Interface Start Screens (#11) * Pool Interface: Added Start Screen. * Refactored components due to UI Lib updates: set size and border-radius of elements. * Created Dialog wrapper component, refactored dialogs, added fixed top position, fixed close behaviour. * Refactored components imports. * Converted logo icon to link to the home page. * Fixed error in console for Create pair component. * Added Back link behaviour for several components. * Updated unit tests. * PSS-172: Dynamic Page Title (#14) * Added dynamic page title. * PSS-128: Add confirmation screens for pool (#16) * PSS-128: Add confirmation screens for pool Co-authored-by: alexnatalia * Mocks for pool screen * Refactoring * Update tests * Add liquidity button for pairs * Design Fixes and Refactoring (#17) * Refactored TokenLogo and PairTokenLogo components, fixed some bugs, updated unit tests. Refactored components headers. * Added Popper class for info tooltips. Fixed default prop value for Object types. Updated Unit tests. * Design Issues Fix (#19) * Updated configuration variables and Exchange tabs styles. * Updated About page images and styles, Header styles and Menu colors settings. Hid unused links and buttons in header. * Updeted typography variables and Font Styles: Updated Font Size, Line Height and Font Weight Configuration. * Updated Create Pair button styles. Updated Ui Lib version. * Fixed tokens icons for Pool screen. * Updated tooltips to one consistent style. Fixed Pool screen bug. * Refactored: Created special component for Generic Header. Fixed Back icon. * Updated some fonts and Pool screen styles. * Added Empty icon for Select token popup. * Added First Liquidity Provider message to Create a Pair screen. * Hid tooltip for Slider element on Settings screen, hid tooltips for Swap Confirmation. * Updated unit tests. * PSS-205: Remove liquidity: everything should be clickable and with recalculation * Update tests * Fix set remove part to 0 * Inpur for remove part * Fixes * Price container fixes * Update tests * PS-223: Fix remove liquidity in safari * PSS-205: Design Review Issues (#21) * Fixed titles case. Updated buttons with text and icons. Updated typography styles. * Update wallet version & add blockchain integration (#23) * Update wallet version & add blockchain integration * Commented out unit tests. Co-authored-by: alexnatalia * PSS-123: Select token integration * Fix async behavior for dexApi (#25) * Fix async behavior for dexApi * Update .eslintrc.js * PSS-247: Custom Slippage Tolerance Fix (#27) * Updated STab styles. * Updated UI Lib and Wallet versions and styles according to UI Lib fixes. * PSS-129: Add liquiditiy integration * PSS-74 Swap Interface Integration (#26) * Hid swap info for not connected wallet. * Updated SelectToken search by name, added check for translation existance. * Added Swap Integration. * Refactored formatNumber calls. * Hid swap info under buttons for zero amount. * Fixed Header Menu colors. * Fixed swap from Wallet assets. * Updated tooltips. * Updated About page text and Main menu links order. * Fixed Card title color for About page. * Updated Default token setting. * Updated Wallet version. * Hid Transaction Deadline area for Settings. * Removed unneeded tooltip from Settings dialog. * Added validation for Settings. * Added validation for Insufficient Amount error from server. * Added loading while not conencted, changed store to not strict mode, updated tokens setting in store. * Fixed focused behaviour for Swap input fields. * Fix wallet connection & select token behavior * Fixed Min Received format. Co-authored-by: Stefan Popov * Swap result calculation for non connected mode (#28) * Fixed Swap result calculation for non connected mode. * Fixed About page text and styles. * Fix i18n (#30) * Updated Swap input width and Max swap behaviour. Updated Swap Info styles. (#29) * PSS-271: Medium and GitHub links (#31) * Added Github and Medium links for About page. * Upated the Wallet version. * Fixed wallet button color on hover. * Calculate total suply * PSS-216: Design Issues Fixing (#32) * Updated content primary color. * Fixed Price and Token areas horizontal alignment. * Updated tooltips. * Updated Generic Header tooltip. * Updated Token item height for Select Token dialog. * Added Token icons. * Updated token icons names. * PSS-129: Create pair integration * Remove mocks * Refactoring * Add network fee calculation * Fixes * PSS-281: Recalculate Input Values On Select Token (#33) * Added util method to check isNumber value. Removed Max button from token To area. * Added Max sold for reversed swap. * Updated Swap Integration. * Updated UI Lib version. * Added recalc on Select Token. * Fixed Swap for Polkadot.js * Updated isExchangeB param in methods. * Hid Node Address area for Settings popup. * Added Network Fee field to Swap component. * Updated Custom slippage tolerance for Settings. * Fixed paste string value to Swap fields. * Updated Network Fee calls, updated Wallet version, fixed swap tokens balance. * Added isExchangeB parameter to swap call. * Refactoring * fix total supply * PSS-129: Share of pool * Remove share of pool mock * Fix get asset symbol * Hide add liquidity Fix slippage tolerance for add liquidity Fix share of pool Fix unsupprted assets error message * Disable max button for add liquidity Reset values after change tokens * Fixes * Updated Tokens Icons, added PAL icon. (#35) * Wallet connection issues (#38) * Fix wallet connection issues * Fix styles * Update wallet version * Update favicon.ico * PSS-297: check fee on max amount * PSS-295: Added Insufficient Balance Checking (#37) * Added Insufficient balance checking. * Updated FPNumber parameters. * Removed formatNumber usage from Swap screens. * Fixed focus and placeholders values for Swap. * Updated some styles for huge number values. * Refactored due to PR comments. * Result Dialog Styles Fix (#41) * Fixed Result Dialog button styles. * Renamed USD icon. * Update library * Fix swap, liquidity behavior * Update index.ts * TODO: Revert this commit after PSS-309 * Updated wallet version. Co-authored-by: Stefan Popov * PSS-273: WEB UI: Connect Wallet - Close button leads always on Exchange page, not to the previous page (#42) * Fix routing issue * Update wallet version * PSS-295: Confirm Swap Insufficient Balance Checking (#43) * Fixed console error on tokens switch. * Added Is Insufficient Balance checking for Confirm Swap dialog. * Updated Confirm Swap styles. * Updated Swap info after Swap, added max button to init screen. (#44) * Update ui library version (#46) * Update ui library version * Update wallet * BP-312: Fixes for pool * Fix icons position (#47) * Fix icons position * Fix logo * PSS-287: Swap Amount Fields Formatting (#45) * Added Swap fields formatter. * Fixed Slippage Tolerance editing and Swap fields formatting. * Updated wallet version. * Change toString to toFixed * Change formatNumber to toFixed * Fix remove liquidity price * Move back toFixed to toString * Fixed estimated label existence for zero values (#50) * Refactored, added some comments, fixed estimated label existence for zero values. * Modify env config file (#49) Co-authored-by: Bulat Saifullin * Add custom notifications & notification tracking service (#51) * Add custom notifications & notification tracking service * Update notifications & strings according to latest changes * Update api * Update soramitsu-variables.scss * PSS-335: Designer Feedback Fixes FE (#53) * Fixed functionality and layout bugs. * Added draft component to fix layout behaviour. * Fixed Settings behaviour. * Swap: removed Result dialog, edited Network Fee tooltip. * Fixed translation bugs. * Account info implementation & fix loading state (#54) * Add account info * Fix styles * Hide test assets (#55) * Update connection * Remove usdt mock * Add liquidity issues & update notifications (#56) * Add missing notifications * Update RemoveLiquidity * Fix add liquidity screen * Add async loading of liquidity * Fix pool issues * Updated not connected pool interface message. (#60) * PSS-300: Swap confirmation dialog message update (#61) * Updated Swap confirmation dialog message. * Confirm Swap Dialog: Updated message for max sold behaviour. * Swap screen: Fixed Min Received/Max Sold area asset symbol. (#62) * PSS-379: WEB UI. Add liquidity. Click MAX button on 0 balance of XOR (#59) * Updated wallet version. Swap, Add Liquidity, Create Pair components: Updated Max button availability, refactored. * Refactored due to PR comments. * Swap, Add Liquidity: Fixed negative amount after max. Updated wallet version. * Create pair implementation & fix liquidity issues (#63) * Add create pair implementation & fix logic for add liquidity * PSS-297: WEB UI: Restrict Adding liquidity if balance is insufficient (#64) * Add Liquidity: Refactored Insufficient Balance. * Create Pair, Remove Liquidity: Updated Max functionality. * Add insufficient liquidity message for swap (#66) * link @soramitsu/soraneo-wallet-web 0.4.6 * return network address * use wallet routes in app.vue to correctly handle wallet icon click * set changePage method as private * removed local model for inputs: createPairModel * refactoring CreatePair methods * add input maxlength check * fix inputMaxLength method * improve formatNumberField method * refactoring inputMaxLength method * refactoring AddLiquidity view * create TokenPair mixin * wip refactoring * add maxlength to removeLiquidity view inputs * create TokenInputMixin * add input handlers on removeLiquidity view * handle swap inputs * return commented line * PSS-400: WEB UI. Minimum receive/Maximum sold token not changed (#69) * Fixed min received/max sold symbol. * Update wallet & api version (#70) * fixes after review * add store state interfaces * PSS-467: On the swap screen user should be able to select all tokens excecpt pool tokens (#71) * Update wallet & api version * Fix swap with assets created by user * Update wallet & api version * add watcher for slippageTolerance in Swap.vue * remove console lgos * use state types in store mutations & getters * apply transaction mixin changes from wallet * update @soramitsu/soraneo-wallet-web dependency * navigate to wallet connection view on wallet click (#75) * PSS-419: restrict precision in inputs (#74) * add TokenInput component * use TokenInput in Swap.vue * add ConfirmDialogMixin * prepare to refactoring modals * remove comments * remove unneccessary actions * add TODO comments * fix TokenInput handler * link js-ui-library with input fix * PSS-398: WEB UI. Multiple click on Confirm - create multiple transactions. (#76) * Fix multiple confirm for operations * Fix notifications view * Update env.json * PSS-364: reuse s-float-input component (#77) * prepare TokenInput component for export * use s-float-input instead of TokenInput * refactoring Settings component * refactoring RemoveLiquidity * Update wallet (#79) * SFloatInput Fixes (#82) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * PSS-378: WEB UI. Remove liquidity. Troubles with entering of amount manually (#83) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * Remove liquidity: fixed fields editing and insufficient balance calculation. * Remove Liquidity: Fixed editing behaviour. * Updated due to PR comments. * PSS-486: reset vuex values after transaction (#81) * PSS-351: Show balance in select token dialog (#84) * wip assetList * fixes in swap * fix types * remove unused imports * Refactoring Modals: add ConfirmTokenPairDialog component (#78) * add ConfirmTokenPairDialog component * add modal props fix and throw error on create pair failure * fix openSelectTokenDialog method in Swap.vue(#86) * PSS-350: Add clear button to select token search input (#85) * add clear button * refactoring mixin * remove global style in SelectToken * use global style for input button * Update wallet (#87) * Update wallet * Change s-form-item to div in SelectToken dialog (#88) * remove s-form-item * change wrapper classname * Refactoring swap view (#89) * wip * remove formModel * add reset fields method * wip swap values * refactoring minMaxRecieved calls * wip refactoring * use exchangeB as source of truth * use isExchangeB instead of activeField * disable switch during values calculation * recounting check * use promise all for parallel calculation * update ui library * discarding env.json * fixes after revie * Hide balance in SelectToken dialog, if wallet not connected (#91) * Add license (#92) * PSS-248 Web UI: Settings - Problems with input in Custom field (#90) * allow type any value * fix error * add local model * PSS-418: Precision management (#93) * Create NumberFormatterMixin.ts * Improve precision management for pool * Improve precision management for swap operation * Improve precision management for select token dialog * Update AddLiquidity.vue * Improve precision management for remove liquidity operation * Update todo sections * Fix issues * Update wallet & api versions * Add balance updates * Add zero string const * update wallet (#94) * PSS-351 Select Token fixes (#95) * select-token fixes * show 0 balance as - * PSS-516: WEB UI. Can go to remove liquidity page without liquidity on account (#96) * Added Page Not Found Draft. * Fixed Add and Remove Liquidity router bags, hid some screens for unauthorized access. Added redirect to exchange for Page Not Found error. * Disabled selects for existed liquidity addition. * Update Swap.vue (#99) * Add namespace & types for swap (#101) * Fix price and swap info (#104) * Fix price calculations * Update SwapInfo.vue * Update wallet & api (#105) * Fix swap links (#106) * Fix swap links * Update wallet * Update api (#111) * up wallet version (#112) * Updated wallet version to 0.6.3 (#113) * Updated wallet version to 0.6.4. (#114) * Polkaswap layout redesign (#98) (#102) * Polkaswap layout redesign (#98) * pss-498 header redesign * wip pss-496 * style fixes * add HelpDialog component * reexport package.json * exchange routing fix * add Rewards stub with coming soon text * refactoring SidebarItemContent * refactoring styles * add FAUCET_URL to env.json * fixes after review * fix sidebar item hover css * fix disabled item css * Move bridge functionality (#103) * pss-498 header redesign * wip pss-496 * style fixes * add HelpDialog component * reexport package.json * exchange routing fix * add Rewards stub with coming soon text * refactoring SidebarItemContent * refactoring styles * add FAUCET_URL to env.json * fixes after review * Move bridge functionality Co-authored-by: Nikita-Polyakov * Update wallet & api * PSS-524: Bridge (#107) * pss-498 header redesign * wip pss-496 * style fixes * add HelpDialog component * reexport package.json * exchange routing fix * add Rewards stub with coming soon text * refactoring SidebarItemContent * refactoring styles * add FAUCET_URL to env.json * fixes after review * Move bridge functionality * Bridge: Updated unauthorized routes. * Updated Generic Page Header, updated Bridge screens. * Fixed token icons. * Bridge: Updated styles. * Updated tooltips. * Removed unused token images. * Refactored due to PR comments. Co-authored-by: Nikita-Polyakov Co-authored-by: Stefan Popov * Fix/pss 539 metamsk lock issue (#108) * improve subscribers * add check account is connected * Fix/balance flickering (#109) * wip update balance flow * refactoring views and store modules * remove unused code * fixes after review * Update yarn.lock * Updated wallet version. * Updated wallet version to 0.6.4. * Updated wallet version to 0.6.5. * PSS-540: Add Pending Transactions to Bridge History (#115) * pss-498 header redesign * wip pss-496 * style fixes * add HelpDialog component * reexport package.json * exchange routing fix * add Rewards stub with coming soon text * refactoring SidebarItemContent * refactoring styles * add FAUCET_URL to env.json * fixes after review * Move bridge functionality * Bridge: Updated unauthorized routes. * Updated Generic Page Header, updated Bridge screens. * Fixed token icons. * Bridge: Updated styles. * Updated tooltips. * Removed btc icon. * Updated due to PR comments. * Updated due to PR comments. * Reverted formatAddress changes. * Added pending state. * Updated wallet version. * Fix bridge functionality Co-authored-by: Nikita-Polyakov Co-authored-by: Stefan Popov Co-authored-by: Alex Natalia * Select dialog updates (#118) * Modify select dialog * Remove all symbol dependencies * PSS-502: Swap And Pool Redesign (#117) * Separated Swap and Pool. * Changed assets filter from symbol to address. * Updated wallet version to 0.7.1. * Fixed assets addresses behaviour for bridge. * Reverted previous version of the wallet, fixed some places due to PR comments. Co-authored-by: Alex Natalia * Update styles and icons (#119) * Fix styles and icons * Update BrandedTooltip.vue * Update wallet & ui library versions * Update LICENSE * Update package.json * Fix issues Co-authored-by: Stefan Popov Co-authored-by: Alex Natalia <38787212+alexnatalia@users.noreply.github.com> Co-authored-by: Alex Natalia * Redesign Updates (#120) * Refactored buttons styles, changed some translation to common one. * Updated tooltips, screens info area. * Updated info blocks. * Updated info blocks in confirmation and pool screens. * Combined input area styles. * Update About.vue * GenericPageHeader: Changed default prop of tooltip placement. Signed-off-by: alexnatalia Co-authored-by: Stefan Popov * update wallet to 0.7.4 (#121) * remove getAssets from select-token dialog (#123) * PSS-573 WEB UI. MAX button for bridge work incorrect. (#124) * fix calc max value * remove console.log * update wallet 0.7.7 & hide farming in menu * refactoring (#122) * Fix issues (#125) * Remove default values from props * Fix issues Co-authored-by: alexnatalia Co-authored-by: Aleksandr Makhnev Co-authored-by: Bulat Saifullin Co-authored-by: Alex Natalia <38787212+alexnatalia@users.noreply.github.com> Co-authored-by: Dmitriy Creed Co-authored-by: alexnatalia Co-authored-by: Nikita Polyakov Co-authored-by: Nikita-Polyakov Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> Co-authored-by: Alex Natalia * Release 0.1.5 (#158) * Release 0.1.5 (#161) * Release 0.1.6 (#170) * Release 0.1.6 (#174) * Release 0.1.7 (#190) * Release 0.1.8 (#200) * Release 0.1.9 (#206) * Release 1.0.0 (#208) * Update styles * Update wallet * Fix wait message for bridge eth->sora flow * Fix page amount for bridge * Fix bridge icons * Fix swap checks for XOR output without XOR or with XOR balance < network fee * Release 1.0.0 (#212) * Release 1.0.0 (#215) * Release 1.0.0 (#219) * Release 1.0.1 (#226) * Release 1.0.2 (#234) * Release 1.1.0 (#244) * PSS-281: Recalculate Input Values On Select Token (#33) * Added util method to check isNumber value. Removed Max button from token To area. * Added Max sold for reversed swap. * Updated Swap Integration. * Updated UI Lib version. * Added recalc on Select Token. * Fixed Swap for Polkadot.js * Updated isExchangeB param in methods. * Hid Node Address area for Settings popup. * Added Network Fee field to Swap component. * Updated Custom slippage tolerance for Settings. * Fixed paste string value to Swap fields. * Updated Network Fee calls, updated Wallet version, fixed swap tokens balance. * Added isExchangeB parameter to swap call. * Refactoring * fix total supply * PSS-129: Share of pool * Remove share of pool mock * Fix get asset symbol * Hide add liquidity Fix slippage tolerance for add liquidity Fix share of pool Fix unsupprted assets error message * Disable max button for add liquidity Reset values after change tokens * Fixes * Updated Tokens Icons, added PAL icon. (#35) * Wallet connection issues (#38) * Fix wallet connection issues * Fix styles * Update wallet version * Update favicon.ico * PSS-297: check fee on max amount * PSS-295: Added Insufficient Balance Checking (#37) * Added Insufficient balance checking. * Updated FPNumber parameters. * Removed formatNumber usage from Swap screens. * Fixed focus and placeholders values for Swap. * Updated some styles for huge number values. * Refactored due to PR comments. * Result Dialog Styles Fix (#41) * Fixed Result Dialog button styles. * Renamed USD icon. * Update library * Fix swap, liquidity behavior * Update index.ts * TODO: Revert this commit after PSS-309 * Updated wallet version. Co-authored-by: Stefan Popov * PSS-273: WEB UI: Connect Wallet - Close button leads always on Exchange page, not to the previous page (#42) * Fix routing issue * Update wallet version * PSS-295: Confirm Swap Insufficient Balance Checking (#43) * Fixed console error on tokens switch. * Added Is Insufficient Balance checking for Confirm Swap dialog. * Updated Confirm Swap styles. * Updated Swap info after Swap, added max button to init screen. (#44) * Update ui library version (#46) * Update ui library version * Update wallet * BP-312: Fixes for pool * Fix icons position (#47) * Fix icons position * Fix logo * PSS-287: Swap Amount Fields Formatting (#45) * Added Swap fields formatter. * Fixed Slippage Tolerance editing and Swap fields formatting. * Updated wallet version. * Change toString to toFixed * Change formatNumber to toFixed * Fix remove liquidity price * Move back toFixed to toString * Fixed estimated label existence for zero values (#50) * Refactored, added some comments, fixed estimated label existence for zero values. * Modify env config file (#49) Co-authored-by: Bulat Saifullin * Add custom notifications & notification tracking service (#51) * Add custom notifications & notification tracking service * Update notifications & strings according to latest changes * Update api * Update soramitsu-variables.scss * PSS-335: Designer Feedback Fixes FE (#53) * Fixed functionality and layout bugs. * Added draft component to fix layout behaviour. * Fixed Settings behaviour. * Swap: removed Result dialog, edited Network Fee tooltip. * Fixed translation bugs. * Account info implementation & fix loading state (#54) * Add account info * Fix styles * Hide test assets (#55) * Update connection * Remove usdt mock * Add liquidity issues & update notifications (#56) * Add missing notifications * Update RemoveLiquidity * Fix add liquidity screen * Add async loading of liquidity * Fix pool issues * Updated not connected pool interface message. (#60) * PSS-300: Swap confirmation dialog message update (#61) * Updated Swap confirmation dialog message. * Confirm Swap Dialog: Updated message for max sold behaviour. * Swap screen: Fixed Min Received/Max Sold area asset symbol. (#62) * PSS-379: WEB UI. Add liquidity. Click MAX button on 0 balance of XOR (#59) * Updated wallet version. Swap, Add Liquidity, Create Pair components: Updated Max button availability, refactored. * Refactored due to PR comments. * Swap, Add Liquidity: Fixed negative amount after max. Updated wallet version. * Create pair implementation & fix liquidity issues (#63) * Add create pair implementation & fix logic for add liquidity * PSS-297: WEB UI: Restrict Adding liquidity if balance is insufficient (#64) * Add Liquidity: Refactored Insufficient Balance. * Create Pair, Remove Liquidity: Updated Max functionality. * Add insufficient liquidity message for swap (#66) * link @soramitsu/soraneo-wallet-web 0.4.6 * return network address * use wallet routes in app.vue to correctly handle wallet icon click * set changePage method as private * removed local model for inputs: createPairModel * refactoring CreatePair methods * add input maxlength check * fix inputMaxLength method * improve formatNumberField method * refactoring inputMaxLength method * refactoring AddLiquidity view * create TokenPair mixin * wip refactoring * add maxlength to removeLiquidity view inputs * create TokenInputMixin * add input handlers on removeLiquidity view * handle swap inputs * return commented line * PSS-400: WEB UI. Minimum receive/Maximum sold token not changed (#69) * Fixed min received/max sold symbol. * Update wallet & api version (#70) * fixes after review * add store state interfaces * PSS-467: On the swap screen user should be able to select all tokens excecpt pool tokens (#71) * Update wallet & api version * Fix swap with assets created by user * Update wallet & api version * add watcher for slippageTolerance in Swap.vue * remove console lgos * use state types in store mutations & getters * apply transaction mixin changes from wallet * update @soramitsu/soraneo-wallet-web dependency * navigate to wallet connection view on wallet click (#75) * PSS-419: restrict precision in inputs (#74) * add TokenInput component * use TokenInput in Swap.vue * add ConfirmDialogMixin * prepare to refactoring modals * remove comments * remove unneccessary actions * add TODO comments * fix TokenInput handler * link js-ui-library with input fix * PSS-398: WEB UI. Multiple click on Confirm - create multiple transactions. (#76) * Fix multiple confirm for operations * Fix notifications view * Update env.json * PSS-364: reuse s-float-input component (#77) * prepare TokenInput component for export * use s-float-input instead of TokenInput * refactoring Settings component * refactoring RemoveLiquidity * Update wallet (#79) * SFloatInput Fixes (#82) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * PSS-378: WEB UI. Remove liquidity. Troubles with entering of amount manually (#83) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * Remove liquidity: fixed fields editing and insufficient balance calculation. * Remove Liquidity: Fixed editing behaviour. * Updated due to PR comments. * PSS-486: reset vuex values after transaction (#81) * PSS-351: Show balance in select token dialog (#84) * wip assetList * fixes in swap * fix types * remove unused imports * Refactoring Modals: add ConfirmTokenPairDialog component (#78) * add ConfirmTokenPairDialog component * add modal props fix and throw error on create pair failure * fix openSelectTokenDialog method in Swap.vue(#86) * PSS-350: Add clear button to select token search input (#85) * add clear button * refactoring mixin * remove global style in SelectToken * use global style for input button * Update wallet (#87) * Update wallet * Change s-form-item to div in SelectToken dialog (#88) * remove s-form-item * change wrapper classname * Refactoring swap view (#89) * wip * remove formModel * add reset fields method * wip swap values * refactoring minMaxRecieved calls * wip refactoring * use exchangeB as source of truth * use isExchangeB instead of activeField * disable switch during values calculation * recounting check * use promise all for parallel calculation * update ui library * discarding env.json * fixes after revie * Hide balance in SelectToken dialog, if wallet not connected (#91) * Add license (#92) * PSS-248 Web UI: Settings - Problems with input in Custom field (#90) * allow type any value * fix error * add local model * PSS-418: Precision management (#93) * Create NumberFormatterMixin.ts * Improve precision management for pool * Improve precision management for swap operation * Improve precision management for select token dialog * Update AddLiquidity.vue * Improve precision management for remove liquidity operation * Update todo sections * Fix issues * Update wallet & api versions * Add balance updates * Add zero string const * update wallet (#94) * PSS-351 Select Token fixes (#95) * select-token fixes * show 0 balance as - * PSS-516: WEB UI. Can go to remove liquidity page without liquidity on account (#96) * Added Page Not Found Draft. * Fixed Add and Remove Liquidity router bags, hid some screens for unauthorized access. Added redirect to exchange for Page Not Found error. * Disabled selects for existed liquidity addition. * Update Swap.vue (#99) * Add namespace & types for swap (#101) * Fix price and swap info (#104) * Fix price calculations * Update SwapInfo.vue * Update wallet & api (#105) * Fix swap links (#106) * Fix swap links * Update wallet * Update api (#111) * up wallet version (#112) * Updated wallet version to 0.6.3 (#113) * Updated wallet version to 0.6.4. (#114) * Polkaswap layout redesign (#98) (#102) * Polkaswap layout redesign (#98) * pss-498 header redesign * w… * fix (#1172) * Fix release 1.21 issues (#1175) * Bump version * Demeter dialog remove extra padding * Update yarn.lock --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: shlavik * Enable supply chart for all tokens (#1170) * Enable supply chart for all tokens * Update package.json --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> * [Bridge] Add Min & Max limits (#1151) * remove vue-svg-loader * remove cache-loader from vue-loader * rewrite vue.config.js * update wallet * css fixes * remove sass warnings * fix spacing * add alt attrs to RoadMap * remove some todo * update ethers usage * refactoring ethers utils * add type annotaions * small fixes * wip external fee * refactoring adapter to remove hardcoded networks usage * add prefix for external fee * history restoration console info * fix sub bridge max btn * remove external network fee getter * refactoring * fix sonar issues * refactoring bridge utils * update api.query usage * improve tracking * refactoring sub reducers * improve sub history restoration * sonar issue refactoring * wip external fiat values * add nativeTOken getter to bridge * fix BridgeTransaction address * refactoring balance utils * remove bridgeApi from getters * fix transaction view prefix * update wallet 1.21.2 * add asset limit subscription * rework asset transfer limit update * update bridge subscription logic * bridge view computed * remove unused variable * prepare for subscription update * asset max limit subscription * update bridge transaction view * add min limit fetching * add getters to bridge views * add bridge limit card * update translations * replace relayChainBlockNumber call * bridge ui fixes * reset bridge form, fix network change * connection additional checks * await isReady promises * open sora parachain connection after select network * refactoring sub networks connector * refactoring web3 store * improve loading states & refactoring actions * fix bridge loading logix * refactoring bridge balances fetching * fix sub network fee & bridge container * update bridge quote * update bridge quote * fix bridge loading state * fix bridge actions promise.all reject * fix connection open * fix locked balance calc * rename web3 method * change CodecString to FPNumber in store balances * refactoring sonar issues * fix bridge amount decimals in form * update eth bridge locked balance * update wallet 1.22.0 * refactoring sonar issues * update filter fn * Fix sub bridge address issues (#1180) * fix address format checks * format sub bridge account address in ss58 * improve externalAccount usage * update wallet 1.22.1 * add xcm fee info * Remove ~ sign (#1179) * Remove ~ sign * Remove not used component * fix address format in hsitory restoration --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> Co-authored-by: Nikita-Polyakov * Fix assets sorting order in swap and bridge (#1181) * fix assets sorting order in swap and bridge * improve sortByBalance * Add scroll into view (#1182) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Fix sub bridge sora fee & fix eth history restoration (#1183) * update bridge sora fee & history restoration * update message, remove bad util fn * sore fee update optimization * update translations * Add XCM fee to transaction details & some fixes (#1185) * get xcm fee in history * await connection * show xcm fee transaction details * refactoring sub adapter connection * improve connection logs * fix clear history * improve api connections reuse * improve connector check * Update marketing.json (#1186) * Update marketing.json * Update package.json * Update marketing images * Fix long asset names * Improve tokens page --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Subsquid support implementation (#1049) * Subsquid support implementation * Update yarn.lock * Indexer selector * Changed indexer names * Changed icon for indexer selection * Fixes after merge * Update package,json * Fixes * Update sora2-wallet-web version * Remove graphql-ws * Update wallet version * Update wallet version * Empty commit * Updated indexer selector * Updated wallet-web * Update wallet * Status * Update wallet * Fix statistics dialog * Some fixes * Some fixes * Update wallet version * Fix queries * Update yarn.lock * fix tokens page * update dev env.json * remove unused import --------- Co-authored-by: Nikita-Polyakov * card balance appearance (#1173) * add balance fetching logic * prework * make reject reason * add fees * Update Payment.vue * add translations * Update ConfirmationInfo.vue * Update Payment.vue * referenceNumber duplcation * reference number duplication remove * Update Dashboard.vue * fix referenceNumber duplication * make explicit conversion * fix sonar issues * fix css --------- Co-authored-by: safinsaf <45899673+safinsaf@users.noreply.github.com> * UI improvements (#1189) * update SyntheticSwitcher & ExternalLink components * update wallet * update indexer translations * update address book input translation * remove incorrect price from chart * update SelectIndexer modal (#1190) * add walletconnect verification txt file (#1193) * Fix assets query (#1196) * Remove assets liquidity filter * Fix subsquid assets query * Fix assets parse * Update Jenkinsfile (#1197) * fix subquery bridge history (#1200) * Add xorless transfer history support (#1203) * add xorless transfer history support * update translations * remove misleading option (#1204) * remove misleading option * add iban missing feature * Update Dashboard.vue * add focused css * add langs (#1205) * SORA Card: Add country selector (#1206) * SORA CARD: Add country selector * Translate placeholder * Fix lokalise * show balance when iban available only * Update Dashboard.vue --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: RustemYuzlibaev * remove css and if-statement (#1207) * Sustrate bridge prod prepare (#1211) * Release 0.1.2 (#80) * Add base project files * Add About page * Add unit tests * Remove unused files * Update library version * Moved images to img folder. * Refactored some styles, added normalize css. * Fixed article card header font weight. * Fix About snapshot * Fix styles and its imports * PSS-132: Token list store * Add env.json and readme * PSS-134 DevOps: Develop CI and CD processes for Polkaswap web project (#5) * add ci cd Signed-off-by: Bulat Saifullin * fix Dockerfile Signed-off-by: Bulat Saifullin * add pull_request_template.md Signed-off-by: Bulat Saifullin * fix template Signed-off-by: Bulat Saifullin * PSS-132: Select token screen * PSS-132: Refactoring * PSS-132: Change short name to symbol * PSS-132: Add i18n to select token * PSS-132: Add unit tests * PSS-132: Remove elements from tests * Added Swap Interface draft (#4) * Swap Interface: Added screen, Unit Tests, Updated UI Lib version. * PSS-132: Create pair * PSS-132: Fixes for select token * PSS-132: Fix title style * PSS-132: UPdate snaphots * PSS-132: Fix shadow * PSS-132: Fix variable style using * Swap Interface Confirmation Screens (#8) * Added Transaction Submit dialog. * Swap Interface: Moved some variables to store for better relations between different screens and dialogs. * Confirm Swap Dialog: Fixed dialog opening, added confirmation flag to the store. * Added token default logo image, refactored translation call for liquidity. * Added SelectToken dialog on click. * PSS-126: Confirm supply modal * Confirmation screens for create pair * Design fixes * Update ui lib * PSS-126: Logo component * Update tests * Wallet integration and styles issues (#10) * Wallet integration * Fix routing issues * Update UI library version * Refactor all styles * Fix wallet connected state * Update tests * Update test * Update Dockerfile (#12) * PSS-129: Add and remove liquidity page * Design fixes * Token logo check fixes * Refactoring and fixes * Add pair token logo for add liquidity * Settings implementation (#15) * Add settings dialog * Add tests * Update tests * Fix titles for info card * Pool Interface Start Screens (#11) * Pool Interface: Added Start Screen. * Refactored components due to UI Lib updates: set size and border-radius of elements. * Created Dialog wrapper component, refactored dialogs, added fixed top position, fixed close behaviour. * Refactored components imports. * Converted logo icon to link to the home page. * Fixed error in console for Create pair component. * Added Back link behaviour for several components. * Updated unit tests. * PSS-172: Dynamic Page Title (#14) * Added dynamic page title. * PSS-128: Add confirmation screens for pool (#16) * PSS-128: Add confirmation screens for pool Co-authored-by: alexnatalia * Mocks for pool screen * Refactoring * Update tests * Add liquidity button for pairs * Design Fixes and Refactoring (#17) * Refactored TokenLogo and PairTokenLogo components, fixed some bugs, updated unit tests. Refactored components headers. * Added Popper class for info tooltips. Fixed default prop value for Object types. Updated Unit tests. * Design Issues Fix (#19) * Updated configuration variables and Exchange tabs styles. * Updated About page images and styles, Header styles and Menu colors settings. Hid unused links and buttons in header. * Updeted typography variables and Font Styles: Updated Font Size, Line Height and Font Weight Configuration. * Updated Create Pair button styles. Updated Ui Lib version. * Fixed tokens icons for Pool screen. * Updated tooltips to one consistent style. Fixed Pool screen bug. * Refactored: Created special component for Generic Header. Fixed Back icon. * Updated some fonts and Pool screen styles. * Added Empty icon for Select token popup. * Added First Liquidity Provider message to Create a Pair screen. * Hid tooltip for Slider element on Settings screen, hid tooltips for Swap Confirmation. * Updated unit tests. * PSS-205: Remove liquidity: everything should be clickable and with recalculation * Update tests * Fix set remove part to 0 * Inpur for remove part * Fixes * Price container fixes * Update tests * PS-223: Fix remove liquidity in safari * PSS-205: Design Review Issues (#21) * Fixed titles case. Updated buttons with text and icons. Updated typography styles. * Update wallet version & add blockchain integration (#23) * Update wallet version & add blockchain integration * Commented out unit tests. Co-authored-by: alexnatalia * PSS-123: Select token integration * Fix async behavior for dexApi (#25) * Fix async behavior for dexApi * Update .eslintrc.js * PSS-247: Custom Slippage Tolerance Fix (#27) * Updated STab styles. * Updated UI Lib and Wallet versions and styles according to UI Lib fixes. * PSS-129: Add liquiditiy integration * PSS-74 Swap Interface Integration (#26) * Hid swap info for not connected wallet. * Updated SelectToken search by name, added check for translation existance. * Added Swap Integration. * Refactored formatNumber calls. * Hid swap info under buttons for zero amount. * Fixed Header Menu colors. * Fixed swap from Wallet assets. * Updated tooltips. * Updated About page text and Main menu links order. * Fixed Card title color for About page. * Updated Default token setting. * Updated Wallet version. * Hid Transaction Deadline area for Settings. * Removed unneeded tooltip from Settings dialog. * Added validation for Settings. * Added validation for Insufficient Amount error from server. * Added loading while not conencted, changed store to not strict mode, updated tokens setting in store. * Fixed focused behaviour for Swap input fields. * Fix wallet connection & select token behavior * Fixed Min Received format. Co-authored-by: Stefan Popov * Swap result calculation for non connected mode (#28) * Fixed Swap result calculation for non connected mode. * Fixed About page text and styles. * Fix i18n (#30) * Updated Swap input width and Max swap behaviour. Updated Swap Info styles. (#29) * PSS-271: Medium and GitHub links (#31) * Added Github and Medium links for About page. * Upated the Wallet version. * Fixed wallet button color on hover. * Calculate total suply * PSS-216: Design Issues Fixing (#32) * Updated content primary color. * Fixed Price and Token areas horizontal alignment. * Updated tooltips. * Updated Generic Header tooltip. * Updated Token item height for Select Token dialog. * Added Token icons. * Updated token icons names. * PSS-129: Create pair integration * Remove mocks * Refactoring * Add network fee calculation * Fixes * PSS-281: Recalculate Input Values On Select Token (#33) * Added util method to check isNumber value. Removed Max button from token To area. * Added Max sold for reversed swap. * Updated Swap Integration. * Updated UI Lib version. * Added recalc on Select Token. * Fixed Swap for Polkadot.js * Updated isExchangeB param in methods. * Hid Node Address area for Settings popup. * Added Network Fee field to Swap component. * Updated Custom slippage tolerance for Settings. * Fixed paste string value to Swap fields. * Updated Network Fee calls, updated Wallet version, fixed swap tokens balance. * Added isExchangeB parameter to swap call. * Refactoring * fix total supply * PSS-129: Share of pool * Remove share of pool mock * Fix get asset symbol * Hide add liquidity Fix slippage tolerance for add liquidity Fix share of pool Fix unsupprted assets error message * Disable max button for add liquidity Reset values after change tokens * Fixes * Updated Tokens Icons, added PAL icon. (#35) * Wallet connection issues (#38) * Fix wallet connection issues * Fix styles * Update wallet version * Update favicon.ico * PSS-297: check fee on max amount * PSS-295: Added Insufficient Balance Checking (#37) * Added Insufficient balance checking. * Updated FPNumber parameters. * Removed formatNumber usage from Swap screens. * Fixed focus and placeholders values for Swap. * Updated some styles for huge number values. * Refactored due to PR comments. * Result Dialog Styles Fix (#41) * Fixed Result Dialog button styles. * Renamed USD icon. * Update library * Fix swap, liquidity behavior * Update index.ts * TODO: Revert this commit after PSS-309 * Updated wallet version. Co-authored-by: Stefan Popov * PSS-273: WEB UI: Connect Wallet - Close button leads always on Exchange page, not to the previous page (#42) * Fix routing issue * Update wallet version * PSS-295: Confirm Swap Insufficient Balance Checking (#43) * Fixed console error on tokens switch. * Added Is Insufficient Balance checking for Confirm Swap dialog. * Updated Confirm Swap styles. * Updated Swap info after Swap, added max button to init screen. (#44) * Update ui library version (#46) * Update ui library version * Update wallet * BP-312: Fixes for pool * Fix icons position (#47) * Fix icons position * Fix logo * PSS-287: Swap Amount Fields Formatting (#45) * Added Swap fields formatter. * Fixed Slippage Tolerance editing and Swap fields formatting. * Updated wallet version. * Change toString to toFixed * Change formatNumber to toFixed * Fix remove liquidity price * Move back toFixed to toString * Fixed estimated label existence for zero values (#50) * Refactored, added some comments, fixed estimated label existence for zero values. * Modify env config file (#49) Co-authored-by: Bulat Saifullin * Add custom notifications & notification tracking service (#51) * Add custom notifications & notification tracking service * Update notifications & strings according to latest changes * Update api * Update soramitsu-variables.scss * PSS-335: Designer Feedback Fixes FE (#53) * Fixed functionality and layout bugs. * Added draft component to fix layout behaviour. * Fixed Settings behaviour. * Swap: removed Result dialog, edited Network Fee tooltip. * Fixed translation bugs. * Account info implementation & fix loading state (#54) * Add account info * Fix styles * Hide test assets (#55) * Update connection * Remove usdt mock * Add liquidity issues & update notifications (#56) * Add missing notifications * Update RemoveLiquidity * Fix add liquidity screen * Add async loading of liquidity * Fix pool issues * Updated not connected pool interface message. (#60) * PSS-300: Swap confirmation dialog message update (#61) * Updated Swap confirmation dialog message. * Confirm Swap Dialog: Updated message for max sold behaviour. * Swap screen: Fixed Min Received/Max Sold area asset symbol. (#62) * PSS-379: WEB UI. Add liquidity. Click MAX button on 0 balance of XOR (#59) * Updated wallet version. Swap, Add Liquidity, Create Pair components: Updated Max button availability, refactored. * Refactored due to PR comments. * Swap, Add Liquidity: Fixed negative amount after max. Updated wallet version. * Create pair implementation & fix liquidity issues (#63) * Add create pair implementation & fix logic for add liquidity * PSS-297: WEB UI: Restrict Adding liquidity if balance is insufficient (#64) * Add Liquidity: Refactored Insufficient Balance. * Create Pair, Remove Liquidity: Updated Max functionality. * Add insufficient liquidity message for swap (#66) * link @soramitsu/soraneo-wallet-web 0.4.6 * return network address * use wallet routes in app.vue to correctly handle wallet icon click * set changePage method as private * removed local model for inputs: createPairModel * refactoring CreatePair methods * add input maxlength check * fix inputMaxLength method * improve formatNumberField method * refactoring inputMaxLength method * refactoring AddLiquidity view * create TokenPair mixin * wip refactoring * add maxlength to removeLiquidity view inputs * create TokenInputMixin * add input handlers on removeLiquidity view * handle swap inputs * return commented line * PSS-400: WEB UI. Minimum receive/Maximum sold token not changed (#69) * Fixed min received/max sold symbol. * Update wallet & api version (#70) * fixes after review * add store state interfaces * PSS-467: On the swap screen user should be able to select all tokens excecpt pool tokens (#71) * Update wallet & api version * Fix swap with assets created by user * Update wallet & api version * add watcher for slippageTolerance in Swap.vue * remove console lgos * use state types in store mutations & getters * apply transaction mixin changes from wallet * update @soramitsu/soraneo-wallet-web dependency * navigate to wallet connection view on wallet click (#75) * PSS-419: restrict precision in inputs (#74) * add TokenInput component * use TokenInput in Swap.vue * add ConfirmDialogMixin * prepare to refactoring modals * remove comments * remove unneccessary actions * add TODO comments * fix TokenInput handler * link js-ui-library with input fix * PSS-398: WEB UI. Multiple click on Confirm - create multiple transactions. (#76) * Fix multiple confirm for operations * Fix notifications view * Update env.json * PSS-364: reuse s-float-input component (#77) * prepare TokenInput component for export * use s-float-input instead of TokenInput * refactoring Settings component * refactoring RemoveLiquidity * Update wallet (#79) Co-authored-by: alexnatalia Co-authored-by: Aleksandr Makhnev Co-authored-by: Bulat Saifullin Co-authored-by: Alex Natalia <38787212+alexnatalia@users.noreply.github.com> Co-authored-by: Dmitriy Creed Co-authored-by: alexnatalia Co-authored-by: Nikita Polyakov Co-authored-by: Nikita-Polyakov Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> * Release 0.1.3 (#97) * Add base project files * Add About page * Add unit tests * Remove unused files * Update library version * Moved images to img folder. * Refactored some styles, added normalize css. * Fixed article card header font weight. * Fix About snapshot * Fix styles and its imports * PSS-132: Token list store * Add env.json and readme * PSS-134 DevOps: Develop CI and CD processes for Polkaswap web project (#5) * add ci cd Signed-off-by: Bulat Saifullin * fix Dockerfile Signed-off-by: Bulat Saifullin * add pull_request_template.md Signed-off-by: Bulat Saifullin * fix template Signed-off-by: Bulat Saifullin * PSS-132: Select token screen * PSS-132: Refactoring * PSS-132: Change short name to symbol * PSS-132: Add i18n to select token * PSS-132: Add unit tests * PSS-132: Remove elements from tests * Added Swap Interface draft (#4) * Swap Interface: Added screen, Unit Tests, Updated UI Lib version. * PSS-132: Create pair * PSS-132: Fixes for select token * PSS-132: Fix title style * PSS-132: UPdate snaphots * PSS-132: Fix shadow * PSS-132: Fix variable style using * Swap Interface Confirmation Screens (#8) * Added Transaction Submit dialog. * Swap Interface: Moved some variables to store for better relations between different screens and dialogs. * Confirm Swap Dialog: Fixed dialog opening, added confirmation flag to the store. * Added token default logo image, refactored translation call for liquidity. * Added SelectToken dialog on click. * PSS-126: Confirm supply modal * Confirmation screens for create pair * Design fixes * Update ui lib * PSS-126: Logo component * Update tests * Wallet integration and styles issues (#10) * Wallet integration * Fix routing issues * Update UI library version * Refactor all styles * Fix wallet connected state * Update tests * Update test * Update Dockerfile (#12) * PSS-129: Add and remove liquidity page * Design fixes * Token logo check fixes * Refactoring and fixes * Add pair token logo for add liquidity * Settings implementation (#15) * Add settings dialog * Add tests * Update tests * Fix titles for info card * Pool Interface Start Screens (#11) * Pool Interface: Added Start Screen. * Refactored components due to UI Lib updates: set size and border-radius of elements. * Created Dialog wrapper component, refactored dialogs, added fixed top position, fixed close behaviour. * Refactored components imports. * Converted logo icon to link to the home page. * Fixed error in console for Create pair component. * Added Back link behaviour for several components. * Updated unit tests. * PSS-172: Dynamic Page Title (#14) * Added dynamic page title. * PSS-128: Add confirmation screens for pool (#16) * PSS-128: Add confirmation screens for pool Co-authored-by: alexnatalia * Mocks for pool screen * Refactoring * Update tests * Add liquidity button for pairs * Design Fixes and Refactoring (#17) * Refactored TokenLogo and PairTokenLogo components, fixed some bugs, updated unit tests. Refactored components headers. * Added Popper class for info tooltips. Fixed default prop value for Object types. Updated Unit tests. * Design Issues Fix (#19) * Updated configuration variables and Exchange tabs styles. * Updated About page images and styles, Header styles and Menu colors settings. Hid unused links and buttons in header. * Updeted typography variables and Font Styles: Updated Font Size, Line Height and Font Weight Configuration. * Updated Create Pair button styles. Updated Ui Lib version. * Fixed tokens icons for Pool screen. * Updated tooltips to one consistent style. Fixed Pool screen bug. * Refactored: Created special component for Generic Header. Fixed Back icon. * Updated some fonts and Pool screen styles. * Added Empty icon for Select token popup. * Added First Liquidity Provider message to Create a Pair screen. * Hid tooltip for Slider element on Settings screen, hid tooltips for Swap Confirmation. * Updated unit tests. * PSS-205: Remove liquidity: everything should be clickable and with recalculation * Update tests * Fix set remove part to 0 * Inpur for remove part * Fixes * Price container fixes * Update tests * PS-223: Fix remove liquidity in safari * PSS-205: Design Review Issues (#21) * Fixed titles case. Updated buttons with text and icons. Updated typography styles. * Update wallet version & add blockchain integration (#23) * Update wallet version & add blockchain integration * Commented out unit tests. Co-authored-by: alexnatalia * PSS-123: Select token integration * Fix async behavior for dexApi (#25) * Fix async behavior for dexApi * Update .eslintrc.js * PSS-247: Custom Slippage Tolerance Fix (#27) * Updated STab styles. * Updated UI Lib and Wallet versions and styles according to UI Lib fixes. * PSS-129: Add liquiditiy integration * PSS-74 Swap Interface Integration (#26) * Hid swap info for not connected wallet. * Updated SelectToken search by name, added check for translation existance. * Added Swap Integration. * Refactored formatNumber calls. * Hid swap info under buttons for zero amount. * Fixed Header Menu colors. * Fixed swap from Wallet assets. * Updated tooltips. * Updated About page text and Main menu links order. * Fixed Card title color for About page. * Updated Default token setting. * Updated Wallet version. * Hid Transaction Deadline area for Settings. * Removed unneeded tooltip from Settings dialog. * Added validation for Settings. * Added validation for Insufficient Amount error from server. * Added loading while not conencted, changed store to not strict mode, updated tokens setting in store. * Fixed focused behaviour for Swap input fields. * Fix wallet connection & select token behavior * Fixed Min Received format. Co-authored-by: Stefan Popov * Swap result calculation for non connected mode (#28) * Fixed Swap result calculation for non connected mode. * Fixed About page text and styles. * Fix i18n (#30) * Updated Swap input width and Max swap behaviour. Updated Swap Info styles. (#29) * PSS-271: Medium and GitHub links (#31) * Added Github and Medium links for About page. * Upated the Wallet version. * Fixed wallet button color on hover. * Calculate total suply * PSS-216: Design Issues Fixing (#32) * Updated content primary color. * Fixed Price and Token areas horizontal alignment. * Updated tooltips. * Updated Generic Header tooltip. * Updated Token item height for Select Token dialog. * Added Token icons. * Updated token icons names. * PSS-129: Create pair integration * Remove mocks * Refactoring * Add network fee calculation * Fixes * PSS-281: Recalculate Input Values On Select Token (#33) * Added util method to check isNumber value. Removed Max button from token To area. * Added Max sold for reversed swap. * Updated Swap Integration. * Updated UI Lib version. * Added recalc on Select Token. * Fixed Swap for Polkadot.js * Updated isExchangeB param in methods. * Hid Node Address area for Settings popup. * Added Network Fee field to Swap component. * Updated Custom slippage tolerance for Settings. * Fixed paste string value to Swap fields. * Updated Network Fee calls, updated Wallet version, fixed swap tokens balance. * Added isExchangeB parameter to swap call. * Refactoring * fix total supply * PSS-129: Share of pool * Remove share of pool mock * Fix get asset symbol * Hide add liquidity Fix slippage tolerance for add liquidity Fix share of pool Fix unsupprted assets error message * Disable max button for add liquidity Reset values after change tokens * Fixes * Updated Tokens Icons, added PAL icon. (#35) * Wallet connection issues (#38) * Fix wallet connection issues * Fix styles * Update wallet version * Update favicon.ico * PSS-297: check fee on max amount * PSS-295: Added Insufficient Balance Checking (#37) * Added Insufficient balance checking. * Updated FPNumber parameters. * Removed formatNumber usage from Swap screens. * Fixed focus and placeholders values for Swap. * Updated some styles for huge number values. * Refactored due to PR comments. * Result Dialog Styles Fix (#41) * Fixed Result Dialog button styles. * Renamed USD icon. * Update library * Fix swap, liquidity behavior * Update index.ts * TODO: Revert this commit after PSS-309 * Updated wallet version. Co-authored-by: Stefan Popov * PSS-273: WEB UI: Connect Wallet - Close button leads always on Exchange page, not to the previous page (#42) * Fix routing issue * Update wallet version * PSS-295: Confirm Swap Insufficient Balance Checking (#43) * Fixed console error on tokens switch. * Added Is Insufficient Balance checking for Confirm Swap dialog. * Updated Confirm Swap styles. * Updated Swap info after Swap, added max button to init screen. (#44) * Update ui library version (#46) * Update ui library version * Update wallet * BP-312: Fixes for pool * Fix icons position (#47) * Fix icons position * Fix logo * PSS-287: Swap Amount Fields Formatting (#45) * Added Swap fields formatter. * Fixed Slippage Tolerance editing and Swap fields formatting. * Updated wallet version. * Change toString to toFixed * Change formatNumber to toFixed * Fix remove liquidity price * Move back toFixed to toString * Fixed estimated label existence for zero values (#50) * Refactored, added some comments, fixed estimated label existence for zero values. * Modify env config file (#49) Co-authored-by: Bulat Saifullin * Add custom notifications & notification tracking service (#51) * Add custom notifications & notification tracking service * Update notifications & strings according to latest changes * Update api * Update soramitsu-variables.scss * PSS-335: Designer Feedback Fixes FE (#53) * Fixed functionality and layout bugs. * Added draft component to fix layout behaviour. * Fixed Settings behaviour. * Swap: removed Result dialog, edited Network Fee tooltip. * Fixed translation bugs. * Account info implementation & fix loading state (#54) * Add account info * Fix styles * Hide test assets (#55) * Update connection * Remove usdt mock * Add liquidity issues & update notifications (#56) * Add missing notifications * Update RemoveLiquidity * Fix add liquidity screen * Add async loading of liquidity * Fix pool issues * Updated not connected pool interface message. (#60) * PSS-300: Swap confirmation dialog message update (#61) * Updated Swap confirmation dialog message. * Confirm Swap Dialog: Updated message for max sold behaviour. * Swap screen: Fixed Min Received/Max Sold area asset symbol. (#62) * PSS-379: WEB UI. Add liquidity. Click MAX button on 0 balance of XOR (#59) * Updated wallet version. Swap, Add Liquidity, Create Pair components: Updated Max button availability, refactored. * Refactored due to PR comments. * Swap, Add Liquidity: Fixed negative amount after max. Updated wallet version. * Create pair implementation & fix liquidity issues (#63) * Add create pair implementation & fix logic for add liquidity * PSS-297: WEB UI: Restrict Adding liquidity if balance is insufficient (#64) * Add Liquidity: Refactored Insufficient Balance. * Create Pair, Remove Liquidity: Updated Max functionality. * Add insufficient liquidity message for swap (#66) * link @soramitsu/soraneo-wallet-web 0.4.6 * return network address * use wallet routes in app.vue to correctly handle wallet icon click * set changePage method as private * removed local model for inputs: createPairModel * refactoring CreatePair methods * add input maxlength check * fix inputMaxLength method * improve formatNumberField method * refactoring inputMaxLength method * refactoring AddLiquidity view * create TokenPair mixin * wip refactoring * add maxlength to removeLiquidity view inputs * create TokenInputMixin * add input handlers on removeLiquidity view * handle swap inputs * return commented line * PSS-400: WEB UI. Minimum receive/Maximum sold token not changed (#69) * Fixed min received/max sold symbol. * Update wallet & api version (#70) * fixes after review * add store state interfaces * PSS-467: On the swap screen user should be able to select all tokens excecpt pool tokens (#71) * Update wallet & api version * Fix swap with assets created by user * Update wallet & api version * add watcher for slippageTolerance in Swap.vue * remove console lgos * use state types in store mutations & getters * apply transaction mixin changes from wallet * update @soramitsu/soraneo-wallet-web dependency * navigate to wallet connection view on wallet click (#75) * PSS-419: restrict precision in inputs (#74) * add TokenInput component * use TokenInput in Swap.vue * add ConfirmDialogMixin * prepare to refactoring modals * remove comments * remove unneccessary actions * add TODO comments * fix TokenInput handler * link js-ui-library with input fix * PSS-398: WEB UI. Multiple click on Confirm - create multiple transactions. (#76) * Fix multiple confirm for operations * Fix notifications view * Update env.json * PSS-364: reuse s-float-input component (#77) * prepare TokenInput component for export * use s-float-input instead of TokenInput * refactoring Settings component * refactoring RemoveLiquidity * Update wallet (#79) * SFloatInput Fixes (#82) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * PSS-378: WEB UI. Remove liquidity. Troubles with entering of amount manually (#83) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * Remove liquidity: fixed fields editing and insufficient balance calculation. * Remove Liquidity: Fixed editing behaviour. * Updated due to PR comments. * PSS-486: reset vuex values after transaction (#81) * PSS-351: Show balance in select token dialog (#84) * wip assetList * fixes in swap * fix types * remove unused imports * Refactoring Modals: add ConfirmTokenPairDialog component (#78) * add ConfirmTokenPairDialog component * add modal props fix and throw error on create pair failure * fix openSelectTokenDialog method in Swap.vue(#86) * PSS-350: Add clear button to select token search input (#85) * add clear button * refactoring mixin * remove global style in SelectToken * use global style for input button * Update wallet (#87) * Update wallet * Change s-form-item to div in SelectToken dialog (#88) * remove s-form-item * change wrapper classname * Refactoring swap view (#89) * wip * remove formModel * add reset fields method * wip swap values * refactoring minMaxRecieved calls * wip refactoring * use exchangeB as source of truth * use isExchangeB instead of activeField * disable switch during values calculation * recounting check * use promise all for parallel calculation * update ui library * discarding env.json * fixes after revie * Hide balance in SelectToken dialog, if wallet not connected (#91) * Add license (#92) * PSS-248 Web UI: Settings - Problems with input in Custom field (#90) * allow type any value * fix error * add local model * PSS-418: Precision management (#93) * Create NumberFormatterMixin.ts * Improve precision management for pool * Improve precision management for swap operation * Improve precision management for select token dialog * Update AddLiquidity.vue * Improve precision management for remove liquidity operation * Update todo sections * Fix issues * Update wallet & api versions * Add balance updates * Add zero string const * update wallet (#94) * PSS-351 Select Token fixes (#95) * select-token fixes * show 0 balance as - Co-authored-by: alexnatalia Co-authored-by: Aleksandr Makhnev Co-authored-by: Bulat Saifullin Co-authored-by: Alex Natalia <38787212+alexnatalia@users.noreply.github.com> Co-authored-by: Dmitriy Creed Co-authored-by: alexnatalia Co-authored-by: Nikita Polyakov Co-authored-by: Nikita-Polyakov Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> * Release 0.1.3 (#100) * PSS-516: WEB UI. Can go to remove liquidity page without liquidity on account (#96) * Added Page Not Found Draft. * Fixed Add and Remove Liquidity router bags, hid some screens for unauthorized access. Added redirect to exchange for Page Not Found error. * Disabled selects for existed liquidity addition. * Update Swap.vue (#99) * Release 0.1.4 (#126) * Add base project files * Add About page * Add unit tests * Remove unused files * Update library version * Moved images to img folder. * Refactored some styles, added normalize css. * Fixed article card header font weight. * Fix About snapshot * Fix styles and its imports * PSS-132: Token list store * Add env.json and readme * PSS-134 DevOps: Develop CI and CD processes for Polkaswap web project (#5) * add ci cd Signed-off-by: Bulat Saifullin * fix Dockerfile Signed-off-by: Bulat Saifullin * add pull_request_template.md Signed-off-by: Bulat Saifullin * fix template Signed-off-by: Bulat Saifullin * PSS-132: Select token screen * PSS-132: Refactoring * PSS-132: Change short name to symbol * PSS-132: Add i18n to select token * PSS-132: Add unit tests * PSS-132: Remove elements from tests * Added Swap Interface draft (#4) * Swap Interface: Added screen, Unit Tests, Updated UI Lib version. * PSS-132: Create pair * PSS-132: Fixes for select token * PSS-132: Fix title style * PSS-132: UPdate snaphots * PSS-132: Fix shadow * PSS-132: Fix variable style using * Swap Interface Confirmation Screens (#8) * Added Transaction Submit dialog. * Swap Interface: Moved some variables to store for better relations between different screens and dialogs. * Confirm Swap Dialog: Fixed dialog opening, added confirmation flag to the store. * Added token default logo image, refactored translation call for liquidity. * Added SelectToken dialog on click. * PSS-126: Confirm supply modal * Confirmation screens for create pair * Design fixes * Update ui lib * PSS-126: Logo component * Update tests * Wallet integration and styles issues (#10) * Wallet integration * Fix routing issues * Update UI library version * Refactor all styles * Fix wallet connected state * Update tests * Update test * Update Dockerfile (#12) * PSS-129: Add and remove liquidity page * Design fixes * Token logo check fixes * Refactoring and fixes * Add pair token logo for add liquidity * Settings implementation (#15) * Add settings dialog * Add tests * Update tests * Fix titles for info card * Pool Interface Start Screens (#11) * Pool Interface: Added Start Screen. * Refactored components due to UI Lib updates: set size and border-radius of elements. * Created Dialog wrapper component, refactored dialogs, added fixed top position, fixed close behaviour. * Refactored components imports. * Converted logo icon to link to the home page. * Fixed error in console for Create pair component. * Added Back link behaviour for several components. * Updated unit tests. * PSS-172: Dynamic Page Title (#14) * Added dynamic page title. * PSS-128: Add confirmation screens for pool (#16) * PSS-128: Add confirmation screens for pool Co-authored-by: alexnatalia * Mocks for pool screen * Refactoring * Update tests * Add liquidity button for pairs * Design Fixes and Refactoring (#17) * Refactored TokenLogo and PairTokenLogo components, fixed some bugs, updated unit tests. Refactored components headers. * Added Popper class for info tooltips. Fixed default prop value for Object types. Updated Unit tests. * Design Issues Fix (#19) * Updated configuration variables and Exchange tabs styles. * Updated About page images and styles, Header styles and Menu colors settings. Hid unused links and buttons in header. * Updeted typography variables and Font Styles: Updated Font Size, Line Height and Font Weight Configuration. * Updated Create Pair button styles. Updated Ui Lib version. * Fixed tokens icons for Pool screen. * Updated tooltips to one consistent style. Fixed Pool screen bug. * Refactored: Created special component for Generic Header. Fixed Back icon. * Updated some fonts and Pool screen styles. * Added Empty icon for Select token popup. * Added First Liquidity Provider message to Create a Pair screen. * Hid tooltip for Slider element on Settings screen, hid tooltips for Swap Confirmation. * Updated unit tests. * PSS-205: Remove liquidity: everything should be clickable and with recalculation * Update tests * Fix set remove part to 0 * Inpur for remove part * Fixes * Price container fixes * Update tests * PS-223: Fix remove liquidity in safari * PSS-205: Design Review Issues (#21) * Fixed titles case. Updated buttons with text and icons. Updated typography styles. * Update wallet version & add blockchain integration (#23) * Update wallet version & add blockchain integration * Commented out unit tests. Co-authored-by: alexnatalia * PSS-123: Select token integration * Fix async behavior for dexApi (#25) * Fix async behavior for dexApi * Update .eslintrc.js * PSS-247: Custom Slippage Tolerance Fix (#27) * Updated STab styles. * Updated UI Lib and Wallet versions and styles according to UI Lib fixes. * PSS-129: Add liquiditiy integration * PSS-74 Swap Interface Integration (#26) * Hid swap info for not connected wallet. * Updated SelectToken search by name, added check for translation existance. * Added Swap Integration. * Refactored formatNumber calls. * Hid swap info under buttons for zero amount. * Fixed Header Menu colors. * Fixed swap from Wallet assets. * Updated tooltips. * Updated About page text and Main menu links order. * Fixed Card title color for About page. * Updated Default token setting. * Updated Wallet version. * Hid Transaction Deadline area for Settings. * Removed unneeded tooltip from Settings dialog. * Added validation for Settings. * Added validation for Insufficient Amount error from server. * Added loading while not conencted, changed store to not strict mode, updated tokens setting in store. * Fixed focused behaviour for Swap input fields. * Fix wallet connection & select token behavior * Fixed Min Received format. Co-authored-by: Stefan Popov * Swap result calculation for non connected mode (#28) * Fixed Swap result calculation for non connected mode. * Fixed About page text and styles. * Fix i18n (#30) * Updated Swap input width and Max swap behaviour. Updated Swap Info styles. (#29) * PSS-271: Medium and GitHub links (#31) * Added Github and Medium links for About page. * Upated the Wallet version. * Fixed wallet button color on hover. * Calculate total suply * PSS-216: Design Issues Fixing (#32) * Updated content primary color. * Fixed Price and Token areas horizontal alignment. * Updated tooltips. * Updated Generic Header tooltip. * Updated Token item height for Select Token dialog. * Added Token icons. * Updated token icons names. * PSS-129: Create pair integration * Remove mocks * Refactoring * Add network fee calculation * Fixes * PSS-281: Recalculate Input Values On Select Token (#33) * Added util method to check isNumber value. Removed Max button from token To area. * Added Max sold for reversed swap. * Updated Swap Integration. * Updated UI Lib version. * Added recalc on Select Token. * Fixed Swap for Polkadot.js * Updated isExchangeB param in methods. * Hid Node Address area for Settings popup. * Added Network Fee field to Swap component. * Updated Custom slippage tolerance for Settings. * Fixed paste string value to Swap fields. * Updated Network Fee calls, updated Wallet version, fixed swap tokens balance. * Added isExchangeB parameter to swap call. * Refactoring * fix total supply * PSS-129: Share of pool * Remove share of pool mock * Fix get asset symbol * Hide add liquidity Fix slippage tolerance for add liquidity Fix share of pool Fix unsupprted assets error message * Disable max button for add liquidity Reset values after change tokens * Fixes * Updated Tokens Icons, added PAL icon. (#35) * Wallet connection issues (#38) * Fix wallet connection issues * Fix styles * Update wallet version * Update favicon.ico * PSS-297: check fee on max amount * PSS-295: Added Insufficient Balance Checking (#37) * Added Insufficient balance checking. * Updated FPNumber parameters. * Removed formatNumber usage from Swap screens. * Fixed focus and placeholders values for Swap. * Updated some styles for huge number values. * Refactored due to PR comments. * Result Dialog Styles Fix (#41) * Fixed Result Dialog button styles. * Renamed USD icon. * Update library * Fix swap, liquidity behavior * Update index.ts * TODO: Revert this commit after PSS-309 * Updated wallet version. Co-authored-by: Stefan Popov * PSS-273: WEB UI: Connect Wallet - Close button leads always on Exchange page, not to the previous page (#42) * Fix routing issue * Update wallet version * PSS-295: Confirm Swap Insufficient Balance Checking (#43) * Fixed console error on tokens switch. * Added Is Insufficient Balance checking for Confirm Swap dialog. * Updated Confirm Swap styles. * Updated Swap info after Swap, added max button to init screen. (#44) * Update ui library version (#46) * Update ui library version * Update wallet * BP-312: Fixes for pool * Fix icons position (#47) * Fix icons position * Fix logo * PSS-287: Swap Amount Fields Formatting (#45) * Added Swap fields formatter. * Fixed Slippage Tolerance editing and Swap fields formatting. * Updated wallet version. * Change toString to toFixed * Change formatNumber to toFixed * Fix remove liquidity price * Move back toFixed to toString * Fixed estimated label existence for zero values (#50) * Refactored, added some comments, fixed estimated label existence for zero values. * Modify env config file (#49) Co-authored-by: Bulat Saifullin * Add custom notifications & notification tracking service (#51) * Add custom notifications & notification tracking service * Update notifications & strings according to latest changes * Update api * Update soramitsu-variables.scss * PSS-335: Designer Feedback Fixes FE (#53) * Fixed functionality and layout bugs. * Added draft component to fix layout behaviour. * Fixed Settings behaviour. * Swap: removed Result dialog, edited Network Fee tooltip. * Fixed translation bugs. * Account info implementation & fix loading state (#54) * Add account info * Fix styles * Hide test assets (#55) * Update connection * Remove usdt mock * Add liquidity issues & update notifications (#56) * Add missing notifications * Update RemoveLiquidity * Fix add liquidity screen * Add async loading of liquidity * Fix pool issues * Updated not connected pool interface message. (#60) * PSS-300: Swap confirmation dialog message update (#61) * Updated Swap confirmation dialog message. * Confirm Swap Dialog: Updated message for max sold behaviour. * Swap screen: Fixed Min Received/Max Sold area asset symbol. (#62) * PSS-379: WEB UI. Add liquidity. Click MAX button on 0 balance of XOR (#59) * Updated wallet version. Swap, Add Liquidity, Create Pair components: Updated Max button availability, refactored. * Refactored due to PR comments. * Swap, Add Liquidity: Fixed negative amount after max. Updated wallet version. * Create pair implementation & fix liquidity issues (#63) * Add create pair implementation & fix logic for add liquidity * PSS-297: WEB UI: Restrict Adding liquidity if balance is insufficient (#64) * Add Liquidity: Refactored Insufficient Balance. * Create Pair, Remove Liquidity: Updated Max functionality. * Add insufficient liquidity message for swap (#66) * link @soramitsu/soraneo-wallet-web 0.4.6 * return network address * use wallet routes in app.vue to correctly handle wallet icon click * set changePage method as private * removed local model for inputs: createPairModel * refactoring CreatePair methods * add input maxlength check * fix inputMaxLength method * improve formatNumberField method * refactoring inputMaxLength method * refactoring AddLiquidity view * create TokenPair mixin * wip refactoring * add maxlength to removeLiquidity view inputs * create TokenInputMixin * add input handlers on removeLiquidity view * handle swap inputs * return commented line * PSS-400: WEB UI. Minimum receive/Maximum sold token not changed (#69) * Fixed min received/max sold symbol. * Update wallet & api version (#70) * fixes after review * add store state interfaces * PSS-467: On the swap screen user should be able to select all tokens excecpt pool tokens (#71) * Update wallet & api version * Fix swap with assets created by user * Update wallet & api version * add watcher for slippageTolerance in Swap.vue * remove console lgos * use state types in store mutations & getters * apply transaction mixin changes from wallet * update @soramitsu/soraneo-wallet-web dependency * navigate to wallet connection view on wallet click (#75) * PSS-419: restrict precision in inputs (#74) * add TokenInput component * use TokenInput in Swap.vue * add ConfirmDialogMixin * prepare to refactoring modals * remove comments * remove unneccessary actions * add TODO comments * fix TokenInput handler * link js-ui-library with input fix * PSS-398: WEB UI. Multiple click on Confirm - create multiple transactions. (#76) * Fix multiple confirm for operations * Fix notifications view * Update env.json * PSS-364: reuse s-float-input component (#77) * prepare TokenInput component for export * use s-float-input instead of TokenInput * refactoring Settings component * refactoring RemoveLiquidity * Update wallet (#79) * SFloatInput Fixes (#82) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * PSS-378: WEB UI. Remove liquidity. Troubles with entering of amount manually (#83) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * Remove liquidity: fixed fields editing and insufficient balance calculation. * Remove Liquidity: Fixed editing behaviour. * Updated due to PR comments. * PSS-486: reset vuex values after transaction (#81) * PSS-351: Show balance in select token dialog (#84) * wip assetList * fixes in swap * fix types * remove unused imports * Refactoring Modals: add ConfirmTokenPairDialog component (#78) * add ConfirmTokenPairDialog component * add modal props fix and throw error on create pair failure * fix openSelectTokenDialog method in Swap.vue(#86) * PSS-350: Add clear button to select token search input (#85) * add clear button * refactoring mixin * remove global style in SelectToken * use global style for input button * Update wallet (#87) * Update wallet * Change s-form-item to div in SelectToken dialog (#88) * remove s-form-item * change wrapper classname * Refactoring swap view (#89) * wip * remove formModel * add reset fields method * wip swap values * refactoring minMaxRecieved calls * wip refactoring * use exchangeB as source of truth * use isExchangeB instead of activeField * disable switch during values calculation * recounting check * use promise all for parallel calculation * update ui library * discarding env.json * fixes after revie * Hide balance in SelectToken dialog, if wallet not connected (#91) * Add license (#92) * PSS-248 Web UI: Settings - Problems with input in Custom field (#90) * allow type any value * fix error * add local model * PSS-418: Precision management (#93) * Create NumberFormatterMixin.ts * Improve precision management for pool * Improve precision management for swap operation * Improve precision management for select token dialog * Update AddLiquidity.vue * Improve precision management for remove liquidity operation * Update todo sections * Fix issues * Update wallet & api versions * Add balance updates * Add zero string const * update wallet (#94) * PSS-351 Select Token fixes (#95) * select-token fixes * show 0 balance as - * PSS-516: WEB UI. Can go to remove liquidity page without liquidity on account (#96) * Added Page Not Found Draft. * Fixed Add and Remove Liquidity router bags, hid some screens for unauthorized access. Added redirect to exchange for Page Not Found error. * Disabled selects for existed liquidity addition. * Update Swap.vue (#99) * Add namespace & types for swap (#101) * Fix price and swap info (#104) * Fix price calculations * Update SwapInfo.vue * Update wallet & api (#105) * Fix swap links (#106) * Fix swap links * Update wallet * Update api (#111) * up wallet version (#112) * Updated wallet version to 0.6.3 (#113) * Updated wallet version to 0.6.4. (#114) * Polkaswap layout redesign (#98) (#102) * Polkaswap layout redesign (#98) * pss-498 header redesign * wip pss-496 * style fixes * add HelpDialog component * reexport package.json * exchange routing fix * add Rewards stub with coming soon text * refactoring SidebarItemContent * refactoring styles * add FAUCET_URL to env.json * fixes after review * fix sidebar item hover css * fix disabled item css * Move bridge functionality (#103) * pss-498 header redesign * wip pss-496 * style fixes * add HelpDialog component * reexport package.json * exchange routing fix * add Rewards stub with coming soon text * refactoring SidebarItemContent * refactoring styles * add FAUCET_URL to env.json * fixes after review * Move bridge functionality Co-authored-by: Nikita-Polyakov * Update wallet & api * PSS-524: Bridge (#107) * pss-498 header redesign * wip pss-496 * style fixes * add HelpDialog component * reexport package.json * exchange routing fix * add Rewards stub with coming soon text * refactoring SidebarItemContent * refactoring styles * add FAUCET_URL to env.json * fixes after review * Move bridge functionality * Bridge: Updated unauthorized routes. * Updated Generic Page Header, updated Bridge screens. * Fixed token icons. * Bridge: Updated styles. * Updated tooltips. * Removed unused token images. * Refactored due to PR comments. Co-authored-by: Nikita-Polyakov Co-authored-by: Stefan Popov * Fix/pss 539 metamsk lock issue (#108) * improve subscribers * add check account is connected * Fix/balance flickering (#109) * wip update balance flow * refactoring views and store modules * remove unused code * fixes after review * Update yarn.lock * Updated wallet version. * Updated wallet version to 0.6.4. * Updated wallet version to 0.6.5. * PSS-540: Add Pending Transactions to Bridge History (#115) * pss-498 header redesign * wip pss-496 * style fixes * add HelpDialog component * reexport package.json * exchange routing fix * add Rewards stub with coming soon text * refactoring SidebarItemContent * refactoring styles * add FAUCET_URL to env.json * fixes after review * Move bridge functionality * Bridge: Updated unauthorized routes. * Updated Generic Page Header, updated Bridge screens. * Fixed token icons. * Bridge: Updated styles. * Updated tooltips. * Removed btc icon. * Updated due to PR comments. * Updated due to PR comments. * Reverted formatAddress changes. * Added pending state. * Updated wallet version. * Fix bridge functionality Co-authored-by: Nikita-Polyakov Co-authored-by: Stefan Popov Co-authored-by: Alex Natalia * Select dialog updates (#118) * Modify select dialog * Remove all symbol dependencies * PSS-502: Swap And Pool Redesign (#117) * Separated Swap and Pool. * Changed assets filter from symbol to address. * Updated wallet version to 0.7.1. * Fixed assets addresses behaviour for bridge. * Reverted previous version of the wallet, fixed some places due to PR comments. Co-authored-by: Alex Natalia * Update styles and icons (#119) * Fix styles and icons * Update BrandedTooltip.vue * Update wallet & ui library versions * Update LICENSE * Update package.json * Fix issues Co-authored-by: Stefan Popov Co-authored-by: Alex Natalia <38787212+alexnatalia@users.noreply.github.com> Co-authored-by: Alex Natalia * Redesign Updates (#120) * Refactored buttons styles, changed some translation to common one. * Updated tooltips, screens info area. * Updated info blocks. * Updated info blocks in confirmation and pool screens. * Combined input area styles. * Update About.vue * GenericPageHeader: Changed default prop of tooltip placement. Signed-off-by: alexnatalia Co-authored-by: Stefan Popov * update wallet to 0.7.4 (#121) * remove getAssets from select-token dialog (#123) * PSS-573 WEB UI. MAX button for bridge work incorrect. (#124) * fix calc max value * remove console.log * update wallet 0.7.7 & hide farming in menu * refactoring (#122) * Fix issues (#125) * Remove default values from props * Fix issues Co-authored-by: alexnatalia Co-authored-by: Aleksandr Makhnev Co-authored-by: Bulat Saifullin Co-authored-by: Alex Natalia <38787212+alexnatalia@users.noreply.github.com> Co-authored-by: Dmitriy Creed Co-authored-by: alexnatalia Co-authored-by: Nikita Polyakov Co-authored-by: Nikita-Polyakov Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> Co-authored-by: Alex Natalia * Release 0.1.5 (#158) * Release 0.1.5 (#161) * Release 0.1.6 (#170) * Release 0.1.6 (#174) * Release 0.1.7 (#190) * Release 0.1.8 (#200) * Release 0.1.9 (#206) * Release 1.0.0 (#208) * Update styles * Update wallet * Fix wait message for bridge eth->sora flow * Fix page amount for bridge * Fix bridge icons * Fix swap checks for XOR output without XOR or with XOR balance < network fee * Release 1.0.0 (#212) * Release 1.0.0 (#215) * Release 1.0.0 (#219) * Release 1.0.1 (#226) * Release 1.0.2 (#234) * Release 1.1.0 (#244) * PSS-281: Recalculate Input Values On Select Token (#33) * Added util method to check isNumber value. Removed Max button from token To area. * Added Max sold for reversed swap. * Updated Swap Integration. * Updated UI Lib version. * Added recalc on Select Token. * Fixed Swap for Polkadot.js * Updated isExchangeB param in methods. * Hid Node Address area for Settings popup. * Added Network Fee field to Swap component. * Updated Custom slippage tolerance for Settings. * Fixed paste string value to Swap fields. * Updated Network Fee calls, updated Wallet version, fixed swap tokens balance. * Added isExchangeB parameter to swap call. * Refactoring * fix total supply * PSS-129: Share of pool * Remove share of pool mock * Fix get asset symbol * Hide add liquidity Fix slippage tolerance for add liquidity Fix share of pool Fix unsupprted assets error message * Disable max button for add liquidity Reset values after change tokens * Fixes * Updated Tokens Icons, added PAL icon. (#35) * Wallet connection issues (#38) * Fix wallet connection issues * Fix styles * Update wallet version * Update favicon.ico * PSS-297: check fee on max amount * PSS-295: Added Insufficient Balance Checking (#37) * Added Insufficient balance checking. * Updated FPNumber parameters. * Removed formatNumber usage from Swap screens. * Fixed focus and placeholders values for Swap. * Updated some styles for huge number values. * Refactored due to PR comments. * Result Dialog Styles Fix (#41) * Fixed Result Dialog button styles. * Renamed USD icon. * Update library * Fix swap, liquidity behavior * Update index.ts * TODO: Revert this commit after PSS-309 * Updated wallet version. Co-authored-by: Stefan Popov * PSS-273: WEB UI: Connect Wallet - Close button leads always on Exchange page, not to the previous page (#42) * Fix routing issue * Update wallet version * PSS-295: Confirm Swap Insufficient Balance Checking (#43) * Fixed console error on tokens switch. * Added Is Insufficient Balance checking for Confirm Swap dialog. * Updated Confirm Swap styles. * Updated Swap info after Swap, added max button to init screen. (#44) * Update ui library version (#46) * Update ui library version * Update wallet * BP-312: Fixes for pool * Fix icons position (#47) * Fix icons position * Fix logo * PSS-287: Swap Amount Fields Formatting (#45) * Added Swap fields formatter. * Fixed Slippage Tolerance editing and Swap fields formatting. * Updated wallet version. * Change toString to toFixed * Change formatNumber to toFixed * Fix remove liquidity price * Move back toFixed to toString * Fixed estimated label existence for zero values (#50) * Refactored, added some comments, fixed estimated label existence for zero values. * Modify env config file (#49) Co-authored-by: Bulat Saifullin * Add custom notifications & notification tracking service (#51) * Add custom notifications & notification tracking service * Update notifications & strings according to latest changes * Update api * Update soramitsu-variables.scss * PSS-335: Designer Feedback Fixes FE (#53) * Fixed functionality and layout bugs. * Added draft component to fix layout behaviour. * Fixed Settings behaviour. * Swap: removed Result dialog, edited Network Fee tooltip. * Fixed translation bugs. * Account info implementation & fix loading state (#54) * Add account info * Fix styles * Hide test assets (#55) * Update connection * Remove usdt mock * Add liquidity issues & update notifications (#56) * Add missing notifications * Update RemoveLiquidity * Fix add liquidity screen * Add async loading of liquidity * Fix pool issues * Updated not connected pool interface message. (#60) * PSS-300: Swap confirmation dialog message update (#61) * Updated Swap confirmation dialog message. * Confirm Swap Dialog: Updated message for max sold behaviour. * Swap screen: Fixed Min Received/Max Sold area asset symbol. (#62) * PSS-379: WEB UI. Add liquidity. Click MAX button on 0 balance of XOR (#59) * Updated wallet version. Swap, Add Liquidity, Create Pair components: Updated Max button availability, refactored. * Refactored due to PR comments. * Swap, Add Liquidity: Fixed negative amount after max. Updated wallet version. * Create pair implementation & fix liquidity issues (#63) * Add create pair implementation & fix logic for add liquidity * PSS-297: WEB UI: Restrict Adding liquidity if balance is insufficient (#64) * Add Liquidity: Refactored Insufficient Balance. * Create Pair, Remove Liquidity: Updated Max functionality. * Add insufficient liquidity message for swap (#66) * link @soramitsu/soraneo-wallet-web 0.4.6 * return network address * use wallet routes in app.vue to correctly handle wallet icon click * set changePage method as private * removed local model for inputs: createPairModel * refactoring CreatePair methods * add input maxlength check * fix inputMaxLength method * improve formatNumberField method * refactoring inputMaxLength method * refactoring AddLiquidity view * create TokenPair mixin * wip refactoring * add maxlength to removeLiquidity view inputs * create TokenInputMixin * add input handlers on removeLiquidity view * handle swap inputs * return commented line * PSS-400: WEB UI. Minimum receive/Maximum sold token not changed (#69) * Fixed min received/max sold symbol. * Update wallet & api version (#70) * fixes after review * add store state interfaces * PSS-467: On the swap screen user should be able to select all tokens excecpt pool tokens (#71) * Update wallet & api version * Fix swap with assets created by user * Update wallet & api version * add watcher for slippageTolerance in Swap.vue * remove console lgos * use state types in store mutations & getters * apply transaction mixin changes from wallet * update @soramitsu/soraneo-wallet-web dependency * navigate to wallet connection view on wallet click (#75) * PSS-419: restrict precision in inputs (#74) * add TokenInput component * use TokenInput in Swap.vue * add ConfirmDialogMixin * prepare to refactoring modals * remove comments * remove unneccessary actions * add TODO comments * fix TokenInput handler * link js-ui-library with input fix * PSS-398: WEB UI. Multiple click on Confirm - create multiple transactions. (#76) * Fix multiple confirm for operations * Fix notifications view * Update env.json * PSS-364: reuse s-float-input component (#77) * prepare TokenInput component for export * use s-float-input instead of TokenInput * refactoring Settings component * refactoring RemoveLiquidity * Update wallet (#79) * SFloatInput Fixes (#82) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * PSS-378: WEB UI. Remove liquidity. Troubles with entering of amount manually (#83) * Reseted values and tokens for Add Liquidity and Create Pair components, added placeholders for all SFloatInput elements. * Remove liquidity: fixed fields editing and insufficient balance calculation. * Remove Liquidity: Fixed editing behaviour. * Updated due to PR comments. * PSS-486: reset vuex values after transaction (#81) * PSS-351: Show balance in select token dialog (#84) * wip assetList * fixes in swap * fix types * remove unused imports * Refactoring Modals: add ConfirmTokenPairDialog component (#78) * add ConfirmTokenPairDialog component * add modal props fix and throw error on create pair failure * fix openSelectTokenDialog method in Swap.vue(#86) * PSS-350: Add clear button to select token search input (#85) * add clear button * refactoring mixin * remove global style in SelectToken * use global style for input button * Update wallet (#87) * Update wallet * Change s-form-item to div in SelectToken dialog (#88) * remove s-form-item * change wrapper classname * Refactoring swap view (#89) * wip * remove formModel * add reset fields method * wip swap values * refactoring minMaxRecieved calls * wip refactoring * use exchangeB as source of truth * use isExchangeB instead of activeField * disable switch during values calculation * recounting check * use promise all for parallel calculation * update ui library * discarding env.json * fixes after revie * Hide balance in SelectToken dialog, if wallet not connected (#91) * Add license (#92) * PSS-248 Web UI: Settings - Problems with input in Custom field (#90) * allow type any value * fix error * add local model * PSS-418: Precision management (#93) * Create NumberFormatterMixin.ts * Improve precision management for pool * Improve precision management for swap operation * Improve precision management for select token dialog * Update AddLiquidity.vue * Improve precision management for remove liquidity operation * Update todo sections * Fix issues * Update wallet & api versions * Add balance updates * Add zero string const * update wallet (#94) * PSS-351 Select Token fixes (#95) * select-token fixes * show 0 balance as - * PSS-516: WEB UI. Can go to remove liquidity page without liquidity on account (#96) * Added Page Not Found Draft. * Fixed Add and Remove Liquidity router bags, hid some screens for unauthorized access. Added redirect to exchange for Page Not Found error. * Disabled selects for existed liquidity addition. * Update Swap.vue (#99) * Add namespace & types for swap (#101) * Fix price and swap info (#104) * Fix price calculations * Update SwapInfo.vue * Update wallet & api (#105) * Fix swap links (#106) * Fix swap links * Update wallet * Update api (#111) * up wallet version (#112) * Updated wallet version to 0.6.3 (#113) * Updated wallet version to 0.6.4. (#114) * Polkaswap layout redesign (#98) (#102) * Polkaswap layout redesign (#98) * pss-498 header… * Ceres fiat option (#1212) * prepare code * update wallet to 1.25.0 * update types * Update Jenkinsfile * Update Jenkinsfile * Fix circulating supply for VAL & PSWAP on prod env (#1215) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * [WIP] WalletConnect support (#1195) * update libs * refactoring evm provider connect * connect through walletconnect * add WallletConnect icon * add SelectProvider simple modal * refactoring namings * update wallet * update registered assets logic * update broken assets * add logout wallet button * remove metamask hardcoded translations * remove metamask from messages & mixin * improve eth bridge actions * add provider dialog to another pages * add provider icon to connect wallet panel * add disconnect btn * update SelectProvider dialog * update Rewards page * remove duplicated translation keys * fix connect wallet butoon loading state * fix provider select * remove duplicated translations * update translations * update broken translations * add alt attrs to img * deduplicate yarn.lock * update core-js * fix confirm transaction translation * fix change provider * fix selectEvmprovider * add trust wallet for select * check walletconnect availability * refactoring * handle disconnect corner cases * prepare for hashi bridge before walletconnect * disable chart btn while chart is loading * remove console.log --------- Co-authored-by: Vladimir Shelkovnikov <99356504+C4tWithShell@users.noreply.github.com> * update wallet to 1.25.1 (#1216) * update wallet to 1.25.1 * fix formatted-amount balance * revert env.json * Add crowdloan banner (#1217) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Update Payment.vue (#1220) * Update Payment.vue * fix * Update Payment.vue * Fix x1 enable/disable option * Update Payment.vue --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Update KycView.vue (#1224) * Update KycView.vue * add method to mixin * move * Update subquery request for Tokens page (#1201) * update subquery request for Tokens page * update subsquid request for Tokens page * improve asset entity type * update wallet * [Bridge] Add max prefix to external network fee (#1227) * add max prefix to network fee * change translation to const * Sora staking implementation * [Bridge] Enable WalletConnect (#1228) * enable wallet connect * add SubWallet * improve ethereum wallet error handler * [Bridge] UI improvements (#1222) * show account name instead of address * update select network modal * change bridge title to Hashi * add AccountPanel component * add address * enable wallet connect * add SubWallet * improve ethereum wallet error handler * update account panel * remove loading state from connect button * improve SelectProvider loading state * remove duplicated code * Fixes * Fixes * add sora parachain for network selection * prepare connector for refactoring * refactoring SubNetworksConnector * wip outgoing reducer * fix network fee * parachain tx tracking * refactoring connector * add sora parachain icon example * add scrollbar to networks list * sora parachain history restoration * small fixes * sonar refactoring * update short names * improve sub bridge history restoration * restore refunded transactions * improve history restoration parachain part * [fix] clean history only for selected network * revert env.json * refactoring history restoration * update wallet 1.26.3 * up version * set detectEthereumProvider arg mustBeMetaMask to true * Fixes * Bond and nominate in one action * Fix keys * SORA parachain bridge (#1231) * add sora parachain for network selection * prepare connector for refactoring * refactoring SubNetworksConnector * wip outgoing reducer * fix network fee * parachain tx tracking * refactoring connector * add sora parachain icon example * add scrollbar to networks list * sora parachain history restoration * small fixes * sonar refactoring * update short names * improve sub bridge history restoration * restore refunded transactions * improve history restoration parachain part * [fix] clean history only for selected network * revert env.json * refactoring history restoration * update wallet 1.26.3 * up version * set detectEthereumProvider arg mustBeMetaMask to true * review update * Show swap distribution (#1191) * add Distribution component * update distribution * update distribution component * path line style * popover position * distribution fiat difference * update markup * fix css with small screen width * Fix bridge issues (#1232) * restore history for relaychain & sora parachain in one flow * refactoring sub history restoration * fix transfer min & max amounts * update add token button * dont remove walletconnect session after provider change * fix evm address check * fix loLowerCase check * Whitelist usage rationalization (#1234) * refactoring whitelist usage; fix explore demeter colums * add DataRowSkeleton component * fix price alert price change * Fixes * SORA parachain bridge (#1231) * add sora parachain for network selection * prepare connector for refactoring * refactoring SubNetworksConnector * wip outgoing reducer * fix network fee * parachain tx tracking * refactoring connector * add sora parachain icon example * add scrollbar to networks list * sora parachain history restoration * small fixes * sonar refactoring * update short names * improve sub bridge history restoration * restore refunded transactions * improve history restoration parachain part * [fix] clean history only for selected network * revert env.json * refactoring history restoration * update wallet 1.26.3 * up version * set detectEthereumProvider arg mustBeMetaMask to true * review update * Show swap distribution (#1191) * add Distribution component * update distribution * update distribution component * path line style * popover position * distribution fiat difference * update markup * fix css with small screen width * Fix bridge issues (#1232) * restore history for relaychain & sora parachain in one flow * refactoring sub history restoration * fix transfer min & max amounts * update add token button * dont remove walletconnect session after provider change * fix evm address check * fix loLowerCase check * Whitelist usage rationalization (#1234) * refactoring whitelist usage; fix explore demeter colums * add DataRowSkeleton component * fix price alert price change * tokens page fallback & wallet 1.26.5 (#1238) * fix prices precision on chart (#1240) * Fix chart Y axis for assets with very low price (#1241) * set mix & max for y axis * add hideOverlap for y axis * Fix release 1.26.0 issues (#1239) * iOS dirty hack * Recenter alert dialog + fix menu + price autofocus * Re-center select node dialog and fix header styles * Fix styles * Fix issues based on test env PR * Fix About reactivity * Fix iOS double click issues * Add auto focus for editable/new nodes from select node dialog * Increase alerts limit * Upd wallet version * Update zh_CN.json * Update zh_CN.json * Update AlertList.vue --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> * Bridge sub account & token autoselects (#1242) * update chart precision * bridge token autoselect * autoselect sub account address * transfer token-select-button styles from mixin * add object.freeze --------- Co-authored-by: Stefan Popov * fix bridge max value precision (#1244) * Fix bridge fees issues (#1246) * update soraNetworkFee always * check xcm fee in max button * Some fixes * Chart, Bridge, Wallet, ADAR fixes (#1247) * update SubNetwork usage * disable bridge switch btn on loading state, calc type chart limits * update wallet 1.27.0 * remove resolutions * Update ValidatorsDialog.vue * Fix * Xor commission fix * Add vote on survey and new banner (#1251) * Add new banner * Add vote on survey & move SORA mobile link * Add survey image --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Fixes * Fixes * Fixes * Translation fix * Editable fiat amount in input (#1250) * use token-input in bridge, remove outdates styles * add fiat input * improve fiat value calculations * fiat input fixes * Fix colors * Fix * Fixes * Fixes * Fix * Remove imports * fix chart current price (#1256) * refactoring * remove lib from resolutions * fix retry button visibility (#1254) * fix retry button visibility * Update package.json * return 1.27.0 version --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Sidebar hide button (#1249) * add collapse button to sidebar * add tooltip to icon * sidebar hover effect * update translations * update menu css * update wallet * Improve Eth bridge fees calculation (#1257) * fix retry button visibility * refactoring sign methods * calc incoming fee * transfer method to eth bridge utils * update BridgeInitMixin * add fallback calculation * update amount to calculate fee * fix sonar issues * Fix rewards destination * Fixes * Fixes * Revert env.json * Fixes * Remove tooltip * Translation fix * Remove utils * Rename function * Fix translation file * Remove all rewards info * Fix styles * Staking badge click (#1258) * Validators search input fix (#1262) * Staking badge click * Validators search input fix * Fix release issues 1.27 (#1261) * Make mx button hidden when hide balances is enabled * Fix issues --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Refactor staking (#1263) * Refactor * Fix validators list style * Fix commission format * Fix change validators disable * Fix styles * Fixes * Use stakingStakers * Fix staking lang keys * Update json files * Update messages.ts * Add comments * Update zh_CN.json * Update env.json --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: RDMStreet * Add staking routing in menu (#1265) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Correct staking balance formatting (#1267) * Correct staking balance formatting * Remove unused import * Add 6M filter for stats page (#1270) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Add sora card maintenance page (#1269) (#1271) * Add maintenance page for SORA Card * Hide crowdloan ad --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Improve zh_CN keys (#1272) * Fix zh_CN keys * Update package.json --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Update dojoProductType * [Bridge] Add Polkadot bridge support (#1277) * add polkadot consts usage * update config & icon * set network fee 0.02 DOT * subquery endpoint as in master * fix ui issue with sora hash for incomng tx * add polkadot xcm fee * update polkadot network fee * soraCard:false * [BRIDGE] check for asset valid address on bridge contract (#1283) * check for asset valid address on bridge contract * remove console.log * Prepare prod config (#1285) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * fix ss58 check (#1289) * set kusama incoming xcm fee 0.01KSM (#1290) * set kusama incoming xcm fee 0.01KSM * Update package.json --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * order book (#1089) * prework * prework * book list * prework for table popover * establish vuex store * write basic logic * create order history widget * add tables * start book widget * Update BookWidget.vue * make market widget * resolve conflicts * Update OrderBook.vue * embed charts * make api working * style table * filter books * make filters to amount and price * remove debug info * Update BuySell.vue * fix price constraints * Update Jenkinsfile * make aggregation * Update Jenkinsfile * add checks * make update * update * make sell market order * Update OpenOrders.vue * add change * fix * add market order, spread checks, confirm dialog * add confirm cancel dialog * fix dark mode * improve dark mode * hide native scrolls * add tooltips & improve UX * improve responsive * improve ux * fixes * improve mobile, tablet, desktop responsibility * fix market order * fix input/output * fix * fix errors * make huge screen usable * add missing data * Update OpenOrders.vue * add translations * upgrade lib & add translations * forbid cancelling when book is stopped * dynamic fee * enable market trades widget * hide market trades * fixes * allow whole row click * add pagination * Order book indexer requests (#1223) * wip queries * account orders request * add order book subscription * refactoring deals * update types & subscription * add orders table data & subscription to order book updates * fix order query * fix all orders table * add order books stats to popover * update stats on popover opening * add deals to market trades * fix deals * refactoring subscriptions & data architecture * add userLimitOrders type * update wallet * add last deal price * format buySell price * update table amount * order table component * fix filled * refactoring order table & mixins * add scaler * allow whitelist only * update orders request * fix cancel * fix ui issues * fix wallet version 1.26.2 * fix orders sort * fix column * improve adaptive ui * implement steps * Update OrderTable.vue * fix wiping out * fix * add checks * hide debug info * hide native scrollbar * improve adaptive design * up version * remove mixin * fix * Update index.ts * Update BookWidget.vue * fix not updating book issue * make small adjustments * align values * align book values * fixes * Update BookWidget.vue * fix input wiping out * round up styles * fixes * fixes * add margins * Update OrderBook.vue * Update package.json * fix assetsDataTable * fix scrollbar in orders table * Order book price chart (#1237) * transfer asset price query from wallet * add order book data to chart * prepare subscription * set chart subscription * fix sorting bug * fix max button fills wrong value * Update BuySell.vue * fix precision * Update BuySell.vue * warn user when error in input & aggregation logic * fill price when click on book * Update BuySell.vue * fixes * add feature flag & refactoring * hide expiry date for market * refactor * fix * [OrderBook] add volume chart (#1248) * add volume to dataset * add volume example * add color to bars * improve tooltip & labels localization * build spec depends on volume support * use filters from line chart * remove commented code * add typings * fix typings * Update orderBook.ts * add slider for amount * remove corridor checks * Update env.json * fix on slider * Update BuySell.vue * Update TokenInput.vue * resolve conflicts * Update _mixins.scss * inject slider * Update HistoryOrderWidget.vue * Revert "Merge branch 'develop' into feature/order-book" This reverts commit d02e1a65e7d2db20b07cd8055b2e171a61bee639, reversing changes made to 1f58ed6efe9c8d8d1cd54765382be1e5e26fc766. * fix chart * fix fee on place order * fix disappearance * Update BookWidget.vue * fix sonar issues * fix sonar * fix * fixes * fix issues * add slider focus * fix css values * move collapse logic to store * enable aggregation * trim when fiat is input * resolve conflicts * Spot limitations (#1255) * add consts * Update BuySell.vue * Update package.json * fix * add locked to transaction details * Update TransactionDetails.vue * customise prework * resolve typings * add limit for single price * Update package.json * bump --------- Co-authored-by: Vladimir Shelkovnikov <99356504+C4tWithShell@users.noreply.github.com> * Order book refactoring (#1281) * refactoring BookWidget * book widget methods refactoring * BuySell refactoring * HistoryOrderWidget refactoring --------- Co-authored-by: Rustem * fix * recalculate orders & remove possible overlap * Update BuySell.vue * Update BookWidget.vue * fix with precision * fix tab freeze when switching * fix * Update BookWidget.vue * fix langs switch * fix for input with different locales * turn card off * Update deps * Update yarn.lock * Bump version * Fix lint warnings * Blur fiat el during slider usage for TokenInput * Update AppMenu.vue * Fix icons * Update index.ts * Fix shadow * Remove unused styles * Fix lint issues * Update BookWidget.vue * Update BuySell.vue * Update CustomisePage.vue * Resolve linter issues * Add duration in days for ordertable * Improve tables * Fix styles * Remove empty DatePicker * Update HistoryOrderWidget.vue * Restrict autofill from orderbook for mkt * Update index.ts * Fix font * Remove duplicated methods from util --------- Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> Co-authored-by: Nikita-Polyakov Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: Vladimir Shelkovnikov <99356504+C4tWithShell@users.noreply.github.com> * Fix 1.29 release (#1292) * Update dot, ksm nodes * Improve SORA Card maintenance styles --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Update BuySell.vue (#1295) * Single chart filter (#1293) * prework * prework * book list * prework for table popover * establish vuex store * write basic logic * create order history widget * add tables * start book widget * Update BookWidget.vue * make market widget * resolve conflicts * Update OrderBook.vue * embed charts * make api working * style table * filter books * make filters to amount and price * remove debug info * Update BuySell.vue * fix price constraints * Update Jenkinsfile * make aggregation * Update Jenkinsfile * add checks * make update * update * make sell market order * Update OpenOrders.vue * add change * fix * add market order, spread checks, confirm dialog * add confirm cancel dialog * fix dark mode * improve dark mode * hide native scrolls * add tooltips & improve UX * improve responsive * improve ux * fixes * improve mobile, tablet, desktop responsibility * fix market order * fix input/output * fix * fix errors * make huge screen usable * add missing data * Update OpenOrders.vue * add translations * upgrade lib & add translations * forbid cancelling when book is stopped * dynamic fee * enable market trades widget * hide market trades * fixes * allow whole row click * add pagination * Order book indexer requests (#1223) * wip queries * account orders request * add order book subscription * refactoring deals * update types & subscription * add orders table data & subscription to order book updates * fix order query * fix all orders table * add order books stats to popover * update stats on popover opening * add deals to market trades * fix deals * refactoring subscriptions & data architecture * add userLimitOrders type * update wallet * add last deal price * format buySell price * update table amount * order table component * fix filled * refactoring order table & mixins * add scaler * allow whitelist only * update orders request * fix cancel * fix ui issues * fix wallet version 1.26.2 * fix orders sort * fix column * improve adaptive ui * implement steps * Update OrderTable.vue * fix wiping out * fix * add checks * hide debug info * hide native scrollbar * improve adaptive design * up version * remove mixin * fix * Update index.ts * Update BookWidget.vue * fix not updating book issue * make small adjustments * align values * align book values * fixes * Update BookWidget.vue * fix input wiping out * round up styles * fixes * fixes * add margins * Update OrderBook.vue * Update package.json * fix assetsDataTable * fix scrollbar in orders table * Order book price chart (#1237) * transfer asset price query from wallet * add order book data to chart * prepare subscription * set chart subscription * fix sorting bug * fix max button fills wrong value * Update BuySell.vue * fix precision * Update BuySell.vue * warn user when error in input & aggregation logic * fill price when click on book * Update BuySell.vue * fixes * add feature flag & refactoring * hide expiry date for market * refactor * fix * [OrderBook] add volume chart (#1248) * add volume to dataset * add volume example * add color to bars * improve tooltip & labels localization * build spec depends on volume support * use filters from line chart * remove commented code * add typings * fix typings * Update orderBook.ts * add slider for amount * remove corridor checks * Update env.json * fix on slider * Update BuySell.vue * Update TokenInput.vue * resolve conflicts * Update _mixins.scss * inject slider * Update HistoryOrderWidget.vue * Revert "Merge branch 'develop' into feature/order-book" This reverts commit d02e1a65e7d2db20b07cd8055b2e171a61bee639, reversing changes made to 1f58ed6efe9c8d8d1cd54765382be1e5e26fc766. * fix chart * fix fee on place order * fix disappearance * Update BookWidget.vue * fix sonar issues * fix sonar * fix * fixes * fix issues * add slider focus * fix css values * move collapse logic to store * enable aggregation * trim when fiat is input * resolve conflicts * Spot limitations (#1255) * add consts * Update BuySell.vue * Update package.json * fix * add locked to transaction details * Update TransactionDetails.vue * customise prework * resolve typings * add limit for single price * Update package.json * bump --------- Co-authored-by: Vladimir Shelkovnikov <99356504+C4tWithShell@users.noreply.github.com> * Order book refactoring (#1281) * refactoring BookWidget * book widget methods refactoring * BuySell refactoring * HistoryOrderWidget refactoring --------- Co-authored-by: Rustem * fix * recalculate orders & remove possible overlap * Update BuySell.vue * Update BookWidget.vue * fix with precision * fix tab freeze when switching * fix * Update BookWidget.vue * fix langs switch * fix for input with different locales * turn card off * set filters like in candle * set chart animation to false * remove merge conflicts * return default chart type * add order book queries for subsquid * change zoom after filter siwtch * reset zoom on filter tab * refactoring * update types & subsquid requests * update wallet to 1.29.1 --------- Co-authored-by: RustemYuzlibaev Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: Vladimir Shelkovnikov <99356504+C4tWithShell@users.noreply.github.com> Co-authored-by: NaghmeMohammadifar <45916098+Naghme98@users.noreply.github.com> * fix (#1296) * Feature/order book translations (#1284) * prework * prework * book list * prework for table popover * establish vuex store * write basic logic * create order history widget * add tables * start book widget * Update BookWidget.vue * make market widget * resolve conflicts * Update OrderBook.vue * embed charts * make api working * style table * filter books * make filters to amount and price * remove debug info * Update BuySell.vue * fix price constraints * Update Jenkinsfile * make aggregation * Update Jenkinsfile * add checks * make update * update * make sell market order * Update OpenOrders.vue * add change * fix * add market order, spread checks, confirm dialog * add confirm cancel dialog * fix dark mode * improve dark mode * hide native scrolls * add tooltips & improve UX * improve responsive * improve ux * fixes * improve mobile, tablet, desktop responsibility * fix market order * fix input/output * fix * fix errors * make huge screen usable * add missing data * Update OpenOrders.vue * add translations * upgrade lib & add translations * forbid cancelling when book is stopped * dynamic fee * enable market trades widget * hide market trades * fixes * allow whole row click * add pagination * Order book indexer requests (#1223) * wip queries * account orders request * add order book subscription * refactoring deals * update types & subscription * add orders table data & subscription to order book updates * fix order query * fix all orders table * add order books stats to popover * update stats on popover opening * add deals to market trades * fix deals * refactoring subscriptions & data architecture * add userLimitOrders type * update wallet * add last deal price * format buySell price * update table amount * order table component * fix filled * refactoring order table & mixins * add scaler * allow whitelist only * update orders request * fix cancel * fix ui issues * fix wallet version 1.26.2 * fix orders sort * fix column * improve adaptive ui * implement steps * Update OrderTable.vue * fix wiping out * fix * add checks * hide debug info * hide native scrollbar * improve adaptive design * up version * remove mixin * fix * Update index.ts * Update BookWidget.vue * fix not updating book issue * make small adjustments * align values * align book values * fixes * Update BookWidget.vue * fix input wiping out * round up styles * fixes * fixes * add margins * Update OrderBook.vue * Update package.json * fix assetsDataTable * fix scrollbar in orders table * Order book price chart (#1237) * transfer asset price query from wallet * add order book data to chart * prepare subscription * set chart subscription * fix sorting bug * fix max button fills wrong value * Update BuySell.vue * fix precision * Update BuySell.vue * warn user when error in input & aggregation logic * fill price when click on book * Update BuySell.vue * fixes * add feature flag & refactoring * hide expiry date for market * refactor * fix * [OrderBook] add volume chart (#1248) * add volume to dataset * add volume example * add color to bars * improve tooltip & labels localization * build spec depends on volume support * use filters from line chart * remove commented code * add typings * fix typings * Update orderBook.ts * add slider for amount * remove corridor checks * Update env.json * fix on slider * Update BuySell.vue * Update TokenInput.vue * resolve conflicts * Update _mixins.scss * inject slider * Update HistoryOrderWidget.vue * Revert "Merge branch 'develop' into feature/order-book" This reverts commit d02e1a65e7d2db20b07cd8055b2e171a61bee639, reversing changes made to 1f58ed6efe9c8d8d1cd54765382be1e5e26fc766. * fix chart * fix fee on place order * fix disappearance * Update BookWidget.vue * fix sonar issues * fix sonar * fix * fixes * fix issues * add slider focus * fix css values * move collapse logic to store * enable aggregation * trim when fiat is input * make translation prework * resolve conflicts * create translations * translations * fix merge issues * embed missing translations * add missing translations * fix * fix ru lang * add order status translations * make room for additional space * Update BuySell.vue * add descriptive message * add descriptive message for all langs * reset * cancel reset when market order --------- Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> Co-authored-by: Nikita-Polyakov Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Explore order books (#1276) * prepare explore books data * fix issues * update price column * refactoring explore page mixin * add filter to order books query * update wallet 1.28.0 * fix price formatting * pools from indexer * remove unused method * add pool tokens column * rename quoteAsset to targetAsset for search * refactoring queries * refactoring * update translation key & fix tokens page search * Fix explore books sorting (#1299) * fix computed property for table * refactoring * fix changeSort type * Fix release 1.29 (#1294) * Remove unused import * Add notification and loading for stake dialog during TX sign * Fix staking extrinsics notifications and loading states * Fix redeemable VAL -> XOR * Update package.json * Make orderbook open orders reactive & fix cancel orders selection algo * Remove unused staking methods * Fix issue with horizontal & vertical scroll * Update StakingMixin.ts * Update actions.ts * Update OpenOrders.vue * Update OrderTable.vue * Improve styles * Fix sync issues * Fix empty page issues * Fix styles * Add Intl percent formatter * Improve global html styles * Fix scrollbar * Refactor source code for PlaceOrder component * Refactor place order logic * Fix cancel orders logic and styles * Update HistoryOrderWidget.vue * Fix translations for MarketTradesWidget * Fix connect account styles * Fix styles * Remove unused prop * Move user orders subscription to history widget * Update PlaceOrder.vue * Fix issues * Update SelectedTokensRouteMixin.ts * Add dynamic routing for orderbook * Refactor types * Update OrderBook.vue * Improve routes (common states for Swap and Orderbook) * fix translations * fix mismatch on cancel * Update deps --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: RustemYuzlibaev * Fix orderbook notifications and orders history (#1300) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Fix 1.29 issues (#1303) * Remove marketing research & add transition * Update wallet * Fix the flickering collapsed menu when hovering on expand button over the status bar --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: shlavik * Update AppMenu.vue (#1304) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Fix 1.29.0 issues (#1306) * Fix menu styles * Update AppMenu.vue * Fix click on tooltip for mobile devices * Update PairListPopover.vue * Revert "Update AppMenu.vue" This reverts commit 5147d349b2f15829cd54fd133ab6263d7aa011e3. * Update wallet * Fix styles --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Update subquery endpoint (#1308) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * update wallet 1.29.8 (#1309) * Fix explore menu navigation (#1310) * Fix explore menu navigation * update wallet 1.29.9 --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: Nikita-Polyakov * Fix cancel all orders (#1313) Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * Replace explore tabs with dropdown * Update soramitsuUI.ts * Update Container.vue * Fix selected colors * Update BuySell.vue (#1301) * Update BuySell.vue * handle different side change * reduce watchers --------- Co-authored-by: Stefan Popov Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> * add missing balance to token (#1315) * Fix bridge tx sign with google & mint\burn translations (#1323) * add beforeSign call * update wallet & translations from localise * fix ts issues * add mint & burn translations * Add KEN distribution page (#1320) * validation refactoring (#1319) * validation refactoring * add generic component * log in * refactor * Update BookWidget.vue * hide scaler * fix zero appearance * remove commented code * improve validation * improve check for unique prices * add multiply translation * replace translation * aggregate conditions * Update en.json (#1327) * Fix ken title (#1330) * Fix KEN title * Enable orderbook on mainnet * Bump version --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * fix (#1331) * fix * add error handling for small balances * move to dev * Staking fixes (#1268) * Staking fixes * Fix * Fixes * Fix * Redeem dialogs * Fixes * Fix subscribeOnCurrentEraTotalStake * Withdraw * Fixes * Some fixes * Countdown * Fix countdown position * Fix countdown calc * Validators list * Sorting * Validator name * Revert env * Change default validators sort * Fixes * Max * focus * Countdown translation * unbondPeriodFormatted fix * Remove comments * Fix colors * Template fixes * Update translations * Fix blackout * Fix input styles * Update EraCountdown.vue * Fix Sonar issues * Fix notification for withdraw operation * Max validators * Validators list style fixes * Remove new stake network fee * Fix styles * Max fix * Update translations * Remove empty translations --------- Co-authored-by: Stefan Popov Co-authored-by: Vladimir Shelkovnikov <99356504+C4tWithShell@users.noreply.github.com> Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> * expand total text (#1333) * [Bridge] fix insufficient balance check (#1329) * fix insufficient balance check * remove kusama hardcoded xcm * update Kusama fee to 0.002 KSM * update polkadot treasury fee * Fix orderbook styles * Fix lang --------- Co-authored-by: Rustem Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: Stefan Popov * update order book quote subscription (#1335) * [Tech] queries from wallet (#1336) * transfer pools queries * update referrals * update wallet & refactoring * Сhart volume update (#1332) * refactoring fetchData * update chart subscription to fetch last snapshot * update chart tooltip * update chart styles * save zoom level after chart type switch * sonar fixes * [Tech] update packages (#1337) * update types * update charts libs * update jwt-decode * update sass & package.json node version * update typescript * Fix SubsquidOrderBooksQuery * Fix chart volume update for XOR (#1348) * fix xor volume update * set interval polling for chart assets updates * fixes after review * update wallet 1.32.3 * deduplicate yarn.lock * Fix Eth bridge tx replacement (#1350) * refactoring eth utils methods * fix replaceable tx tracking * refactoring * Update package.json (#1353) * Update package.json * Update yarn.lock --------- Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> --------- Signed-off-by: Nikita Zaporozhets Signed-off-by: BAStos525 Co-authored-by: Nikita Polyakov <53777036+Nikita-Polyakov@users.noreply.github.com> Co-authored-by: C4tWithShell Co-authored-by: Rustem Co-authored-by: Dmitriy Creed Co-authored-by: Vladimir Shelkovnikov <99356504+C4tWithShell@users.noreply.github.com> Co-authored-by: William Richter <88400283+WRRicht3r@users.noreply.github.com> Co-authored-by: Stefan Popov <17688105+stefashkaa@users.noreply.github.com> Co-authored-by: Timofey Trepalin Co-authored-by: Maksim Baranov <33489381+MaksimBaranov98@users.noreply.github.com> Co-authored-by: timofeytrepalin <97504184+timofeytrepalin@users.noreply.github.com> Co-authored-by: alexnatalia Co-authored-by: Aleksandr Makhnev Co-authored-by: Bulat Saifullin Co-authored-by: Alex Natalia <38787212+alexnatalia@users.noreply.github.com> Co-authored-by: alexnatalia Co-authored-by: Nikita Polyakov Co-authored-by: Nikita-Polyakov Co-authored-by: Alex Natalia Co-authored-by: Pavel Golovkin Co-authored-by: Pavel Co-authored-by: Pobepto Co-authored-by: Tarmo Vannas Co-authored-by: 武宮誠 Co-authored-by: Denis Nikiforov <45266099+DenisNikiforov@users.noreply.github.com> Co-authored-by: Ahmed Elkashef Co-authored-by: Nikita Zaporozhets Co-authored-by: Nikita Zaporozhets <95526886+f33r0@users.noreply.github.com> Co-authored-by: sunlucky163 Co-authored-by: sunlucky163 <44086186+sunlucky163@users.noreply.github.com> Co-authored-by: Bao Tran Co-authored-by: Bao Nguyen Tran Co-authored-by: Pavel Varfolomeev Co-authored-by: wpi86 <86880521+wpi86@users.noreply.github.com> Co-authored-by: Pavel Varfolomeev Co-authored-by: German Vechtomov <89127595+ox7a59@users.noreply.github.com> Co-authored-by: frodan Co-authored-by: Daniil Fronts Co-authored-by: Viacheslav Co-authored-by: BAStos525 Co-authored-by: BAStos525 <66615487+BAStos525@users.noreply.github.com> Co-authored-by: Aleksey Kazakov Co-authored-by: Aleksandr Iakimov Co-authored-by: safinsaf <45899673+safinsaf@users.noreply.github.com> Co-authored-by: Aleksandr Iakimov Co-authored-by: NaghmeMohammadifar <45916098+Naghme98@users.noreply.github.com> Co-authored-by: marat-biriushev <49524488+marat-biriushev@users.noreply.github.com> --- package.json | 39 +- public/env.json | 2 +- src/components/pages/OrderBook/BuySell.vue | 26 +- src/components/pages/Swap/Chart.vue | 241 ++++++------ src/indexer/queries/kensetsu.ts | 6 +- src/indexer/queries/orderBook.ts | 4 +- src/indexer/queries/pools.ts | 153 +++++++- src/indexer/queries/referrals.ts | 100 +++++ src/store/bridge/actions.ts | 22 +- src/store/bridge/types.ts | 5 - src/store/moonpay/actions.ts | 6 +- src/store/pool/actions.ts | 20 +- src/store/referrals/actions.ts | 14 + src/store/referrals/mutations.ts | 7 + src/store/referrals/state.ts | 1 + src/store/referrals/types.ts | 3 + src/utils/bridge/common/types.ts | 3 +- src/utils/bridge/common/utils.ts | 53 ++- src/utils/bridge/eth/classes/reducers.ts | 41 ++- src/utils/bridge/eth/utils.ts | 19 +- src/utils/card.ts | 7 +- src/views/ReferralProgram.vue | 35 +- yarn.lock | 405 ++++++++++----------- 23 files changed, 759 insertions(+), 453 deletions(-) create mode 100644 src/indexer/queries/referrals.ts diff --git a/package.json b/package.json index faf3de013..64c10fd68 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,13 @@ { "name": "polkaswap-exchange-web", - "version": "1.31.0", + "version": "1.32.0", "repository": { "type": "git", "url": "https://github.com/sora-xor/polkaswap-exchange-web.git" }, + "engines": { + "node": ">=20" + }, "license": "Apache-2.0", "private": true, "author": "jihoon@tutanota.de ", @@ -24,34 +27,34 @@ }, "dependencies": { "@metamask/detect-provider": "^2.0.0", - "@soramitsu/soraneo-wallet-web": "1.30.0", - "@walletconnect/ethereum-provider": "^2.11.0", + "@soramitsu/soraneo-wallet-web": "1.32.4", + "@walletconnect/ethereum-provider": "^2.11.2", "@walletconnect/modal": "^2.6.2", - "core-js": "^3.33.2", + "core-js": "^3.36.0", "country-code-emoji": "^2.3.0", - "country-flag-emoji-polyfill": "^0.1.4", + "country-flag-emoji-polyfill": "^0.1.8", "direct-vuex": "^0.12.1", - "echarts": "^5.4.3", + "echarts": "^5.5.0", "email-validator": "^2.0.4", "ethers": "6.8.0", - "jwt-decode": "^3.1.2", + "jwt-decode": "^4.0.0", "lodash": "^4.17.21", "uuidv4": "^6.2.13", "vue": "2.7.14", "vue-class-component": "^7.2.6", - "vue-echarts": "^6.3.3", + "vue-echarts": "^6.6.9", "vue-i18n": "^8.28.2", "vue-property-decorator": "^9.1.2", "vue-router": "^3.6.5", "vuex": "^3.6.2" }, "devDependencies": { - "@babel/runtime": "^7.23.2", - "@types/electron-devtools-installer": "^2.2.3", - "@types/jest": "^29.5.5", - "@types/jsdom": "^21.1.3", - "@types/lodash": "^4.14.199", - "@types/node": "^20.8.4", + "@babel/runtime": "^7.23.9", + "@types/electron-devtools-installer": "^2.2.5", + "@types/jest": "^29.5.12", + "@types/jsdom": "^21.1.6", + "@types/lodash": "^4.14.202", + "@types/node": "^20.11.21", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", "@vue/cli-plugin-babel": "5.0.8", @@ -81,12 +84,12 @@ "jest": "^27.5.1", "jsdom": "^16.7.0", "lint-staged": "^9.5.0", - "node-polyfill-webpack-plugin": "^2.0.1", + "node-polyfill-webpack-plugin": "^3.0.0", "prettier": "^2.8.8", - "sass": "^1.66.1", - "sass-loader": "^13.3.2", + "sass": "^1.71.1", + "sass-loader": "^14.1.1", "ts-jest": "^27.1.5", - "typescript": "~5.2.2", + "typescript": "~5.3.3", "vue-cli-plugin-electron-builder": "^3.0.0-alpha.4", "vue-cli-plugin-test-attrs": "^0.1.5", "vue-template-compiler": "2.7.14" diff --git a/public/env.json b/public/env.json index 82fbb0c12..7386257fd 100644 --- a/public/env.json +++ b/public/env.json @@ -35,7 +35,7 @@ "address": "wss://ws.framenode-3.r0.dev.sora2.soramitsu.co.jp" } ], - "SUBQUERY_ENDPOINT": "https://api.subquery.network/sq/sora-xor/sora-prod", + "SUBQUERY_ENDPOINT": "https://api.subquery.network/sq/sora-xor/sora-dev", "SUBSQUID_ENDPOINT": "https://squid.subsquid.io/sora-dev/v/v1/graphql", "NETWORK_TYPE": "Dev", "CHAIN_GENESIS_HASH": "", diff --git a/src/components/pages/OrderBook/BuySell.vue b/src/components/pages/OrderBook/BuySell.vue index faa627eb6..2db70e48f 100644 --- a/src/components/pages/OrderBook/BuySell.vue +++ b/src/components/pages/OrderBook/BuySell.vue @@ -823,21 +823,27 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma } private subscribeOnBookQuote(): void { - if (!this.baseValue) return; this.resetQuoteSubscription(); - if (!this.areTokensSelected) return; + if (!(this.baseValue && this.areTokensSelected)) return; - const observableQuote = api.swap.subscribeOnResultRpc( - (this.tokenFrom as AccountAsset).address, - (this.tokenTo as AccountAsset).address, - this.baseValue, - this.isBuySide, - LiquiditySourceTypes.OrderBook + const inputAsset = (this.tokenFrom as AccountAsset).address; + const outputAsset = (this.tokenTo as AccountAsset).address; + const sources = [LiquiditySourceTypes.OrderBook]; + + const observableQuote = api.swap.getSwapQuoteObservable( + inputAsset, + outputAsset, + sources, + DexId.XOR // subscription only for XOR dex in optimization purposes ); - this.quoteSubscription = observableQuote.subscribe(async (quoteData) => { - const { amount } = await quoteData; + if (!observableQuote) return; + + this.quoteSubscription = observableQuote.subscribe(async ({ quote }) => { + const { + result: { amount }, + } = quote(inputAsset, outputAsset, this.baseValue, this.isBuySide, sources); if (FPNumber.fromCodecValue(amount).isZero() || this.limitOrderType === LimitOrderType.limit) { this.resetQuoteSubscription(); diff --git a/src/components/pages/Swap/Chart.vue b/src/components/pages/Swap/Chart.vue index bf2690155..a66ce29ef 100644 --- a/src/components/pages/Swap/Chart.vue +++ b/src/components/pages/Swap/Chart.vue @@ -88,15 +88,15 @@ import { } from '@/utils'; import type { AccountAsset } from '@sora-substrate/util/build/assets/types'; -import type { PageInfo, FiatPriceObject } from '@soramitsu/soraneo-wallet-web/lib/services/indexer/types'; - -const { SnapshotTypes } = SUBQUERY_TYPES; +import type { PageInfo, SnapshotTypes } from '@soramitsu/soraneo-wallet-web/lib/services/indexer/types'; const USD_SYMBOL = 'USD'; /** "timestamp", "open", "close", "low", "high", "volume" data */ type ChartDataItem = [number, ...OCLH, number]; +type LastUpdates = Record; + enum CHART_TYPES { LINE = 'line', CANDLE = 'candlestick', @@ -112,52 +112,52 @@ const LINE_CHART_FILTERS: SnapshotFilter[] = [ { name: Timeframes.FIVE_MINUTES, label: '5m', - type: SnapshotTypes.DEFAULT, + type: SUBQUERY_TYPES.SnapshotTypes.DEFAULT, count: 48, // 5 mins in 4 hours }, { name: Timeframes.FIFTEEN_MINUTES, label: '15m', - type: SnapshotTypes.DEFAULT, + type: SUBQUERY_TYPES.SnapshotTypes.DEFAULT, count: 48 * 3, // 5 mins in 12 hours, group: 3, // 5 min in 15 min }, { name: Timeframes.THIRTY_MINUTES, label: '30m', - type: SnapshotTypes.DEFAULT, + type: SUBQUERY_TYPES.SnapshotTypes.DEFAULT, count: 48 * 6, // 5 mins in 24 hours, group: 6, // 5 min in 30 min }, { name: Timeframes.HOUR, label: '1h', - type: SnapshotTypes.HOUR, + type: SUBQUERY_TYPES.SnapshotTypes.HOUR, count: 48, // hours in 2 days, }, { name: Timeframes.FOUR_HOURS, label: '4h', - type: SnapshotTypes.HOUR, + type: SUBQUERY_TYPES.SnapshotTypes.HOUR, count: 48 * 4, // hours in 4 days, group: 4, // 1 hour in 4 hours }, { name: Timeframes.DAY, label: '1D', - type: SnapshotTypes.DAY, + type: SUBQUERY_TYPES.SnapshotTypes.DAY, count: 90, // days in 1 month }, { name: Timeframes.YEAR, label: '1Y', - type: SnapshotTypes.DAY, + type: SUBQUERY_TYPES.SnapshotTypes.DAY, count: 365, // days in year }, { name: Timeframes.ALL, label: 'ALL', - type: SnapshotTypes.DAY, + type: SUBQUERY_TYPES.SnapshotTypes.DAY, count: Infinity, }, ]; @@ -204,6 +204,14 @@ const dividePrices = (priceA: OCLH, priceB: OCLH): OCLH => { return priceA.map((price, index) => dividePrice(price, priceB[index])) as OCLH; }; +const mergeSnapshots = (a: Nullable, b: Nullable): SnapshotItem => { + const timestamp = (a?.timestamp ?? b?.timestamp) as number; + const price = b?.price && a?.price ? dividePrices(a.price, b.price) : a?.price ?? [0, 0, 0, 0]; + const volume = b?.volume && a?.volume ? Math.min(b.volume, a.volume) : a?.volume ?? 0; + + return { timestamp, price, volume }; +}; + const normalizeSnapshots = (collection: SnapshotItem[], difference: number, lastTimestamp: number): SnapshotItem[] => { const sample: SnapshotItem[] = []; @@ -451,7 +459,7 @@ export default class SwapChart extends Mixins( }); const volumeGrid = this.gridSpec({ - height: 92, + height: 72, left: this.gridLeftOffset, }); @@ -461,7 +469,10 @@ export default class SwapChart extends Mixins( show: true, }, axisLine: { - show: false, + show: true, + lineStyle: { + color: this.theme.color.base.content.tertiary, + }, }, axisPointer: { label: { @@ -510,7 +521,7 @@ export default class SwapChart extends Mixins( const { amount, suffix } = formatAmountWithSuffix(val); return `${amount} ${suffix}`; }, - showMaxLabel: false, + showMaxLabel: true, }, }); @@ -532,11 +543,7 @@ export default class SwapChart extends Mixins( const [timestamp, open, close, low, high, volume] = data; const rows: any[] = []; - if (seriesType === CHART_TYPES.BAR) { - rows.push({ title: 'Volume', data: formatPrice(volume, 2, USD_SYMBOL) }); - } else if (seriesType === CHART_TYPES.LINE) { - rows.push({ title: 'Price', data: formatPrice(close, this.precision, this.symbol) }); - } else { + if (seriesType === CHART_TYPES.CANDLE) { const change = calcPriceChange(new FPNumber(close), new FPNumber(open)); const changeColor = signific(change)( this.theme.color.status.success, @@ -551,6 +558,12 @@ export default class SwapChart extends Mixins( { title: 'Close', data: formatPrice(close, this.precision, this.symbol) }, { title: 'Change', data: formatChange(change), color: changeColor } ); + } else { + rows.push({ title: 'Price', data: formatPrice(close, this.precision, this.symbol) }); + } + + if (withVolume) { + rows.push({ title: 'Volume', data: `$${formatAmount(volume, 2)}` }); } return ` @@ -599,6 +612,7 @@ export default class SwapChart extends Mixins( const [_timestamp, open, close] = data; return open > close ? this.theme.color.status.error : this.theme.color.status.success; }, + opacity: 0.7, }, encode: { y: 'volume' }, }; @@ -647,41 +661,70 @@ export default class SwapChart extends Mixins( this.unsubscribeFromPriceUpdates(); } + private async requestData( + entityId: string, + type: SnapshotTypes, + count: number, + hasNextPage = true, + endCursor?: string + ) { + const handler = this.isOrderBook ? fetchOrderBookData : fetchAssetData; + const nodes: SnapshotItem[] = []; + + do { + const first = Math.min(count, 100); // how many items should be fetched by request + + const response = await handler(entityId, type, first, endCursor); + + if (!response) throw new Error('Chart data fetch error'); + + hasNextPage = response.pageInfo.hasNextPage; + endCursor = response.pageInfo.endCursor; + nodes.push(...response.edges.map((edge) => edge.node)); + count -= response.edges.length; + } while (hasNextPage && count > 0); + + return { nodes, hasNextPage, endCursor }; + } + // ordered ty timestamp DESC private async fetchData(entityId: string) { - const handler = this.isOrderBook ? fetchOrderBookData : fetchAssetData; const { type, count } = this.selectedFilter; + const pageInfo = this.pageInfos[entityId]; - const buffer = this.samplesBuffer[entityId] ?? []; - const nodes: SnapshotItem[] = []; + const hasNextPage = pageInfo?.hasNextPage ?? true; + const endCursor = pageInfo?.endCursor ?? undefined; - let hasNextPage = pageInfo?.hasNextPage ?? true; - let endCursor = pageInfo?.endCursor ?? undefined; + const buffer = this.samplesBuffer[entityId] ?? []; if (buffer.length >= count) { return { - nodes, + nodes: [], hasNextPage, endCursor, }; } - let fetchCount = count; - - do { - const first = Math.min(fetchCount, 100); // how many items should be fetched by request + return await this.requestData(entityId, type, count, hasNextPage, endCursor); + } - const response = await handler(entityId, type, first, endCursor); + private async fetchDataLastUpdates(entities: string[]): Promise> { + const lastUpdates: LastUpdates = {}; - if (!response) throw new Error('Chart data fetch error'); + await Promise.all( + entities.map(async (entityId) => { + try { + const update = await this.requestData(entityId, this.selectedFilter.type, 1); + const snapshot = update.nodes[0]; - hasNextPage = response.pageInfo.hasNextPage; - endCursor = response.pageInfo.endCursor; - nodes.push(...response.edges.map((edge) => edge.node)); - fetchCount -= response.edges.length; - } while (hasNextPage && fetchCount > 0); + lastUpdates[entityId] = snapshot; + } catch { + return null; + } + }) + ); - return { nodes, hasNextPage, endCursor }; + return lastUpdates; } private getUpdatedPrecision(min: number, max: number): number { @@ -733,9 +776,7 @@ export default class SwapChart extends Mixins( const a = groups[0]?.[i]; const b = groups[1]?.[i]; - const timestamp = (a?.timestamp ?? b?.timestamp) as number; - const price = b?.price && a?.price ? dividePrices(a.price, b.price) : a?.price ?? [0, 0, 0, 0]; - const volume = b?.volume && a?.volume ? Math.min(b.volume, a.volume) : a?.volume ?? 0; + const { timestamp, price, volume } = mergeSnapshots(a, b); // skip item, if one of the prices is incorrect if (price.some((part) => !Number.isFinite(part))) continue; // if "open" & "close" prices are zero, we are going to time, where pool is not created @@ -764,6 +805,18 @@ export default class SwapChart extends Mixins( }); } + // common + private async subscribeToPriceUpdates(): Promise { + this.unsubscribeFromPriceUpdates(); + + if (!this.entities.length) return; + + const entities = [...this.entities]; + + this.priceUpdateSubscription = await this.getPriceUpdatesSubscription(entities); + this.priceUpdateTimestampSync = setInterval(() => this.handlePriceTimestampSync(entities), SYNC_INTERVAL); + } + // common private unsubscribeFromPriceUpdates(): void { if (this.priceUpdateSubscription) { @@ -776,45 +829,22 @@ export default class SwapChart extends Mixins( this.priceUpdateTimestampSync = null; } - private subscribeToAssetsPriceUpdates(): void { - this.unsubscribeFromPriceUpdates(); - - const entities = [...this.entities]; - - this.priceUpdateSubscription = this.$watch( - () => this.fiatPriceObject, - (updated, prev) => { - if (updated && (!prev || entities.some((addr) => updated[addr] !== prev[addr]))) { - this.handlePriceUpdates(entities, updated); - } - } - ); - - this.priceUpdateTimestampSync = setInterval(() => this.handlePriceTimestampSync(entities), SYNC_INTERVAL); - } - - private async subscribeToOrderBookPriceUpdates(): Promise { - this.unsubscribeFromPriceUpdates(); - - if (!(this.orderBookId && this.baseAsset && this.quoteAsset)) return; - - const entities = [...this.entities]; - - this.priceUpdateSubscription = await subscribeOnOrderBookUpdates( - this.dexId, - this.baseAsset.address, - this.quoteAsset.address, - (data) => { - const { - stats: { price }, - } = data; - const updated = { [this.orderBookId as string]: price.toCodecString() }; - this.handlePriceUpdates(entities, updated); - }, - console.error - ); + private async getPriceUpdatesSubscription(entities: string[]): Promise> { + if (this.isOrderBook) { + return await subscribeOnOrderBookUpdates( + this.dexId, + this.baseAsset!.address, + this.quoteAsset!.address, + () => this.fetchAndHandleUpdate(entities), + console.error + ); + } else { + const interval = setInterval(() => { + this.fetchAndHandleUpdate(entities); + }, SYNC_INTERVAL * 5); - this.priceUpdateTimestampSync = setInterval(() => this.handlePriceTimestampSync(entities), SYNC_INTERVAL); + return () => clearInterval(interval); + } } private getCurrentSnapshotTimestamp(): number { @@ -845,32 +875,31 @@ export default class SwapChart extends Mixins( this.updateDataset([item, ...this.dataset]); } - private handlePriceUpdates(entities: string[], fiatPriceObject: FiatPriceObject): void { + private async fetchAndHandleUpdate(entities: string[]): Promise { if (!isEqual(entities)(this.entities)) return; - const timestamp = this.getCurrentSnapshotTimestamp(); - const lastItem = this.dataset[0]; - - const [priceA, priceB] = entities.map((address) => - FPNumber.fromCodecValue(fiatPriceObject[address] ?? 0).toNumber() - ); - const price = Number.isFinite(priceB) ? dividePrice(priceA, priceB) : priceA; - const min = Math.min(this.limits.min, price); - const max = Math.max(this.limits.max, price); - - const open = lastItem?.price?.[0] ?? price; - const low = lastItem?.price?.[2] ?? price; - const high = lastItem?.price?.[3] ?? price; + const lastUpdates = await this.fetchDataLastUpdates(entities); - const isCurrentTimeframe = lastItem?.timestamp === timestamp; + if (!lastUpdates) return; - const priceData: OCLH = [isCurrentTimeframe ? open : price, price, Math.min(low, price), Math.max(high, price)]; - const item = { timestamp, price: priceData, volume: 0 }; const dataset = [...this.dataset]; - if (isCurrentTimeframe) { + const lastItem = dataset[0]; + const [a, b] = entities.map((entityId) => lastUpdates[entityId]); + const item = mergeSnapshots(a, b); + // skip item, if one of the prices is incorrect + if (item.price.some((part) => !Number.isFinite(part))) return; + // skip item, if snapshot is outdated + if (lastItem?.timestamp > item.timestamp) return; + + if (lastItem?.timestamp === item.timestamp) { dataset.shift(); } + dataset.unshift(item); + + const min = Math.min(this.limits.min, ...item.price); + const max = Math.max(this.limits.max, ...item.price); + this.precision = this.getUpdatedPrecision(min, max); this.limits = { min, max }; this.updateDataset(dataset); @@ -912,30 +941,26 @@ export default class SwapChart extends Mixins( } } - async resetChartTypeZoom() { - await this.$nextTick(); - + private async resetChartTypeZoom(): Promise { const { count, group } = this.selectedFilter; const items = this.chartData.length; const visible = count / (group ?? 1); const start = items > visible ? ((items - visible) * 100) / items : 0; const end = 100; - this.setChartZoomLevel(start, end); + await this.setChartZoomLevel(start, end); } private async resetAndUpdatePrices(saveReversedState = false): Promise { this.clearData(saveReversedState); await this.updatePrices(); - if (this.isOrderBook) { - this.subscribeToOrderBookPriceUpdates(); - } else { - this.subscribeToAssetsPriceUpdates(); - } + await this.subscribeToPriceUpdates(); } - selectChartType(type: CHART_TYPES): void { + async selectChartType(type: CHART_TYPES): Promise { this.chartType = type; + + await this.setChartZoomLevel(this.zoomStart, this.zoomEnd); } handleZoom(event: any): void { @@ -951,7 +976,9 @@ export default class SwapChart extends Mixins( this.zoomEnd = data?.end ?? 0; } - private setChartZoomLevel(start: number, end: number): void { + private async setChartZoomLevel(start: number, end: number): Promise { + await this.$nextTick(); + const chart = this.$refs.chart as any; chart.dispatchAction({ diff --git a/src/indexer/queries/kensetsu.ts b/src/indexer/queries/kensetsu.ts index 627e95806..835336638 100644 --- a/src/indexer/queries/kensetsu.ts +++ b/src/indexer/queries/kensetsu.ts @@ -3,9 +3,9 @@ import { getCurrentIndexer, WALLET_CONSTS } from '@soramitsu/soraneo-wallet-web' import { SubqueryIndexer, SubsquidIndexer } from '@soramitsu/soraneo-wallet-web/lib/services/indexer'; import { gql } from '@urql/core'; -import type { SubqueryHistoryElement } from '@soramitsu/soraneo-wallet-web/lib/services/indexer/subquery/types'; import type { ConnectionQueryResponse, + HistoryElement, HistoryElementAssetBurn, } from '@soramitsu/soraneo-wallet-web/lib/services/indexer/types'; @@ -81,7 +81,7 @@ const dataBeforeIndexing: KensetsuBurn[] = [ }, ]; -const KensetsuQuery = gql>` +const KensetsuQuery = gql>` query ($start: Int = 0, $end: Int = 0, $after: Cursor = "", $first: Int = 100) { data: historyElements( first: $first @@ -110,7 +110,7 @@ const KensetsuQuery = gql>` } `; -const parse = (item: SubqueryHistoryElement): KensetsuBurn => { +const parse = (item: HistoryElement): KensetsuBurn => { const data = item.data as HistoryElementAssetBurn; return { diff --git a/src/indexer/queries/orderBook.ts b/src/indexer/queries/orderBook.ts index 3fa823e3c..471e47cb6 100644 --- a/src/indexer/queries/orderBook.ts +++ b/src/indexer/queries/orderBook.ts @@ -74,7 +74,7 @@ const SubqueryOrderBooksQuery = gql>` const SubsquidOrderBooksQuery = gql>` query SubsquidOrderBooksQuery($after: String = null, $where: OrderBookWhereInput) { - data: orderBooksConnection(after: $after, where: $where) { + data: orderBooksConnection(orderBy: id_ASC, after: $after, where: $where) { pageInfo { hasNextPage endCursor @@ -422,7 +422,7 @@ export async function subscribeOnOrderBookUpdates( dexId: number, baseAssetId: string, quoteAssetId: string, - handler: (entity: OrderBookUpdateData) => void, + handler: (entity: OrderBookUpdateData) => void | Promise, errorHandler: () => void ): Promise> { const orderBookId = [dexId, baseAssetId, quoteAssetId].join('-'); diff --git a/src/indexer/queries/pools.ts b/src/indexer/queries/pools.ts index b9767233e..b8318c4a0 100644 --- a/src/indexer/queries/pools.ts +++ b/src/indexer/queries/pools.ts @@ -5,9 +5,18 @@ import { gql } from '@urql/core'; import type { CodecString } from '@sora-substrate/util'; import type { Asset } from '@sora-substrate/util/build/assets/types'; -import type { SubqueryPoolXYKEntity } from '@soramitsu/soraneo-wallet-web/lib/services/indexer/subquery/types'; +import type { + SubqueryPoolXYKEntity, + SubquerySubscriptionPayload, +} from '@soramitsu/soraneo-wallet-web/lib/services/indexer/subquery/types'; import type { SubsquidPoolXYKEntity } from '@soramitsu/soraneo-wallet-web/lib/services/indexer/subsquid/types'; -import type { ConnectionQueryResponse, PoolXYKEntity } from '@soramitsu/soraneo-wallet-web/lib/services/indexer/types'; +import type { + ConnectionQueryResponse, + PoolXYKEntity, + PoolApyObject, + SubscriptionPayload, + UpdatesStream, +} from '@soramitsu/soraneo-wallet-web/lib/services/indexer/types'; const { IndexerType } = WALLET_CONSTS; @@ -108,3 +117,143 @@ export async function fetchPoolsData(assets?: Asset[]): Promise { return result ?? []; } + +const SubqueryApyQuery = gql>` + query SubqueryApyQuery($after: Cursor = "", $first: Int = 100) { + data: poolXYKs(first: $first, after: $after, filter: { strategicBonusApy: { greaterThan: "0" } }) { + pageInfo { + hasNextPage + endCursor + } + edges { + node { + id + strategicBonusApy + } + } + } + } +`; + +const SubsquidApyQuery = gql>` + query SubsquidApyQuery($after: String = null, $first: Int = 1000) { + data: poolXyksConnection(orderBy: id_ASC, first: $first, after: $after, where: { strategicBonusApy_gt: "0" }) { + pageInfo { + hasNextPage + endCursor + } + edges { + node { + id + strategicBonusApy + } + } + } + } +`; + +const formatStringNumber = (value: Nullable) => (value ? new FPNumber(value) : FPNumber.ZERO); + +const parseApy = (entity: SubsquidPoolXYKEntity | SubqueryPoolXYKEntity): PoolApyObject => { + const acc = {}; + const id = entity.id; + const strategicBonusApyFPNumber = formatStringNumber(entity.strategicBonusApy); + const isStrategicBonusApyFinity = strategicBonusApyFPNumber.isFinity(); + if (isStrategicBonusApyFinity) { + acc[id] = strategicBonusApyFPNumber.toCodecString(); + } + return acc; +}; + +/** + * Get strategic bonus APY for each pool + */ +export async function getPoolsApyObject(): Promise> { + const indexer = getCurrentIndexer(); + + let result: Nullable; + + switch (indexer.type) { + case IndexerType.SUBQUERY: { + const subqueryIndexer = indexer as SubqueryIndexer; + result = await subqueryIndexer.services.explorer.fetchAllEntities(SubqueryApyQuery, {}, parseApy); + break; + } + case IndexerType.SUBSQUID: { + const subsquidIndexer = indexer as SubsquidIndexer; + result = await subsquidIndexer.services.explorer.fetchAllEntitiesConnection(SubsquidApyQuery, {}, parseApy); + break; + } + } + + if (!result) return null; + + return result.reduce((acc, item) => ({ ...acc, ...item }), {}); +} + +const SubqueryApyStreamSubscription = gql>` + subscription SubqueryApyStreamSubscription { + payload: updatesStreams(id: "apy", mutation: [UPDATE, INSERT]) { + id + mutation_type + _entity + } + } +`; + +const SubsquidApyStreamSubscription = gql>` + subscription SubsquidApyStreamSubscription { + payload: updatesStreamById(id: "apy") { + id + block + data + } + } +`; + +const parseApyStreamUpdate = (entity: UpdatesStream): PoolApyObject => { + const data = entity?.data ? JSON.parse(entity.data) : {}; + + return Object.entries(data).reduce((acc, [id, apy]) => { + const strategicBonusApyFPNumber = formatStringNumber(apy as string); + const isStrategicBonusApyFinity = strategicBonusApyFPNumber.isFinity(); + if (isStrategicBonusApyFinity) { + acc[id] = strategicBonusApyFPNumber.toCodecString(); + } + return acc; + }, {}); +}; + +export function createPoolsApySubscription( + handler: (entity: PoolApyObject) => void, + errorHandler: (error: any) => void +): Nullable { + const indexer = getCurrentIndexer(); + + switch (indexer.type) { + case IndexerType.SUBQUERY: { + const subqueryIndexer = indexer as SubqueryIndexer; + + return subqueryIndexer.services.explorer.createEntitySubscription( + SubqueryApyStreamSubscription, + {}, + parseApyStreamUpdate, + handler, + errorHandler + ); + } + case IndexerType.SUBSQUID: { + const subsquidIndexer = indexer as SubsquidIndexer; + + return subsquidIndexer.services.explorer.createEntitySubscription( + SubsquidApyStreamSubscription, + {}, + parseApyStreamUpdate, + handler, + errorHandler + ); + } + } + + return null; +} diff --git a/src/indexer/queries/referrals.ts b/src/indexer/queries/referrals.ts new file mode 100644 index 000000000..f2e73e801 --- /dev/null +++ b/src/indexer/queries/referrals.ts @@ -0,0 +1,100 @@ +import { FPNumber } from '@sora-substrate/util'; +import { XOR } from '@sora-substrate/util/build/assets/consts'; +import { getCurrentIndexer, WALLET_CONSTS } from '@soramitsu/soraneo-wallet-web'; +import { SubqueryIndexer, SubsquidIndexer } from '@soramitsu/soraneo-wallet-web/lib/services/indexer'; +import { gql } from '@urql/core'; + +import type { + ConnectionQueryResponse, + ReferrerRewardEntity, +} from '@soramitsu/soraneo-wallet-web/lib/services/indexer/types'; + +export type ReferrerRewards = { + rewards: FPNumber; + invitedUserRewards: { + [key: string]: FPNumber; + }; +}; + +const { IndexerType } = WALLET_CONSTS; + +const SubqueryReferrerRewardsQuery = gql>` + query SubqueryReferrerRewardsQuery($first: Int = 100, $filter: ReferrerRewardFilter, $after: Cursor = "") { + data: referrerRewards(first: $first, filter: $filter, after: $after) { + pageInfo { + hasNextPage + endCursor + } + edges { + node { + referral + amount + } + } + } + } +`; + +const SubsquidReferrerRewardsQuery = gql>` + query SubsquidReferrerRewardsQuery($first: Int = 1000, $filter: ReferrerRewardWhereInput, $after: String = null) { + data: referrerRewardsConnection(orderBy: id_ASC, first: $first, where: $filter, after: $after) { + pageInfo { + hasNextPage + endCursor + } + edges { + node { + referral + amount + } + } + } + } +`; + +/** + * Get Referral Rewards summarized by referral + */ +export async function getReferralRewards(referrer?: string): Promise> { + const indexer = getCurrentIndexer(); + + let result!: Nullable; + + switch (indexer.type) { + case IndexerType.SUBQUERY: { + const filter = referrer ? { referrer: { equalTo: referrer } } : undefined; + const variables = { filter }; + const subqueryIndexer = indexer as SubqueryIndexer; + result = await subqueryIndexer.services.explorer.fetchAllEntities(SubqueryReferrerRewardsQuery, variables); + break; + } + case IndexerType.SUBSQUID: { + const filter = referrer ? { referrer_eq: referrer } : undefined; + const variables = { filter }; + const subsquidIndexer = indexer as SubsquidIndexer; + result = await subsquidIndexer.services.explorer.fetchAllEntitiesConnection( + SubsquidReferrerRewardsQuery, + variables + ); + break; + } + } + + if (!result) return null; + + return result.reduce( + (acc, node) => { + const { referral, amount } = node; + const value = FPNumber.fromCodecValue(amount, XOR.decimals); + + acc.rewards = acc.rewards.add(value); + acc.invitedUserRewards[referral] = (acc.invitedUserRewards[referral] ?? FPNumber.ZERO).add(value); + + return acc; + }, + { + rewards: FPNumber.ZERO, + invitedUserRewards: {}, + } + ); +} diff --git a/src/store/bridge/actions.ts b/src/store/bridge/actions.ts index 02fcb9605..8e651c005 100644 --- a/src/store/bridge/actions.ts +++ b/src/store/bridge/actions.ts @@ -33,7 +33,6 @@ import { subBridgeConnector } from '@/utils/bridge/sub/classes/adapter'; import { updateSubBridgeHistory } from '@/utils/bridge/sub/classes/history'; import ethersUtil from '@/utils/ethers-util'; -import type { SignTxResult } from './types'; import type { SwapQuote } from '@sora-substrate/liquidity-proxy/build/types'; import type { IBridgeTransaction, CodecString } from '@sora-substrate/util'; import type { RegisteredAccountAsset } from '@sora-substrate/util/build/assets/types'; @@ -647,7 +646,7 @@ const actions = defineActions({ return bridgeHistory; }, - async signEthBridgeOutgoingEvm(context, id: string): Promise { + async signEthBridgeOutgoingEvm(context, id: string): Promise { const { rootState, rootGetters } = bridgeActionContext(context); const tx = ethBridgeApi.getHistory(id) as Nullable; @@ -678,15 +677,11 @@ const actions = defineActions({ }); const transaction: ethers.TransactionResponse = await contract[method](...args); - const fee = transaction.gasPrice ? ethersUtil.calcEvmFee(transaction.gasPrice, transaction.gasLimit) : undefined; - return { - hash: transaction.hash, - fee, - }; + return transaction; }, - async signEthBridgeIncomingEvm(context, id: string): Promise { + async signEthBridgeIncomingEvm(context, id: string): Promise { const { commit, rootState, rootGetters } = bridgeActionContext(context); const tx = ethBridgeApi.getHistory(id); @@ -717,14 +712,14 @@ const actions = defineActions({ MaxUint256, // uint256 amount ]; - let transaction: any; + let transaction: ethers.TransactionResponse; try { checkEvmNetwork(context); transaction = await tokenInstance.approve(...methodArgs); } finally { commit.removeTxIdFromApprove(tx.id); // change ui state after approve in client } - await waitForEvmTransactionMined(transaction.hash); // wait for 1 confirm block + await waitForEvmTransactionMined(transaction); // wait for 1 confirm block } const { contract, method, args } = await getIncomingEvmTransactionData({ @@ -737,11 +732,8 @@ const actions = defineActions({ checkEvmNetwork(context); const transaction: ethers.TransactionResponse = await contract[method](...args); - const fee = transaction.gasPrice ? ethersUtil.calcEvmFee(transaction.gasPrice, transaction.gasLimit) : undefined; - return { - hash: transaction.hash, - fee, - }; + + return transaction; }, }); diff --git a/src/store/bridge/types.ts b/src/store/bridge/types.ts index e95d56dba..683f4ce27 100644 --- a/src/store/bridge/types.ts +++ b/src/store/bridge/types.ts @@ -35,8 +35,3 @@ export type BridgeState = { inProgressIds: Record; notificationData: Nullable; }; - -export type SignTxResult = { - hash: string; - fee: Nullable; -}; diff --git a/src/store/moonpay/actions.ts b/src/store/moonpay/actions.ts index 74845d866..b23cd4384 100644 --- a/src/store/moonpay/actions.ts +++ b/src/store/moonpay/actions.ts @@ -56,17 +56,15 @@ const actions = defineActions({ }, async getTransactionTranserData(_, hash: string): Promise> { try { - const confirmations = 1; - const timeout = 0; const ethersInstance = ethersUtil.getEthersInstance(); console.info(`Moonpay: found latest moonpay transaction.\nChecking ethereum transaction by hash:\n${hash}`); // wait until transaction complete // ISSUE: moonpay sending eth in ropsten, erc20 in rinkeby - await ethersInstance.waitForTransaction(hash, confirmations, timeout); + await ethersInstance.waitForTransaction(hash); - const tx = await ethersInstance.getTransaction(hash); + const tx = await ethersUtil.getEvmTransaction(hash); if (!tx) throw new Error(`Transaction "${hash}" not found`); diff --git a/src/store/pool/actions.ts b/src/store/pool/actions.ts index 05b75d206..2bcd75704 100644 --- a/src/store/pool/actions.ts +++ b/src/store/pool/actions.ts @@ -1,7 +1,8 @@ -import { api, getCurrentIndexer } from '@soramitsu/soraneo-wallet-web'; +import { api } from '@soramitsu/soraneo-wallet-web'; import { defineActions } from 'direct-vuex'; import { firstValueFrom } from 'rxjs'; +import { getPoolsApyObject, createPoolsApySubscription } from '@/indexer/queries/pools'; import { poolActionContext } from '@/store/pool'; import { waitForAccountPair } from '@/utils'; @@ -62,8 +63,7 @@ const actions = defineActions({ async getPoolApyObject(context): Promise { const { commit } = poolActionContext(context); - const indexer = getCurrentIndexer(); - const data = await indexer.services.explorer.pool.getPoolsApyObject(); + const data = await getPoolsApyObject(); if (data) { commit.setPoolApyObject(data); @@ -75,17 +75,11 @@ const actions = defineActions({ await dispatch.getPoolApyObject(); - const indexer = getCurrentIndexer(); - const subscription = indexer.services.explorer.pool.createPoolsApySubscription( - (apy) => { - commit.updatePoolApyObject(apy); - }, - () => { - commit.resetPoolApyObject(); - } - ); + const subscription = createPoolsApySubscription(commit.updatePoolApyObject, commit.resetPoolApyObject); - commit.setPoolApySubscription(subscription); + if (subscription) { + commit.setPoolApySubscription(subscription); + } }, }); diff --git a/src/store/referrals/actions.ts b/src/store/referrals/actions.ts index 9824d4264..efa6d70de 100644 --- a/src/store/referrals/actions.ts +++ b/src/store/referrals/actions.ts @@ -1,6 +1,7 @@ import { api } from '@soramitsu/soraneo-wallet-web'; import { defineActions } from 'direct-vuex'; +import { getReferralRewards } from '@/indexer/queries/referrals'; import { referralsActionContext } from '@/store/referrals'; const actions = defineActions({ @@ -43,6 +44,19 @@ const actions = defineActions({ commit.setInvitedUsersSubscription(subscription); }, + async getAccountReferralRewards(context): Promise { + const { commit, rootGetters } = referralsActionContext(context); + + commit.clearReferralRewards(); + + if (!rootGetters.wallet.account.isLoggedIn) return; + + const data = await getReferralRewards(rootGetters.wallet.account.account.address); + + if (data) { + commit.setReferralRewards(data); + } + }, }); export default actions; diff --git a/src/store/referrals/mutations.ts b/src/store/referrals/mutations.ts index e44355093..10283eb85 100644 --- a/src/store/referrals/mutations.ts +++ b/src/store/referrals/mutations.ts @@ -1,6 +1,7 @@ import { defineMutations } from 'direct-vuex'; import omit from 'lodash/fp/omit'; +import type { ReferrerRewards } from '@/indexer/queries/referrals'; import storage from '@/utils/storage'; import { initialState } from './state'; @@ -59,6 +60,12 @@ const mutations = defineMutations()({ state[key] = s[key]; }); }, + setReferralRewards(state, referralRewards: ReferrerRewards): void { + state.referralRewards = referralRewards; + }, + clearReferralRewards(state): void { + state.referralRewards = null; + }, unsubscribeFromInvitedUsers(state): void { state.invitedUsersSubscription?.unsubscribe(); state.invitedUsersSubscription = null; diff --git a/src/store/referrals/state.ts b/src/store/referrals/state.ts index f412936f3..263f6121d 100644 --- a/src/store/referrals/state.ts +++ b/src/store/referrals/state.ts @@ -6,6 +6,7 @@ export function initialState(): ReferralsState { return { referrer: '', referrerSubscription: null, + referralRewards: null, invitedUsers: [], invitedUsersSubscription: null, amount: '', diff --git a/src/store/referrals/types.ts b/src/store/referrals/types.ts index 311d6deb5..80a110e8d 100644 --- a/src/store/referrals/types.ts +++ b/src/store/referrals/types.ts @@ -1,8 +1,11 @@ +import type { ReferrerRewards } from '@/indexer/queries/referrals'; + import type { Subscription } from 'rxjs'; export type ReferralsState = { referrer: string; referrerSubscription: Nullable; + referralRewards: Nullable; invitedUsers: Array; invitedUsersSubscription: Nullable; amount: string; diff --git a/src/utils/bridge/common/types.ts b/src/utils/bridge/common/types.ts index a6577b924..d91b25acb 100644 --- a/src/utils/bridge/common/types.ts +++ b/src/utils/bridge/common/types.ts @@ -1,5 +1,6 @@ import type { IBridgeTransaction } from '@sora-substrate/util'; import type { RegisteredAccountAsset } from '@sora-substrate/util/build/assets/types'; +import type { TransactionResponse } from 'ethers'; export type AddAsset = (address: string) => Promise; export type GetAssetByAddress = (address: string) => Nullable; @@ -11,7 +12,7 @@ export type GetTransaction = (id: string) => T; export type UpdateTransaction = (id: string, params: Partial) => void; export type ShowNotification = (tx: T) => void; export type BeforeTransactionSign = () => Promise; -export type SignExternal = (id: string) => Promise; +export type SignExternal = (id: string) => Promise; export type TransactionBoundaryStates = Partial< Record< T['type'], diff --git a/src/utils/bridge/common/utils.ts b/src/utils/bridge/common/utils.ts index 5d411a239..37c9737a9 100644 --- a/src/utils/bridge/common/utils.ts +++ b/src/utils/bridge/common/utils.ts @@ -13,38 +13,29 @@ import type { EthHistory } from '@sora-substrate/util/build/bridgeProxy/eth/type import type { EvmHistory } from '@sora-substrate/util/build/bridgeProxy/evm/types'; import type { SubHistory } from '@sora-substrate/util/build/bridgeProxy/sub/types'; -const waitForEvmTransactionStatus = async ( - hash: string, - replaceCallback: (hash: string) => any, - cancelCallback: (hash: string) => any -) => { +export const waitForEvmTransactionMined = async ( + tx: ethers.TransactionResponse | null, + replaceCallback?: (tx: ethers.TransactionResponse | null) => void +): Promise => { + if (!tx) throw new Error('[waitForEvmTransactionMined]: tx cannot be empty!'); + try { - const ethersInstance = ethersUtil.getEthersInstance(); - await ethersInstance.waitForTransaction(hash); - } catch (error: any) { + const startBlock = tx.blockNumber ?? (await ethersUtil.getBlockNumber()); + const replaceableTx = tx.replaceableTransaction(startBlock); + const txReceipt = await replaceableTx.wait(); + + return txReceipt; + } catch (error) { if (ethers.isError(error, 'TRANSACTION_REPLACED')) { - if (error.reason === 'cancelled') { - cancelCallback(error.replacement.hash); - } else { - replaceCallback(error.replacement.hash); - } - } - } -}; + const replacedTx = error.replacement; -export const waitForEvmTransactionMined = async (hash?: string, updatedCallback?: (hash: string) => void) => { - if (!hash) throw new Error('[waitForEvmTransactionMined]: hash cannot be empty!'); - - await waitForEvmTransactionStatus( - hash, - async (replaceHash: string) => { - updatedCallback?.(replaceHash); - await waitForEvmTransactionMined(replaceHash, updatedCallback); - }, - (cancelHash) => { - throw new Error(`[waitForEvmTransactionMined]: The transaction was canceled by the user [${cancelHash}]`); + replaceCallback?.(replacedTx); + + return await waitForEvmTransactionMined(replacedTx, replaceCallback); } - ); + + throw error; + } }; export const getEvmTransactionRecieptByHash = async ( @@ -55,11 +46,9 @@ export const getEvmTransactionRecieptByHash = async ( if (!receipt) throw new Error(`Transaction receipt "${transactionHash}" not found`); - const { from, gasPrice, gasUsed, blockNumber, blockHash } = receipt; - - const fee = ethersUtil.calcEvmFee(gasPrice, gasUsed); + const { fee, from, blockNumber, blockHash } = receipt; - return { fee, blockHash, blockNumber, from }; + return { fee: fee.toString(), blockHash, blockNumber, from }; } catch (error) { return null; } diff --git a/src/utils/bridge/eth/classes/reducers.ts b/src/utils/bridge/eth/classes/reducers.ts index 6367f6011..9ea449912 100644 --- a/src/utils/bridge/eth/classes/reducers.ts +++ b/src/utils/bridge/eth/classes/reducers.ts @@ -3,14 +3,16 @@ import first from 'lodash/fp/first'; import { BridgeReducer } from '@/utils/bridge/common/classes'; import type { IBridgeReducerOptions, GetBridgeHistoryInstance, SignExternal } from '@/utils/bridge/common/types'; -import { - getEvmTransactionRecieptByHash, - getTransactionEvents, - waitForEvmTransactionMined, -} from '@/utils/bridge/common/utils'; +import { getTransactionEvents, waitForEvmTransactionMined } from '@/utils/bridge/common/utils'; import { ethBridgeApi } from '@/utils/bridge/eth/api'; import type { EthBridgeHistory } from '@/utils/bridge/eth/classes/history'; -import { getTransaction, waitForApprovedRequest, waitForIncomingRequest } from '@/utils/bridge/eth/utils'; +import { + getTransaction, + getTransactionFee, + waitForApprovedRequest, + waitForIncomingRequest, +} from '@/utils/bridge/eth/utils'; +import ethersUtil from '@/utils/ethers-util'; import type { IBridgeTransaction } from '@sora-substrate/util'; import type { RegisteredAccountAsset } from '@sora-substrate/util/build/assets/types'; @@ -39,12 +41,21 @@ export class EthBridgeReducer extends BridgeReducer { async onEvmPending(id: string): Promise { const tx = this.getTransaction(id); - const updatedCallback = (externalHash: string) => this.updateTransactionParams(id, { externalHash }); + const hash = tx.externalHash; - await waitForEvmTransactionMined(tx.externalHash, updatedCallback); + if (!hash) throw new Error(`[${this.constructor.name}]: Ethereum transaction hash is empty`); + + const txResponse = await ethersUtil.getEvmTransaction(hash); + const txReceipt = await waitForEvmTransactionMined(txResponse, (replacedTx) => { + if (replacedTx) { + this.updateTransactionParams(id, { + externalHash: replacedTx.hash, + externalNetworkFee: getTransactionFee(replacedTx), + }); + } + }); - const { fee, blockNumber, blockHash } = - (await getEvmTransactionRecieptByHash(this.getTransaction(id).externalHash as string)) || {}; + const { fee, blockNumber, blockHash } = txReceipt || {}; if (!(fee && blockNumber && blockHash)) { this.updateTransactionParams(id, { externalHash: undefined, externalNetworkFee: undefined }); @@ -55,7 +66,7 @@ export class EthBridgeReducer extends BridgeReducer { // In EthHistory 'blockHeight' will store evm block number this.updateTransactionParams(id, { - externalNetworkFee: fee, + externalNetworkFee: fee.toString(), externalBlockHeight: blockNumber, externalBlockId: blockHash, }); @@ -68,11 +79,11 @@ export class EthBridgeReducer extends BridgeReducer { this.beforeSubmit(id); try { - const { hash: externalHash, fee } = await signExternal(id); - + const signedTx = await signExternal(id); + // update after sign this.updateTransactionParams(id, { - externalHash, - externalNetworkFee: fee ?? tx.externalNetworkFee, + externalHash: signedTx.hash, + externalNetworkFee: getTransactionFee(signedTx), }); } catch (error: any) { // maybe transaction already completed, try to restore ethereum transaction hash diff --git a/src/utils/bridge/eth/utils.ts b/src/utils/bridge/eth/utils.ts index 1feed0caf..8fc63cb1d 100644 --- a/src/utils/bridge/eth/utils.ts +++ b/src/utils/bridge/eth/utils.ts @@ -57,14 +57,16 @@ export const updateTransaction = async (id: string, params = {}) => { }; export const waitForApprovedRequest = async (tx: EthHistory): Promise => { - if (!tx.hash) throw new Error(`[Bridge]: Tx hash cannot be empty`); + const hash = tx.hash; + + if (!hash) throw new Error(`[Bridge]: Tx hash cannot be empty`); if (!Number.isFinite(tx.externalNetwork)) throw new Error(`[Bridge]: Tx externalNetwork should be a number, ${tx.externalNetwork} received`); let subscription!: Subscription; await new Promise((resolve, reject) => { - subscription = ethBridgeApi.subscribeOnRequestStatus(tx.hash as string).subscribe((status) => { + subscription = ethBridgeApi.subscribeOnRequestStatus(hash).subscribe((status) => { switch (status) { case BridgeTxStatus.Failed: case BridgeTxStatus.Frozen: @@ -80,7 +82,11 @@ export const waitForApprovedRequest = async (tx: EthHistory): Promise => { @@ -282,3 +288,10 @@ export async function getEthNetworkFee( return ethersUtil.calcEvmFee(gasPrice, gasLimitTotal); } + +export const getTransactionFee = (tx: ethers.TransactionResponse | ethers.TransactionReceipt) => { + const gasPrice = tx.gasPrice; + const gasAmount = 'gasUsed' in tx ? tx.gasUsed : tx.gasLimit; + + return ethersUtil.calcEvmFee(gasPrice, gasAmount); +}; diff --git a/src/utils/card.ts b/src/utils/card.ts index 41a0a1d1b..676446e3f 100644 --- a/src/utils/card.ts +++ b/src/utils/card.ts @@ -1,10 +1,13 @@ import { WALLET_CONSTS } from '@soramitsu/soraneo-wallet-web'; -import jwtDecode, { JwtPayload } from 'jwt-decode'; +import { jwtDecode } from 'jwt-decode'; import store from '@/store'; import { waitForSoraNetworkFromEnv } from '@/utils'; -import { AttemptCounter, Fees, KycStatus, PhoneCode, Status, UserInfo, VerificationStatus } from '../types/card'; +import { KycStatus, VerificationStatus } from '../types/card'; + +import type { AttemptCounter, Fees, PhoneCode, Status, UserInfo } from '../types/card'; +import type { JwtPayload } from 'jwt-decode'; const soraCardTestBaseEndpoint = 'https://backend.dev.sora-card.tachi.soramitsu.co.jp'; const soraCardProdBaseEndpoint = 'https://backend.sora-card.odachi.soramitsu.co.jp'; diff --git a/src/views/ReferralProgram.vue b/src/views/ReferralProgram.vue index 779f8726e..0e8d5a076 100644 --- a/src/views/ReferralProgram.vue +++ b/src/views/ReferralProgram.vue @@ -177,6 +177,7 @@ import { Component, Mixins, Watch } from 'vue-property-decorator'; import { getFullBaseUrl, getRouterMode } from '@/api'; import WalletConnectMixin from '@/components/mixins/WalletConnectMixin'; import { PageNames, ZeroStringValue } from '@/consts'; +import type { ReferrerRewards } from '@/indexer/queries/referrals'; import router, { lazyView } from '@/router'; import { action, getter, mutation, state } from '@/store/decorators'; import { formatAddress } from '@/utils'; @@ -197,7 +198,6 @@ import type { AccountAsset } from '@sora-substrate/util/build/assets/types'; export default class ReferralProgram extends Mixins( mixins.LoadingMixin, mixins.FormattedAmountMixin, - mixins.ReferralRewardsMixin, mixins.PaginationSearchMixin, mixins.NetworkFeeWarningMixin, mixins.CopyAddressMixin, @@ -209,6 +209,7 @@ export default class ReferralProgram extends Mixins( referrerHasApproved = false; pageAmount = 5; // override PaginationSearchMixin + @state.referrals.referralRewards referralRewards!: Nullable; @state.referrals.invitedUsers invitedUsers!: Array; @state.referrals.referrer referrer!: string; @state.referrals.isReferrerApproved isReferrerApproved!: boolean; @@ -221,23 +222,28 @@ export default class ReferralProgram extends Mixins( @mutation.referrals.setStorageReferrer private setStorageReferrer!: (value: string) => void; @action.referrals.subscribeOnInvitedUsers private subscribeOnInvitedUsers!: AsyncFnWithoutArgs; @action.referrals.getReferrer private getReferrer!: AsyncFnWithoutArgs; + @action.referrals.getAccountReferralRewards private getAccountReferralRewards!: AsyncFnWithoutArgs; @action.referrals.subscribeOnReferrer private subscribeOnReferrer!: AsyncFnWithoutArgs; @Watch('isSoraAccountConnected') private async updateSubscriptions(value: boolean): Promise { if (value) { - if (this.isSoraAccountConnected) { - await this.subscribeOnInvitedUsers(); - await this.getAccountReferralRewards(); - await this.getReferrer(); - await this.subscribeOnReferrer(); - } + this.initData(); } else { this.unsubscribeFromInvitedUsers(); this.resetReferrerSubscription(); } } + private async initData(): Promise { + if (this.isSoraAccountConnected) { + await this.subscribeOnInvitedUsers(); + await this.getAccountReferralRewards(); + await this.getReferrer(); + await this.subscribeOnReferrer(); + } + } + get isPriceAvailable(): boolean { return !!this.getAssetFiatPrice(XOR); } @@ -247,7 +253,7 @@ export default class ReferralProgram extends Mixins( } get formattedRewards(): string { - return this.referralRewards?.rewards.toLocaleString() || ZeroStringValue; + return this.referralRewards?.rewards.toLocaleString() ?? ZeroStringValue; } get formattedRewardsFiatValue(): Nullable { @@ -256,8 +262,8 @@ export default class ReferralProgram extends Mixins( return this.getFiatAmountByFPNumber(this.referralRewards.rewards); } - get invitedUserRewards(): Record { - return this.referralRewards?.invitedUserRewards; + get invitedUserRewards(): Record { + return this.referralRewards?.invitedUserRewards ?? {}; } get bondedXorCodecBalance(): CodecString { @@ -383,12 +389,7 @@ export default class ReferralProgram extends Mixins( created(): void { this.withApi(async () => { - if (this.isSoraAccountConnected) { - await this.subscribeOnInvitedUsers(); - await this.getAccountReferralRewards(); - await this.getReferrer(); - await this.subscribeOnReferrer(); - } + await this.initData(); }); } @@ -398,7 +399,7 @@ export default class ReferralProgram extends Mixins( } getInvitedUserReward(invitedUser: string): string { - const rewards = this.invitedUserRewards[invitedUser]?.rewards; + const rewards = this.invitedUserRewards[invitedUser]; if (typeof invitedUser === 'string' && rewards) { return this.formatCodecNumber(rewards.toCodecString()); } diff --git a/yarn.lock b/yarn.lock index 635122014..1b68947cb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1004,10 +1004,10 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.12.13", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.8.4": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" - integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== +"@babel/runtime@^7.12.13", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.6", "@babel/runtime@^7.23.9", "@babel/runtime@^7.8.4": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" + integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== dependencies: regenerator-runtime "^0.14.0" @@ -2349,71 +2349,71 @@ resolved "https://registry.yarnpkg.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz#a53515db25d8038374381b73af20bb4f2e508d87" integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== -"@sora-substrate/api@1.30.0": - version "1.30.0" - resolved "https://registry.yarnpkg.com/@sora-substrate/api/-/api-1.30.0.tgz#d533dc4b78412d3d46d7617c96bf76ae4ba83ba1" - integrity sha512-tDqycroXKOygMIy6rrWT87wWRd7Lb3uZDaV/jAuipZ0DgA41YkEacIkmaBTuCmr32OW9qGR5Wsd66xTVxlL2Kg== +"@sora-substrate/api@1.32.7": + version "1.32.7" + resolved "https://registry.yarnpkg.com/@sora-substrate/api/-/api-1.32.7.tgz#5cb0b80642bb0cfae3319fec282d6e7f1d07fb39" + integrity sha512-vqmI91D3EVkc6fJEvWbgqoBxpWHfUhnIW/Hl4YlQbLZFJk5SvhB1hgmGYQAF7vH25Q0VeKKn4Fdzn2AC5N7yzA== dependencies: "@open-web3/orml-api-derive" "1.1.4" "@polkadot/api" "9.14.2" - "@sora-substrate/types" "1.30.0" + "@sora-substrate/types" "1.32.7" -"@sora-substrate/connection@1.30.0": - version "1.30.0" - resolved "https://registry.yarnpkg.com/@sora-substrate/connection/-/connection-1.30.0.tgz#8b9948432c688ff889223ca9d51912273198b12a" - integrity sha512-a0eIvRcUOqAFXqHZdRX6QD3V0ArLg2wEJsD/XvtEVm0xiCbmhY5uZZts68s3dSu+OiJW0hrMsw3m8AGMFEKIGg== +"@sora-substrate/connection@1.32.7": + version "1.32.7" + resolved "https://registry.yarnpkg.com/@sora-substrate/connection/-/connection-1.32.7.tgz#b617d1f9b7575f178d4fb8ad3c87035d939f83e5" + integrity sha512-xWndmli4H/162yRWi57XCVOOkGvnkox9lq4bY86QsUmYD+LEX+goi0eIA/NAUo5Edtmn7/jgRfvjWTK4+XCuxA== dependencies: - "@sora-substrate/api" "1.30.0" + "@sora-substrate/api" "1.32.7" -"@sora-substrate/liquidity-proxy@1.30.0": - version "1.30.0" - resolved "https://registry.yarnpkg.com/@sora-substrate/liquidity-proxy/-/liquidity-proxy-1.30.0.tgz#61d81c36bdb5139663aa162c09d0818ef4c9b75b" - integrity sha512-UkmLuO0r0XBmjHM3yHRQEQ+f+bIF7EBXIrbNOZoO/vzZF0AFPEBdLMSC+HJh2m6+FbGD/fq09N23qYURgvJ4kQ== +"@sora-substrate/liquidity-proxy@1.32.7": + version "1.32.7" + resolved "https://registry.yarnpkg.com/@sora-substrate/liquidity-proxy/-/liquidity-proxy-1.32.7.tgz#605c08ad03977317116384005c445d886b9a5e67" + integrity sha512-CTZdtF8B4GvN56uElJZXZCrYPXOIRs96WRaZUofh37pFrz8ylWY3r75EzNg/DHPxgQzV3Vd4Iw1VqBZSO9MREg== dependencies: - "@sora-substrate/math" "1.30.0" + "@sora-substrate/math" "1.32.7" -"@sora-substrate/math@1.30.0": - version "1.30.0" - resolved "https://registry.yarnpkg.com/@sora-substrate/math/-/math-1.30.0.tgz#8ebe93e0f448de5ebda02afcc7026c6d0c008cfd" - integrity sha512-SHlOalb0Dl8VasghWPIyXubXemIhheni1Iyw/EV/+x/7kgVR81Oih++8TpG4gvZea7aCxDkiJnpmuEmEx/aDNw== +"@sora-substrate/math@1.32.7": + version "1.32.7" + resolved "https://registry.yarnpkg.com/@sora-substrate/math/-/math-1.32.7.tgz#6beeb5e7dcd51a9031d6a5731427df9c2a022585" + integrity sha512-2ps8s5ZAgj6DIMJtYXxxtFs1I72xlJYI7MbAEDFAYonONjqcfO+OYYWIk5EwkkKHKrer49LsDB36qlIyqxqDWg== dependencies: "@polkadot/types" "9.14.2" - bignumber.js "^9.0.1" - lodash "^4.17.15" + bignumber.js "^9.1.2" + lodash "^4.17.21" -"@sora-substrate/type-definitions@1.30.0": - version "1.30.0" - resolved "https://registry.yarnpkg.com/@sora-substrate/type-definitions/-/type-definitions-1.30.0.tgz#f21f928af77a31b101273cff01fdc18948f0088b" - integrity sha512-q+L9TVYhLv/PFVn9li4cFvIpxS8f2jIfZS/CmWQbFt/5GKEN1EBmHWwi7gugi8QiF1CjMECtm6cF7SxjPmeqeQ== +"@sora-substrate/type-definitions@1.32.7": + version "1.32.7" + resolved "https://registry.yarnpkg.com/@sora-substrate/type-definitions/-/type-definitions-1.32.7.tgz#91757e50c89ce32bb12fd70efee94ac5f43bb278" + integrity sha512-zFUXj9QA7XAiEp60PCkOp0Hgo3U1R+7lTscgLoylsftQW8TAz5vj8rtVQjtbhOxIAd4jEcFlBtuvpgCp7SywpQ== dependencies: "@open-web3/orml-type-definitions" "1.1.4" -"@sora-substrate/types@1.30.0": - version "1.30.0" - resolved "https://registry.yarnpkg.com/@sora-substrate/types/-/types-1.30.0.tgz#d7f5a30d3f5e01e9c16b365e7bda6eaf51319337" - integrity sha512-7gNzh8sNRvCKemy6KrhkDA0edQTzhLCd9lxyc4uwAOCCXhy2dG8lwcIYap6jTeqhJTDVeHbpai9n1bZjCwrqQQ== +"@sora-substrate/types@1.32.7": + version "1.32.7" + resolved "https://registry.yarnpkg.com/@sora-substrate/types/-/types-1.32.7.tgz#9dc98442d333aa07d4eaf8b770bfe0cd1a5a4e8a" + integrity sha512-7BoPvbfEBFndJz6YxS0NnBaasfd2ObaBoNKDbiFDnp4JUFOCmwJoND3x78WuSo7jp6qL4HtgUK4kihbQxUpRFA== dependencies: "@open-web3/api-mobx" "0.9.4-26" "@open-web3/orml-types" "1.1.4" "@polkadot/api" "9.14.2" "@polkadot/typegen" "9.14.2" "@polkadot/types" "9.14.2" - "@sora-substrate/type-definitions" "1.30.0" + "@sora-substrate/type-definitions" "1.32.7" -"@sora-substrate/util@1.30.0": - version "1.30.0" - resolved "https://registry.yarnpkg.com/@sora-substrate/util/-/util-1.30.0.tgz#bce42fa704edce938dce1e30ded5bae490a969a5" - integrity sha512-sQ0Zn76HrNSUicZsbPxq8YxBTtrT/0KeHwO1UTLAoAJYBUi+CKP/ogO5s8Kq4Q+m6q3IarPhMnzJhuwed4FhPg== +"@sora-substrate/util@1.32.7": + version "1.32.7" + resolved "https://registry.yarnpkg.com/@sora-substrate/util/-/util-1.32.7.tgz#a556730afe954613328cb50bf2403ea5266f6aaa" + integrity sha512-THjeHA04Kj6Yd4HjEaNZT1pwAxrW7bXwe2vSB+MySlPP9yLFsuFAPoJV4irXcz8vltAuFe1nlfxZnjHoPXTksA== dependencies: "@polkadot/ui-keyring" "2.12.1" - "@sora-substrate/api" "1.30.0" - "@sora-substrate/connection" "1.30.0" - "@sora-substrate/liquidity-proxy" "1.30.0" - "@sora-substrate/math" "1.30.0" - "@sora-substrate/types" "1.30.0" - axios "^0.21.1" - crypto-js "^4.0.0" - lodash "^4.17.15" + "@sora-substrate/api" "1.32.7" + "@sora-substrate/connection" "1.32.7" + "@sora-substrate/liquidity-proxy" "1.32.7" + "@sora-substrate/math" "1.32.7" + "@sora-substrate/types" "1.32.7" + axios "^1.6.7" + crypto-js "^4.2.0" + lodash "^4.17.21" "@sora-test/wallet-connect@^0.0.9": version "0.0.9" @@ -2443,13 +2443,13 @@ vue-property-decorator "^9.1.2" vuex "^3.6.2" -"@soramitsu/soraneo-wallet-web@1.30.0": - version "1.30.0" - resolved "https://nexus.iroha.tech/repository/npm-group/@soramitsu/soraneo-wallet-web/-/soraneo-wallet-web-1.30.0.tgz#78f9f6e50a0992354e72cccfbdecc830ecc073e5" - integrity sha512-5lnyMaYr+IXoFmllpmFpYeXQn/PrRxex6+29J/Y56TPVindOgZzpJ0iLjZI1h6HBwt9PGNs3K8LBSsFstj1DUg== +"@soramitsu/soraneo-wallet-web@1.32.4": + version "1.32.4" + resolved "https://nexus.iroha.tech/repository/npm-group/@soramitsu/soraneo-wallet-web/-/soraneo-wallet-web-1.32.4.tgz#0a82fbf24d748ed9645fd0a01d8df891c1b41ea7" + integrity sha512-JGHDOkse0LQL0s1RXUNZ84s3C8+OowEdMeItwkKm/6eLgv+e9hntPIjz2JcQ2h6VgXO+mUuyhvYtMrNChM/ilg== dependencies: "@polkadot/vue-identicon" "2.12.1" - "@sora-substrate/util" "1.30.0" + "@sora-substrate/util" "1.32.7" "@sora-test/wallet-connect" "^0.0.9" "@soramitsu-ui/ui-vue2" "^1.1.1" "@urql/core" "^4.1.2" @@ -2457,7 +2457,7 @@ "@zxing/library" "^0.20.0" base-64 "^1.0.0" core-js "^3.32.2" - crypto-js "^4.1.1" + crypto-js "^4.2.0" crypto-random-string "^5.0.0" dayjs "^1.11.9" direct-vuex "^0.12.1" @@ -2751,10 +2751,10 @@ dependencies: "@types/ms" "*" -"@types/electron-devtools-installer@^2.2.3": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@types/electron-devtools-installer/-/electron-devtools-installer-2.2.3.tgz#58009e74c4b69003f32eff4efdf6586e5b29e26b" - integrity sha512-a/+y/IvUKiNAFDYuzxuqcfj40RZc+oFmvwvXnysHTtYRmm4InLVJf20cmIb0//s/HKdbZoQV1srT9/XDd+Efrg== +"@types/electron-devtools-installer@^2.2.5": + version "2.2.5" + resolved "https://registry.yarnpkg.com/@types/electron-devtools-installer/-/electron-devtools-installer-2.2.5.tgz#33572d0edee2510a6c293d0d5c858ee09f07cd19" + integrity sha512-DhH8z0dadKuDolvH4TiW40Vp7H3VyZbOoZv98hhBaUfnxmvvcXTjkZjzw/54xvAmuG4KFzExOGAiVLg3jM2ojQ== "@types/eslint-scope@^3.7.3": version "3.7.4" @@ -2880,18 +2880,18 @@ jest-matcher-utils "^27.0.0" pretty-format "^27.0.0" -"@types/jest@^29.5.5": - version "29.5.5" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.5.tgz#727204e06228fe24373df9bae76b90f3e8236a2a" - integrity sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg== +"@types/jest@^29.5.12": + version "29.5.12" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" + integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== dependencies: expect "^29.0.0" pretty-format "^29.0.0" -"@types/jsdom@^21.1.3": - version "21.1.3" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-21.1.3.tgz#a88c5dc65703e1b10b2a7839c12db49662b43ff0" - integrity sha512-1zzqSP+iHJYV4lB3lZhNBa012pubABkj9yG/GuXuf6LZH1cSPIJBqFDrm5JX65HHt6VOnNYdTui/0ySerRbMgA== +"@types/jsdom@^21.1.6": + version "21.1.6" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-21.1.6.tgz#bcbc7b245787ea863f3da1ef19aa1dcfb9271a1b" + integrity sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw== dependencies: "@types/node" "*" "@types/tough-cookie" "*" @@ -2907,10 +2907,10 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/lodash@^4.14.199": - version "4.14.199" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.199.tgz#c3edb5650149d847a277a8961a7ad360c474e9bf" - integrity sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== +"@types/lodash@^4.14.202": + version "4.14.202" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" + integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== "@types/long@^4.0.1": version "4.0.2" @@ -2955,12 +2955,12 @@ "@types/node" "*" form-data "^3.0.0" -"@types/node@*", "@types/node@>=13.7.0", "@types/node@^20.8.4": - version "20.8.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.4.tgz#0e9ebb2ff29d5c3302fc84477d066fa7c6b441aa" - integrity sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A== +"@types/node@*", "@types/node@>=13.7.0", "@types/node@^20.11.21": + version "20.11.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.21.tgz#ad67e65652f7be15686e2df87a38076a81c5e9c5" + integrity sha512-/ySDLGscFPNasfqStUuWWPfL78jompfIoVzLJPVVAHBh6rpG68+pI2Gk+fNLeI8/f1yPYL4s46EleVIc20F1Ow== dependencies: - undici-types "~5.25.1" + undici-types "~5.26.4" "@types/node@18.15.13": version "18.15.13" @@ -3565,10 +3565,10 @@ resolved "https://registry.yarnpkg.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz#b6b40a7625429d2bd7c2281ddba601ed05dc7f1a" integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA== -"@walletconnect/core@2.11.0": - version "2.11.0" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.11.0.tgz#3a4e301077b2f858fd916b7a20b5b984d1afce63" - integrity sha512-2Tjp5BCevI7dbmqo/OrCjX4tqgMqwJNQLlQAlphqPfvwlF9+tIu6pGcVbSN3U9zyXzWIZCeleqEaWUeSeET4Ew== +"@walletconnect/core@2.11.2": + version "2.11.2" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.11.2.tgz#35286be92c645fa461fecc0dfe25de9f076fca8f" + integrity sha512-bB4SiXX8hX3/hyBfVPC5gwZCXCl+OPj+/EDVM71iAO3TDsh78KPbrVAbDnnsbHzZVHlsMohtXX3j5XVsheN3+g== dependencies: "@walletconnect/heartbeat" "1.2.1" "@walletconnect/jsonrpc-provider" "1.0.13" @@ -3581,8 +3581,8 @@ "@walletconnect/relay-auth" "^1.0.4" "@walletconnect/safe-json" "^1.0.2" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.11.0" - "@walletconnect/utils" "2.11.0" + "@walletconnect/types" "2.11.2" + "@walletconnect/utils" "2.11.2" events "^3.3.0" isomorphic-unfetch "3.1.0" lodash.isequal "4.5.0" @@ -3595,20 +3595,20 @@ dependencies: tslib "1.14.1" -"@walletconnect/ethereum-provider@^2.11.0": - version "2.11.0" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.11.0.tgz#feb90368d8b2608d7d120ac8feeb3e26eac8c709" - integrity sha512-YrTeHVjuSuhlUw7SQ6xBJXDuJ6iAC+RwINm9nVhoKYJSHAy3EVSJZOofMKrnecL0iRMtD29nj57mxAInIBRuZA== +"@walletconnect/ethereum-provider@^2.11.2": + version "2.11.2" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.11.2.tgz#914f773e37a879bc00cf367437c4e98a826247b1" + integrity sha512-BUDqee0Uy2rCZVkW5Ao3q6Ado/3fePYnFdryVF+YL6bPhj+xQZ5OfKodl+uvs7Rwq++O5wTX2RqOTzpW7+v+Mg== dependencies: "@walletconnect/jsonrpc-http-connection" "^1.0.7" "@walletconnect/jsonrpc-provider" "^1.0.13" "@walletconnect/jsonrpc-types" "^1.0.3" "@walletconnect/jsonrpc-utils" "^1.0.8" "@walletconnect/modal" "^2.6.2" - "@walletconnect/sign-client" "2.11.0" - "@walletconnect/types" "2.11.0" - "@walletconnect/universal-provider" "2.11.0" - "@walletconnect/utils" "2.11.0" + "@walletconnect/sign-client" "2.11.2" + "@walletconnect/types" "2.11.2" + "@walletconnect/universal-provider" "2.11.2" + "@walletconnect/utils" "2.11.2" events "^3.3.0" "@walletconnect/events@^1.0.1": @@ -3743,19 +3743,19 @@ dependencies: tslib "1.14.1" -"@walletconnect/sign-client@2.11.0": - version "2.11.0" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.11.0.tgz#de10f976cc1b8ab04b7f7c27f6a298e4e083ab25" - integrity sha512-H2ukscibBS+6WrzQWh+WyVBqO5z4F5et12JcwobdwgHnJSlqIoZxqnUYYWNCI5rUR5UKsKWaUyto4AE9N5dw4Q== +"@walletconnect/sign-client@2.11.2": + version "2.11.2" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.11.2.tgz#855609653855f0d23b0502cdbdcf43402e34c459" + integrity sha512-MfBcuSz2GmMH+P7MrCP46mVE5qhP0ZyWA0FyIH6/WuxQ6G+MgKsGfaITqakpRPsykWOJq8tXMs3XvUPDU413OQ== dependencies: - "@walletconnect/core" "2.11.0" + "@walletconnect/core" "2.11.2" "@walletconnect/events" "^1.0.1" "@walletconnect/heartbeat" "1.2.1" "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/logger" "^2.0.1" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.11.0" - "@walletconnect/utils" "2.11.0" + "@walletconnect/types" "2.11.2" + "@walletconnect/utils" "2.11.2" events "^3.3.0" "@walletconnect/time@^1.0.2": @@ -3765,10 +3765,10 @@ dependencies: tslib "1.14.1" -"@walletconnect/types@2.11.0": - version "2.11.0" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.11.0.tgz#474a009c56faa9ef4063b76ed84415c801dc9f1e" - integrity sha512-AB5b1lrEbCGHxqS2vqfCkIoODieH+ZAUp9rA1O2ftrhnqDJiJK983Df87JhYhECsQUBHHfALphA8ydER0q+9sw== +"@walletconnect/types@2.11.2": + version "2.11.2" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.11.2.tgz#d0359dd4106fcaa1634241a00428d3ea08d0d3c7" + integrity sha512-p632MFB+lJbip2cvtXPBQslpUdiw1sDtQ5y855bOlAGquay+6fZ4h1DcDePeKQDQM3P77ax2a9aNPZxV6y/h1Q== dependencies: "@walletconnect/events" "^1.0.1" "@walletconnect/heartbeat" "1.2.1" @@ -3777,25 +3777,25 @@ "@walletconnect/logger" "^2.0.1" events "^3.3.0" -"@walletconnect/universal-provider@2.11.0": - version "2.11.0" - resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.11.0.tgz#89053c2360b5ce766c213ca4e33bb4ce4976b0be" - integrity sha512-zgJv8jDvIMP4Qse/D9oIRXGdfoNqonsrjPZanQ/CHNe7oXGOBiQND2IIeX+tS0H7uNA0TPvctljCLiIN9nw4eA== +"@walletconnect/universal-provider@2.11.2": + version "2.11.2" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.11.2.tgz#bec3038f51445d707bbec75f0cb8af0a1f1e04db" + integrity sha512-cNtIn5AVoDxKAJ4PmB8m5adnf5mYQMUamEUPKMVvOPscfGtIMQEh9peKsh2AN5xcRVDbgluC01Id545evFyymw== dependencies: "@walletconnect/jsonrpc-http-connection" "^1.0.7" "@walletconnect/jsonrpc-provider" "1.0.13" "@walletconnect/jsonrpc-types" "^1.0.2" "@walletconnect/jsonrpc-utils" "^1.0.7" "@walletconnect/logger" "^2.0.1" - "@walletconnect/sign-client" "2.11.0" - "@walletconnect/types" "2.11.0" - "@walletconnect/utils" "2.11.0" + "@walletconnect/sign-client" "2.11.2" + "@walletconnect/types" "2.11.2" + "@walletconnect/utils" "2.11.2" events "^3.3.0" -"@walletconnect/utils@2.11.0": - version "2.11.0" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.11.0.tgz#31c95151c823022077883dda61800cdea71879b7" - integrity sha512-hxkHPlTlDQILHfIKXlmzgNJau/YcSBC3XHUSuZuKZbNEw3duFT6h6pm3HT/1+j1a22IG05WDsNBuTCRkwss+BQ== +"@walletconnect/utils@2.11.2": + version "2.11.2" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.11.2.tgz#dee0f19adf5e38543612cbe9fa4de7ed28eb7e85" + integrity sha512-LyfdmrnZY6dWqlF4eDrx5jpUwsB2bEPjoqR5Z6rXPiHJKUOdJt7az+mNOn5KTSOlRpd1DmozrBrWr+G9fFLYVw== dependencies: "@stablelib/chacha20poly1305" "1.0.1" "@stablelib/hkdf" "1.0.1" @@ -3805,7 +3805,7 @@ "@walletconnect/relay-api" "^1.0.9" "@walletconnect/safe-json" "^1.0.2" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.11.0" + "@walletconnect/types" "2.11.2" "@walletconnect/window-getters" "^1.0.1" "@walletconnect/window-metadata" "^1.0.1" detect-browser "5.3.0" @@ -4448,7 +4448,7 @@ assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== -assert@^2.0.0: +assert@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== @@ -4520,12 +4520,14 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -axios@^0.21.1: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== +axios@^1.6.7: + version "1.6.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" + integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== dependencies: - follow-redirects "^1.14.0" + follow-redirects "^1.15.4" + form-data "^4.0.0" + proxy-from-env "^1.1.0" babel-helper-vue-jsx-merge-props@^2.0.0: version "2.0.3" @@ -4682,7 +4684,7 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -bignumber.js@^9.0.1: +bignumber.js@^9.1.2: version "9.1.2" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== @@ -5660,10 +5662,10 @@ core-js@^2.4.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-js@^3.26.1, core-js@^3.32.2, core-js@^3.33.2, core-js@^3.8.3: - version "3.33.2" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.2.tgz#312bbf6996a3a517c04c99b9909cdd27138d1ceb" - integrity sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ== +core-js@^3.26.1, core-js@^3.32.2, core-js@^3.36.0, core-js@^3.8.3: + version "3.36.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.36.0.tgz#e752fa0b0b462a0787d56e9d73f80b0f7c0dde68" + integrity sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw== core-util-is@1.0.2: version "1.0.2" @@ -5712,12 +5714,10 @@ country-code-emoji@^2.3.0: resolved "https://registry.yarnpkg.com/country-code-emoji/-/country-code-emoji-2.3.0.tgz#17de6ef57964467568a53ae9fb30044371a5055c" integrity sha512-MqmIWr3aucoU/3XZU44e0sz6izAlErqaUYp9/NFzdnzb9TrwwornyW3ws2da5TSnpTUr2qP2840oJW9oNKXCoQ== -country-flag-emoji-polyfill@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/country-flag-emoji-polyfill/-/country-flag-emoji-polyfill-0.1.4.tgz#54b7ca61220c124b11d3091c46d16bd7f3ba0016" - integrity sha512-e20azlb9yHb3mpL3lAlhkidmJgB5TELpA8oe0DPlyIfnqXhAGBmgLDpC+mm+Envh57n1xPrOfkJtXq2CrpvoGQ== - dependencies: - is-emoji-supported "^0.0.5" +country-flag-emoji-polyfill@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/country-flag-emoji-polyfill/-/country-flag-emoji-polyfill-0.1.8.tgz#d2cfb23dd2f949b80d83eb9822b613bf62957173" + integrity sha512-Mbah52sADS3gshUYhK5142gtUuJpHYOXlXtLFI3Ly4RqgkmPMvhX9kMZSTqDM8P7UqtSW99eHKFphhQSGXA3Cg== crc@^3.8.0: version "3.8.0" @@ -5810,10 +5810,10 @@ crypto-browserify@^3.12.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-js@^4.0.0, crypto-js@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" - integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== +crypto-js@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" + integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== crypto-random-string@^2.0.0: version "2.0.0" @@ -6423,13 +6423,13 @@ easy-stack@1.0.1: resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066" integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== -echarts@^5.4.3: - version "5.4.3" - resolved "https://registry.yarnpkg.com/echarts/-/echarts-5.4.3.tgz#f5522ef24419164903eedcfd2b506c6fc91fb20c" - integrity sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA== +echarts@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/echarts/-/echarts-5.5.0.tgz#c13945a7f3acdd67c134d8a9ac67e917830113ac" + integrity sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw== dependencies: tslib "2.3.0" - zrender "5.4.4" + zrender "5.5.0" ed2curve@^0.3.0: version "0.3.0" @@ -7456,11 +7456,6 @@ filter-obj@^1.1.0: resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== -filter-obj@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-2.0.2.tgz#fff662368e505d69826abb113f0f6a98f56e9d5f" - integrity sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg== - finalhandler@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" @@ -7526,10 +7521,10 @@ flatted@^3.2.7: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.15.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" - integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== +follow-redirects@^1.0.0, follow-redirects@^1.15.4: + version "1.15.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== for-each@^0.3.3: version "0.3.3" @@ -8703,11 +8698,6 @@ is-electron@^2.2.0, is-electron@^2.2.2: resolved "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.2.tgz#3778902a2044d76de98036f5dc58089ac4d80bb9" integrity sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg== -is-emoji-supported@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/is-emoji-supported/-/is-emoji-supported-0.0.5.tgz#f22301b22c63d6322935e829f39dfa59d03a7fe2" - integrity sha512-WOlXUhDDHxYqcSmFZis+xWhhqXiK2SU0iYiqmth5Ip0FHLZQAt9rKL5ahnilE8/86WH8tZ3bmNNNC+bTzamqlw== - is-extendable@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -9916,10 +9906,10 @@ jszip@^3.1.0: readable-stream "~2.3.6" setimmediate "^1.0.5" -jwt-decode@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-3.1.2.tgz#3fb319f3675a2df0c2895c8f5e9fa4b67b04ed59" - integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A== +jwt-decode@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-4.0.0.tgz#2270352425fd413785b2faf11f6e755c5151bd4b" + integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA== keyv@^3.0.0: version "3.1.0" @@ -10903,12 +10893,12 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-polyfill-webpack-plugin@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-2.0.1.tgz#141d86f177103a8517c71d99b7c6a46edbb1bb58" - integrity sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A== +node-polyfill-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-3.0.0.tgz#296b8235d081af368cd413f4c77e68c98919d99c" + integrity sha512-QpG496dDBiaelQZu9wDcVvpLbtk7h9Ctz693RaUMZBgl8DUoFToO90ZTLKq57gP7rwKqYtGbMBXkcEgLSag2jQ== dependencies: - assert "^2.0.0" + assert "^2.1.0" browserify-zlib "^0.2.0" buffer "^6.0.3" console-browserify "^1.2.0" @@ -10916,22 +10906,21 @@ node-polyfill-webpack-plugin@^2.0.1: crypto-browserify "^3.12.0" domain-browser "^4.22.0" events "^3.3.0" - filter-obj "^2.0.2" https-browserify "^1.0.0" os-browserify "^0.3.0" path-browserify "^1.0.1" process "^0.11.10" - punycode "^2.1.1" + punycode "^2.3.0" querystring-es3 "^0.2.1" - readable-stream "^4.0.0" + readable-stream "^4.4.2" stream-browserify "^3.0.0" stream-http "^3.2.0" string_decoder "^1.3.0" timers-browserify "^2.0.12" tty-browserify "^0.0.1" - type-fest "^2.14.0" - url "^0.11.0" - util "^0.12.4" + type-fest "^4.4.0" + url "^0.11.3" + util "^0.12.5" vm-browserify "^1.1.2" node-releases@^2.0.13: @@ -11980,6 +11969,11 @@ proxy-compare@2.5.1: resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -12015,10 +12009,10 @@ punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== -punycode@^2.1.0, punycode@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== pupa@^2.1.1: version "2.1.1" @@ -12212,10 +12206,10 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^4.0.0: - version "4.4.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.4.2.tgz#e6aced27ad3b9d726d8308515b9a1b98dc1b9d13" - integrity sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA== +readable-stream@^4.4.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.5.2.tgz#9e7fc4c45099baeed934bff6eb97ba6cf2729e09" + integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g== dependencies: abort-controller "^3.0.0" buffer "^6.0.3" @@ -12561,17 +12555,17 @@ sanitize-filename@^1.6.3: dependencies: truncate-utf8-bytes "^1.0.0" -sass-loader@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.3.2.tgz#460022de27aec772480f03de17f5ba88fa7e18c6" - integrity sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg== +sass-loader@^14.1.1: + version "14.1.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-14.1.1.tgz#2c9d2277c5b1c5fe789cd0570c046d8ad23cb7ca" + integrity sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw== dependencies: neo-async "^2.6.2" -sass@^1.66.1: - version "1.66.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.66.1.tgz#04b51c4671e4650aa393740e66a4e58b44d055b1" - integrity sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA== +sass@^1.71.1: + version "1.71.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.71.1.tgz#dfb09c63ce63f89353777bbd4a88c0a38386ee54" + integrity sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -13702,11 +13696,16 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-fest@^2.12.2, type-fest@^2.14.0: +type-fest@^2.12.2: version "2.19.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== +type-fest@^4.4.0: + version "4.10.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.10.3.tgz#ff01cb0a1209f59583d61e1312de9715e7ea4874" + integrity sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA== + type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -13776,10 +13775,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@~5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== +typescript@~5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== ufo@^1.3.0, ufo@^1.3.1, ufo@^1.3.2: version "1.3.2" @@ -13813,10 +13812,10 @@ uncrypto@^0.1.3: resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== -undici-types@~5.25.1: - version "5.25.3" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" - integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== unenv@^1.7.4: version "1.8.0" @@ -13974,10 +13973,10 @@ url-parse@^1.5.3: querystringify "^2.1.1" requires-port "^1.0.0" -url@^0.11.0: - version "0.11.2" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.2.tgz#02f250a6e0d992b781828cd456d44f49bf2e19dd" - integrity sha512-7yIgNnrST44S7PJ5+jXbdIupfU1nWUdQJBFBeJRclPXiWgCvrSq5Frw8lr/i//n5sqDfzoKmBymMS81l4U/7cg== +url@^0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" + integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== dependencies: punycode "^1.4.1" qs "^6.11.2" @@ -14004,7 +14003,7 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util@^0.12.3, util@^0.12.4, util@^0.12.5: +util@^0.12.3, util@^0.12.5: version "0.12.5" resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== @@ -14141,10 +14140,10 @@ vue-demi@^0.13.11: resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.13.11.tgz#7d90369bdae8974d87b1973564ad390182410d99" integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== -vue-echarts@^6.3.3: - version "6.6.1" - resolved "https://registry.yarnpkg.com/vue-echarts/-/vue-echarts-6.6.1.tgz#5b0398427ea98ba33175bdc80f34af4ce8f27ee4" - integrity sha512-EpreTzlNeJ+eaUn0AhXEmKJk98xJGecgTqAdyZovoXWnhTxnlW2HuBM0ei3y8rLw1JCUabf8/sYvxjlr8SzBKQ== +vue-echarts@^6.6.9: + version "6.6.9" + resolved "https://registry.yarnpkg.com/vue-echarts/-/vue-echarts-6.6.9.tgz#151372ecd086db985dafeeebd3ea83c8d4d2846b" + integrity sha512-mojIq3ZvsjabeVmDthhAUDV8Kgf2Rr/X4lV4da7gEFd1fP05gcSJ0j7wa7HQkW5LlFmF2gdCJ8p4Chas6NNIQQ== dependencies: resize-detector "^0.3.0" vue-demi "^0.13.11" @@ -14794,9 +14793,9 @@ yorkie@^2.0.0: normalize-path "^1.0.0" strip-indent "^2.0.0" -zrender@5.4.4: - version "5.4.4" - resolved "https://registry.yarnpkg.com/zrender/-/zrender-5.4.4.tgz#8854f1d95ecc82cf8912f5a11f86657cb8c9e261" - integrity sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw== +zrender@5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/zrender/-/zrender-5.5.0.tgz#54d0d6c4eda81a96d9f60a9cd74dc48ea026bc1e" + integrity sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w== dependencies: tslib "2.3.0"