From 88e5af6fe2ec6fea874ac7d573a93ecabb97b0cf Mon Sep 17 00:00:00 2001 From: tomjeatt <40243778+tomjeatt@users.noreply.github.com> Date: Thu, 28 Sep 2023 13:21:35 +0100 Subject: [PATCH] [release] Kintsugi 2.38.2 (#1573) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: redirect when access from forbidden country is detected (#1209) * Feature/updated transfer UI (#876) * refactor: use updated tab component * refactor: duplicated form titles * refactor: remove redundant hook calls * refactor: prefer title case * wip: XCM transfer form UI * wip: updated form UI * wip: account selector placeholder component * wip: account selector modal * wip: modal open and close actions * wip: update modal type * wip: get accounts * wip: add identicon and rename component for consistency * wip: account input component * fix: remove redundant icons prop * feat: implement with SelectTrigger * wip: styling and account selection value * wip: handle setting account data * refactor: better naming * wip: address list styling * refactor: rename defaultAccount * wip: chain selector placeholder component * wip: duplicate account component and rename * chore: delete redundant legacy component * wip: logic for fetching and rendering chain ids * wip: chain item styling * wip: selected chain styling * chore: add comment * refactor: pass through native token to icon component * feature: add chain icon component * chore: add comment * chore: correct file name casing * refactor: improve folder structure * wip: form layout styling * chore: add arrow icon * chore: add logos and correct svg titles * chore: remove redundant svg prop * chore: rename arrow icon * chore: consistent use of styled components * refactor: remove padding from modal body * wip: formik integration work * wip: extend useXCMBridge to return available chains and utility methods * chore: move Chain and Chains types to types directory * feat: layout and form implementation * feat: add schema * feat: final * wip: refactor useXCMBridge hook * refactor: add endpoints type * refactor: wrap methods in useCallback * refactor: fix bug in hook method * chore: bump bridge version * wip: set originating and destination chain values * refactor: set from chain value on field change * wip: set originating chain value * refactor: mergeProps to set field value * refactor: handle setting origin/destination chain values * wip: get tokens method * wip: first iteration of balances function * wip: handle tokens array * wip: set token value * wip: get token balances * wip: return token and balances in single method * wip: mapped tokens * refactor: handle default chain values * refactor: better organised function order * wip: handle change events * wip: handle setting tokens * wip: handle fetching tokens and balances * wip: convert input configs * wip: handle token change * wip: get token USD price * Trigger Build * chore: remove unused import * chore: correct eslintignore syntax * wip: handle breaking changes * wip: disable token input when select items value is 1 * chore: set first token item as variable * wip: handle setting and changing values * chire: add loading spinner * refactor: add loading state * refactor: filter destination chains * chore: remove console log * chore: bump XCM bridge version * chore: update config * refactor: configure validation * chore: revert change to useForm hook * wip: form validation * wip: working form validation * wip: undefined validation parameters * refactor: return dest fee estimate from bridge hook * feature: show fees and fee estimates * chore: conditional operators * refactor: handle ticker change correctly * wip: sendTransaction method * Revert "wip: sendTransaction method" This reverts commit 3ade26dda26c7cc14f9db9e7c005b66863fa9139. * fix: USD amounts * wip: send transactions * refactor: bump bridge and use getNativeToken method * chore: bump bridge * refactor: move submit logic to useMutation hook * fix: type mismatches * refactor: white space/comments * refactor: add transaction fee validation * chore: typo * chore: remove console log * refactor: remove duplicated monetary conversion * refactor: remove duplicate code * Revert "refactor: remove duplicate code" This reverts commit bd29f8c5661e327c5285d1020c534dab2deae806. * Revert "refactor: remove duplicated monetary conversion" This reverts commit 5fd3d645eb7d8edc00cfe8ced186d4e2432af9fc. * refactor: use monetaryAmount when constructing transaction * refactor: remove duplicated code for fetching tokens * refactor: default XCM origin * Revert "refactor: remove duplicated code for fetching tokens" This reverts commit 8f31ee8667adcd49f5aaebb7db2f205afb5e9725. * chore: remove comment * chore: fix errors * fix: set default value to empty string to prevent React error * refactor: removed unwanted force validation parameters * refactor: remove redundant method * refactor: add method return type * refactor: add method return type * refactor: correct type error * refactor: fix destFee type error * refactor: remove fees validation and revert destFee return value * chore: remove console log * refactor: remove redundant method * refactor: disable validation on change * chore: remove commented out code * wip: use select component for chain selector * fix: handle chain select functions * refactor: type chain id as ChainName * Revert "refactor: type chain id as ChainName" This reverts commit d05e0128cb4b5ac1d00ac07808ebdf9858739165. * chore: remove unused component files * refactor: remove duplicated transaction logic * fix: make to/from field types more specific * fix: revert yup.custom changes and cast validation * fix: set correct destination chain * refator: handle token data * refactor: add use callback * fix: correct rendering logic * fix: update dependencies * chore: delete unused styles * chore: fix merge issue with transfer form * fix: change validation handling * Revert "fix: change validation handling" This reverts commit c0cb3062aad3540b2afad7d375024d872924a62c. * refactor: only display transfer amount if amount has been entered * chore: config changes * chore: add missing icons * chore: Hydra chain icon * fix: add error text to CTA * Tom/xcm fixes (#1213) * refactor: specify endpoints and remove unnecessary logic * fix: save file before committing * fix: disable refetch * chore: update endpoints * chore: remove log * chore: rename file * chore: add additional acala/karura endpoints --------- Co-authored-by: Rui Simão * chore: release v2.32.0 * Update API healthchecks (#778) * Chore - add vault healthcheck * Chore - add vault healthcheck * Chore - add vault healthcheck * [earn strategies] placeholder page, nav and feature flag (#1216) * chore: bump icons dependency * feature: earn strategies placeholder page and feature flag * feat: add useTransaction (#1189) * chore: update monetary to latest 0.7.3 (#1214) * chore: update monetary to latest 0.7.3 * chore: update lib * chore: bump lib and bridge (#1219) * chore: release v2.32.1 * fix: add missing icons and remove erroring RPC (#1222) * fix: add missing icons and remove erroring RPC * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Acala.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Astar.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Parallel.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * chore: release v2.32.2 * fix: compare input configs with method not operator (#1225) * refactor: reset selected account on account change (#1226) * chore: release v2.32.3 * feature: add geoblock feature flag (#1230) * chore: release v2.32.4 * chore: bump bridge (#1233) * chore: release v2.32.5 * Peter/earn strategies feat deposit withdraw form (#1229) * chore: update monetary to latest 0.7.3 * wip * feat(earn-strategies): add deposit and withdrawal form components * refactor: add padding under tabs in earn strategy forms * chore(earn-strategies): change file structure * feat: add Popover, Underlay and ProgressBar. Changes to Dialog, Modal and Overlay. (#1236) * fix: Dialog, Modal and Popover (#1245) * chore: rename strategies feature (#1247) * chore: release v2.32.6 * Fix: back button behaviour from bridge page (#1246) * fix: use history replace instead of push to fix looping of bridge page * chore: clean up and bump version --------- Co-authored-by: tomjeatt <40243778+tomjeatt@users.noreply.github.com> * feat: add transaction notifications (#1177) * chore: remove console.log (#1262) * fix(TokenInput): adorment ticker (#1257) * fix: get vesting data (#1264) * Peter/chore update lib 2.3.0 (#1267) * chore: update monetary to latest 0.7.3 * chore: update lib version * fix: sort notifications (#1270) * fix: transaction none (#1271) * fix(Loans): apy label (#1275) * Peter/loans fix subsidy rewards (#1276) * chore: update monetary to latest 0.7.3 * fix(loans): display correct subsidy rewards accrued amount and APY * chore: console log cleanup * chore: replace GOVERNANCE_TOKEN_SYMBOL with GOVERNANCE_TOKEN.ticker * Peter/fix loans incentive apr computation (#1256) * chore: update monetary to latest 0.7.3 * fix: convert incentives apr computation to percentage * fix: change loans incentives annualized return to have label APR * chore: release v2.33.0 * Peter/chore update lib 2.3.3 (#1282) * chore: update monetary to latest 0.7.3 * chore: update lib to 2.3.3. * fix: enable faucet on Interlay testnet (#1289) * fix: enable faucet on Interlay testnet * fix: prefer governance token ticker to symbol * chore: bump bridge (#1285) * fix(Swap): update trade object on each block (#1297) * api: use diadata as main datasource (#1277) * api: use diadata as main datasource * api: add header to select price source --------- Co-authored-by: tomjeatt <40243778+tomjeatt@users.noreply.github.com> * Peter/fix interlay issues (#1300) * chore: update monetary to latest 0.7.3 * fix: add missing translation and fix lend APY display * refactor: bring back formatting with 0 amount case covered * refactor: code review * refactor: code review * api: select price source via query param and ticker renaming (#1307) * api: fix tether label for dia (#1309) * chore: release v2.34.0 * chore: update XCM RPCs (#1324) * chore: release v2.34.1 * fix: correct wallet balance (#1334) * api: switch to coingecko pro url (#1321) * Peter/feat tx fee with swapped currency (#1340) * chore: update monetary to latest 0.7.3 * feat: refactor Transfer and theme (#1244) * wip: initial changes to move table * chore: remove unused component * Revert "chore: remove unused component" This reverts commit 0db71a15538b776c73b752a98d2e825d890d2ea1. * chore: remove unused component * chore: use translation file * fix: add missing p tags * wip * feat: refactor Transfer and theme (#1244) * feat(Bridge): revamp Issue and Redeem (#1279) * wip * feat(TransactionDetails): extend component to support fee selector (#1292) * feat: add tx fee estimation and swap for tx fee payment integration * fix: remove impossible condition * feat: integrate use-transaction with TransactionFeeDetails (#1294) * feat: integrate use-transaction with TransactionFeeDetails * fix: code review * refactor: code review * feat: add fee estimate loading state * Rui/fee estimate transfer form (#1296) * feat: add fee estimate to transfer form * Update src/pages/Transfer/TransferForms/components/TransferForm/TransferForm.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Feature/UI updates/navigation styling (#1293) * wip: initial navigation styling * refactor: remove icons from secondary navigation items * refactor: split navigation into primary/secondary * fix: add bg colour to nav to prevent problems on small screens * refactor: update accordion styles * refactor: remove redundant code and console log * refactor: change Kintsugi background colour * fix: show navigation item names * fix: remove redundant conditional * fix: code * fix: changes to list style and disable 0 balance fee tokens * feat(bringyourownfee): add check for existing trade path * Update src/utils/hooks/transaction/use-transaction.ts Co-authored-by: Dominik Harz * Update src/utils/hooks/transaction/use-transaction.ts Co-authored-by: Dominik Harz * refactor: move multiplier to constant * feat: add fee validation and other improvements to form validation (#1303) * Peter/feat griefing collateral multicurrency (#1310) * feat: add selectable griefing collateral currency to issue request form * feat: add oracle currency hook and wrap up griefing collateral work * feat(Swap): add custom fee (#1315) * Peter/feat byof bridge page (#1328) * wip * refactor: issue page with griefing collateral select * feat(bringyourownfees): redeem form * refactor: renaming * feat: add redeem request to getActionAmount * feat(Pools): add fee estimate (#1322) * feat(Loans): add fee estimate (#1332) * feat(Vaults): add fee estimate to vault creation (#1333) * fix(Redeem): add missing BTC address validation (#1336) * fix: redeem getActionAmount type mismatch * Tom/UI updates/minor changes (#1308) * refactor: add vault table background colour * fix: typo * refactor: styled card for vault selector * refactor: wrap vault transaction tables in card component * fix: typo * refactor: add shadowed prop to card component * refactor: use card component for transactions table * refactor: move request id in legacy issue/request modal * refactor: use request id dictionary item * chore: update Interlay logo * refactor: update icon and logo colours * feature: add bg image * wip: add background image to Layout component * refactor: add Wrapper component * wip: initial values for background image position * refactor: minor styling changes * refactor: revert unneeded change * refactor: move and rename Transaction component * feat: sort currencies by balance (#1338) --------- Co-authored-by: Peter Co-authored-by: Thomas Jeatt Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> Co-authored-by: tomjeatt <40243778+tomjeatt@users.noreply.github.com> Co-authored-by: Dominik Harz * chore: release v2.35.0 * Tom/feature/wallet buttons (#1346) * refactor: add tab props * feature: add bridge button to assets table * refactor: don't show buy button for wrapped token * [wallet] add default currencies to wallet (#1335) * refactor: add default currencies to wallet * refactor: use NATIVE_CURRENCIES * chore: update navigation (#1344) * refatctor: remove LBANK configuration and assets (#1355) * feature: add LDOT icon (#1356) * Peter/refactor fetch oracle status from chain (#1359) * chore: update monetary to latest 0.7.3 * refactor: fetch oracle status from chain * chore: remove commented-out code * Peter/fix add wrapped currency as security deposit option (#1360) * chore: update monetary to latest 0.7.3 * fix: add wrapped token to useGetOracleCurrencies result * chore: update price impact warning copy (#1358) * [transfer/bridge] open correct tab (#1366) * fix: bridge query parameter * fix: revert to previous tab name * refactor: close redeem modal (#1367) * refactor: close redeem modal * fix: correct user messaging copy * fix: remove unnecessary translation * fix: correct copy * feat: change LoadingSpinner styles and CTA loading spinner (#1372) * feat: replace legacy toast with new notification toast (#1370) * fix: UI styling bugs (#1371) * fix: change broken gradient id ref * refactor: add opacity value to navigation separator * fix: update padding * fix: border opacity * fix: use transaction details component * refactor: change how padding is set * Peter/fix bridge dust value validation (#1374) * chore: update monetary to latest 0.7.3 * fix: dust value calculation * feat(Wallet): add USDT and change switch label (#1363) * fix(Modal): prevent user from clicking when closed (#1364) * fix(Swap): handle when schema params are undefined (#1375) * feat(Wallet): add welcome banner (#1337) * fix: correct subscan link (#1378) * fix: select token modal list style (#1382) * fix: improve issue form insufficient funds notice (#1380) * feature: add tooltip to asset cell (#1345) * feature: add tooltip to asset cell * fix: typo * wip: ReactNode tooltip so that we can pass in link * feature: add fee asset tooltip * update text link component * fix: revert changes to text links * revert changes to text links * fix: maintain compatibility with existing text links * use correct location variable * fix: remove log * fix: tooltip const * Onboarding page (#1373) * feat: add draft of onboarding page * chore: update t&c links * feat: add guided tour through app * fix: typos and eslint warnings * restrict width of onboarding cards * feat: replace UI faucet with discord link * feat: improve CTA * feat: add link to onboarding page --------- Co-authored-by: Thomas Jeatt * fix: disable fetch on focus (#1386) * fix(Onboarding): improve styles, semantics and file structure (#1387) Co-authored-by: Dominik Harz * fix: typo (#1392) * Peter/feat pools trading fee apr (#1389) * chore: update monetary to latest 0.7.3 * feat(pools): add trading fee APR * refactor: clean-up naming * Peter/ choreupdate lib 2.3.5 (#1393) * chore: update monetary to latest 0.7.3 * chore: update lib to 2.3.5 * chore: release v2.35.1 * fix: onboarding and empty fee selector (#1396) * Onboarding feature flag (#1398) * refactor: add feature flag * fix: update dependencies * add onboarding to env file * chore: release v2.35.2 * api: add dia asset ids to market data endpoint (#1400) * chore: release v2.35.3 * api: add dia asset ids to market data endpoint (#1403) * chore: release v2.35.4 * fix(Wallet): add missing guide link (#1406) * fix(Wallet): add missing guide link * Update WelcomeBanner.tsx * feat(Wallet): update welcome banner svg (#1407) * wip: add T&Cs version (#1409) * chore: release v2.35.5 * api: add support for multiple version of terms and conditions (#1411) * api: add support for multiple version of terms and conditions * api: add support for multiple version of terms and conditions * chore: release v2.35.6 * feat: add parity signer companion for polkadot vault support (#1417) * Tom/xcm copy changes (#1391) * fix: typos * refactor: pass chain data to transaction instead of chain id * refactor: remove unused feature foags (#1402) * Peter/fix pools daily volumes (#1421) * chore: update monetary to latest 0.7.3 * fix: change pools fetching query to work when first record is younger than requested period * fix(Pools): deposit validation (#1419) * fix: various issues picked up from testing (#1414) * fix: prefetching fee scenarios (#1384) * fix: hide onboarding button when onboarding disabled (#1418) * chore: release v2.35.7 * apply hotfix (#1428) * Peter/fix byof not working (#1430) * chore: update monetary to latest 0.7.3 * fix(byof): use correct field props getter for fee token select * chore: release v2.35.8 * api: add support ethereum and karura (#1435) * Tom/updated directory names (#1434) * refactor: rename Bridge -> BTC * refactor: transfer -> send and receive * fix: rename Transfer component * revert change to tab name * refactor: update translation references * update schemas * update directory and file casing * casing * casing * casing * casing * casing * chore: split AMM pages into seperate folders (#1436) * feat: check signature version (#1429) * Fix Storybook (#1443) * fix display name syntax * disable snapshots * Trigger build * Update routes (#1442) * update routes * redirect crossChainTransfer query parameter * fix redirect syntax * fix redirect syntax * redirect cross chain transfer * tab redirects * correct redirect syntax * Peter/fix q token vaults support (#1445) * chore: update monetary to latest 0.7.3 * wip * wip: update lib version * chore: install deps * chore: fix test pipelines (#1379) * fix(Redeem): redeem limit when there is not capcity (#1451) * fix(Redeem): premium redeem (#1454) * Peter/feat loans q token handle edge cases (#1449) * chore: update monetary to latest 0.7.3 * feat(loans): handle lend position when qToken is used as vault collateral * chore: update lib * add nova wallet (#1453) * add nova wallet * delete unused config and update polkadot name * move constant and delete redundant file * feat: add query params handling (#1347) * feat: add estimate fee hook and action amount deduction (#1433) * Update number of wallets in test (#1462) * Update number of wallets in test * fix: remove parentheses from wallet name * Support Banxa on Interlay (#1458) * refactor: remove redundant env variable and UI component * refactor: remove redundant URL parameter * update translation file * revert change to wallet parameter * update translation parameter * fix: missed file save * chore: release v2.36.0 * fix(Swap): add missing scenario for re-computing trade obj (#1464) * fix: use correct value for vault capacity indicator (#1465) * fix: use correct value for vault capacity indicator * fix: capacity ratio when there are no backed tokens * revert version bump * chore: release v2.36.0 * api: add fallback to coingecko for missing assets on dia (#1467) * revert version bump * chore: release v2.36.0 * fix: fee affecting action amount calculation (#1472) * chore: release v2.36.1 * feat(Strategies): add landing page (#1466) * feat(Strategies): add landing page * fix: code review * chore: improve translactions (#1447) * feat: add tooltip to pools and refactor loans tooltip (#1424) * feat: add tooltip to pools and refactor loans tooltip * fix: code review * fix: code reivew --------- Co-authored-by: Thomas Jeatt * fix(Loans): simplify form and hook (#1476) * Rui/loans modals lose close animation due to conditional render (#1460) * wip * feat: continue * fix: code review * fix:merge --------- Co-authored-by: Thomas Jeatt * fix: loan tests (#1425) * Tom/update bg image (#1481) * update bg svg * swap file * minify * Tom/xcm updates (#1480) * wip: refactor account select * refactor: update component names * Revert "refactor: update component names" This reverts commit c80ca13d04cec92a5405479ccafc65f069cb93ca. * fix: rename components without breaking feature * disable all data refetching * wip: render xcm form when no wallet connected * remove redundant legacy component * workaround for account selection issue * Tidying up * handle TODO relating to SelectObject * remove comment * casing * selected styling * improvements * Add comment * fix: organize files (#1483) * refactor: Layout and MainContainer (#1489) * refactor: add block height, parachain status and locked tokens hooks (#1486) * refactor: replace old faucet approach with use-faucet (#1484) * Peter/feat dry running (#1499) * chore: update monetary to latest 0.7.3 * feat(transaction): dry-run transaction before submission and revert execution if dry-running fails * test: mock submittable extrinsic * refactor: rename to dryRun and document functionality * refactor: move submission code to separate folder * Peter/feat simple passive income strategy page (#1473) * chore: update monetary to latest 0.7.3 * wip: feat(strategies): add simple BTC strategy * refactor(strategies): merge landing page with strategy page * wip: strategy page infographics * feat(loans): add earned amount to lend positions * feat: changes to loans and strategies (#1498) --------- Co-authored-by: Daniel Simão * fix(Strategies): improve responsiveness and add form link (#1503) * fix: correct feature flag name (#1504) * chore: release v2.36.2 * feat(Slider): add component (#1502) * fix: use route instead of redirect (#1507) * chore: release v2.37.0 * feat: add breadcrumbs component and add it to strategies (#1505) * Peter/chore lib update 2.4.0 (#1512) * chore: update monetary to latest 0.7.3 * chore: handle 2.4.0 upgrade * fix: conditional check for amount (#1516) * fix: conditional check for amount * fix: revert slice change * docs: roadmap item (#1519) * feat: add roadmap items to roadmap but not backlog (#1521) * feat: zero slippage option (#1497) * chore: bump lib (#1523) * Bump bridge and revert hotfix (#1104) * chore: bump bridge and revert hotfix * chore: bump bridge * chore: bump bridge version * Release/kintsugi/2.29.1 (#1107) * chore: add resolutions for various polkadot packages (#1089) * Fix input field width issue (#1090) * fix: input field width * fix: rename max weeks to total weeks * chore: bump ui version * chore: bump XCM bridge (#1093) * feat(Wallet): add page (#1001) * feat(Wallet): add page * feat: add WalletIcon * feat: copy address * wip * feat: staking table * feat: refactor and add lending * refactor: clean up code * wip * feat: add List card * continue * fix: continue * feat: continue * feat(CTALink): improve * feat: add responsiveness and swap handling * feat: final * feat: add responsive prop * fix: clean up List and Divider * feat: add tests * feat: add final tests * fix: code review * feat: add vesting and tests * fix: code review * Tom/bug/burn form collateral tokens (#1042) * refactor: loop collateral to get burnable tokens * refactor: revert previous change and simplify * refactor: add function to filter tokens * refactor: fetch collateral currencies and render token values * wip: form layout and translation * wip: set data and selected collateral * chore: remove console log * refactor: remove single collateral code * chore: comment * fix: incorrect USD value * chore: remove testing code * refactor: remove native token import * refactor: add BurnableCollateral type * refactor: add fullWidth prop and label to token selector * refactor: collateral icon * chore: add dictionary item * chore: remove unnecessary conditional operators * refactor: handle callback * refactor: fix failing test * chore: remove unused code * refactor: add success notification to burn form * Add CORS to market data (#1096) * chore: add env variables to config * chore: add cors to market data api --------- Co-authored-by: ns212 * fix: revert to using 0.2.x version of the bridge (#1095) * chore: improve price impact warning copy * chore: release v2.29.0 * fix(amm): use correct hooks dependencies (#1105) * fix: update useGetCurrencies callbacks dependency arrays (#1108) * chore: release v2.29.1 --------- Co-authored-by: Brendon Votteler Co-authored-by: Chanakya888 Co-authored-by: Daniel Simão Co-authored-by: ns212 Co-authored-by: Dominik Harz Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Tom/release/kintsugi/2.29.2 (#1116) * chore: add resolutions for various polkadot packages (#1089) * Fix input field width issue (#1090) * fix: input field width * fix: rename max weeks to total weeks * chore: bump ui version * chore: bump XCM bridge (#1093) * feat(Wallet): add page (#1001) * feat(Wallet): add page * feat: add WalletIcon * feat: copy address * wip * feat: staking table * feat: refactor and add lending * refactor: clean up code * wip * feat: add List card * continue * fix: continue * feat: continue * feat(CTALink): improve * feat: add responsiveness and swap handling * feat: final * feat: add responsive prop * fix: clean up List and Divider * feat: add tests * feat: add final tests * fix: code review * feat: add vesting and tests * fix: code review * Tom/bug/burn form collateral tokens (#1042) * refactor: loop collateral to get burnable tokens * refactor: revert previous change and simplify * refactor: add function to filter tokens * refactor: fetch collateral currencies and render token values * wip: form layout and translation * wip: set data and selected collateral * chore: remove console log * refactor: remove single collateral code * chore: comment * fix: incorrect USD value * chore: remove testing code * refactor: remove native token import * refactor: add BurnableCollateral type * refactor: add fullWidth prop and label to token selector * refactor: collateral icon * chore: add dictionary item * chore: remove unnecessary conditional operators * refactor: handle callback * refactor: fix failing test * chore: remove unused code * refactor: add success notification to burn form * Add CORS to market data (#1096) * chore: add env variables to config * chore: add cors to market data api --------- Co-authored-by: ns212 * fix: revert to using 0.2.x version of the bridge (#1095) * chore: improve price impact warning copy * chore: release v2.29.0 * fix(amm): use correct hooks dependencies (#1105) * fix: update useGetCurrencies callbacks dependency arrays (#1108) * chore: release v2.29.1 * [wallet] improve wallet balance (#1109) * wip: correct wallet balance * refactor: account for borrow and lend positions when calculating total balance * refactor: add total liquidity balance * fix: typo * chore: add TODO * refactor: remove unnecessary toString call * refactor: redirect home route to wallet if enabled, defaulting to bridge if not * refactor: remove duplicated calculations * refactor: return liquidity pools calculation from hook * chore: release v2.29.2 --------- Co-authored-by: Brendon Votteler Co-authored-by: Chanakya888 Co-authored-by: Daniel Simão Co-authored-by: ns212 Co-authored-by: Dominik Harz Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Tom/release/kintsugi/2.9.3 (#1121) * chore: add resolutions for various polkadot packages (#1089) * Fix input field width issue (#1090) * fix: input field width * fix: rename max weeks to total weeks * chore: bump ui version * chore: bump XCM bridge (#1093) * feat(Wallet): add page (#1001) * feat(Wallet): add page * feat: add WalletIcon * feat: copy address * wip * feat: staking table * feat: refactor and add lending * refactor: clean up code * wip * feat: add List card * continue * fix: continue * feat: continue * feat(CTALink): improve * feat: add responsiveness and swap handling * feat: final * feat: add responsive prop * fix: clean up List and Divider * feat: add tests * feat: add final tests * fix: code review * feat: add vesting and tests * fix: code review * Tom/bug/burn form collateral tokens (#1042) * refactor: loop collateral to get burnable tokens * refactor: revert previous change and simplify * refactor: add function to filter tokens * refactor: fetch collateral currencies and render token values * wip: form layout and translation * wip: set data and selected collateral * chore: remove console log * refactor: remove single collateral code * chore: comment * fix: incorrect USD value * chore: remove testing code * refactor: remove native token import * refactor: add BurnableCollateral type * refactor: add fullWidth prop and label to token selector * refactor: collateral icon * chore: add dictionary item * chore: remove unnecessary conditional operators * refactor: handle callback * refactor: fix failing test * chore: remove unused code * refactor: add success notification to burn form * Add CORS to market data (#1096) * chore: add env variables to config * chore: add cors to market data api --------- Co-authored-by: ns212 * fix: revert to using 0.2.x version of the bridge (#1095) * chore: improve price impact warning copy * chore: release v2.29.0 * fix(amm): use correct hooks dependencies (#1105) * fix: update useGetCurrencies callbacks dependency arrays (#1108) * chore: release v2.29.1 * [wallet] improve wallet balance (#1109) * wip: correct wallet balance * refactor: account for borrow and lend positions when calculating total balance * refactor: add total liquidity balance * fix: typo * chore: add TODO * refactor: remove unnecessary toString call * refactor: redirect home route to wallet if enabled, defaulting to bridge if not * refactor: remove duplicated calculations * refactor: return liquidity pools calculation from hook * chore: release v2.29.2 * refactor: use current block when calculating lock time extension (#1118) * Tom/hotfix/use correct xcm names (#1119) * refactor: use display value for chain names * refactor: use correct display value for XCM channels * chore: release v2.29.3 --------- Co-authored-by: Brendon Votteler Co-authored-by: Chanakya888 Co-authored-by: Daniel Simão Co-authored-by: ns212 Co-authored-by: Dominik Harz Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * [release] Kintsugi 2.9.5 (#1127) * chore: add resolutions for various polkadot packages (#1089) * Fix input field width issue (#1090) * fix: input field width * fix: rename max weeks to total weeks * chore: bump ui version * chore: bump XCM bridge (#1093) * feat(Wallet): add page (#1001) * feat(Wallet): add page * feat: add WalletIcon * feat: copy address * wip * feat: staking table * feat: refactor and add lending * refactor: clean up code * wip * feat: add List card * continue * fix: continue * feat: continue * feat(CTALink): improve * feat: add responsiveness and swap handling * feat: final * feat: add responsive prop * fix: clean up List and Divider * feat: add tests * feat: add final tests * fix: code review * feat: add vesting and tests * fix: code review * Tom/bug/burn form collateral tokens (#1042) * refactor: loop collateral to get burnable tokens * refactor: revert previous change and simplify * refactor: add function to filter tokens * refactor: fetch collateral currencies and render token values * wip: form layout and translation * wip: set data and selected collateral * chore: remove console log * refactor: remove single collateral code * chore: comment * fix: incorrect USD value * chore: remove testing code * refactor: remove native token import * refactor: add BurnableCollateral type * refactor: add fullWidth prop and label to token selector * refactor: collateral icon * chore: add dictionary item * chore: remove unnecessary conditional operators * refactor: handle callback * refactor: fix failing test * chore: remove unused code * refactor: add success notification to burn form * Add CORS to market data (#1096) * chore: add env variables to config * chore: add cors to market data api --------- Co-authored-by: ns212 * fix: revert to using 0.2.x version of the bridge (#1095) * chore: improve price impact warning copy * chore: release v2.29.0 * fix(amm): use correct hooks dependencies (#1105) * fix: update useGetCurrencies callbacks dependency arrays (#1108) * chore: release v2.29.1 * [wallet] improve wallet balance (#1109) * wip: correct wallet balance * refactor: account for borrow and lend positions when calculating total balance * refactor: add total liquidity balance * fix: typo * chore: add TODO * refactor: remove unnecessary toString call * refactor: redirect home route to wallet if enabled, defaulting to bridge if not * refactor: remove duplicated calculations * refactor: return liquidity pools calculation from hook * chore: release v2.29.2 * refactor: use current block when calculating lock time extension (#1118) * Tom/hotfix/use correct xcm names (#1119) * refactor: use display value for chain names * refactor: use correct display value for XCM channels * chore: release v2.29.3 * fix: correct apy calculation (#1123) * fix: correct apy calculation * refactor: set extension time as variable * chore: release v2.29.4 * fix: prevent rewards estimate from being called when user has insufficient balance (#1126) * chore: release v2.29.5 --------- Co-authored-by: Brendon Votteler Co-authored-by: Chanakya888 Co-authored-by: Daniel Simão Co-authored-by: ns212 Co-authored-by: Dominik Harz Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * fix: revert change which blocks rewards calculation * chore: update coingecko api endpoint * [release] Kintsugi 2.32.0 (#1215) * feat: redirect when access from forbidden country is detected (#1209) * Feature/updated transfer UI (#876) * refactor: use updated tab component * refactor: duplicated form titles * refactor: remove redundant hook calls * refactor: prefer title case * wip: XCM transfer form UI * wip: updated form UI * wip: account selector placeholder component * wip: account selector modal * wip: modal open and close actions * wip: update modal type * wip: get accounts * wip: add identicon and rename component for consistency * wip: account input component * fix: remove redundant icons prop * feat: implement with SelectTrigger * wip: styling and account selection value * wip: handle setting account data * refactor: better naming * wip: address list styling * refactor: rename defaultAccount * wip: chain selector placeholder component * wip: duplicate account component and rename * chore: delete redundant legacy component * wip: logic for fetching and rendering chain ids * wip: chain item styling * wip: selected chain styling * chore: add comment * refactor: pass through native token to icon component * feature: add chain icon component * chore: add comment * chore: correct file name casing * refactor: improve folder structure * wip: form layout styling * chore: add arrow icon * chore: add logos and correct svg titles * chore: remove redundant svg prop * chore: rename arrow icon * chore: consistent use of styled components * refactor: remove padding from modal body * wip: formik integration work * wip: extend useXCMBridge to return available chains and utility methods * chore: move Chain and Chains types to types directory * feat: layout and form implementation * feat: add schema * feat: final * wip: refactor useXCMBridge hook * refactor: add endpoints type * refactor: wrap methods in useCallback * refactor: fix bug in hook method * chore: bump bridge version * wip: set originating and destination chain values * refactor: set from chain value on field change * wip: set originating chain value * refactor: mergeProps to set field value * refactor: handle setting origin/destination chain values * wip: get tokens method * wip: first iteration of balances function * wip: handle tokens array * wip: set token value * wip: get token balances * wip: return token and balances in single method * wip: mapped tokens * refactor: handle default chain values * refactor: better organised function order * wip: handle change events * wip: handle setting tokens * wip: handle fetching tokens and balances * wip: convert input configs * wip: handle token change * wip: get token USD price * Trigger Build * chore: remove unused import * chore: correct eslintignore syntax * wip: handle breaking changes * wip: disable token input when select items value is 1 * chore: set first token item as variable * wip: handle setting and changing values * chire: add loading spinner * refactor: add loading state * refactor: filter destination chains * chore: remove console log * chore: bump XCM bridge version * chore: update config * refactor: configure validation * chore: revert change to useForm hook * wip: form validation * wip: working form validation * wip: undefined validation parameters * refactor: return dest fee estimate from bridge hook * feature: show fees and fee estimates * chore: conditional operators * refactor: handle ticker change correctly * wip: sendTransaction method * Revert "wip: sendTransaction method" This reverts commit 3ade26dda26c7cc14f9db9e7c005b66863fa9139. * fix: USD amounts * wip: send transactions * refactor: bump bridge and use getNativeToken method * chore: bump bridge * refactor: move submit logic to useMutation hook * fix: type mismatches * refactor: white space/comments * refactor: add transaction fee validation * chore: typo * chore: remove console log * refactor: remove duplicated monetary conversion * refactor: remove duplicate code * Revert "refactor: remove duplicate code" This reverts commit bd29f8c5661e327c5285d1020c534dab2deae806. * Revert "refactor: remove duplicated monetary conversion" This reverts commit 5fd3d645eb7d8edc00cfe8ced186d4e2432af9fc. * refactor: use monetaryAmount when constructing transaction * refactor: remove duplicated code for fetching tokens * refactor: default XCM origin * Revert "refactor: remove duplicated code for fetching tokens" This reverts commit 8f31ee8667adcd49f5aaebb7db2f205afb5e9725. * chore: remove comment * chore: fix errors * fix: set default value to empty string to prevent React error * refactor: removed unwanted force validation parameters * refactor: remove redundant method * refactor: add method return type * refactor: add method return type * refactor: correct type error * refactor: fix destFee type error * refactor: remove fees validation and revert destFee return value * chore: remove console log * refactor: remove redundant method * refactor: disable validation on change * chore: remove commented out code * wip: use select component for chain selector * fix: handle chain select functions * refactor: type chain id as ChainName * Revert "refactor: type chain id as ChainName" This reverts commit d05e0128cb4b5ac1d00ac07808ebdf9858739165. * chore: remove unused component files * refactor: remove duplicated transaction logic * fix: make to/from field types more specific * fix: revert yup.custom changes and cast validation * fix: set correct destination chain * refator: handle token data * refactor: add use callback * fix: correct rendering logic * fix: update dependencies * chore: delete unused styles * chore: fix merge issue with transfer form * fix: change validation handling * Revert "fix: change validation handling" This reverts commit c0cb3062aad3540b2afad7d375024d872924a62c. * refactor: only display transfer amount if amount has been entered * chore: config changes * chore: add missing icons * chore: Hydra chain icon * fix: add error text to CTA * Tom/xcm fixes (#1213) * refactor: specify endpoints and remove unnecessary logic * fix: save file before committing * fix: disable refetch * chore: update endpoints * chore: remove log * chore: rename file * chore: add additional acala/karura endpoints --------- Co-authored-by: Rui Simão * chore: release v2.32.0 --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> Co-authored-by: Rui Simão * [release] Kintsugi 2.32.2 (#1223) * feat: redirect when access from forbidden country is detected (#1209) * Feature/updated transfer UI (#876) * refactor: use updated tab component * refactor: duplicated form titles * refactor: remove redundant hook calls * refactor: prefer title case * wip: XCM transfer form UI * wip: updated form UI * wip: account selector placeholder component * wip: account selector modal * wip: modal open and close actions * wip: update modal type * wip: get accounts * wip: add identicon and rename component for consistency * wip: account input component * fix: remove redundant icons prop * feat: implement with SelectTrigger * wip: styling and account selection value * wip: handle setting account data * refactor: better naming * wip: address list styling * refactor: rename defaultAccount * wip: chain selector placeholder component * wip: duplicate account component and rename * chore: delete redundant legacy component * wip: logic for fetching and rendering chain ids * wip: chain item styling * wip: selected chain styling * chore: add comment * refactor: pass through native token to icon component * feature: add chain icon component * chore: add comment * chore: correct file name casing * refactor: improve folder structure * wip: form layout styling * chore: add arrow icon * chore: add logos and correct svg titles * chore: remove redundant svg prop * chore: rename arrow icon * chore: consistent use of styled components * refactor: remove padding from modal body * wip: formik integration work * wip: extend useXCMBridge to return available chains and utility methods * chore: move Chain and Chains types to types directory * feat: layout and form implementation * feat: add schema * feat: final * wip: refactor useXCMBridge hook * refactor: add endpoints type * refactor: wrap methods in useCallback * refactor: fix bug in hook method * chore: bump bridge version * wip: set originating and destination chain values * refactor: set from chain value on field change * wip: set originating chain value * refactor: mergeProps to set field value * refactor: handle setting origin/destination chain values * wip: get tokens method * wip: first iteration of balances function * wip: handle tokens array * wip: set token value * wip: get token balances * wip: return token and balances in single method * wip: mapped tokens * refactor: handle default chain values * refactor: better organised function order * wip: handle change events * wip: handle setting tokens * wip: handle fetching tokens and balances * wip: convert input configs * wip: handle token change * wip: get token USD price * Trigger Build * chore: remove unused import * chore: correct eslintignore syntax * wip: handle breaking changes * wip: disable token input when select items value is 1 * chore: set first token item as variable * wip: handle setting and changing values * chire: add loading spinner * refactor: add loading state * refactor: filter destination chains * chore: remove console log * chore: bump XCM bridge version * chore: update config * refactor: configure validation * chore: revert change to useForm hook * wip: form validation * wip: working form validation * wip: undefined validation parameters * refactor: return dest fee estimate from bridge hook * feature: show fees and fee estimates * chore: conditional operators * refactor: handle ticker change correctly * wip: sendTransaction method * Revert "wip: sendTransaction method" This reverts commit 3ade26dda26c7cc14f9db9e7c005b66863fa9139. * fix: USD amounts * wip: send transactions * refactor: bump bridge and use getNativeToken method * chore: bump bridge * refactor: move submit logic to useMutation hook * fix: type mismatches * refactor: white space/comments * refactor: add transaction fee validation * chore: typo * chore: remove console log * refactor: remove duplicated monetary conversion * refactor: remove duplicate code * Revert "refactor: remove duplicate code" This reverts commit bd29f8c5661e327c5285d1020c534dab2deae806. * Revert "refactor: remove duplicated monetary conversion" This reverts commit 5fd3d645eb7d8edc00cfe8ced186d4e2432af9fc. * refactor: use monetaryAmount when constructing transaction * refactor: remove duplicated code for fetching tokens * refactor: default XCM origin * Revert "refactor: remove duplicated code for fetching tokens" This reverts commit 8f31ee8667adcd49f5aaebb7db2f205afb5e9725. * chore: remove comment * chore: fix errors * fix: set default value to empty string to prevent React error * refactor: removed unwanted force validation parameters * refactor: remove redundant method * refactor: add method return type * refactor: add method return type * refactor: correct type error * refactor: fix destFee type error * refactor: remove fees validation and revert destFee return value * chore: remove console log * refactor: remove redundant method * refactor: disable validation on change * chore: remove commented out code * wip: use select component for chain selector * fix: handle chain select functions * refactor: type chain id as ChainName * Revert "refactor: type chain id as ChainName" This reverts commit d05e0128cb4b5ac1d00ac07808ebdf9858739165. * chore: remove unused component files * refactor: remove duplicated transaction logic * fix: make to/from field types more specific * fix: revert yup.custom changes and cast validation * fix: set correct destination chain * refator: handle token data * refactor: add use callback * fix: correct rendering logic * fix: update dependencies * chore: delete unused styles * chore: fix merge issue with transfer form * fix: change validation handling * Revert "fix: change validation handling" This reverts commit c0cb3062aad3540b2afad7d375024d872924a62c. * refactor: only display transfer amount if amount has been entered * chore: config changes * chore: add missing icons * chore: Hydra chain icon * fix: add error text to CTA * Tom/xcm fixes (#1213) * refactor: specify endpoints and remove unnecessary logic * fix: save file before committing * fix: disable refetch * chore: update endpoints * chore: remove log * chore: rename file * chore: add additional acala/karura endpoints --------- Co-authored-by: Rui Simão * chore: release v2.32.0 * Update API healthchecks (#778) * Chore - add vault healthcheck * Chore - add vault healthcheck * Chore - add vault healthcheck * [earn strategies] placeholder page, nav and feature flag (#1216) * chore: bump icons dependency * feature: earn strategies placeholder page and feature flag * feat: add useTransaction (#1189) * chore: update monetary to latest 0.7.3 (#1214) * chore: update monetary to latest 0.7.3 * chore: update lib * chore: bump lib and bridge (#1219) * chore: release v2.32.1 * fix: add missing icons and remove erroring RPC (#1222) * fix: add missing icons and remove erroring RPC * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Acala.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Astar.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Parallel.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * chore: release v2.32.2 --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> Co-authored-by: Rui Simão Co-authored-by: ns212 <73105077+ns212@users.noreply.github.com> * [release] Kintsugi 2.32.3 (#1228) * feat: redirect when access from forbidden country is detected (#1209) * Feature/updated transfer UI (#876) * refactor: use updated tab component * refactor: duplicated form titles * refactor: remove redundant hook calls * refactor: prefer title case * wip: XCM transfer form UI * wip: updated form UI * wip: account selector placeholder component * wip: account selector modal * wip: modal open and close actions * wip: update modal type * wip: get accounts * wip: add identicon and rename component for consistency * wip: account input component * fix: remove redundant icons prop * feat: implement with SelectTrigger * wip: styling and account selection value * wip: handle setting account data * refactor: better naming * wip: address list styling * refactor: rename defaultAccount * wip: chain selector placeholder component * wip: duplicate account component and rename * chore: delete redundant legacy component * wip: logic for fetching and rendering chain ids * wip: chain item styling * wip: selected chain styling * chore: add comment * refactor: pass through native token to icon component * feature: add chain icon component * chore: add comment * chore: correct file name casing * refactor: improve folder structure * wip: form layout styling * chore: add arrow icon * chore: add logos and correct svg titles * chore: remove redundant svg prop * chore: rename arrow icon * chore: consistent use of styled components * refactor: remove padding from modal body * wip: formik integration work * wip: extend useXCMBridge to return available chains and utility methods * chore: move Chain and Chains types to types directory * feat: layout and form implementation * feat: add schema * feat: final * wip: refactor useXCMBridge hook * refactor: add endpoints type * refactor: wrap methods in useCallback * refactor: fix bug in hook method * chore: bump bridge version * wip: set originating and destination chain values * refactor: set from chain value on field change * wip: set originating chain value * refactor: mergeProps to set field value * refactor: handle setting origin/destination chain values * wip: get tokens method * wip: first iteration of balances function * wip: handle tokens array * wip: set token value * wip: get token balances * wip: return token and balances in single method * wip: mapped tokens * refactor: handle default chain values * refactor: better organised function order * wip: handle change events * wip: handle setting tokens * wip: handle fetching tokens and balances * wip: convert input configs * wip: handle token change * wip: get token USD price * Trigger Build * chore: remove unused import * chore: correct eslintignore syntax * wip: handle breaking changes * wip: disable token input when select items value is 1 * chore: set first token item as variable * wip: handle setting and changing values * chire: add loading spinner * refactor: add loading state * refactor: filter destination chains * chore: remove console log * chore: bump XCM bridge version * chore: update config * refactor: configure validation * chore: revert change to useForm hook * wip: form validation * wip: working form validation * wip: undefined validation parameters * refactor: return dest fee estimate from bridge hook * feature: show fees and fee estimates * chore: conditional operators * refactor: handle ticker change correctly * wip: sendTransaction method * Revert "wip: sendTransaction method" This reverts commit 3ade26dda26c7cc14f9db9e7c005b66863fa9139. * fix: USD amounts * wip: send transactions * refactor: bump bridge and use getNativeToken method * chore: bump bridge * refactor: move submit logic to useMutation hook * fix: type mismatches * refactor: white space/comments * refactor: add transaction fee validation * chore: typo * chore: remove console log * refactor: remove duplicated monetary conversion * refactor: remove duplicate code * Revert "refactor: remove duplicate code" This reverts commit bd29f8c5661e327c5285d1020c534dab2deae806. * Revert "refactor: remove duplicated monetary conversion" This reverts commit 5fd3d645eb7d8edc00cfe8ced186d4e2432af9fc. * refactor: use monetaryAmount when constructing transaction * refactor: remove duplicated code for fetching tokens * refactor: default XCM origin * Revert "refactor: remove duplicated code for fetching tokens" This reverts commit 8f31ee8667adcd49f5aaebb7db2f205afb5e9725. * chore: remove comment * chore: fix errors * fix: set default value to empty string to prevent React error * refactor: removed unwanted force validation parameters * refactor: remove redundant method * refactor: add method return type * refactor: add method return type * refactor: correct type error * refactor: fix destFee type error * refactor: remove fees validation and revert destFee return value * chore: remove console log * refactor: remove redundant method * refactor: disable validation on change * chore: remove commented out code * wip: use select component for chain selector * fix: handle chain select functions * refactor: type chain id as ChainName * Revert "refactor: type chain id as ChainName" This reverts commit d05e0128cb4b5ac1d00ac07808ebdf9858739165. * chore: remove unused component files * refactor: remove duplicated transaction logic * fix: make to/from field types more specific * fix: revert yup.custom changes and cast validation * fix: set correct destination chain * refator: handle token data * refactor: add use callback * fix: correct rendering logic * fix: update dependencies * chore: delete unused styles * chore: fix merge issue with transfer form * fix: change validation handling * Revert "fix: change validation handling" This reverts commit c0cb3062aad3540b2afad7d375024d872924a62c. * refactor: only display transfer amount if amount has been entered * chore: config changes * chore: add missing icons * chore: Hydra chain icon * fix: add error text to CTA * Tom/xcm fixes (#1213) * refactor: specify endpoints and remove unnecessary logic * fix: save file before committing * fix: disable refetch * chore: update endpoints * chore: remove log * chore: rename file * chore: add additional acala/karura endpoints --------- Co-authored-by: Rui Simão * chore: release v2.32.0 * Update API healthchecks (#778) * Chore - add vault healthcheck * Chore - add vault healthcheck * Chore - add vault healthcheck * [earn strategies] placeholder page, nav and feature flag (#1216) * chore: bump icons dependency * feature: earn strategies placeholder page and feature flag * feat: add useTransaction (#1189) * chore: update monetary to latest 0.7.3 (#1214) * chore: update monetary to latest 0.7.3 * chore: update lib * chore: bump lib and bridge (#1219) * chore: release v2.32.1 * fix: add missing icons and remove erroring RPC (#1222) * fix: add missing icons and remove erroring RPC * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Acala.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Astar.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Parallel.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * chore: release v2.32.2 * fix: compare input configs with method not operator (#1225) * refactor: reset selected account on account change (#1226) * chore: release v2.32.3 --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> Co-authored-by: Rui Simão Co-authored-by: ns212 <73105077+ns212@users.noreply.github.com> * [release] Kintsugi 2.32.4 (#1232) * feat: redirect when access from forbidden country is detected (#1209) * Feature/updated transfer UI (#876) * refactor: use updated tab component * refactor: duplicated form titles * refactor: remove redundant hook calls * refactor: prefer title case * wip: XCM transfer form UI * wip: updated form UI * wip: account selector placeholder component * wip: account selector modal * wip: modal open and close actions * wip: update modal type * wip: get accounts * wip: add identicon and rename component for consistency * wip: account input component * fix: remove redundant icons prop * feat: implement with SelectTrigger * wip: styling and account selection value * wip: handle setting account data * refactor: better naming * wip: address list styling * refactor: rename defaultAccount * wip: chain selector placeholder component * wip: duplicate account component and rename * chore: delete redundant legacy component * wip: logic for fetching and rendering chain ids * wip: chain item styling * wip: selected chain styling * chore: add comment * refactor: pass through native token to icon component * feature: add chain icon component * chore: add comment * chore: correct file name casing * refactor: improve folder structure * wip: form layout styling * chore: add arrow icon * chore: add logos and correct svg titles * chore: remove redundant svg prop * chore: rename arrow icon * chore: consistent use of styled components * refactor: remove padding from modal body * wip: formik integration work * wip: extend useXCMBridge to return available chains and utility methods * chore: move Chain and Chains types to types directory * feat: layout and form implementation * feat: add schema * feat: final * wip: refactor useXCMBridge hook * refactor: add endpoints type * refactor: wrap methods in useCallback * refactor: fix bug in hook method * chore: bump bridge version * wip: set originating and destination chain values * refactor: set from chain value on field change * wip: set originating chain value * refactor: mergeProps to set field value * refactor: handle setting origin/destination chain values * wip: get tokens method * wip: first iteration of balances function * wip: handle tokens array * wip: set token value * wip: get token balances * wip: return token and balances in single method * wip: mapped tokens * refactor: handle default chain values * refactor: better organised function order * wip: handle change events * wip: handle setting tokens * wip: handle fetching tokens and balances * wip: convert input configs * wip: handle token change * wip: get token USD price * Trigger Build * chore: remove unused import * chore: correct eslintignore syntax * wip: handle breaking changes * wip: disable token input when select items value is 1 * chore: set first token item as variable * wip: handle setting and changing values * chire: add loading spinner * refactor: add loading state * refactor: filter destination chains * chore: remove console log * chore: bump XCM bridge version * chore: update config * refactor: configure validation * chore: revert change to useForm hook * wip: form validation * wip: working form validation * wip: undefined validation parameters * refactor: return dest fee estimate from bridge hook * feature: show fees and fee estimates * chore: conditional operators * refactor: handle ticker change correctly * wip: sendTransaction method * Revert "wip: sendTransaction method" This reverts commit 3ade26dda26c7cc14f9db9e7c005b66863fa9139. * fix: USD amounts * wip: send transactions * refactor: bump bridge and use getNativeToken method * chore: bump bridge * refactor: move submit logic to useMutation hook * fix: type mismatches * refactor: white space/comments * refactor: add transaction fee validation * chore: typo * chore: remove console log * refactor: remove duplicated monetary conversion * refactor: remove duplicate code * Revert "refactor: remove duplicate code" This reverts commit bd29f8c5661e327c5285d1020c534dab2deae806. * Revert "refactor: remove duplicated monetary conversion" This reverts commit 5fd3d645eb7d8edc00cfe8ced186d4e2432af9fc. * refactor: use monetaryAmount when constructing transaction * refactor: remove duplicated code for fetching tokens * refactor: default XCM origin * Revert "refactor: remove duplicated code for fetching tokens" This reverts commit 8f31ee8667adcd49f5aaebb7db2f205afb5e9725. * chore: remove comment * chore: fix errors * fix: set default value to empty string to prevent React error * refactor: removed unwanted force validation parameters * refactor: remove redundant method * refactor: add method return type * refactor: add method return type * refactor: correct type error * refactor: fix destFee type error * refactor: remove fees validation and revert destFee return value * chore: remove console log * refactor: remove redundant method * refactor: disable validation on change * chore: remove commented out code * wip: use select component for chain selector * fix: handle chain select functions * refactor: type chain id as ChainName * Revert "refactor: type chain id as ChainName" This reverts commit d05e0128cb4b5ac1d00ac07808ebdf9858739165. * chore: remove unused component files * refactor: remove duplicated transaction logic * fix: make to/from field types more specific * fix: revert yup.custom changes and cast validation * fix: set correct destination chain * refator: handle token data * refactor: add use callback * fix: correct rendering logic * fix: update dependencies * chore: delete unused styles * chore: fix merge issue with transfer form * fix: change validation handling * Revert "fix: change validation handling" This reverts commit c0cb3062aad3540b2afad7d375024d872924a62c. * refactor: only display transfer amount if amount has been entered * chore: config changes * chore: add missing icons * chore: Hydra chain icon * fix: add error text to CTA * Tom/xcm fixes (#1213) * refactor: specify endpoints and remove unnecessary logic * fix: save file before committing * fix: disable refetch * chore: update endpoints * chore: remove log * chore: rename file * chore: add additional acala/karura endpoints --------- Co-authored-by: Rui Simão * chore: release v2.32.0 * Update API healthchecks (#778) * Chore - add vault healthcheck * Chore - add vault healthcheck * Chore - add vault healthcheck * [earn strategies] placeholder page, nav and feature flag (#1216) * chore: bump icons dependency * feature: earn strategies placeholder page and feature flag * feat: add useTransaction (#1189) * chore: update monetary to latest 0.7.3 (#1214) * chore: update monetary to latest 0.7.3 * chore: update lib * chore: bump lib and bridge (#1219) * chore: release v2.32.1 * fix: add missing icons and remove erroring RPC (#1222) * fix: add missing icons and remove erroring RPC * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Acala.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Astar.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Parallel.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * chore: release v2.32.2 * fix: compare input configs with method not operator (#1225) * refactor: reset selected account on account change (#1226) * chore: release v2.32.3 * feature: add geoblock feature flag (#1230) * chore: release v2.32.4 --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> Co-authored-by: Rui Simão Co-authored-by: ns212 <73105077+ns212@users.noreply.github.com> * [release] Kintsugi 2.32.5 (#1234) * feat: redirect when access from forbidden country is detected (#1209) * Feature/updated transfer UI (#876) * refactor: use updated tab component * refactor: duplicated form titles * refactor: remove redundant hook calls * refactor: prefer title case * wip: XCM transfer form UI * wip: updated form UI * wip: account selector placeholder component * wip: account selector modal * wip: modal open and close actions * wip: update modal type * wip: get accounts * wip: add identicon and rename component for consistency * wip: account input component * fix: remove redundant icons prop * feat: implement with SelectTrigger * wip: styling and account selection value * wip: handle setting account data * refactor: better naming * wip: address list styling * refactor: rename defaultAccount * wip: chain selector placeholder component * wip: duplicate account component and rename * chore: delete redundant legacy component * wip: logic for fetching and rendering chain ids * wip: chain item styling * wip: selected chain styling * chore: add comment * refactor: pass through native token to icon component * feature: add chain icon component * chore: add comment * chore: correct file name casing * refactor: improve folder structure * wip: form layout styling * chore: add arrow icon * chore: add logos and correct svg titles * chore: remove redundant svg prop * chore: rename arrow icon * chore: consistent use of styled components * refactor: remove padding from modal body * wip: formik integration work * wip: extend useXCMBridge to return available chains and utility methods * chore: move Chain and Chains types to types directory * feat: layout and form implementation * feat: add schema * feat: final * wip: refactor useXCMBridge hook * refactor: add endpoints type * refactor: wrap methods in useCallback * refactor: fix bug in hook method * chore: bump bridge version * wip: set originating and destination chain values * refactor: set from chain value on field change * wip: set originating chain value * refactor: mergeProps to set field value * refactor: handle setting origin/destination chain values * wip: get tokens method * wip: first iteration of balances function * wip: handle tokens array * wip: set token value * wip: get token balances * wip: return token and balances in single method * wip: mapped tokens * refactor: handle default chain values * refactor: better organised function order * wip: handle change events * wip: handle setting tokens * wip: handle fetching tokens and balances * wip: convert input configs * wip: handle token change * wip: get token USD price * Trigger Build * chore: remove unused import * chore: correct eslintignore syntax * wip: handle breaking changes * wip: disable token input when select items value is 1 * chore: set first token item as variable * wip: handle setting and changing values * chire: add loading spinner * refactor: add loading state * refactor: filter destination chains * chore: remove console log * chore: bump XCM bridge version * chore: update config * refactor: configure validation * chore: revert change to useForm hook * wip: form validation * wip: working form validation * wip: undefined validation parameters * refactor: return dest fee estimate from bridge hook * feature: show fees and fee estimates * chore: conditional operators * refactor: handle ticker change correctly * wip: sendTransaction method * Revert "wip: sendTransaction method" This reverts commit 3ade26dda26c7cc14f9db9e7c005b66863fa9139. * fix: USD amounts * wip: send transactions * refactor: bump bridge and use getNativeToken method * chore: bump bridge * refactor: move submit logic to useMutation hook * fix: type mismatches * refactor: white space/comments * refactor: add transaction fee validation * chore: typo * chore: remove console log * refactor: remove duplicated monetary conversion * refactor: remove duplicate code * Revert "refactor: remove duplicate code" This reverts commit bd29f8c5661e327c5285d1020c534dab2deae806. * Revert "refactor: remove duplicated monetary conversion" This reverts commit 5fd3d645eb7d8edc00cfe8ced186d4e2432af9fc. * refactor: use monetaryAmount when constructing transaction * refactor: remove duplicated code for fetching tokens * refactor: default XCM origin * Revert "refactor: remove duplicated code for fetching tokens" This reverts commit 8f31ee8667adcd49f5aaebb7db2f205afb5e9725. * chore: remove comment * chore: fix errors * fix: set default value to empty string to prevent React error * refactor: removed unwanted force validation parameters * refactor: remove redundant method * refactor: add method return type * refactor: add method return type * refactor: correct type error * refactor: fix destFee type error * refactor: remove fees validation and revert destFee return value * chore: remove console log * refactor: remove redundant method * refactor: disable validation on change * chore: remove commented out code * wip: use select component for chain selector * fix: handle chain select functions * refactor: type chain id as ChainName * Revert "refactor: type chain id as ChainName" This reverts commit d05e0128cb4b5ac1d00ac07808ebdf9858739165. * chore: remove unused component files * refactor: remove duplicated transaction logic * fix: make to/from field types more specific * fix: revert yup.custom changes and cast validation * fix: set correct destination chain * refator: handle token data * refactor: add use callback * fix: correct rendering logic * fix: update dependencies * chore: delete unused styles * chore: fix merge issue with transfer form * fix: change validation handling * Revert "fix: change validation handling" This reverts commit c0cb3062aad3540b2afad7d375024d872924a62c. * refactor: only display transfer amount if amount has been entered * chore: config changes * chore: add missing icons * chore: Hydra chain icon * fix: add error text to CTA * Tom/xcm fixes (#1213) * refactor: specify endpoints and remove unnecessary logic * fix: save file before committing * fix: disable refetch * chore: update endpoints * chore: remove log * chore: rename file * chore: add additional acala/karura endpoints --------- Co-authored-by: Rui Simão * chore: release v2.32.0 * Update API healthchecks (#778) * Chore - add vault healthcheck * Chore - add vault healthcheck * Chore - add vault healthcheck * [earn strategies] placeholder page, nav and feature flag (#1216) * chore: bump icons dependency * feature: earn strategies placeholder page and feature flag * feat: add useTransaction (#1189) * chore: update monetary to latest 0.7.3 (#1214) * chore: update monetary to latest 0.7.3 * chore: update lib * chore: bump lib and bridge (#1219) * chore: release v2.32.1 * fix: add missing icons and remove erroring RPC (#1222) * fix: add missing icons and remove erroring RPC * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Acala.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Astar.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Parallel.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * chore: release v2.32.2 * fix: compare input configs with method not operator (#1225) * refactor: reset selected account on account change (#1226) * chore: release v2.32.3 * feature: add geoblock feature flag (#1230) * chore: release v2.32.4 * chore: bump bridge (#1233) * chore: release v2.32.5 --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> Co-authored-by: Rui Simão Co-authored-by: ns212 <73105077+ns212@users.noreply.github.com> * [release] Kintsugi 2.32.6 (#1249) * feat: redirect when access from forbidden country is detected (#1209) * Feature/updated transfer UI (#876) * refactor: use updated tab component * refactor: duplicated form titles * refactor: remove redundant hook calls * refactor: prefer title case * wip: XCM transfer form UI * wip: updated form UI * wip: account selector placeholder component * wip: account selector modal * wip: modal open and close actions * wip: update modal type * wip: get accounts * wip: add identicon and rename component for consistency * wip: account input component * fix: remove redundant icons prop * feat: implement with SelectTrigger * wip: styling and account selection value * wip: handle setting account data * refactor: better naming * wip: address list styling * refactor: rename defaultAccount * wip: chain selector placeholder component * wip: duplicate account component and rename * chore: delete redundant legacy component * wip: logic for fetching and rendering chain ids * wip: chain item styling * wip: selected chain styling * chore: add comment * refactor: pass through native token to icon component * feature: add chain icon component * chore: add comment * chore: correct file name casing * refactor: improve folder structure * wip: form layout styling * chore: add arrow icon * chore: add logos and correct svg titles * chore: remove redundant svg prop * chore: rename arrow icon * chore: consistent use of styled components * refactor: remove padding from modal body * wip: formik integration work * wip: extend useXCMBridge to return available chains and utility methods * chore: move Chain and Chains types to types directory * feat: layout and form implementation * feat: add schema * feat: final * wip: refactor useXCMBridge hook * refactor: add endpoints type * refactor: wrap methods in useCallback * refactor: fix bug in hook method * chore: bump bridge version * wip: set originating and destination chain values * refactor: set from chain value on field change * wip: set originating chain value * refactor: mergeProps to set field value * refactor: handle setting origin/destination chain values * wip: get tokens method * wip: first iteration of balances function * wip: handle tokens array * wip: set token value * wip: get token balances * wip: return token and balances in single method * wip: mapped tokens * refactor: handle default chain values * refactor: better organised function order * wip: handle change events * wip: handle setting tokens * wip: handle fetching tokens and balances * wip: convert input configs * wip: handle token change * wip: get token USD price * Trigger Build * chore: remove unused import * chore: correct eslintignore syntax * wip: handle breaking changes * wip: disable token input when select items value is 1 * chore: set first token item as variable * wip: handle setting and changing values * chire: add loading spinner * refactor: add loading state * refactor: filter destination chains * chore: remove console log * chore: bump XCM bridge version * chore: update config * refactor: configure validation * chore: revert change to useForm hook * wip: form validation * wip: working form validation * wip: undefined validation parameters * refactor: return dest fee estimate from bridge hook * feature: show fees and fee estimates * chore: conditional operators * refactor: handle ticker change correctly * wip: sendTransaction method * Revert "wip: sendTransaction method" This reverts commit 3ade26dda26c7cc14f9db9e7c005b66863fa9139. * fix: USD amounts * wip: send transactions * refactor: bump bridge and use getNativeToken method * chore: bump bridge * refactor: move submit logic to useMutation hook * fix: type mismatches * refactor: white space/comments * refactor: add transaction fee validation * chore: typo * chore: remove console log * refactor: remove duplicated monetary conversion * refactor: remove duplicate code * Revert "refactor: remove duplicate code" This reverts commit bd29f8c5661e327c5285d1020c534dab2deae806. * Revert "refactor: remove duplicated monetary conversion" This reverts commit 5fd3d645eb7d8edc00cfe8ced186d4e2432af9fc. * refactor: use monetaryAmount when constructing transaction * refactor: remove duplicated code for fetching tokens * refactor: default XCM origin * Revert "refactor: remove duplicated code for fetching tokens" This reverts commit 8f31ee8667adcd49f5aaebb7db2f205afb5e9725. * chore: remove comment * chore: fix errors * fix: set default value to empty string to prevent React error * refactor: removed unwanted force validation parameters * refactor: remove redundant method * refactor: add method return type * refactor: add method return type * refactor: correct type error * refactor: fix destFee type error * refactor: remove fees validation and revert destFee return value * chore: remove console log * refactor: remove redundant method * refactor: disable validation on change * chore: remove commented out code * wip: use select component for chain selector * fix: handle chain select functions * refactor: type chain id as ChainName * Revert "refactor: type chain id as ChainName" This reverts commit d05e0128cb4b5ac1d00ac07808ebdf9858739165. * chore: remove unused component files * refactor: remove duplicated transaction logic * fix: make to/from field types more specific * fix: revert yup.custom changes and cast validation * fix: set correct destination chain * refator: handle token data * refactor: add use callback * fix: correct rendering logic * fix: update dependencies * chore: delete unused styles * chore: fix merge issue with transfer form * fix: change validation handling * Revert "fix: change validation handling" This reverts commit c0cb3062aad3540b2afad7d375024d872924a62c. * refactor: only display transfer amount if amount has been entered * chore: config changes * chore: add missing icons * chore: Hydra chain icon * fix: add error text to CTA * Tom/xcm fixes (#1213) * refactor: specify endpoints and remove unnecessary logic * fix: save file before committing * fix: disable refetch * chore: update endpoints * chore: remove log * chore: rename file * chore: add additional acala/karura endpoints --------- Co-authored-by: Rui Simão * chore: release v2.32.0 * Update API healthchecks (#778) * Chore - add vault healthcheck * Chore - add vault healthcheck * Chore - add vault healthcheck * [earn strategies] placeholder page, nav and feature flag (#1216) * chore: bump icons dependency * feature: earn strategies placeholder page and feature flag * feat: add useTransaction (#1189) * chore: update monetary to latest 0.7.3 (#1214) * chore: update monetary to latest 0.7.3 * chore: update lib * chore: bump lib and bridge (#1219) * chore: release v2.32.1 * fix: add missing icons and remove erroring RPC (#1222) * fix: add missing icons and remove erroring RPC * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Acala.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Astar.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * Update src/pages/Transfer/CrossChainTransferForm/components/ChainIcon/icons/Parallel.tsx Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> * chore: release v2.32.2 * fix: compare input configs with method not operator (#1225) * refactor: reset selected account on account change (#1226) * chore: release v2.32.3 * feature: add geoblock feature flag (#1230) * chore: release v2.32.4 * chore: bump bridge (#1233) * chore: release v2.32.5 * Peter/earn strategies feat deposit withdraw form (#1229) * chore: update monetary to latest 0.7.3 * wip * feat(earn-strategies): add deposit and withdrawal form components * refactor: add padding under tabs in earn strategy forms * chore(earn-strategies): change file structure * feat: add Popover, Underlay and ProgressBar. Changes to Dialog, Modal and Overlay. (#1236) * fix: Dialog, Modal and Popover (#1245) * chore: rename strategies feature (#1247) * chore: release v2.32.6 --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> Co-authored-by: Rui Simão Co-authored-by: ns212 <73105077+ns212@users.noreply.github.com> * hotffix kintusgi: add percentage conversion (#1255) * fix: add percentage conversion * fix: change loans incentives annualized return to have label APR * [release] Kintsugi 2.33.0 (#1280) * feat: redirect when access from forbidden country is detected (#1209) * Feature/updated transfer UI (#876) * refactor: use updated tab component * refactor: duplicated form titles * refactor: remove redundant hook calls * refactor: prefer title case * wip: XCM transfer form UI * wip: updated form UI * wip: account selector placeholder component * wip: account selector modal * wip: modal open and close actions * wip: update modal type * wip: get accounts * wip: add identicon and rename component for consistency * wip: account input component * fix: remove redundant icons prop * feat: implement with SelectTrigger * wip: styling and account selection value * wip: handle setting account data * refactor: better naming * wip: address list styling * refactor: rename defaultAccount * wip: chain selector placeholder component * wip: duplicate account component and rename * chore: delete redundant legacy component * wip: logic for fetching and rendering chain ids * wip: chain item styling * wip: selected chain styling * chore: add comment * refactor: pass through native token to icon component * feature: add chain icon component * chore: add comment * chore: correct file name casing * refactor: improve folder structure * wip: form layout styling * chore: add arrow icon * chore: add logos and correct svg titles * chore: remove redundant svg prop * chore: rename arrow icon * chore: consistent use of styled components * refactor: remove padding from modal body * wip: formik integration work * wip: extend useXCMBridge to return available chains and utility methods * chore: move Chain and Chains types to types directory * feat: layout and form implementation * feat: add schema * feat: final * wip: refactor useXCMBridge hook * refactor: add endpoints type * refactor: wrap methods in useCallback * refactor: fix bug in hook method * chore: bump bridge version * wip: set originating and destination chain values * refactor: set from chain value on field change * wip: set originating chain value * refactor: mergeProps to set field value * refactor: handle setting origin/destination chain values * wip: get tokens method * wip: first iteration of balances function * wip: handle tokens array * wip: set token value * wip: get token balances * wip: return token and balances in single method * wip: mapped tokens * refactor: han… * Peter/fix staking limit bug (#1515) * chore: update monetary to latest 0.7.3 * fix: use maximum stakable amount fetched from rpc * delete stray comment --------- Co-authored-by: Thomas Jeatt * Revert "Peter/fix staking limit bug (#1515)" This reverts commit a89625963c7fd542a213e04d81bbce6b9e4ae9c1. * chore: release v2.38.0 * fix: use redirect in route (#1533) * Peter/fix q token vaults volumes fetching (#1535) * chore: update monetary to latest 0.7.3 * fix: update vaults dashboard volumes query to include qToken vaults correctly * fix: only add projects with roadmap label (#1536) * fix: use-get-dex-volumes hook (#1534) * fix(SendAndReceive): remove dry-run from xcm (#1540) * fix(Pools): remove ratio customization (#1541) * wip: update resolutions * update resolutions * Revert "update resolutions" This reverts commit 8af4d732aa7a344bdbd7958bd2fa7b7388127acc. * Revert "wip: update resolutions" This reverts commit 3295e63471169206ca1d67b0b0fe9e7a6d053ed3. * Tom/site information component (#1552) * refactor: remove legacy testnet banner component * feature: add site information component * fix: whitespace * chore: update default env variable * refactor: extend main container * refactor: add information component to main container * rename const * refactor: update alert styling * fix: bold link styling * Peter/refactor usd price formatting (#1553) * chore: update monetary to latest 0.7.3 * refactor: show 3 decimal places in usd price if amount is below 1 cent * fix: correct exchange rate (#1555) * fix: correct exchange rate * remove redundant optional chaining * refactor: simplify exchange rate display --------- Co-authored-by: Peter * fix: formatting (#1556) * Peter/fix vault dashboard volumes hook (#1557) * chore: update monetary to latest 0.7.3 * fix: show all collateral currencies on locked collateral card * Peter/strategy feat proxy account (#1539) * chore: update monetary to latest 0.7.3 * feat(strategies): use proxy accounts * wip: write into identity pallet to keep track of strategy-proxy mapping * feat(strategies): use proxy accounts saved into identity pallet * chore: cleanup * refactor: code review * feat: add proxy account deposit field to transaction details, repay on withdraw-all * refactor: code review * chore: remove Karura dwellir node (#1558) * wip: try setting node options in package (#1559) * wip: try setting node options in package * Trigger build * api: add voucher-dot and other tokents (#1566) * chore: release v2.38.1 * api: refactor the market data api (#1569) * api: refactor the market data api * api: refactor the market data api * api: refactor the market data api * Tom/fix prices (#1571) * api: refactor the market data api * api: refactor the market data api * api: refactor the market data api * wip: add log * wip: hardcode value to run against market data api * wip: try setting asset name * fix: casing * chore: add vKSM ids * fix: handle VDOT and VKSM * typo: quotation marks * chore: fix switch statement and remove console log * fix: revert change --------- Co-authored-by: ns212 * chore: add vDOT icon and sort imports (#1563) * chore: add token icons (#1572) * chore: add token icons * fix: correct ids for vDOT * chore: TBTC icon * chore: release v2.38.2 * fix: remove market data python script --------- Co-authored-by: Peter Slaný <47864599+peterslany@users.noreply.github.com> Co-authored-by: Rui Simão Co-authored-by: ns212 <73105077+ns212@users.noreply.github.com> Co-authored-by: Chanakya Kilaru Co-authored-by: Peter Co-authored-by: Dominik Harz Co-authored-by: sander2 Co-authored-by: Brendon Votteler Co-authored-by: ns212 --- api/market_data.js | 106 ++++++++++++++++++ api/market_data.py | 106 ------------------ package.json | 2 +- src/component-library/CoinIcon/icons/DAI.tsx | 28 +++++ src/component-library/CoinIcon/icons/GLMR.tsx | 36 ++++++ src/component-library/CoinIcon/icons/TBTC.tsx | 25 +++++ src/component-library/CoinIcon/icons/USDC.tsx | 29 +++++ src/component-library/CoinIcon/icons/VDOT.tsx | 54 +++++++++ src/component-library/CoinIcon/icons/WBNB.tsx | 39 +++++++ src/component-library/CoinIcon/icons/WBTC.tsx | 28 +++++ src/component-library/CoinIcon/icons/WETH.tsx | 50 +++++++++ src/component-library/CoinIcon/icons/index.ts | 8 ++ src/component-library/CoinIcon/utils.ts | 40 +++++-- src/hooks/api/use-get-prices.tsx | 13 ++- vercel.json | 6 +- 15 files changed, 449 insertions(+), 121 deletions(-) create mode 100644 api/market_data.js delete mode 100644 api/market_data.py create mode 100644 src/component-library/CoinIcon/icons/DAI.tsx create mode 100644 src/component-library/CoinIcon/icons/GLMR.tsx create mode 100644 src/component-library/CoinIcon/icons/TBTC.tsx create mode 100644 src/component-library/CoinIcon/icons/USDC.tsx create mode 100644 src/component-library/CoinIcon/icons/VDOT.tsx create mode 100644 src/component-library/CoinIcon/icons/WBNB.tsx create mode 100644 src/component-library/CoinIcon/icons/WBTC.tsx create mode 100644 src/component-library/CoinIcon/icons/WETH.tsx diff --git a/api/market_data.js b/api/market_data.js new file mode 100644 index 0000000000..59f3664ce7 --- /dev/null +++ b/api/market_data.js @@ -0,0 +1,106 @@ +// Dia to Coingecko names +const tickers = { + "Tether USD": "tether", + "Acala USD": "acala-dollar", + "BNB": "binancecoin", + "Wrapped BTC": "wrapped-bitcoin", + "Dai Stablecoin": "dai", + "Ether": "ethereum", + "USD Coin": "usd-coin", + "tBTC v2": "tbtc", + "Voucher Dot": "voucher-dot", + "Voucher KSM": "voucher-ksm" +} + +// Coingecko to Dia asset ids +const dia_assets = { + "bitcoin": "/Bitcoin/0x0000000000000000000000000000000000000000", + "ethereum": "/Ethereum/0x0000000000000000000000000000000000000000", + "interlay": "/Interlay/0x0000000000000000000000000000000000000000", + "polkadot": "/Polkadot/0x0000000000000000000000000000000000000000", + "kusama": "/Kusama/0x0000000000000000000000000000000000000000", + "kintsugi": "/Kintsugi/Token:KINT", + "acala-dollar": "/Acala/Token:AUSD", + "karura": "/Bifrost/518", + "tether": "/Ethereum/0xdAC17F958D2ee523a2206206994597C13D831ec7", + "voucher-dot": "/Bifrost-polkadot/2304", + "voucher-ksm": "/Bifrost/260", + "binancecoin": "/Ethereum/0xB8c77482e45F1F44dE1745F52C74426C631bDD52", + "bnb": "/Ethereum/0xB8c77482e45F1F44dE1745F52C74426C631bDD52", + "tbtc": "/Ethereum/0x18084fbA666a33d37592fA2633fD49a74DD93a88", + "dai": "/Ethereum/0x6B175474E89094C44Da98b954EedeAC495271d0F", + "moonbeam": "/Moonbeam/0x0000000000000000000000000000000000000000", + "usd-coin": "/Ethereum/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "wrapped-bitcoin": "/Ethereum/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599" +} + +const fetchDiaAsset = async (asset) => { + try { + if (!dia_assets[asset]) { + console.log('Missing DIA asset: ', asset) + return coingecko({ ids: [asset], vs_currencies: ["usd"] }) + } + const url = 'https://api.diadata.org/v1/assetQuotation' + dia_assets[asset] + const response = await fetch(url, { headers: { "accept": "application/json" } }) + if (!response.ok) { + throw new Error(response.status) + } + const json = await response.json() + + // optionally rename the ticker + const name = (tickers[json.Name] ?? json.Name).toLowerCase() + return { + [name]: { + 'usd': json.Price + } + } + } catch (error) { + console.log(error) + } +} + +const dia = async (args) => { + const assets = args.ids.split(',') + + return Promise + .all(assets.map(x => fetchDiaAsset(x))) + .then(x => x.reduce((map, obj) => { + // we need to convert the list to an object + const k = Object.keys(obj)[0] + map[k] = obj[k] + return map + }, {})) +} + +const coingecko = async (args) => { + const url = 'https://api.coingecko.com/api/v3/simple/price?' + new URLSearchParams(args) + const response = await fetch(url, { headers: { "accept": "application/json" } }) + return await response.json() +} + +const fetchPrices = (priceSource, args) => { + if (priceSource === 'coingecko') { + return coingecko(args) + } else if (priceSource === 'dia') { + return dia(args) + } else { + try { + return dia(args) + } catch (error) { + console.log(error) + return coingecko(args) + } + } +} + +export default async function (request, response) { + const args = request.query + const priceSource = args['price-source'] + + const resp = await fetchPrices(priceSource, args) + return response + .status(200) + .setHeader("content-type", "application/json") + .setHeader("cache-control", "public, maxage=0, s-maxage=300") + .json(resp) +} diff --git a/api/market_data.py b/api/market_data.py deleted file mode 100644 index 6c2c7eeae3..0000000000 --- a/api/market_data.py +++ /dev/null @@ -1,106 +0,0 @@ -from flask import Flask, request, jsonify -from flask_cors import CORS -import requests -import os - -app = Flask(__name__) -CORS(app) - -api_key = os.environ.get("CG_API_KEY") - -tickers = { - "Tether USD": "tether", - "Acala USD": "acala-dollar" -} - -# map coingecko ids to dia ids -dia_assets = { - "bitcoin": "/Bitcoin/0x0000000000000000000000000000000000000000", - "ethereum": "/Ethereum/0x0000000000000000000000000000000000000000", - "interlay": "/Interlay/0x0000000000000000000000000000000000000000", - "polkadot": "/Polkadot/0x0000000000000000000000000000000000000000", - "kusama": "/Kusama/0x0000000000000000000000000000000000000000", - "kintsugi": "/Kintsugi/Token:KINT", - "acala-dollar": "/Acala/Token:AUSD", - "karura": "/Bifrost/518", - "tether": "/Ethereum/0xdAC17F958D2ee523a2206206994597C13D831ec7", - "voucher-dot": "/Bifrost-polkadot/2304", - "binancecoin": "/Ethereum/0xB8c77482e45F1F44dE1745F52C74426C631bDD52", - "bnb": "/Ethereum/0xB8c77482e45F1F44dE1745F52C74426C631bDD52", - "tbtc": "/Ethereum/0x18084fbA666a33d37592fA2633fD49a74DD93a88", - "dai": "/Ethereum/0x6B175474E89094C44Da98b954EedeAC495271d0F", -} - -@app.after_request -def add_header(response): - response.cache_control.max_age = 0 - response.cache_control.s_maxage = 300 - return response - -def coingecko(args): - headers_dict = { - "content-type": "application/json", - "accept": "application/json" - } - url = "https://api.coingecko.com/api/v3/simple/price" - resp = requests.get(url, params=args, headers=headers_dict) - data = resp.json() - return data - -def dia(asset): - headers_dict = { - "content-type": "application/json", - "accept": "application/json" - } - - url = "https://api.diadata.org/v1/assetQuotation" - try: - url += dia_assets[asset] - resp = requests.get(url, headers=headers_dict) - data = resp.json() - - # optionally rename the ticker - ticker = tickers.get(data["Name"], data["Name"]).lower() - - return { - ticker: { - "usd": data["Price"], - } - } - except KeyError: - try: - return coingecko({"ids": [asset], "vs_currencies": ["usd"]}) - except Exception as e: - print("Coingecko error", e) - return { asset: None } - - -@app.route("/marketdata/price", methods=["GET"]) -def get_price(): - args = request.args - - price_source = args.get('price-source') - - data = {} - - def _dia(): - ticker_ids = args["ids"].split(",") - for ticker_id in ticker_ids: - data.update(dia(ticker_id)) - - if price_source == "dia": - _dia() - elif price_source == "coingecko": - data = coingecko(args) - else: - try: - _dia() - except Exception as e: - print("Error", e) - data = coingecko(args) - - return jsonify(data) - - -if __name__ == "__main__": - app.run() diff --git a/package.json b/package.json index 4bb28ed380..1ce77c9117 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "interbtc-ui", - "version": "2.38.1", + "version": "2.38.2", "private": true, "dependencies": { "@craco/craco": "^6.1.1", diff --git a/src/component-library/CoinIcon/icons/DAI.tsx b/src/component-library/CoinIcon/icons/DAI.tsx new file mode 100644 index 0000000000..86b544c80b --- /dev/null +++ b/src/component-library/CoinIcon/icons/DAI.tsx @@ -0,0 +1,28 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const DAI = forwardRef((props, ref) => ( + + DAI + + + + + + + + + + +)); + +DAI.displayName = 'DAI'; + +export { DAI }; diff --git a/src/component-library/CoinIcon/icons/GLMR.tsx b/src/component-library/CoinIcon/icons/GLMR.tsx new file mode 100644 index 0000000000..2d52dd42f3 --- /dev/null +++ b/src/component-library/CoinIcon/icons/GLMR.tsx @@ -0,0 +1,36 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const GLMR = forwardRef((props, ref) => ( + + GLMR + + + + + + + + + + + + + + + + + + +)); + +GLMR.displayName = 'GLMR'; + +export { GLMR }; diff --git a/src/component-library/CoinIcon/icons/TBTC.tsx b/src/component-library/CoinIcon/icons/TBTC.tsx new file mode 100644 index 0000000000..748a79cc00 --- /dev/null +++ b/src/component-library/CoinIcon/icons/TBTC.tsx @@ -0,0 +1,25 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const TBTC = forwardRef((props, ref) => ( + + TBTC + + + + + + +)); + +TBTC.displayName = 'TBTC'; + +export { TBTC }; diff --git a/src/component-library/CoinIcon/icons/USDC.tsx b/src/component-library/CoinIcon/icons/USDC.tsx new file mode 100644 index 0000000000..5d61c399eb --- /dev/null +++ b/src/component-library/CoinIcon/icons/USDC.tsx @@ -0,0 +1,29 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const USDC = forwardRef((props, ref) => ( + + USDC + + + + + + + + + + + +)); + +USDC.displayName = 'USDC'; + +export { USDC }; diff --git a/src/component-library/CoinIcon/icons/VDOT.tsx b/src/component-library/CoinIcon/icons/VDOT.tsx new file mode 100644 index 0000000000..4171f21ee1 --- /dev/null +++ b/src/component-library/CoinIcon/icons/VDOT.tsx @@ -0,0 +1,54 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const VDOT = forwardRef((props, ref) => ( + + VDOT + + + + + + + + + + + + + + + + + + + + + + + + + + + + +)); + +VDOT.displayName = 'VDOT'; + +export { VDOT }; diff --git a/src/component-library/CoinIcon/icons/WBNB.tsx b/src/component-library/CoinIcon/icons/WBNB.tsx new file mode 100644 index 0000000000..28844d6ccc --- /dev/null +++ b/src/component-library/CoinIcon/icons/WBNB.tsx @@ -0,0 +1,39 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const WBNB = forwardRef((props, ref) => ( + + WBNB + + + + + + + + + + + + + +)); + +WBNB.displayName = 'WBNB'; + +export { WBNB }; diff --git a/src/component-library/CoinIcon/icons/WBTC.tsx b/src/component-library/CoinIcon/icons/WBTC.tsx new file mode 100644 index 0000000000..7093d45123 --- /dev/null +++ b/src/component-library/CoinIcon/icons/WBTC.tsx @@ -0,0 +1,28 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const WBTC = forwardRef((props, ref) => ( + + WBTC + + + + + +)); + +WBTC.displayName = 'WBTC'; + +export { WBTC }; diff --git a/src/component-library/CoinIcon/icons/WETH.tsx b/src/component-library/CoinIcon/icons/WETH.tsx new file mode 100644 index 0000000000..87cac93d50 --- /dev/null +++ b/src/component-library/CoinIcon/icons/WETH.tsx @@ -0,0 +1,50 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const WETH = forwardRef((props, ref) => ( + + WETH + + + + + + + + + + + + + + + +)); + +WETH.displayName = 'WETH'; + +export { WETH }; diff --git a/src/component-library/CoinIcon/icons/index.ts b/src/component-library/CoinIcon/icons/index.ts index fc94af8105..a91c938782 100644 --- a/src/component-library/CoinIcon/icons/index.ts +++ b/src/component-library/CoinIcon/icons/index.ts @@ -1,7 +1,9 @@ export { AUSD } from './AUSD'; export { BTC } from './BTC'; +export { DAI } from './DAI'; export { DOT } from './DOT'; export { ETH } from './ETH'; +export { GLMR } from './GLMR'; export { IBTC } from './IBTC'; export { INTR } from './INTR'; export { KAR } from './KAR'; @@ -21,5 +23,11 @@ export { qKSM } from './qKSM'; export { qMOVR } from './qMOVR'; export { qUSDT } from './qUSDT'; export { SKSM } from './SKSM'; +export { TBTC } from './TBTC'; +export { USDC } from './USDC'; export { USDT } from './USDT'; +export { VDOT } from './VDOT'; export { VKSM } from './VKSM'; +export { WBNB } from './WBNB'; +export { WBTC } from './WBTC'; +export { WETH } from './WETH'; diff --git a/src/component-library/CoinIcon/utils.ts b/src/component-library/CoinIcon/utils.ts index 04f540e234..9146090662 100644 --- a/src/component-library/CoinIcon/utils.ts +++ b/src/component-library/CoinIcon/utils.ts @@ -1,8 +1,10 @@ import { AUSD, BTC, + DAI, DOT, ETH, + GLMR, IBTC, INTR, KAR, @@ -22,35 +24,49 @@ import { qMOVR, qUSDT, SKSM, + TBTC, + USDC, USDT, - VKSM + VDOT, + VKSM, + WBNB, + WBTC, + WETH } from './icons'; import { CoinComponent } from './types'; export const coins: Record = { + AUSD, BTC, + DAI, DOT, + ETH, + GLMR, IBTC, INTR, + KAR, KBTC, KINT, KSM, LDOT, LKSM, - USDT, - VKSM, LSKSM, MOVR, - SKSM, - qUSDT, - qKINT, - qKBTC, - qKSM, - qMOVR, - AUSD, - KAR, qDOT, qIBTC, qINTR, - ETH + qKBTC, + qKINT, + qKSM, + qMOVR, + qUSDT, + SKSM, + TBTC, + USDC, + USDT, + VDOT, + VKSM, + WBNB, + WBTC, + WETH }; diff --git a/src/hooks/api/use-get-prices.tsx b/src/hooks/api/use-get-prices.tsx index 8cacd07989..a9ba628c69 100644 --- a/src/hooks/api/use-get-prices.tsx +++ b/src/hooks/api/use-get-prices.tsx @@ -14,7 +14,17 @@ import { useGetCurrencies } from './use-get-currencies'; // MEMO: Returns `undefined` for currencies without coingecko ID. const getCoingeckoId = (currency: CurrencyExt) => { if (isForeignAsset(currency)) { - return currency.foreignAsset.coingeckoId; + // TODO: This is a temporary fix to force V[DOT/KSM] prices. We need to refactor the lib to return an id + // even when a CoinGecko id doesn't exist. We also need to remove references to CoinGecko ids; this + // doesn't make sense/is very confusing now that we use DIA as our primary price source. + switch (currency.ticker) { + case 'VDOT': + return 'voucher-dot'; + case 'VKSM': + return 'voucher-ksm'; + default: + return currency.foreignAsset.coingeckoId; + } } return COINGECKO_ID_BY_CURRENCY_TICKER[currency.ticker]; }; @@ -22,6 +32,7 @@ const getCoingeckoId = (currency: CurrencyExt) => { const composeIds = (currencies: CurrencyExt[]): string => currencies.reduce((acc, currency) => { const coingeckoId = getCoingeckoId(currency); + console.log('coingeckoId', coingeckoId); if (!coingeckoId) { return acc; } diff --git a/vercel.json b/vercel.json index 99b54b6e47..ca05a8c330 100644 --- a/vercel.json +++ b/vercel.json @@ -7,6 +7,10 @@ "api/terms.js": { "memory": 256, "maxDuration": 10 + }, + "api/market_data.js": { + "memory": 128, + "maxDuration": 5 } }, "rewrites": [ @@ -20,7 +24,7 @@ }, { "source": "/marketdata/(.*)", - "destination": "/api/market_data.py" + "destination": "/api/market_data.js" }, { "source": "/terms/(.*)",