From 541bf87160431ff21db81544fcf706c143974ae0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B8b=C4=97rt=C3=B8?= <106074508+EchoDex@users.noreply.github.com> Date: Wed, 12 Mar 2025 13:00:32 +0400 Subject: [PATCH 1/5] feat: update logic --- package.json | 4 +- pnpm-lock.yaml | 175 +----------------- src/blockchain/FuelNetwork.ts | 3 +- src/blockchain/types/index.ts | 2 +- src/components/CompressedNumber.tsx | 2 +- src/components/Modal/AccountInfoSheet.tsx | 3 +- .../Modal/SpotOrderSettingsSheet.tsx | 2 +- src/components/SelectAssets/AssetBlock.tsx | 3 +- .../SelectAssets/SelectAssetsInput.tsx | 3 +- src/components/TokenInput/BigNumberInput.tsx | 3 +- src/components/TokenInput/TokenInput.tsx | 4 +- src/components/WalletButton.tsx | 3 +- src/entity/PerpMarket.ts | 3 +- src/entity/PerpMarketTrade.ts | 3 +- src/entity/PerpOrder.ts | 4 +- src/entity/PerpPosition.ts | 4 +- src/entity/SpotMarket.ts | 3 +- src/entity/SpotMarketOrder.ts | 3 +- .../Assets/BalanceBlock/BalanceBlock.tsx | 3 +- .../Assets/DepositAssets/DepositAssets.tsx | 3 +- src/screens/Assets/MainAssets/MainAssets.tsx | 3 +- .../Assets/WithdrawAssets/WithdrawAssets.tsx | 3 +- .../CompetitionsTable/CompetitionsItem.tsx | 3 +- .../LeaderboardTable/LeaderboardItem.tsx | 4 +- src/screens/SpotScreen/MarketStatistics.tsx | 3 +- .../SpotOrderBook/SpotOrderBook.tsx | 3 +- .../RightBlock/CreateOrder/CreateOrderVM.tsx | 2 +- src/screens/Stats/StatsAllTime.tsx | 3 +- src/screens/Stats/StatsTable/StatsItem.tsx | 3 +- src/screens/SwapScreen/InfoBlock.tsx | 4 +- src/screens/SwapScreen/SwapScreen.tsx | 3 +- src/stores/BalanceStore.ts | 3 +- src/stores/FaucetStore.ts | 3 +- src/stores/LeaderboardStore.ts | 2 +- src/stores/OracleStore.ts | 3 +- src/stores/SpotOrderBookStore.ts | 3 +- src/stores/SwapStore.ts | 3 +- src/stores/TradeStore.ts | 3 +- src/utils/BN.ts | 138 -------------- src/utils/Math.ts | 2 +- src/utils/getRealFee.ts | 4 +- src/utils/groupOrders.ts | 4 +- vite.config.ts | 6 +- 43 files changed, 75 insertions(+), 366 deletions(-) delete mode 100644 src/utils/BN.ts diff --git a/package.json b/package.json index e33394de..58d351ae 100644 --- a/package.json +++ b/package.json @@ -109,6 +109,8 @@ }, "packageManager": "pnpm@10.4.0+sha512.6b849d0787d97f8f4e1f03a9b8ff8f038e79e153d6f11ae539ae7c435ff9e796df6a862c991502695c7f9e8fac8aeafc1ac5a8dab47e36148d183832d886dd52", "pnpm": { - "overrides": {} + "overrides": { + "@compolabs/spark-orderbook-ts-sdk": "link:../../../Library/pnpm/global/5/node_modules/@compolabs/spark-orderbook-ts-sdk" + } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b48eecc5..f969f734 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,13 +4,16 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + '@compolabs/spark-orderbook-ts-sdk': link:../../../Library/pnpm/global/5/node_modules/@compolabs/spark-orderbook-ts-sdk + importers: .: dependencies: '@compolabs/spark-orderbook-ts-sdk': - specifier: https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.4.tgz - version: https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.4.tgz(@types/react@18.3.18)(fuels@0.97.2(vitest@2.0.5(@types/node@22.13.4)))(graphql@16.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: link:../../../Library/pnpm/global/5/node_modules/@compolabs/spark-orderbook-ts-sdk + version: link:../../../Library/pnpm/global/5/node_modules/@compolabs/spark-orderbook-ts-sdk '@compolabs/tradingview-chart': specifier: ^1.0.21 version: 1.0.21 @@ -241,24 +244,6 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@apollo/client@3.13.1': - resolution: {integrity: sha512-HaAt62h3jNUXpJ1v5HNgUiCzPP1c5zc2Q/FeTb2cTk/v09YlhoqKKHQFJI7St50VCJ5q8JVIc03I5bRcBrQxsg==} - peerDependencies: - graphql: ^15.0.0 || ^16.0.0 - graphql-ws: ^5.5.5 || ^6.0.3 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc - subscriptions-transport-ws: ^0.9.0 || ^0.11.0 - peerDependenciesMeta: - graphql-ws: - optional: true - react: - optional: true - react-dom: - optional: true - subscriptions-transport-ws: - optional: true - '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -916,13 +901,6 @@ packages: '@coinbase/wallet-sdk@4.3.0': resolution: {integrity: sha512-T3+SNmiCw4HzDm4we9wCHCxlP0pqCiwKe4sOwPH3YAK2KSKjxPRydKu6UQJrdONFVLG7ujXvbd/6ZqmvJb8rkw==} - '@compolabs/spark-orderbook-ts-sdk@https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.4.tgz': - resolution: {tarball: https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.4.tgz} - version: 1.16.4 - engines: {node: '>=18'} - peerDependencies: - fuels: '>=0.97.1' - '@compolabs/tradingview-chart@1.0.21': resolution: {integrity: sha512-efExlG9Ki5uqEe16nRF2A6FwQ8CnzmAwad2kMZxNFtNsbJTYhVC1SMSzkcBNQ50yzmijm3HAUUfaMzsXwtEkFQ==, tarball: https://npm.pkg.github.com/download/@compolabs/tradingview-chart/1.0.21/f9b8234ef67206216f98b5919ef16173c21f7fe9} @@ -1953,11 +1931,6 @@ packages: cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.18.0': - resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-gnu@4.34.8': resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==} cpu: [x64] @@ -2810,22 +2783,6 @@ packages: '@web3modal/wallet@5.0.0': resolution: {integrity: sha512-3oyUquzLq9vairNM4ba8wEtJm/Sn+qT1yh7MIoVltxfMtoX8teDrmj83/jSBXv0/iqKf2DGo4MQJ124KQKeTLA==} - '@wry/caches@1.0.1': - resolution: {integrity: sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA==} - engines: {node: '>=8'} - - '@wry/context@0.7.4': - resolution: {integrity: sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==} - engines: {node: '>=8'} - - '@wry/equality@0.5.7': - resolution: {integrity: sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==} - engines: {node: '>=8'} - - '@wry/trie@0.5.0': - resolution: {integrity: sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==} - engines: {node: '>=8'} - '@xstate/fsm@1.6.5': resolution: {integrity: sha512-b5o1I6aLNeYlU/3CPlj/Z91ybk1gUsKT+5NAJI+2W4UjvS5KLG28K9v5UvNoFVjHV8PajVZ00RH3vnjyQO7ZAw==} @@ -4141,12 +4098,6 @@ packages: peerDependencies: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - graphql-ws@5.16.2: - resolution: {integrity: sha512-E1uccsZxt/96jH/OwmLPuXMACILs76pKF2i3W861LpKBCYtGIyPQGtWLuBLkND4ox1KHns70e83PS4te50nvPQ==} - engines: {node: '>=10'} - peerDependencies: - graphql: '>=0.11 <=16' - graphql@16.10.0: resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} @@ -4878,9 +4829,6 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - optimism@0.18.1: - resolution: {integrity: sha512-mLXNwWPa9dgFyDqkNi54sjDyNJ9/fTI6WGBLgnXku1vdKY/jovHfZT5r+aiVeFFLOz+foPNOm5YJ4mqgld2GBQ==} - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -5355,17 +5303,6 @@ packages: resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} hasBin: true - rehackt@0.1.0: - resolution: {integrity: sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==} - peerDependencies: - '@types/react': '*' - react: '*' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -5687,10 +5624,6 @@ packages: svg-parser@2.0.4: resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} - symbol-observable@4.0.0: - resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} - engines: {node: '>=0.10'} - synckit@0.9.2: resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -5770,10 +5703,6 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-invariant@0.10.3: - resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} - engines: {node: '>=8'} - tsconfck@3.1.5: resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==} engines: {node: ^18 || >=20} @@ -6346,12 +6275,6 @@ packages: yup@1.6.1: resolution: {integrity: sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA==} - zen-observable-ts@1.2.5: - resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} - - zen-observable@0.8.15: - resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} - zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} @@ -6386,29 +6309,6 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - '@apollo/client@3.13.1(@types/react@18.3.18)(graphql-ws@5.16.2(graphql@16.10.0))(graphql@16.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.10.0) - '@wry/caches': 1.0.1 - '@wry/equality': 0.5.7 - '@wry/trie': 0.5.0 - graphql: 16.10.0 - graphql-tag: 2.12.6(graphql@16.10.0) - hoist-non-react-statics: 3.3.2 - optimism: 0.18.1 - prop-types: 15.8.1 - rehackt: 0.1.0(@types/react@18.3.18)(react@18.3.1) - symbol-observable: 4.0.0 - ts-invariant: 0.10.3 - tslib: 2.8.1 - zen-observable-ts: 1.2.5 - optionalDependencies: - graphql-ws: 5.16.2(graphql@16.10.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@types/react' - '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -7264,24 +7164,6 @@ snapshots: eventemitter3: 5.0.1 preact: 10.26.0 - '@compolabs/spark-orderbook-ts-sdk@https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.4.tgz(@types/react@18.3.18)(fuels@0.97.2(vitest@2.0.5(@types/node@22.13.4)))(graphql@16.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@apollo/client': 3.13.1(@types/react@18.3.18)(graphql-ws@5.16.2(graphql@16.10.0))(graphql@16.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - axios: 1.7.9 - bignumber.js: 9.1.2 - fuels: 0.97.2(vitest@2.0.5(@types/node@22.13.4)) - graphql-ws: 5.16.2(graphql@16.10.0) - tsdef: 0.0.14 - optionalDependencies: - '@rollup/rollup-linux-x64-gnu': 4.18.0 - transitivePeerDependencies: - - '@types/react' - - debug - - graphql - - react - - react-dom - - subscriptions-transport-ws - '@compolabs/tradingview-chart@1.0.21': {} '@ecies/ciphers@0.2.2(@noble/ciphers@1.2.1)': @@ -8472,9 +8354,6 @@ snapshots: '@rollup/rollup-linux-s390x-gnu@4.34.8': optional: true - '@rollup/rollup-linux-x64-gnu@4.18.0': - optional: true - '@rollup/rollup-linux-x64-gnu@4.34.8': optional: true @@ -10536,22 +10415,6 @@ snapshots: '@web3modal/polyfills': 5.0.0 zod: 3.22.4 - '@wry/caches@1.0.1': - dependencies: - tslib: 2.8.1 - - '@wry/context@0.7.4': - dependencies: - tslib: 2.8.1 - - '@wry/equality@0.5.7': - dependencies: - tslib: 2.8.1 - - '@wry/trie@0.5.0': - dependencies: - tslib: 2.8.1 - '@xstate/fsm@1.6.5': {} '@zodios/core@10.9.6(axios@1.7.9)(zod@3.24.2)': @@ -12257,10 +12120,6 @@ snapshots: graphql: 16.10.0 tslib: 2.8.1 - graphql-ws@5.16.2(graphql@16.10.0): - dependencies: - graphql: 16.10.0 - graphql@16.10.0: {} h3@1.15.0: @@ -13018,13 +12877,6 @@ snapshots: dependencies: mimic-fn: 4.0.0 - optimism@0.18.1: - dependencies: - '@wry/caches': 1.0.1 - '@wry/context': 0.7.4 - '@wry/trie': 0.5.0 - tslib: 2.8.1 - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -13544,11 +13396,6 @@ snapshots: dependencies: jsesc: 3.0.2 - rehackt@0.1.0(@types/react@18.3.18)(react@18.3.1): - optionalDependencies: - '@types/react': 18.3.18 - react: 18.3.1 - require-directory@2.1.1: {} require-main-filename@2.0.0: {} @@ -13954,8 +13801,6 @@ snapshots: svg-parser@2.0.4: {} - symbol-observable@4.0.0: {} - synckit@0.9.2: dependencies: '@pkgr/core': 0.1.1 @@ -14024,10 +13869,6 @@ snapshots: dependencies: typescript: 5.7.3 - ts-invariant@0.10.3: - dependencies: - tslib: 2.8.1 - tsconfck@3.1.5(typescript@5.7.3): optionalDependencies: typescript: 5.7.3 @@ -14580,12 +14421,6 @@ snapshots: toposort: 2.0.2 type-fest: 2.19.0 - zen-observable-ts@1.2.5: - dependencies: - zen-observable: 0.8.15 - - zen-observable@0.8.15: {} - zod@3.22.4: {} zod@3.24.2: {} diff --git a/src/blockchain/FuelNetwork.ts b/src/blockchain/FuelNetwork.ts index 3144783b..dd9465ad 100644 --- a/src/blockchain/FuelNetwork.ts +++ b/src/blockchain/FuelNetwork.ts @@ -2,9 +2,8 @@ import { Account, B256Address } from "fuels"; import { makeObservable } from "mobx"; import { Nullable } from "tsdef"; -import SparkOrderBookSdk, { OrderType, WriteTransactionResponse } from "@compolabs/spark-orderbook-ts-sdk"; +import SparkOrderBookSdk, { BN, OrderType, WriteTransactionResponse } from "@compolabs/spark-orderbook-ts-sdk"; -import BN from "@utils/BN"; import { CONFIG } from "@utils/getConfig"; import { Token } from "@entity"; diff --git a/src/blockchain/types/index.ts b/src/blockchain/types/index.ts index 6b9b0daf..8ea89b64 100644 --- a/src/blockchain/types/index.ts +++ b/src/blockchain/types/index.ts @@ -1,4 +1,4 @@ -import BN from "@utils/BN"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; export type FetchTradesParams = { limit: number; diff --git a/src/components/CompressedNumber.tsx b/src/components/CompressedNumber.tsx index d9071e53..2c1b0474 100644 --- a/src/components/CompressedNumber.tsx +++ b/src/components/CompressedNumber.tsx @@ -1,6 +1,6 @@ import React, { useMemo } from "react"; -import BN from "@utils/BN"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; import { SmartFlex } from "./SmartFlex"; import Text from "./Text"; diff --git a/src/components/Modal/AccountInfoSheet.tsx b/src/components/Modal/AccountInfoSheet.tsx index 3005fa63..4c15475b 100644 --- a/src/components/Modal/AccountInfoSheet.tsx +++ b/src/components/Modal/AccountInfoSheet.tsx @@ -2,6 +2,8 @@ import React from "react"; import styled from "@emotion/styled"; import copy from "copy-to-clipboard"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import copyIcon from "@assets/icons/copy.svg"; import linkIcon from "@assets/icons/link.svg"; import logoutIcon from "@assets/icons/logout.svg"; @@ -9,7 +11,6 @@ import logoutIcon from "@assets/icons/logout.svg"; import { useWallet } from "@hooks/useWallet"; import { useStores } from "@stores"; -import BN from "@utils/BN"; import { getExplorerLinkByAddress } from "@utils/getExplorerLink"; import { FuelNetwork } from "@blockchain"; diff --git a/src/components/Modal/SpotOrderSettingsSheet.tsx b/src/components/Modal/SpotOrderSettingsSheet.tsx index c2ba9f34..93f7eb68 100644 --- a/src/components/Modal/SpotOrderSettingsSheet.tsx +++ b/src/components/Modal/SpotOrderSettingsSheet.tsx @@ -1,7 +1,7 @@ import React from "react"; import styled from "@emotion/styled"; -import BN from "@utils/BN"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; import Sheet from "../Sheet"; import { SmartFlex } from "../SmartFlex"; diff --git a/src/components/SelectAssets/AssetBlock.tsx b/src/components/SelectAssets/AssetBlock.tsx index dfeb7ca1..4eef5792 100644 --- a/src/components/SelectAssets/AssetBlock.tsx +++ b/src/components/SelectAssets/AssetBlock.tsx @@ -3,13 +3,14 @@ import { useTheme } from "@emotion/react"; import styled from "@emotion/styled"; import { observer } from "mobx-react"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { SmartFlex } from "@components/SmartFlex"; import Text from "@components/Text"; import { useStores } from "@stores"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { AssetBlockData } from "./SelectAssetsInput"; diff --git a/src/components/SelectAssets/SelectAssetsInput.tsx b/src/components/SelectAssets/SelectAssetsInput.tsx index 18589c10..4bebd4a4 100644 --- a/src/components/SelectAssets/SelectAssetsInput.tsx +++ b/src/components/SelectAssets/SelectAssetsInput.tsx @@ -2,6 +2,8 @@ import React, { HTMLAttributes, useState } from "react"; import { useTheme } from "@emotion/react"; import styled from "@emotion/styled"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import Button from "@components/Button"; import { IAssetBlock } from "@components/SelectAssets/AssetBlock"; import { SmartFlex } from "@components/SmartFlex"; @@ -10,7 +12,6 @@ import { BigNumberInput } from "@components/TokenInput/BigNumberInput"; import { TokenSelect } from "@screens/SwapScreen/TokenSelect"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { Token } from "@entity"; diff --git a/src/components/TokenInput/BigNumberInput.tsx b/src/components/TokenInput/BigNumberInput.tsx index b2e8750b..d1d038a3 100644 --- a/src/components/TokenInput/BigNumberInput.tsx +++ b/src/components/TokenInput/BigNumberInput.tsx @@ -2,8 +2,9 @@ import React, { useEffect, useRef, useState } from "react"; import BigNumber from "bignumber.js"; import { Nullable } from "tsdef"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; type HTMLInputProps = React.ClassAttributes & React.InputHTMLAttributes; diff --git a/src/components/TokenInput/TokenInput.tsx b/src/components/TokenInput/TokenInput.tsx index 4e941555..adc04426 100644 --- a/src/components/TokenInput/TokenInput.tsx +++ b/src/components/TokenInput/TokenInput.tsx @@ -2,12 +2,12 @@ import React, { CSSProperties, useEffect, useState } from "react"; import styled from "@emotion/styled"; import { observer } from "mobx-react-lite"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import Chip from "@components/Chip"; import Text, { TEXT_TYPES_MAP } from "@components/Text"; import { media } from "@themes/breakpoints"; -import BN from "@utils/BN"; - import { FuelNetwork } from "@blockchain"; import AmountInput from "./AmountInput"; diff --git a/src/components/WalletButton.tsx b/src/components/WalletButton.tsx index 52f2cdde..0dc0e438 100644 --- a/src/components/WalletButton.tsx +++ b/src/components/WalletButton.tsx @@ -3,6 +3,8 @@ import styled from "@emotion/styled"; import copy from "copy-to-clipboard"; import { observer } from "mobx-react"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import Divider from "@components/Divider"; import { Column, Row } from "@components/Flex"; import Text from "@components/Text"; @@ -15,7 +17,6 @@ import logoutIcon from "@assets/icons/logout.svg"; import { useWallet } from "@hooks/useWallet"; import { useStores } from "@stores"; -import BN from "@utils/BN"; import { getExplorerLinkByAddress } from "@utils/getExplorerLink"; import { FuelNetwork } from "@blockchain"; diff --git a/src/entity/PerpMarket.ts b/src/entity/PerpMarket.ts index d8267b1b..945d5271 100644 --- a/src/entity/PerpMarket.ts +++ b/src/entity/PerpMarket.ts @@ -1,9 +1,10 @@ import { makeAutoObservable } from "mobx"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { FuelNetwork } from "@blockchain"; import { DEFAULT_DECIMALS } from "../constants"; -import BN from "../utils/BN"; import { Token } from "./Token"; diff --git a/src/entity/PerpMarketTrade.ts b/src/entity/PerpMarketTrade.ts index f74c5d8a..7e1d285f 100644 --- a/src/entity/PerpMarketTrade.ts +++ b/src/entity/PerpMarketTrade.ts @@ -2,8 +2,9 @@ import dayjs, { Dayjs } from "dayjs"; import { Address, isBech32 } from "fuels"; import { Nullable } from "tsdef"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { FuelNetwork } from "@blockchain"; diff --git a/src/entity/PerpOrder.ts b/src/entity/PerpOrder.ts index ae7a070b..f69fced5 100644 --- a/src/entity/PerpOrder.ts +++ b/src/entity/PerpOrder.ts @@ -1,12 +1,12 @@ import { makeAutoObservable } from "mobx"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { DEFAULT_DECIMALS } from "@constants"; import { toCurrency } from "@utils/toCurrency"; import { FuelNetwork } from "@blockchain"; -import BN from "../utils/BN"; - import { Token } from "./Token"; interface PerpOrderParams { diff --git a/src/entity/PerpPosition.ts b/src/entity/PerpPosition.ts index bd199905..8e008b0c 100644 --- a/src/entity/PerpPosition.ts +++ b/src/entity/PerpPosition.ts @@ -1,8 +1,8 @@ import { makeAutoObservable } from "mobx"; -import { FuelNetwork } from "@blockchain"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; -import BN from "../utils/BN"; +import { FuelNetwork } from "@blockchain"; import { Token } from "./Token"; diff --git a/src/entity/SpotMarket.ts b/src/entity/SpotMarket.ts index 44ce9ec8..8eaf34fa 100644 --- a/src/entity/SpotMarket.ts +++ b/src/entity/SpotMarket.ts @@ -1,7 +1,8 @@ import { makeAutoObservable } from "mobx"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { Market } from "@utils/getConfig"; import { FuelNetwork } from "@blockchain"; diff --git a/src/entity/SpotMarketOrder.ts b/src/entity/SpotMarketOrder.ts index e3a1da53..0bf6fb07 100644 --- a/src/entity/SpotMarketOrder.ts +++ b/src/entity/SpotMarketOrder.ts @@ -1,9 +1,8 @@ import dayjs, { Dayjs } from "dayjs"; -import { Order } from "@compolabs/spark-orderbook-ts-sdk"; +import { BN, Order } from "@compolabs/spark-orderbook-ts-sdk"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { CONFIG } from "@utils/getConfig"; import { FuelNetwork } from "@blockchain"; diff --git a/src/screens/Assets/BalanceBlock/BalanceBlock.tsx b/src/screens/Assets/BalanceBlock/BalanceBlock.tsx index 427471e7..29b27d2a 100644 --- a/src/screens/Assets/BalanceBlock/BalanceBlock.tsx +++ b/src/screens/Assets/BalanceBlock/BalanceBlock.tsx @@ -2,6 +2,8 @@ import React from "react"; import { useTheme } from "@emotion/react"; import styled from "@emotion/styled"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { AssetBlockData } from "@components/SelectAssets/SelectAssetsInput"; import { SmartFlex } from "@components/SmartFlex"; import Text from "@components/Text"; @@ -9,7 +11,6 @@ import Text from "@components/Text"; import { useStores } from "@stores"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; interface IBalanceBlock { icon: React.ReactElement; diff --git a/src/screens/Assets/DepositAssets/DepositAssets.tsx b/src/screens/Assets/DepositAssets/DepositAssets.tsx index 14e30e1f..d282380f 100644 --- a/src/screens/Assets/DepositAssets/DepositAssets.tsx +++ b/src/screens/Assets/DepositAssets/DepositAssets.tsx @@ -3,6 +3,8 @@ import { useNavigate } from "react-router-dom"; import styled from "@emotion/styled"; import { observer } from "mobx-react"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import Button from "@components/Button"; import { IAssetBlock } from "@components/SelectAssets/AssetBlock"; import SelectAssetsInput from "@components/SelectAssets/SelectAssetsInput"; @@ -20,7 +22,6 @@ import { useStores } from "@stores"; import { BalanceBlock } from "@screens/Assets/BalanceBlock/BalanceBlock"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; interface DepositAssetsProps { setStep: (value: number) => void; diff --git a/src/screens/Assets/MainAssets/MainAssets.tsx b/src/screens/Assets/MainAssets/MainAssets.tsx index a609d27e..680470b7 100644 --- a/src/screens/Assets/MainAssets/MainAssets.tsx +++ b/src/screens/Assets/MainAssets/MainAssets.tsx @@ -4,6 +4,8 @@ import { useTheme } from "@emotion/react"; import styled from "@emotion/styled"; import { observer } from "mobx-react"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import Button from "@components/Button"; import { Column } from "@components/Flex"; import AssetBlock from "@components/SelectAssets/AssetBlock"; @@ -21,7 +23,6 @@ import { MIXPANEL_EVENTS } from "@stores/MixPanelStore"; import { MODAL_TYPE } from "@stores/ModalStore"; import { BRIDGE_LINK } from "@constants"; -import BN from "@utils/BN"; interface MainAssetsProps { setStep: (value: number) => void; diff --git a/src/screens/Assets/WithdrawAssets/WithdrawAssets.tsx b/src/screens/Assets/WithdrawAssets/WithdrawAssets.tsx index b64b710d..b82b7ebd 100644 --- a/src/screens/Assets/WithdrawAssets/WithdrawAssets.tsx +++ b/src/screens/Assets/WithdrawAssets/WithdrawAssets.tsx @@ -2,6 +2,8 @@ import React, { useEffect, useState } from "react"; import styled from "@emotion/styled"; import { observer } from "mobx-react"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import Button from "@components/Button"; import { IAssetBlock } from "@components/SelectAssets/AssetBlock"; import SelectAssetsInput from "@components/SelectAssets/SelectAssetsInput"; @@ -20,7 +22,6 @@ import { BalanceBlock } from "@screens/Assets/BalanceBlock/BalanceBlock"; import { ModalEnums, TypeTransaction } from "@screens/Assets/enums/actionEnums"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; interface WithdrawAssets { setStep: (value: number) => void; diff --git a/src/screens/Competitions/CompetitionsTable/CompetitionsItem.tsx b/src/screens/Competitions/CompetitionsTable/CompetitionsItem.tsx index 5f3ec9f0..b4e33806 100644 --- a/src/screens/Competitions/CompetitionsTable/CompetitionsItem.tsx +++ b/src/screens/Competitions/CompetitionsTable/CompetitionsItem.tsx @@ -4,7 +4,7 @@ import styled from "@emotion/styled"; import copy from "copy-to-clipboard"; import { observer } from "mobx-react"; -import { GetCompetitionResponse } from "@compolabs/spark-orderbook-ts-sdk"; +import { BN, GetCompetitionResponse } from "@compolabs/spark-orderbook-ts-sdk"; import { SmartFlex } from "@components/SmartFlex"; import Text from "@components/Text"; @@ -17,7 +17,6 @@ import three from "@assets/images/3st.png"; import { useStores } from "@stores"; -import BN from "@utils/BN"; import { toCurrency } from "@utils/toCurrency.ts"; const generatePosition = (key: number) => { diff --git a/src/screens/Leaderboard/LeaderboardTable/LeaderboardItem.tsx b/src/screens/Leaderboard/LeaderboardTable/LeaderboardItem.tsx index a9a63165..c38b9b3e 100644 --- a/src/screens/Leaderboard/LeaderboardTable/LeaderboardItem.tsx +++ b/src/screens/Leaderboard/LeaderboardTable/LeaderboardItem.tsx @@ -4,7 +4,7 @@ import styled from "@emotion/styled"; import copy from "copy-to-clipboard"; import { observer } from "mobx-react"; -import { TraderVolumeResponse } from "@compolabs/spark-orderbook-ts-sdk"; +import { BN, TraderVolumeResponse } from "@compolabs/spark-orderbook-ts-sdk"; import { SmartFlex } from "@components/SmartFlex"; import Text, { TEXT_TYPES_MAP } from "@components/Text"; @@ -19,8 +19,6 @@ import { LeaderboardStore, useStores } from "@stores"; import { pnlTimeline } from "@screens/Dashboard/const"; -import BN from "@utils/BN"; - const generatePosition = (key: TraderVolumeResponse["id"]) => { if (key === 1) return 1st; if (key === 2) return 2st; diff --git a/src/screens/SpotScreen/MarketStatistics.tsx b/src/screens/SpotScreen/MarketStatistics.tsx index bee832f1..b4c8f9c5 100644 --- a/src/screens/SpotScreen/MarketStatistics.tsx +++ b/src/screens/SpotScreen/MarketStatistics.tsx @@ -3,6 +3,8 @@ import { useTheme } from "@emotion/react"; import styled from "@emotion/styled"; import { observer } from "mobx-react"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { Column, DesktopRow, Row } from "@components/Flex"; import { SmartFlex } from "@components/SmartFlex"; import Text from "@components/Text"; @@ -18,7 +20,6 @@ import DesktopMarketInfoTooltip from "@screens/SpotScreen/DesktopMarketInfoToolt import { MarketInfoItem } from "@screens/SpotScreen/DesktopMarketInfoTooltip/DesktopMarketInfoTooltip"; import { DEFAULT_DECIMALS, PYTH_LINK } from "@constants"; -import BN from "@utils/BN"; import { toCurrency } from "@utils/toCurrency"; const MarketStatistics: React.FC = observer(() => { diff --git a/src/screens/SpotScreen/OrderbookAndTradesInterface/SpotOrderBook/SpotOrderBook.tsx b/src/screens/SpotScreen/OrderbookAndTradesInterface/SpotOrderBook/SpotOrderBook.tsx index ca794868..f0ac5417 100644 --- a/src/screens/SpotScreen/OrderbookAndTradesInterface/SpotOrderBook/SpotOrderBook.tsx +++ b/src/screens/SpotScreen/OrderbookAndTradesInterface/SpotOrderBook/SpotOrderBook.tsx @@ -3,6 +3,8 @@ import { useTheme } from "@emotion/react"; import styled from "@emotion/styled"; import { observer } from "mobx-react"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { CompressedNumber } from "@components/CompressedNumber"; import { Column, Row } from "@components/Flex"; import { SpotOrderSettingsSheet } from "@components/Modal"; @@ -21,7 +23,6 @@ import { useMedia } from "@hooks/useMedia"; import { useStores } from "@stores"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { hexToRgba } from "@utils/hexToRgb"; import { SpotMarketOrder } from "@entity"; diff --git a/src/screens/SpotScreen/RightBlock/CreateOrder/CreateOrderVM.tsx b/src/screens/SpotScreen/RightBlock/CreateOrder/CreateOrderVM.tsx index e363abd4..0dd13a03 100644 --- a/src/screens/SpotScreen/RightBlock/CreateOrder/CreateOrderVM.tsx +++ b/src/screens/SpotScreen/RightBlock/CreateOrder/CreateOrderVM.tsx @@ -5,6 +5,7 @@ import { Undefinable } from "tsdef"; import { AssetType, + BN, CompactMarketInfo, CreateOrderWithDepositParams, FulfillOrderManyWithDepositParams, @@ -19,7 +20,6 @@ import { RootStore, useStores } from "@stores"; import { MIXPANEL_EVENTS } from "@stores/MixPanelStore"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { ACTION_MESSAGE_TYPE, getActionMessage } from "@utils/getActionMessage"; import { CONFIG } from "@utils/getConfig"; import { getRealFee } from "@utils/getRealFee"; diff --git a/src/screens/Stats/StatsAllTime.tsx b/src/screens/Stats/StatsAllTime.tsx index 10cded8c..c604c8ab 100644 --- a/src/screens/Stats/StatsAllTime.tsx +++ b/src/screens/Stats/StatsAllTime.tsx @@ -2,13 +2,14 @@ import React from "react"; import styled from "@emotion/styled"; import { observer } from "mobx-react"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { SmartFlex } from "@components/SmartFlex"; import Text from "@components/Text"; import { media } from "@themes/breakpoints"; import { useStores } from "@stores"; -import BN from "@utils/BN"; import { toCurrency } from "@utils/toCurrency"; const StatsAllTime = observer(() => { diff --git a/src/screens/Stats/StatsTable/StatsItem.tsx b/src/screens/Stats/StatsTable/StatsItem.tsx index 7b5d46e6..018fe5c2 100644 --- a/src/screens/Stats/StatsTable/StatsItem.tsx +++ b/src/screens/Stats/StatsTable/StatsItem.tsx @@ -3,7 +3,7 @@ import { Theme, useTheme } from "@emotion/react"; import styled from "@emotion/styled"; import { observer } from "mobx-react"; -import { GetTotalStatsTableData } from "@compolabs/spark-orderbook-ts-sdk"; +import { BN, GetTotalStatsTableData } from "@compolabs/spark-orderbook-ts-sdk"; import { Column } from "@components/Flex"; import { SmartFlex } from "@components/SmartFlex"; @@ -12,7 +12,6 @@ import { media } from "@themes/breakpoints"; import { MarketSymbol } from "@screens/Stats/StatsTable/MarketSymbol"; -import BN from "@utils/BN"; import { CONFIG } from "@utils/getConfig"; import { toCurrency } from "@utils/toCurrency"; diff --git a/src/screens/SwapScreen/InfoBlock.tsx b/src/screens/SwapScreen/InfoBlock.tsx index 9b58e05a..abe78396 100644 --- a/src/screens/SwapScreen/InfoBlock.tsx +++ b/src/screens/SwapScreen/InfoBlock.tsx @@ -2,6 +2,8 @@ import React, { useState } from "react"; import { useTheme } from "@emotion/react"; import styled from "@emotion/styled"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { SmartFlex } from "@components/SmartFlex"; import Text, { TEXT_TYPES_MAP } from "@components/Text"; import { media } from "@themes/breakpoints"; @@ -12,8 +14,6 @@ import LightningIcon from "@assets/icons/lightning.svg?react"; import { useStores } from "@stores"; -import BN from "@utils/BN"; - import { SlippageSettings } from "./SlippageSettings"; interface InfoBlockProps { diff --git a/src/screens/SwapScreen/SwapScreen.tsx b/src/screens/SwapScreen/SwapScreen.tsx index 628e3da5..0038455d 100644 --- a/src/screens/SwapScreen/SwapScreen.tsx +++ b/src/screens/SwapScreen/SwapScreen.tsx @@ -3,6 +3,8 @@ import { keyframes, useTheme } from "@emotion/react"; import styled from "@emotion/styled"; import { observer } from "mobx-react"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import Button from "@components/Button"; import { ConnectWalletButton } from "@components/ConnectWalletButton"; import { AssetBlockData } from "@components/SelectAssets/SelectAssetsInput"; @@ -19,7 +21,6 @@ import { useStores } from "@stores"; import { MIXPANEL_EVENTS } from "@stores/MixPanelStore"; import { DEFAULT_DECIMALS, MINIMAL_ETH_REQUIRED, ROUTES } from "@constants"; -import BN from "@utils/BN"; import { isValidAmountInput, parseNumberWithCommas, replaceComma } from "@utils/swapUtils"; import { Token } from "@entity"; diff --git a/src/stores/BalanceStore.ts b/src/stores/BalanceStore.ts index 87296748..26cee569 100644 --- a/src/stores/BalanceStore.ts +++ b/src/stores/BalanceStore.ts @@ -1,10 +1,9 @@ import { Address } from "fuels"; import { makeAutoObservable, reaction, runInAction } from "mobx"; -import { UserMarketBalance } from "@compolabs/spark-orderbook-ts-sdk"; +import { BN, UserMarketBalance } from "@compolabs/spark-orderbook-ts-sdk"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { ACTION_MESSAGE_TYPE, getActionMessage } from "@utils/getActionMessage"; import { CONFIG } from "@utils/getConfig"; import { handleWalletErrors } from "@utils/handleWalletErrors"; diff --git a/src/stores/FaucetStore.ts b/src/stores/FaucetStore.ts index f689dad4..d2a78222 100644 --- a/src/stores/FaucetStore.ts +++ b/src/stores/FaucetStore.ts @@ -1,10 +1,11 @@ import { makeAutoObservable } from "mobx"; import { Nullable } from "tsdef"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import RootStore from "@stores/RootStore"; import { FUEL_FAUCET } from "@constants"; -import BN from "@utils/BN"; import { ACTION_MESSAGE_TYPE, getActionMessage } from "@utils/getActionMessage"; import { handleWalletErrors } from "@utils/handleWalletErrors"; diff --git a/src/stores/LeaderboardStore.ts b/src/stores/LeaderboardStore.ts index fe14e16a..cd052208 100644 --- a/src/stores/LeaderboardStore.ts +++ b/src/stores/LeaderboardStore.ts @@ -2,6 +2,7 @@ import _ from "lodash"; import { makeAutoObservable, reaction } from "mobx"; import { + BN, GetCompetitionResponse, GetSortedLeaderboardQueryParams, GetTotalStatsTableData, @@ -14,7 +15,6 @@ import { FiltersProps } from "@stores/DashboardStore"; import { filters, pnlTimeline } from "@screens/Dashboard/const"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { CONFIG } from "@utils/getConfig"; import { FuelNetwork } from "@blockchain"; diff --git a/src/stores/OracleStore.ts b/src/stores/OracleStore.ts index cad0f445..90da4b08 100644 --- a/src/stores/OracleStore.ts +++ b/src/stores/OracleStore.ts @@ -1,9 +1,10 @@ import { HermesClient } from "@pythnetwork/hermes-client"; import { makeAutoObservable } from "mobx"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import RootStore from "@stores/RootStore"; -import BN from "@utils/BN"; import { IntervalUpdater } from "@utils/IntervalUpdater"; import { FuelNetwork } from "@blockchain"; diff --git a/src/stores/SpotOrderBookStore.ts b/src/stores/SpotOrderBookStore.ts index bf9d0e4f..a9b8998c 100644 --- a/src/stores/SpotOrderBookStore.ts +++ b/src/stores/SpotOrderBookStore.ts @@ -2,7 +2,7 @@ import { HistogramData } from "lightweight-charts"; import { makeAutoObservable, reaction } from "mobx"; import { Nullable } from "tsdef"; -import { GetActiveOrdersParams, OrderType } from "@compolabs/spark-orderbook-ts-sdk"; +import { BN, GetActiveOrdersParams, OrderType } from "@compolabs/spark-orderbook-ts-sdk"; import { GetOrdersParams } from "@compolabs/spark-orderbook-ts-sdk"; import { RootStore } from "@stores"; @@ -10,7 +10,6 @@ import { RootStore } from "@stores"; import { SPOT_ORDER_FILTER } from "@screens/SpotScreen/OrderbookAndTradesInterface/SpotOrderBook/SpotOrderBook"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { formatSpotMarketOrders } from "@utils/formatSpotMarketOrders"; import { CONFIG, Market } from "@utils/getConfig"; import { getOhlcvData, OhlcvData } from "@utils/getOhlcvData"; diff --git a/src/stores/SwapStore.ts b/src/stores/SwapStore.ts index 3996bfa0..50c5fda0 100644 --- a/src/stores/SwapStore.ts +++ b/src/stores/SwapStore.ts @@ -1,9 +1,8 @@ import { autorun, makeAutoObservable, reaction } from "mobx"; -import { AssetType, GetActiveOrdersParams, LimitType, Order, OrderType } from "@compolabs/spark-orderbook-ts-sdk"; +import { AssetType, BN, GetActiveOrdersParams, LimitType, Order, OrderType } from "@compolabs/spark-orderbook-ts-sdk"; import { DEFAULT_DECIMALS } from "@constants"; -import BN from "@utils/BN"; import { ACTION_MESSAGE_TYPE, getActionMessage } from "@utils/getActionMessage"; import { CONFIG } from "@utils/getConfig"; import { handleWalletErrors } from "@utils/handleWalletErrors"; diff --git a/src/stores/TradeStore.ts b/src/stores/TradeStore.ts index 16abf4e6..4a1980c3 100644 --- a/src/stores/TradeStore.ts +++ b/src/stores/TradeStore.ts @@ -3,10 +3,11 @@ import _ from "lodash"; import { makeAutoObservable, reaction } from "mobx"; import { Nullable } from "tsdef"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import RootStore from "@stores/RootStore"; import { DEFAULT_DECIMALS, DEFAULT_MARKET } from "@constants"; -import BN from "@utils/BN"; import { CONFIG } from "@utils/getConfig"; import { IntervalUpdater } from "@utils/IntervalUpdater"; diff --git a/src/utils/BN.ts b/src/utils/BN.ts deleted file mode 100644 index 26c4e555..00000000 --- a/src/utils/BN.ts +++ /dev/null @@ -1,138 +0,0 @@ -import BigNumber from "bignumber.js"; -import { Undefinable } from "tsdef"; - -BigNumber.config({ EXPONENTIAL_AT: [-100, 100] }); - -type TValue = BN | BigNumber.Value; - -const bigNumberify = (n: any): string | number => { - if (n && n.toString) { - const primitive = n.toString(); - - if (typeof primitive !== "object") { - return primitive; - } - } - - return n; -}; - -class BN extends BigNumber { - static ZERO = new BN(0); - static MaxUint256 = "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"; - dividedBy = this.div; - exponentiatedBy = this.pow; - modulo = this.mod; - multipliedBy = this.times; - squareRoot = this.sqrt; - - constructor(n: TValue, base?: number) { - super(bigNumberify(n), base); - } - - static clamp(number: TValue, min: TValue, max: TValue): BN { - return BN.min(BN.max(number, min), max); - } - - static max(...n: TValue[]): BN { - return new BN(super.max(...n.map(bigNumberify))); - } - - static min(...n: TValue[]): BN { - return new BN(super.min(...n.map(bigNumberify))); - } - - static toBN(p: Promise): Promise { - return p.then((v) => new BN(v)); - } - - static parseUnits(value: TValue, decimals = 8): BN { - return new BN(10).pow(decimals).times(bigNumberify(value)); - } - - static formatUnits(value: TValue, decimals = 8): BN { - return new BN(value).div(new BN(10).pow(decimals)); - } - - static percentOf(value: TValue, percent: TValue): BN { - return new BN(new BN(value).times(percent).div(100).toFixed(0)); - } - - static ratioOf(valueA: TValue, valueB: TValue): BN { - return new BN(valueA).div(valueB).times(100); - } - - abs(): BN { - return new BN(super.abs()); - } - - div(n: TValue, base?: Undefinable): BN { - return new BN(super.div(bigNumberify(n), base)); - } - - pow(n: TValue, m?: Undefinable): BN { - return new BN(super.pow(bigNumberify(n), bigNumberify(m))); - } - - minus(n: TValue, base?: Undefinable): BN { - return new BN(super.minus(bigNumberify(n), base)); - } - - mod(n: TValue, base?: Undefinable): BN { - return new BN(super.mod(bigNumberify(n), base)); - } - - times(n: TValue, base?: Undefinable): BN { - return new BN(super.times(bigNumberify(n), base)); - } - - negated(): BN { - return new BN(super.negated()); - } - - plus(n: TValue, base?: Undefinable): BN { - return new BN(super.plus(bigNumberify(n), base)); - } - - sqrt(): BN { - return new BN(super.sqrt()); - } - - toDecimalPlaces(decimalPlaces: number, roundingMode: BigNumber.RoundingMode = BigNumber.ROUND_DOWN): BN { - return new BN(super.dp(decimalPlaces, roundingMode)); - } - - toBigFormat(decimalPlaces: number): string { - if (super.toNumber() > 999 && super.toNumber() < 1000000) { - return (super.toNumber() / 1000).toFixed(1) + "K"; - } else if (super.toNumber() > 1000000) { - return (super.toNumber() / 1000000).toFixed(1) + "M"; - } else if (super.toNumber() < 900) { - return super.toFormat(decimalPlaces); // if value < 1000, nothing to do - } - return super.toFormat(decimalPlaces); - } - - /** - * @example - * new BN('1234.5678').toSignificant(2) === 1,234.56 - * new BN('1234.506').toSignificant(2) === 1,234.5 - * new BN('123.0000').toSignificant(2) === 123 - * new BN('0.001234').toSignificant(2) === 0.0012 - */ - toSignificant = ( - significantDigits: number, - roundingMode: BigNumber.RoundingMode = BigNumber.ROUND_DOWN, - format?: BigNumber.Format, - ): string => { - return this.abs().gte(1) || significantDigits === 0 - ? this.toFormat(significantDigits, roundingMode, format).replace(/(\.[0-9]*[1-9])0+$|\.0+$/, "$1") - : super.precision(significantDigits, roundingMode).toString(); - }; - - clamp(min: TValue, max: TValue): BN { - return BN.min(BN.max(this, min), max); - } -} - -export default BN; diff --git a/src/utils/Math.ts b/src/utils/Math.ts index 721c9195..7e260a28 100644 --- a/src/utils/Math.ts +++ b/src/utils/Math.ts @@ -1,4 +1,4 @@ -import BN from "./BN"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; class Math { static adjustDecimals(value: BN, currentDecimals: number, targetDecimals: number): BN { diff --git a/src/utils/getRealFee.ts b/src/utils/getRealFee.ts index df372a04..28bae4b8 100644 --- a/src/utils/getRealFee.ts +++ b/src/utils/getRealFee.ts @@ -1,6 +1,6 @@ -import { SpotMarket } from "@entity"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; -import BN from "./BN"; +import { SpotMarket } from "@entity"; //TODO: Delete this file and make refactor in perp branch export const getRealFee = (market: SpotMarket | undefined, matcherFee: BN, exchangeFee: BN, isSell: boolean) => { diff --git a/src/utils/groupOrders.ts b/src/utils/groupOrders.ts index ce612b74..4962ad3e 100644 --- a/src/utils/groupOrders.ts +++ b/src/utils/groupOrders.ts @@ -1,11 +1,11 @@ import BigNumber from "bignumber.js"; +import { BN } from "@compolabs/spark-orderbook-ts-sdk"; + import { DEFAULT_DECIMALS } from "@constants"; import { SpotMarketOrder } from "@entity"; -import BN from "./BN"; - const roundPrice = (price: BN, decimals: number, rm: BigNumber.RoundingMode): BN => { const factor = new BN(10).pow(decimals); return new BN(price.dividedBy(factor).integerValue(rm).multipliedBy(factor)); diff --git a/vite.config.ts b/vite.config.ts index c410bad4..2dca908f 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -39,7 +39,7 @@ export default defineConfig({ ], // It should help resolve issues with linking the SDK // - // optimizeDeps: { - // exclude: ["@compolabs/spark-orderbook-ts-sdk"], - // }, + optimizeDeps: { + exclude: ["@compolabs/spark-orderbook-ts-sdk"], + }, }); From 8551bbe3932908f714cdeba6fa1927abf7a6053b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B8b=C4=97rt=C3=B8?= <106074508+EchoDex@users.noreply.github.com> Date: Fri, 14 Mar 2025 11:17:41 +0400 Subject: [PATCH 2/5] feat: update fee logic --- src/blockchain/FuelNetwork.ts | 6 ----- .../RightBlock/CreateOrder/CreateOrderVM.tsx | 25 +------------------ 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/src/blockchain/FuelNetwork.ts b/src/blockchain/FuelNetwork.ts index dd9465ad..f39241de 100644 --- a/src/blockchain/FuelNetwork.ts +++ b/src/blockchain/FuelNetwork.ts @@ -99,12 +99,6 @@ export class FuelNetwork { await this.walletManager.addAsset(assetId); }; - createSpotOrder = async ( - ...params: Parameters - ): Promise => { - return this.orderbookSdk.createOrder(...params); - }; - createSpotOrderWithDeposit = async ( ...params: Parameters ): Promise => { diff --git a/src/screens/SpotScreen/RightBlock/CreateOrder/CreateOrderVM.tsx b/src/screens/SpotScreen/RightBlock/CreateOrder/CreateOrderVM.tsx index 0dd13a03..a08a22d6 100644 --- a/src/screens/SpotScreen/RightBlock/CreateOrder/CreateOrderVM.tsx +++ b/src/screens/SpotScreen/RightBlock/CreateOrder/CreateOrderVM.tsx @@ -4,7 +4,6 @@ import { makeAutoObservable, reaction } from "mobx"; import { Undefinable } from "tsdef"; import { - AssetType, BN, CompactMarketInfo, CreateOrderWithDepositParams, @@ -66,9 +65,6 @@ export enum ORDER_TYPE { interface DepositInfo { amountToSpend: string; amountFee: string; - depositAssetId: string; - feeAssetId: string; - assetType: AssetType; } class CreateOrderVM { @@ -315,28 +311,9 @@ class CreateOrderVM { const deposit: DepositInfo = { amountToSpend: depositAmount.toString(), amountFee: feeAmount.toString(), - depositAssetId: isBuy ? market.quoteToken.assetId : market.baseToken.assetId, - feeAssetId: market.quoteToken.assetId, - assetType: isBuy ? AssetType.Quote : AssetType.Base, }; - const availableMarkets = CONFIG.MARKETS.filter((m) => { - // For a buy operation, we look for markets where either the quote or base asset matches our QUOTE token. - if (isBuy) { - return ( - m.quoteAssetId.toLowerCase() === deposit.feeAssetId.toLowerCase() || - m.baseAssetId.toLowerCase() === deposit.feeAssetId.toLowerCase() - ); - } - - // For a sell operation, we look for markets where either the quote or base asset matches our BASE token. - return ( - m.quoteAssetId.toLowerCase() === deposit.depositAssetId.toLowerCase() || - m.baseAssetId.toLowerCase() === deposit.depositAssetId.toLowerCase() - ); - }); - - const compactMarkets: CompactMarketInfo[] = availableMarkets.map((m) => ({ + const compactMarkets: CompactMarketInfo[] = CONFIG.MARKETS.map((m) => ({ contractId: m.contractId, quoteAssetId: m.quoteAssetId, baseAssetId: m.baseAssetId, From 90620670d78e26aabffc3457a4194986def4f66e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B8b=C4=97rt=C3=B8?= <106074508+EchoDex@users.noreply.github.com> Date: Fri, 14 Mar 2025 11:22:37 +0400 Subject: [PATCH 3/5] chore: correct comma in number --- src/screens/SpotScreen/MarketStatistics.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/screens/SpotScreen/MarketStatistics.tsx b/src/screens/SpotScreen/MarketStatistics.tsx index b4c8f9c5..1402503d 100644 --- a/src/screens/SpotScreen/MarketStatistics.tsx +++ b/src/screens/SpotScreen/MarketStatistics.tsx @@ -34,10 +34,10 @@ const MarketStatistics: React.FC = observer(() => { const volume = tradeStore.spotMarketInfo.volume.multipliedBy(indexPriceBn); const oraclePrice = tradeStore.market?.priceUnits.toFormat(precision); - const indexPrice = toCurrency(indexPriceBn.toNumber().toFixed(precision), quoteToken?.symbol); - const volume24h = toCurrency(volume.toNumber().toFixed(precision), quoteToken?.symbol); - const high24h = toCurrency(tradeStore.spotMarketInfo.high.toNumber().toFixed(precision), quoteToken?.symbol); - const low24h = toCurrency(tradeStore.spotMarketInfo.low.toNumber().toFixed(precision), quoteToken?.symbol); + const indexPrice = toCurrency(indexPriceBn.toFormat(precision), quoteToken?.symbol); + const volume24h = toCurrency(volume.toFormat(precision), quoteToken?.symbol); + const high24h = toCurrency(tradeStore.spotMarketInfo.high.toFormat(precision), quoteToken?.symbol); + const low24h = toCurrency(tradeStore.spotMarketInfo.low.toFormat(precision), quoteToken?.symbol); const spotStatsArr: MarketInfoItem[] = [ { From f89c5aeacf014bbffc0aa8197f8c5898b1df6bc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B8b=C4=97rt=C3=B8?= <106074508+EchoDex@users.noreply.github.com> Date: Mon, 17 Mar 2025 12:16:19 +0400 Subject: [PATCH 4/5] chore: update package --- package.json | 8 +-- pnpm-lock.yaml | 175 +++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 173 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 58d351ae..6a6ce0da 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "pnpm": ">=10.4.0" }, "dependencies": { - "@compolabs/spark-orderbook-ts-sdk": "https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.4.tgz", + "@compolabs/spark-orderbook-ts-sdk": "https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.5.tgz", "@compolabs/tradingview-chart": "^1.0.21", "@emotion/react": "^11.11.3", "@emotion/styled": "^11.11.0", @@ -107,10 +107,8 @@ "last 1 safari version" ] }, - "packageManager": "pnpm@10.4.0+sha512.6b849d0787d97f8f4e1f03a9b8ff8f038e79e153d6f11ae539ae7c435ff9e796df6a862c991502695c7f9e8fac8aeafc1ac5a8dab47e36148d183832d886dd52", + "packageManager": "pnpm@10.6.3+sha512.bb45e34d50a9a76e858a95837301bfb6bd6d35aea2c5d52094fa497a467c43f5c440103ce2511e9e0a2f89c3d6071baac3358fc68ac6fb75e2ceb3d2736065e6", "pnpm": { - "overrides": { - "@compolabs/spark-orderbook-ts-sdk": "link:../../../Library/pnpm/global/5/node_modules/@compolabs/spark-orderbook-ts-sdk" - } + "overrides": {} } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f969f734..df34b68a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,16 +4,13 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - '@compolabs/spark-orderbook-ts-sdk': link:../../../Library/pnpm/global/5/node_modules/@compolabs/spark-orderbook-ts-sdk - importers: .: dependencies: '@compolabs/spark-orderbook-ts-sdk': - specifier: link:../../../Library/pnpm/global/5/node_modules/@compolabs/spark-orderbook-ts-sdk - version: link:../../../Library/pnpm/global/5/node_modules/@compolabs/spark-orderbook-ts-sdk + specifier: https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.5.tgz + version: https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.5.tgz(@types/react@18.3.18)(fuels@0.97.2(vitest@2.0.5(@types/node@22.13.4)))(graphql@16.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@compolabs/tradingview-chart': specifier: ^1.0.21 version: 1.0.21 @@ -244,6 +241,24 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@apollo/client@3.13.4': + resolution: {integrity: sha512-Ot3RaN2M/rhIKDqXBdOVlN0dQbHydUrYJ9lTxkvd6x7W1pAjwduUccfoz2gsO4U9by7oWtRj/ySF0MFNUp+9Aw==} + peerDependencies: + graphql: ^15.0.0 || ^16.0.0 + graphql-ws: ^5.5.5 || ^6.0.3 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc + subscriptions-transport-ws: ^0.9.0 || ^0.11.0 + peerDependenciesMeta: + graphql-ws: + optional: true + react: + optional: true + react-dom: + optional: true + subscriptions-transport-ws: + optional: true + '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -901,6 +916,13 @@ packages: '@coinbase/wallet-sdk@4.3.0': resolution: {integrity: sha512-T3+SNmiCw4HzDm4we9wCHCxlP0pqCiwKe4sOwPH3YAK2KSKjxPRydKu6UQJrdONFVLG7ujXvbd/6ZqmvJb8rkw==} + '@compolabs/spark-orderbook-ts-sdk@https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.5.tgz': + resolution: {tarball: https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.5.tgz} + version: 1.16.5 + engines: {node: '>=18'} + peerDependencies: + fuels: '>=0.97.1' + '@compolabs/tradingview-chart@1.0.21': resolution: {integrity: sha512-efExlG9Ki5uqEe16nRF2A6FwQ8CnzmAwad2kMZxNFtNsbJTYhVC1SMSzkcBNQ50yzmijm3HAUUfaMzsXwtEkFQ==, tarball: https://npm.pkg.github.com/download/@compolabs/tradingview-chart/1.0.21/f9b8234ef67206216f98b5919ef16173c21f7fe9} @@ -1931,6 +1953,11 @@ packages: cpu: [s390x] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.18.0': + resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.34.8': resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==} cpu: [x64] @@ -2783,6 +2810,22 @@ packages: '@web3modal/wallet@5.0.0': resolution: {integrity: sha512-3oyUquzLq9vairNM4ba8wEtJm/Sn+qT1yh7MIoVltxfMtoX8teDrmj83/jSBXv0/iqKf2DGo4MQJ124KQKeTLA==} + '@wry/caches@1.0.1': + resolution: {integrity: sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA==} + engines: {node: '>=8'} + + '@wry/context@0.7.4': + resolution: {integrity: sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==} + engines: {node: '>=8'} + + '@wry/equality@0.5.7': + resolution: {integrity: sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==} + engines: {node: '>=8'} + + '@wry/trie@0.5.0': + resolution: {integrity: sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==} + engines: {node: '>=8'} + '@xstate/fsm@1.6.5': resolution: {integrity: sha512-b5o1I6aLNeYlU/3CPlj/Z91ybk1gUsKT+5NAJI+2W4UjvS5KLG28K9v5UvNoFVjHV8PajVZ00RH3vnjyQO7ZAw==} @@ -4098,6 +4141,12 @@ packages: peerDependencies: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql-ws@5.16.2: + resolution: {integrity: sha512-E1uccsZxt/96jH/OwmLPuXMACILs76pKF2i3W861LpKBCYtGIyPQGtWLuBLkND4ox1KHns70e83PS4te50nvPQ==} + engines: {node: '>=10'} + peerDependencies: + graphql: '>=0.11 <=16' + graphql@16.10.0: resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} @@ -4829,6 +4878,9 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} + optimism@0.18.1: + resolution: {integrity: sha512-mLXNwWPa9dgFyDqkNi54sjDyNJ9/fTI6WGBLgnXku1vdKY/jovHfZT5r+aiVeFFLOz+foPNOm5YJ4mqgld2GBQ==} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -5303,6 +5355,17 @@ packages: resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} hasBin: true + rehackt@0.1.0: + resolution: {integrity: sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==} + peerDependencies: + '@types/react': '*' + react: '*' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -5624,6 +5687,10 @@ packages: svg-parser@2.0.4: resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + symbol-observable@4.0.0: + resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} + engines: {node: '>=0.10'} + synckit@0.9.2: resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -5703,6 +5770,10 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-invariant@0.10.3: + resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} + engines: {node: '>=8'} + tsconfck@3.1.5: resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==} engines: {node: ^18 || >=20} @@ -6275,6 +6346,12 @@ packages: yup@1.6.1: resolution: {integrity: sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA==} + zen-observable-ts@1.2.5: + resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} + + zen-observable@0.8.15: + resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} + zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} @@ -6309,6 +6386,29 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 + '@apollo/client@3.13.4(@types/react@18.3.18)(graphql-ws@5.16.2(graphql@16.10.0))(graphql@16.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.10.0) + '@wry/caches': 1.0.1 + '@wry/equality': 0.5.7 + '@wry/trie': 0.5.0 + graphql: 16.10.0 + graphql-tag: 2.12.6(graphql@16.10.0) + hoist-non-react-statics: 3.3.2 + optimism: 0.18.1 + prop-types: 15.8.1 + rehackt: 0.1.0(@types/react@18.3.18)(react@18.3.1) + symbol-observable: 4.0.0 + ts-invariant: 0.10.3 + tslib: 2.8.1 + zen-observable-ts: 1.2.5 + optionalDependencies: + graphql-ws: 5.16.2(graphql@16.10.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -7164,6 +7264,24 @@ snapshots: eventemitter3: 5.0.1 preact: 10.26.0 + '@compolabs/spark-orderbook-ts-sdk@https://registry.npmjs.org/@compolabs/spark-orderbook-ts-sdk/-/spark-orderbook-ts-sdk-1.16.5.tgz(@types/react@18.3.18)(fuels@0.97.2(vitest@2.0.5(@types/node@22.13.4)))(graphql@16.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@apollo/client': 3.13.4(@types/react@18.3.18)(graphql-ws@5.16.2(graphql@16.10.0))(graphql@16.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + axios: 1.7.9 + bignumber.js: 9.1.2 + fuels: 0.97.2(vitest@2.0.5(@types/node@22.13.4)) + graphql-ws: 5.16.2(graphql@16.10.0) + tsdef: 0.0.14 + optionalDependencies: + '@rollup/rollup-linux-x64-gnu': 4.18.0 + transitivePeerDependencies: + - '@types/react' + - debug + - graphql + - react + - react-dom + - subscriptions-transport-ws + '@compolabs/tradingview-chart@1.0.21': {} '@ecies/ciphers@0.2.2(@noble/ciphers@1.2.1)': @@ -8354,6 +8472,9 @@ snapshots: '@rollup/rollup-linux-s390x-gnu@4.34.8': optional: true + '@rollup/rollup-linux-x64-gnu@4.18.0': + optional: true + '@rollup/rollup-linux-x64-gnu@4.34.8': optional: true @@ -10415,6 +10536,22 @@ snapshots: '@web3modal/polyfills': 5.0.0 zod: 3.22.4 + '@wry/caches@1.0.1': + dependencies: + tslib: 2.8.1 + + '@wry/context@0.7.4': + dependencies: + tslib: 2.8.1 + + '@wry/equality@0.5.7': + dependencies: + tslib: 2.8.1 + + '@wry/trie@0.5.0': + dependencies: + tslib: 2.8.1 + '@xstate/fsm@1.6.5': {} '@zodios/core@10.9.6(axios@1.7.9)(zod@3.24.2)': @@ -12120,6 +12257,10 @@ snapshots: graphql: 16.10.0 tslib: 2.8.1 + graphql-ws@5.16.2(graphql@16.10.0): + dependencies: + graphql: 16.10.0 + graphql@16.10.0: {} h3@1.15.0: @@ -12877,6 +13018,13 @@ snapshots: dependencies: mimic-fn: 4.0.0 + optimism@0.18.1: + dependencies: + '@wry/caches': 1.0.1 + '@wry/context': 0.7.4 + '@wry/trie': 0.5.0 + tslib: 2.8.1 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -13396,6 +13544,11 @@ snapshots: dependencies: jsesc: 3.0.2 + rehackt@0.1.0(@types/react@18.3.18)(react@18.3.1): + optionalDependencies: + '@types/react': 18.3.18 + react: 18.3.1 + require-directory@2.1.1: {} require-main-filename@2.0.0: {} @@ -13801,6 +13954,8 @@ snapshots: svg-parser@2.0.4: {} + symbol-observable@4.0.0: {} + synckit@0.9.2: dependencies: '@pkgr/core': 0.1.1 @@ -13869,6 +14024,10 @@ snapshots: dependencies: typescript: 5.7.3 + ts-invariant@0.10.3: + dependencies: + tslib: 2.8.1 + tsconfck@3.1.5(typescript@5.7.3): optionalDependencies: typescript: 5.7.3 @@ -14421,6 +14580,12 @@ snapshots: toposort: 2.0.2 type-fest: 2.19.0 + zen-observable-ts@1.2.5: + dependencies: + zen-observable: 0.8.15 + + zen-observable@0.8.15: {} + zod@3.22.4: {} zod@3.24.2: {} From 39c62e7ed72dbc62d94d596dd24a1ca7f43442d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B8b=C4=97rt=C3=B8?= <106074508+EchoDex@users.noreply.github.com> Date: Mon, 17 Mar 2025 12:17:12 +0400 Subject: [PATCH 5/5] chore: remove optimizing --- vite.config.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vite.config.ts b/vite.config.ts index 2dca908f..c410bad4 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -39,7 +39,7 @@ export default defineConfig({ ], // It should help resolve issues with linking the SDK // - optimizeDeps: { - exclude: ["@compolabs/spark-orderbook-ts-sdk"], - }, + // optimizeDeps: { + // exclude: ["@compolabs/spark-orderbook-ts-sdk"], + // }, });