Skip to content

Commit c7070b4

Browse files
stefashkaaNikita-PolyakovRustemYuzlibaevtimofeytrepalinMaksimBaranov98
authored
Release 1.32 (sora-xor#1377)
* update wallet 1.18.9 (#1115) * Update nodes names (#1116) Co-authored-by: Stefan Popov <[email protected]> * [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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Remove synths blockers from Add LP (#1162) Co-authored-by: Stefan Popov <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Add debounce to resize event (#1164) * Add debounce to resize event * Fix names * Fix images size --------- Co-authored-by: Stefan Popov <[email protected]> * Fix content bottom margin (#1165) Co-authored-by: Stefan Popov <[email protected]> * Update App.vue (#1167) Co-authored-by: Stefan Popov <[email protected]> * 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 <[email protected]> * fix Dockerfile Signed-off-by: Bulat Saifullin <[email protected]> * add pull_request_template.md Signed-off-by: Bulat Saifullin <[email protected]> * fix template Signed-off-by: Bulat Saifullin <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Aleksandr Makhnev <[email protected]> Co-authored-by: Bulat Saifullin <[email protected]> Co-authored-by: Alex Natalia <[email protected]> Co-authored-by: Dmitriy Creed <[email protected]> Co-authored-by: alexnatalia <[email protected]> Co-authored-by: Nikita Polyakov <[email protected]> Co-authored-by: Nikita-Polyakov <[email protected]> Co-authored-by: Nikita Polyakov <[email protected]> * 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 <[email protected]> * fix Dockerfile Signed-off-by: Bulat Saifullin <[email protected]> * add pull_request_template.md Signed-off-by: Bulat Saifullin <[email protected]> * fix template Signed-off-by: Bulat Saifullin <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Aleksandr Makhnev <[email protected]> Co-authored-by: Bulat Saifullin <[email protected]> Co-authored-by: Alex Natalia <[email protected]> Co-authored-by: Dmitriy Creed <[email protected]> Co-authored-by: alexnatalia <[email protected]> Co-authored-by: Nikita Polyakov <[email protected]> Co-authored-by: Nikita-Polyakov <[email protected]> Co-authored-by: Nikita Polyakov <[email protected]> * 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 <[email protected]> * fix Dockerfile Signed-off-by: Bulat Saifullin <[email protected]> * add pull_request_template.md Signed-off-by: Bulat Saifullin <[email protected]> * fix template Signed-off-by: Bulat Saifullin <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Stefan Popov <[email protected]> * 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 <[email protected]> Co-authored-by: Stefan Popov <[email protected]> Co-authored-by: Alex Natalia <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Alex Natalia <[email protected]> Co-authored-by: Alex Natalia <[email protected]> * 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 <[email protected]> Co-authored-by: Stefan Popov <[email protected]> * 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 <[email protected]> Co-authored-by: Aleksandr Makhnev <[email protected]> Co-authored-by: Bulat Saifullin <[email protected]> Co-authored-by: Alex Natalia <[email protected]> Co-authored-by: Dmitriy Creed <[email protected]> Co-authored-by: alexnatalia <[email protected]> Co-authored-by: Nikita Polyakov <[email protected]> Co-authored-by: Nikita-Polyakov <[email protected]> Co-authored-by: Nikita Polyakov <[email protected]> Co-authored-by: Alex Natalia <[email protected]> * 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. * Refactore…
1 parent 5fff22e commit c7070b4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+544
-299
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
},
2828
"dependencies": {
2929
"@metamask/detect-provider": "^2.0.0",
30-
"@soramitsu/soraneo-wallet-web": "1.32.6",
30+
"@soramitsu/soraneo-wallet-web": "1.32.7",
3131
"@walletconnect/ethereum-provider": "^2.11.2",
3232
"@walletconnect/modal": "^2.6.2",
3333
"core-js": "^3.36.0",

public/env.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
{
6565
"chain": "Liberland Dev Testnet",
6666
"name": "Soramitsu",
67-
"address": "wss://rpc.liberland-1.lib1.dev.sora2.soramitsu.co.jp"
67+
"address": "wss://ws.liberland-node-1.lib1.dev.sora2.soramitsu.co.jp"
6868
}
6969
]
7070
},

src/App.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ export default class App extends Mixins(mixins.TransactionMixin, NodeErrorMixin)
106106
@state.router.loading pageLoading!: boolean;
107107
108108
@getter.settings.nodeIsConnected nodeIsConnected!: boolean;
109-
@getter.settings.chartsEnabled private chartsEnabled!: boolean;
110109
@getter.wallet.transactions.firstReadyTx firstReadyTransaction!: Nullable<HistoryItem>;
111110
@getter.wallet.account.isLoggedIn isSoraAccountConnected!: boolean;
112111
@getter.libraryTheme libraryTheme!: Theme;

src/components/App/Footer/Indexer/utils.ts

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/components/App/Footer/StatisticsDialog.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
import { components, mixins, WALLET_CONSTS, WALLET_TYPES } from '@soramitsu/soraneo-wallet-web';
1414
import { Component, Mixins } from 'vue-property-decorator';
1515
16-
import { getIndexerName } from '@/components/App/Footer/Indexer/utils';
1716
import TranslationMixin from '@/components/mixins/TranslationMixin';
1817
import { Components } from '@/consts';
1918
import { lazyComponent } from '@/router';
2019
import { action, state, mutation } from '@/store/decorators';
2120
import { Indexer } from '@/types/indexers';
21+
import { capitalize } from '@/utils';
2222
2323
const IndexerListView = 'IndexerListView';
2424
const IndexerInfoView = 'IndexerInfoView';
@@ -47,7 +47,7 @@ export default class SelectIndexerDialog extends Mixins(TranslationMixin, mixins
4747
return Object.keys(WALLET_CONSTS.IndexerType).map((key) => {
4848
const type = WALLET_CONSTS.IndexerType[key];
4949
return {
50-
name: getIndexerName(type),
50+
name: capitalize(type),
5151
type,
5252
endpoint: this.indexersData[type].endpoint,
5353
online: this.indexersData[type].status === WALLET_TYPES.ConnectionStatus.Available,

src/components/App/Menu/AppMenu.vue

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,13 @@ export default class AppMenu extends Mixins(TranslationMixin) {
201201
@include scrollbar(0, 100%, true);
202202
}
203203
204+
.app-menu {
205+
background: var(--s-color-utility-body);
206+
}
207+
204208
.app-menu.collapsed {
205209
@include tablet {
206-
background: var(--s-color-utility-body);
210+
background: transparent;
207211
208212
.sidebar-item-content {
209213
& > .icon-container + span {
@@ -217,6 +221,7 @@ export default class AppMenu extends Mixins(TranslationMixin) {
217221
218222
&:hover,
219223
&:focus {
224+
background: var(--s-color-utility-body);
220225
box-shadow: 20px 20px 60px 0px #0000001a;
221226
222227
.sidebar-item-content {

src/components/mixins/BridgeTransactionMixin.ts

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default class BridgeTransactionMixin extends Mixins(NetworkFormatterMixin
2525
);
2626
}
2727

28-
get txSoraAccount(): string {
28+
get txInternalAccount(): string {
2929
return this.tx?.from ?? '';
3030
}
3131

@@ -37,21 +37,19 @@ export default class BridgeTransactionMixin extends Mixins(NetworkFormatterMixin
3737
return this.tx?.txId ?? '';
3838
}
3939

40-
get txSoraBlockId(): string {
41-
return this.tx?.blockId ?? '';
42-
}
43-
4440
get txSoraHash(): string {
4541
return this.tx?.hash ?? '';
4642
}
4743

48-
get txInternalHash(): string {
49-
if (!this.isOutgoing) return this.txSoraHash;
44+
get txInternalBlockNumber(): number | undefined {
45+
return this.tx?.blockHeight;
46+
}
5047

51-
return this.txSoraHash || this.txSoraBlockId || this.txSoraId;
48+
get txInternalBlockId(): string {
49+
return this.tx?.blockId ?? '';
5250
}
5351

54-
get txExternalEventIndex(): number | undefined {
52+
get txEventIndex(): number | undefined {
5553
return this.tx?.payload?.eventIndex;
5654
}
5755

@@ -63,6 +61,10 @@ export default class BridgeTransactionMixin extends Mixins(NetworkFormatterMixin
6361
return this.tx?.externalBlockHeight;
6462
}
6563

64+
get txExternalBlockId(): string {
65+
return this.tx?.externalBlockId ?? '';
66+
}
67+
6668
get externalNetworkType(): Nullable<BridgeNetworkType> {
6769
return this.tx?.externalNetworkType;
6870
}
@@ -71,8 +73,13 @@ export default class BridgeTransactionMixin extends Mixins(NetworkFormatterMixin
7173
return this.tx?.externalNetwork;
7274
}
7375

74-
get soraExplorerLinks(): Array<WALLET_CONSTS.ExplorerLink> {
75-
return soraExplorerLinks(this.soraNetwork, this.txSoraId, this.txSoraBlockId);
76+
get internalExplorerLinks(): Array<WALLET_CONSTS.ExplorerLink> {
77+
return soraExplorerLinks(
78+
this.soraNetwork,
79+
this.txSoraId,
80+
this.txInternalBlockNumber ?? this.txInternalBlockId,
81+
this.txEventIndex
82+
);
7683
}
7784

7885
get externalExplorerLinks(): Array<WALLET_CONSTS.ExplorerLink> {
@@ -82,13 +89,13 @@ export default class BridgeTransactionMixin extends Mixins(NetworkFormatterMixin
8289
this.externalNetworkType,
8390
this.externalNetworkId,
8491
this.txExternalHash,
85-
this.txExternalBlockNumber,
86-
this.txExternalEventIndex
92+
this.txExternalBlockNumber ?? this.txExternalBlockId,
93+
this.txEventIndex
8794
);
8895
}
8996

9097
get internalAccountLinks(): Array<WALLET_CONSTS.ExplorerLink> {
91-
return soraExplorerLinks(this.soraNetwork, this.txSoraAccount, this.txSoraBlockId, true);
98+
return soraExplorerLinks(this.soraNetwork, this.txInternalAccount, undefined, undefined, true);
9299
}
93100

94101
get externalAccountLinks(): Array<WALLET_CONSTS.ExplorerLink> {

src/components/mixins/ChartSpecMixin.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Component, Mixins } from 'vue-property-decorator';
44

55
import ThemePaletteMixin from '@/components/mixins/ThemePaletteMixin';
66
import TranslationMixin from '@/components/mixins/TranslationMixin';
7+
import { capitalize } from '@/utils';
78

89
const LABEL_PADDING = 4;
910
const AXIS_OFFSET = 8;
@@ -42,7 +43,7 @@ export default class ChartSpecMixin extends Mixins(ThemePaletteMixin, Translatio
4243
const formatted = this.formatDate(+value, timeFormat);
4344

4445
if (isNewMonth) {
45-
return `{monthStyle|${formatted.charAt(0).toUpperCase() + formatted.slice(1)}}`;
46+
return `{monthStyle|${capitalize(formatted)}}`;
4647
}
4748
if (isNewDay) {
4849
return `{dateStyle|${formatted}}`;

src/components/mixins/NetworkFormatterMixin.ts

Lines changed: 24 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { SUB_NETWORKS } from '@/consts/sub';
99
import { state, getter } from '@/store/decorators';
1010
import type { AvailableNetwork } from '@/store/web3/types';
1111
import type { NetworkData } from '@/types/bridge';
12+
import { getSubstrateExplorerLinks } from '@/utils';
1213
import { isOutgoingTransaction } from '@/utils/bridge/common/utils';
1314
import { isUnsignedToPart } from '@/utils/bridge/eth/utils';
1415

@@ -23,58 +24,31 @@ const getSubNetworkLinks = (
2324
networkData: NetworkData,
2425
type: EvmLinkType,
2526
value?: string, // tx hash or account address
26-
blockNumber?: number,
27+
blockId?: number | string,
2728
eventIndex?: number
2829
): WALLET_CONSTS.ExplorerLink[] => {
29-
const links: Array<WALLET_CONSTS.ExplorerLink> = [];
30-
const explorerUrl = networkData.blockExplorerUrls[0];
31-
32-
switch (type) {
33-
case EvmLinkType.Account: {
34-
if (explorerUrl && value) {
35-
links.push({
36-
type: WALLET_CONSTS.ExplorerType.Subscan,
37-
value: `${explorerUrl}/account/${value}`,
38-
});
39-
}
40-
break;
41-
}
42-
case EvmLinkType.Transaction: {
43-
if (explorerUrl) {
44-
if (value) {
45-
links.push({
46-
type: WALLET_CONSTS.ExplorerType.Subscan,
47-
value: `${explorerUrl}/extrinsic/${value}`,
48-
});
49-
} else if (Number.isFinite(blockNumber)) {
50-
let link = `${explorerUrl}/block/${blockNumber}`;
51-
52-
if (Number.isFinite(eventIndex)) {
53-
link += `?tab=event&event=${blockNumber}-${eventIndex}`;
54-
}
55-
56-
links.push({
57-
type: WALLET_CONSTS.ExplorerType.Subscan,
58-
value: link,
59-
});
60-
}
61-
}
62-
63-
if (Number.isFinite(blockNumber)) {
64-
const networkUrl = networkData.nodes?.[0].address;
65-
const polkadotBaseLink = `https://polkadot.js.org/apps/?rpc=${networkUrl}#/explorer/query`;
66-
const polkadotLink = {
67-
type: WALLET_CONSTS.ExplorerType.Polkadot,
68-
value: `${polkadotBaseLink}/${blockNumber}`,
69-
};
70-
71-
links.push(polkadotLink);
72-
}
73-
break;
74-
}
30+
const baseLinks: WALLET_CONSTS.ExplorerLink[] = [];
31+
32+
const subscanLink = networkData.blockExplorerUrls[0];
33+
const polkadotUrl = networkData.nodes?.[0].address;
34+
const polkadotLink = polkadotUrl
35+
? `https://polkadot.js.org/apps/?rpc=${networkData.nodes?.[0].address}#/explorer/query`
36+
: '';
37+
38+
if (subscanLink) {
39+
baseLinks.push({
40+
type: WALLET_CONSTS.ExplorerType.Subscan,
41+
value: subscanLink,
42+
});
43+
}
44+
if (polkadotLink) {
45+
baseLinks.push({
46+
type: WALLET_CONSTS.ExplorerType.Polkadot,
47+
value: polkadotLink,
48+
});
7549
}
7650

77-
return links;
51+
return getSubstrateExplorerLinks(baseLinks, type === EvmLinkType.Account, value, blockId, eventIndex);
7852
};
7953

8054
const getEvmNetworkLinks = (
@@ -186,7 +160,7 @@ export default class NetworkFormatterMixin extends Mixins(TranslationMixin) {
186160
networkType: BridgeNetworkType,
187161
networkId: BridgeNetworkId,
188162
value?: string,
189-
blockNumber?: number,
163+
blockId?: number | string,
190164
eventIndex?: number,
191165
type = EvmLinkType.Transaction
192166
): Array<WALLET_CONSTS.ExplorerLink> {
@@ -198,7 +172,7 @@ export default class NetworkFormatterMixin extends Mixins(TranslationMixin) {
198172
}
199173

200174
return networkType === BridgeNetworkType.Sub
201-
? getSubNetworkLinks(networkData, type, value, blockNumber, eventIndex)
175+
? getSubNetworkLinks(networkData, type, value, blockId, eventIndex)
202176
: getEvmNetworkLinks(networkData, type, value);
203177
}
204178

src/components/pages/Bridge/TransferNotification.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export default class BridgeTransferNotification extends Mixins(BridgeTransaction
8383
}
8484
8585
get txLink() {
86-
const link = this.isOutgoing ? this.externalExplorerLinks[0] : this.soraExplorerLinks[0];
86+
const link = this.isOutgoing ? this.externalExplorerLinks[0] : this.internalExplorerLinks[0];
8787
const network = this.isOutgoing ? this.externalNetworkId : undefined;
8888
8989
return this.prepareLink(link, network);

src/components/pages/Swap/StatusActionBadge.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export default class SwapStatusActionBadge extends Vue {}
1515

1616
<style lang="scss">
1717
.status-action-badge.s-card.neumorphic.s-size-small {
18-
padding: $inner-spacing-tiny $inner-spacing-big * 2 $inner-spacing-tiny $inner-spacing-small;
18+
padding: $inner-spacing-tiny * 1.75 $inner-spacing-big * 2 $inner-spacing-tiny * 1.75 $inner-spacing-small;
1919
}
2020
</style>
2121

src/components/pages/Swap/Widget/Form.vue

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,6 @@
88
<s-button class="el-button--settings" type="action" icon="basic-settings-24" @click="openSettingsDialog" />
99
</template>
1010
</swap-status-action-badge>
11-
12-
<svg-icon-button
13-
v-if="chartsFlagEnabled"
14-
icon="line-icon"
15-
size="medium"
16-
:tooltip="t('dexSettings.сhartsDescription')"
17-
:active="chartsEnabled"
18-
@click="toggleChart"
19-
/>
2011
</template>
2112

2213
<div class="swap-form">
@@ -184,7 +175,6 @@ import type { Subscription } from 'rxjs';
184175
SelectToken: lazyComponent(Components.SelectToken),
185176
TokenInput: lazyComponent(Components.TokenInput),
186177
ValueStatusWrapper: lazyComponent(Components.ValueStatusWrapper),
187-
SvgIconButton: lazyComponent(Components.SvgIconButton),
188178
FormattedAmount: components.FormattedAmount,
189179
},
190180
})
@@ -204,15 +194,12 @@ export default class SwapFormWidget extends Mixins(
204194
205195
@getter.assets.xor private xor!: AccountAsset;
206196
@getter.swap.swapLiquiditySource liquiditySource!: Nullable<LiquiditySourceTypes>;
207-
@getter.settings.chartsFlagEnabled chartsFlagEnabled!: boolean;
208197
@getter.settings.nodeIsConnected nodeIsConnected!: boolean;
209-
@getter.settings.chartsEnabled chartsEnabled!: boolean;
210198
@getter.wallet.account.isLoggedIn isLoggedIn!: boolean;
211199
@getter.swap.tokenFrom tokenFrom!: Nullable<AccountAsset>;
212200
@getter.swap.tokenTo tokenTo!: Nullable<AccountAsset>;
213201
@getter.swap.swapMarketAlgorithm swapMarketAlgorithm!: MarketAlgorithms;
214202
215-
@mutation.settings.setChartsEnabled private setChartsEnabled!: (value: boolean) => void;
216203
@mutation.swap.setFromValue private setFromValue!: (value: string) => void;
217204
@mutation.swap.setToValue private setToValue!: (value: string) => void;
218205
@mutation.swap.setAmountWithoutImpact private setAmountWithoutImpact!: (amount?: CodecString) => void;
@@ -561,10 +548,6 @@ export default class SwapFormWidget extends Mixins(
561548
this.showSettings = true;
562549
}
563550
564-
toggleChart(): void {
565-
this.setChartsEnabled(!this.chartsEnabled);
566-
}
567-
568551
private enableSwapSubscriptions(): void {
569552
this.updateBalanceSubscriptions();
570553
this.subscribeOnQuote();

src/components/shared/Settings/SlippageTolerance.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ export default class SlippageTolerance extends Mixins(mixins.NumberFormatterMixi
221221
222222
.el-collapse-item__content {
223223
padding: 0 !important;
224+
line-height: inherit;
224225
}
225226
226227
.el-collapse--item .is-active .el-collapse {

src/components/shared/TokensRow.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,17 @@ export default class TokensRow extends Vue {
4646
4747
&__item {
4848
display: block;
49-
border-width: 2px;
5049
border-style: solid;
5150
border-color: transparent;
5251
border-radius: 50%;
52+
border-width: 0px;
5353
5454
&.border {
5555
border-color: var(--s-color-utility-surface);
56+
57+
& + & {
58+
border-left-width: 2px;
59+
}
5660
}
5761
5862
& + & {

0 commit comments

Comments
 (0)