diff --git a/src/blockchain/contract.js b/src/blockchain/contract.js index 5f8c289..2550454 100644 --- a/src/blockchain/contract.js +++ b/src/blockchain/contract.js @@ -1,14 +1,12 @@ import {ethers} from "ethers"; -import {factoryAbi, queryHelperAbi, vaultAbi} from "@/blockchain/abi.js"; -import {useStore} from "@/store/store.js"; +import {queryHelperAbi} from "@/blockchain/abi.js"; -export function vaultAddress( owner, num=0) { - const s = useStore() - if( !owner || !s.factory || !s.vaultInitCodeHash ) +export function vaultAddress( factory, vaultInitCodeHash, owner, num=0) { + if( !owner || !factory || !vaultInitCodeHash ) return null const salt = ethers.solidityPackedKeccak256(['address','uint8'],[owner,num]) - return ethers.getCreate2Address(s.factory, salt, s.vaultInitCodeHash) + return ethers.getCreate2Address(factory, salt, vaultInitCodeHash) } @@ -21,22 +19,7 @@ export function contractOrNull(addr,abi,provider) { } } -export async function factoryContract() { - const s = useStore() - return contractOrNull(s.factory, factoryAbi, s.provider) +export async function queryHelperContract(helper, provider) { + return contractOrNull(helper, queryHelperAbi, provider) } -export async function queryHelperContract() { - const s = useStore() - return contractOrNull(s.helper, queryHelperAbi, s.provider) -} - -export async function poolContract(addr) { - const s = useStore() - return contractOrNull(addr, uniswapV3PoolAbi, s.provider) -} - -export async function vaultContract(owner, num, provider) { - const addr = vaultAddress(owner, num) - return new ethers.Contract(addr, vaultAbi, provider) -} diff --git a/src/blockchain/route.js b/src/blockchain/route.js index 6c2e661..a42a175 100644 --- a/src/blockchain/route.js +++ b/src/blockchain/route.js @@ -1,12 +1,7 @@ -import {queryHelperContract} from "@/blockchain/contract.js"; import {Exchange} from "@/blockchain/orderlib.js"; -export async function findRoute(chainId, tokenA, tokenB) { - console.log('getting query helper') - const helper = await queryHelperContract() - if (!helper) - throw Error('no helper') +export async function findRoute(helper, chainId, tokenA, tokenB) { console.log('getting raw routes', helper, tokenA.address, tokenB.address) const rawRoutes = await helper.getRoutes(tokenA.address, tokenB.address) // todo expose all available pools diff --git a/src/blockchain/wallet.js b/src/blockchain/wallet.js index 302da72..8f4672d 100644 --- a/src/blockchain/wallet.js +++ b/src/blockchain/wallet.js @@ -87,9 +87,7 @@ const errorHandlingProxy = { export async function connectWallet() { - // eth_getaccounts - const s = useStore() - await s.provider.getSigner() + await new ethers.BrowserProvider(window.ethereum).getSigner(); } let pendingOrders = [] @@ -115,7 +113,7 @@ async function _discoverVaults(owner) { // todo multi-vault scan // console.log('_discoverVaults',owner) const num = 0 - const addr = vaultAddress(owner, num) + const addr = vaultAddress(s.factory, s.vaultInitCodeHash, owner, num) // console.log(`vault ${num} at`, addr) if( addr === null ) { s.vaults = [] @@ -133,7 +131,7 @@ async function _discoverVaults(owner) { console.error(`bad vault version ${version}`) } catch (e) { - console.log(`no vault ${num}`) + console.log(`no vault ${num} at ${addr}`, e) } if( s.account == owner ) { // double-check the account since it could have changed during our await s.vaults = result diff --git a/src/components/PairChoice.vue b/src/components/PairChoice.vue index e249575..2bef669 100644 --- a/src/components/PairChoice.vue +++ b/src/components/PairChoice.vue @@ -36,6 +36,7 @@ import RoutePrice from "@/components/RoutePrice.vue"; import {findRoute} from "@/blockchain/route.js"; import {SingletonCoroutine, routeInverted} from "@/misc.js"; import {computed, ref} from "vue"; +import {queryHelperContract} from "@/blockchain/contract.js"; const s = useStore() const os = useOrderStore() @@ -83,9 +84,16 @@ async function componentFindRoute() { console.log('finding route', s.chainId.value, tokenA, tokenB) os.routesPending = true try { - const result = await findRoute(s.chainId.value, tokenA, tokenB) - console.log('found route', result) - os.routes = result + console.log('getting query helper') + const helper = await queryHelperContract(s.helper, s.provider) + if (!helper) { + console.log('no helper') + } + else { + const result = await findRoute(helper, s.chainId.value, tokenA, tokenB) + console.log('found route', result) + os.routes = result + } } catch (e) { console.log('ignoring routes exception', e) diff --git a/src/components/Vault.vue b/src/components/Vault.vue index 2b9991a..9228da8 100644 --- a/src/components/Vault.vue +++ b/src/components/Vault.vue @@ -90,7 +90,7 @@ const TokenRow = defineAsyncComponent(()=>import('./TokenRow.vue')) const s = useStore() const props = defineProps(['owner', 'num']) -const addr = computed(()=>vaultAddress(props.owner, props.num)) +const addr = computed(()=>vaultAddress(s.factory, s.vaultInitCodeHash, props.owner, props.num)) const balances = computed(()=>{ const bs = s.vaultBalances[addr.value] console.log('balances', addr.value, s.vaultBalances, bs) @@ -115,8 +115,7 @@ function checkVault() { ensureVault() } -// todo remove automatic vault creation for Alpha 2 -s.$subscribe((mutation, state)=>{checkVault()}) +setTimeout(checkVault, 1) diff --git a/src/router/index.js b/src/router/index.js index 6fd6670..b14fe04 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,12 +7,13 @@ const routes = [ component: () => import('@/layouts/default/Layout.vue'), children: [ { - path: '', + path: '/', name: 'Home', // route level code-splitting // this generates a separate chunk (about.[hash].js) for this route // which is lazy-loaded when the route is visited. - component: () => import(/* webpackChunkName: "home" */ '@/views/Home.vue'), + // component: () => import(/* webpackChunkName: "home" */ '@/views/Home.vue'), + component: () => import(/* webpackChunkName: "vaultview" */ '@/views/VaultView.vue'), }, { path: '/vault', diff --git a/yarn.lock b/yarn.lock index dbf1d08..9f07924 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,7 +12,7 @@ resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== -"@babel/parser@^7.23.5": +"@babel/parser@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== @@ -237,104 +237,93 @@ integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== "@vitejs/plugin-vue@^4.0.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.6.0.tgz#6e1011303f8224e04d339756f1fa398ba79fc0b3" - integrity sha512-XHuyFdAikWRmHuAd89FOyUGIjrBU5KlxJtyi2hVeR9ySGFxQwE0bl5xAQju/ArMq5azdBivY4d+D2yPKwoYWUg== + version "4.6.2" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz#057d2ded94c4e71b94e9814f92dcd9306317aa46" + integrity sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw== -"@vue/compiler-core@3.3.13": - version "3.3.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.13.tgz#b3d5f8f84caee5de3f31d95cb568d899fd19c599" - integrity sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A== +"@vue/compiler-core@3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.6.tgz#6566dcaf41ad12013ca270c3f4f9501f9b88cdfc" + integrity sha512-9SmkpHsXqhHGMIOp4cawUqp0AxLN2fJJfxh3sR2RaouVx/Y/ww5ts3dfpD9SCvD0n8cdO/Xw+kWEpa6EkH/vTQ== dependencies: - "@babel/parser" "^7.23.5" - "@vue/shared" "3.3.13" + "@babel/parser" "^7.23.6" + "@vue/shared" "3.4.6" + entities "^4.5.0" estree-walker "^2.0.2" source-map-js "^1.0.2" -"@vue/compiler-dom@3.3.13": - version "3.3.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.13.tgz#d029e222e545e7ab00be35aafd3abed167f962bf" - integrity sha512-EYRDpbLadGtNL0Gph+HoKiYqXLqZ0xSSpR5Dvnu/Ep7ggaCbjRDIus1MMxTS2Qm0koXED4xSlvTZaTnI8cYAsw== +"@vue/compiler-dom@3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.6.tgz#f8a08aba9483bb2a9c8e2f600d14d6ff1dfbb51e" + integrity sha512-i39ZuyHPzPb0v5yXZbvODGwLr+T7lS1rYSjMd1oCTa14aDP80kYpWXrWPF1JVD4QJJNyLgFnJ2hxvFLM7dy9NQ== dependencies: - "@vue/compiler-core" "3.3.13" - "@vue/shared" "3.3.13" + "@vue/compiler-core" "3.4.6" + "@vue/shared" "3.4.6" -"@vue/compiler-sfc@3.3.13": - version "3.3.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.13.tgz#7b397acefd5c0c3808701d2855be88c4be60155c" - integrity sha512-DQVmHEy/EKIgggvnGRLx21hSqnr1smUS9Aq8tfxiiot8UR0/pXKHN9k78/qQ7etyQTFj5em5nruODON7dBeumw== +"@vue/compiler-sfc@3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.6.tgz#c76f93019a2ab845b827d7bc2f957e9fb30f1929" + integrity sha512-kTFOiyMtuetFqi5yEPA4hR6FTD36zKKY3qaBonxGb4pgj0yK1eACqH+iycTAsEqr2u4cOhcGkx3Yjecpgh6FTQ== dependencies: - "@babel/parser" "^7.23.5" - "@vue/compiler-core" "3.3.13" - "@vue/compiler-dom" "3.3.13" - "@vue/compiler-ssr" "3.3.13" - "@vue/reactivity-transform" "3.3.13" - "@vue/shared" "3.3.13" + "@babel/parser" "^7.23.6" + "@vue/compiler-core" "3.4.6" + "@vue/compiler-dom" "3.4.6" + "@vue/compiler-ssr" "3.4.6" + "@vue/shared" "3.4.6" estree-walker "^2.0.2" magic-string "^0.30.5" postcss "^8.4.32" source-map-js "^1.0.2" -"@vue/compiler-ssr@3.3.13": - version "3.3.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.13.tgz#ad8748abff8d738ac9c6a3c47be42020f0fbaa63" - integrity sha512-d/P3bCeUGmkJNS1QUZSAvoCIW4fkOKK3l2deE7zrp0ypJEy+En2AcypIkqvcFQOcw3F0zt2VfMvNsA9JmExTaw== +"@vue/compiler-ssr@3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.6.tgz#23a4731c3c1c764e72b86fff178ea81c69bfc9b4" + integrity sha512-XqeojjDitjMLyOogDePNSxw9XL4FAXchO9oOfqdzLVEtYES5j+AEilPJyP0KhQPfGecY2mJ3Y7/e6kkiJQLKvg== dependencies: - "@vue/compiler-dom" "3.3.13" - "@vue/shared" "3.3.13" + "@vue/compiler-dom" "3.4.6" + "@vue/shared" "3.4.6" "@vue/devtools-api@^6.5.0": version "6.5.1" resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz#7f71f31e40973eeee65b9a64382b13593fdbd697" integrity sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA== -"@vue/reactivity-transform@3.3.13": - version "3.3.13" - resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.13.tgz#dc8e9be961865dc666e367e1aaaea0716afa5c90" - integrity sha512-oWnydGH0bBauhXvh5KXUy61xr9gKaMbtsMHk40IK9M4gMuKPJ342tKFarY0eQ6jef8906m35q37wwA8DMZOm5Q== +"@vue/reactivity@3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.6.tgz#731aec2e4ea42f52206e73df769ecffacae8875e" + integrity sha512-/VuOxdWDyAeKFHjOuSKEtH9jEVPRgsXxu84utBP1SiXFcFRx2prwiC9cSR8hKOfj5nBwhLXYb6XEU69mLpuk0w== dependencies: - "@babel/parser" "^7.23.5" - "@vue/compiler-core" "3.3.13" - "@vue/shared" "3.3.13" - estree-walker "^2.0.2" - magic-string "^0.30.5" + "@vue/shared" "3.4.6" -"@vue/reactivity@3.3.13": - version "3.3.13" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.13.tgz#9b1dff3b523a69997b66cba2f86f83839e8285fb" - integrity sha512-fjzCxceMahHhi4AxUBzQqqVhuA21RJ0COaWTbIBl1PruGW1CeY97louZzLi4smpYx+CHfFPPU/CS8NybbGvPKQ== +"@vue/runtime-core@3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.6.tgz#7d6d8212cf2eaae8b992b7a9ed0b77fe0911dd37" + integrity sha512-XDOx8iiNmP66p+goUHT5XL1AnV8406VVFQARbylqmSCBZEtxchfu2ZoQk7U07ze8G/E0/BtX/C5o29zB1W4o5A== dependencies: - "@vue/shared" "3.3.13" + "@vue/reactivity" "3.4.6" + "@vue/shared" "3.4.6" -"@vue/runtime-core@3.3.13": - version "3.3.13" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.13.tgz#e8414218e8c7db94acfcec6fd12044704adda9cf" - integrity sha512-1TzA5TvGuh2zUwMJgdfvrBABWZ7y8kBwBhm7BXk8rvdx2SsgcGfz2ruv2GzuGZNvL1aKnK8CQMV/jFOrxNQUMA== +"@vue/runtime-dom@3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.6.tgz#87a6b4f25b47feac5cf6a88b6227811aa5951f3c" + integrity sha512-8bdQR5CLfzClGvAOfbbCF8adE9oko0pRfe+dj297i0JCdCJ8AuyUMsXkt6vGPcRPqIKX4Z8f/bDPrwl+c7e4Wg== dependencies: - "@vue/reactivity" "3.3.13" - "@vue/shared" "3.3.13" - -"@vue/runtime-dom@3.3.13": - version "3.3.13" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.13.tgz#36b42b479d5a394972f305ca8e95c5f648bf55ef" - integrity sha512-JJkpE8R/hJKXqVTgUoODwS5wqKtOsmJPEqmp90PDVGygtJ4C0PtOkcEYXwhiVEmef6xeXcIlrT3Yo5aQ4qkHhQ== - dependencies: - "@vue/runtime-core" "3.3.13" - "@vue/shared" "3.3.13" + "@vue/runtime-core" "3.4.6" + "@vue/shared" "3.4.6" csstype "^3.1.3" -"@vue/server-renderer@3.3.13": - version "3.3.13" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.13.tgz#fccdd0787798173be8929f40f23161c17b60ed36" - integrity sha512-vSnN+nuf6iSqTL3Qgx/9A+BT+0Zf/VJOgF5uMZrKjYPs38GMYyAU1coDyBNHauehXDaP+zl73VhwWv0vBRBHcg== +"@vue/server-renderer@3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.6.tgz#f5d135bae601dc4bdf7fe1212391173c68292c2b" + integrity sha512-0LS+GXf3M93KloaK/S0ZPq5PnKERgPAV5iNCCpjyBLhAQGGEeqfJojs3yXOAMQLSvXi9FLYDHzDEOLWoLaYbTQ== dependencies: - "@vue/compiler-ssr" "3.3.13" - "@vue/shared" "3.3.13" + "@vue/compiler-ssr" "3.4.6" + "@vue/shared" "3.4.6" -"@vue/shared@3.3.13": - version "3.3.13" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.13.tgz#4cb73cda958d77ffd389c8640cf7d93a10ac676f" - integrity sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA== +"@vue/shared@3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.6.tgz#feace5e6819a460532dec4721b7e770a0b1b959d" + integrity sha512-O16vewA05D0IwfG2N/OFEuVeb17pieaI32mmYXp36V8lp+/pI1YV04rRL9Eyjndj3xQO5SNjAxTh6ul4IlBa3A== "@vuetify/loader-shared@^1.7.1": version "1.7.1" @@ -350,9 +339,9 @@ acorn-jsx@^5.3.2: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^8.9.0: - version "8.11.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" - integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== aes-js@4.0.0-beta.5: version "4.0.0-beta.5" @@ -475,9 +464,9 @@ concat-map@0.0.1: integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== core-js@^3.29.0: - version "3.34.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.34.0.tgz#5705e6ad5982678612e96987d05b27c6c7c274a5" - integrity sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag== + version "3.35.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.35.0.tgz#58e651688484f83c34196ca13f099574ee53d6b4" + integrity sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg== cross-spawn@^7.0.2: version "7.0.3" @@ -533,6 +522,11 @@ engine.io-parser@~5.2.1: resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.1.tgz#9f213c77512ff1a6cc0c7a86108a7ffceb16fcfb" integrity sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ== +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + esbuild@^0.18.10: version "0.18.20" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" @@ -675,9 +669,9 @@ esutils@^2.0.2: integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== ethers@^6.7.1: - version "6.9.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.9.1.tgz#4d50c77b46b6661e00f5cc6292e6bcd933fe4cba" - integrity sha512-kuV8fGd4/8Gj7wkurbsuUsm1DCG6N5gKGYdw3fnWG/7QGknhy1xtHD7kbkCWQAcbAYmzLCLqCPedS3FYncFkKQ== + version "6.9.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.9.2.tgz#6f4632f62e2350fa8354ff28624027a175ef85a4" + integrity sha512-YpkrtILnMQz5jSEsJQRTpduaGT/CXuLnUIuOYzHA0v/7c8IX91m2J48wSKjzGL5L9J/Us3tLoUdb+OwE3U+FFQ== dependencies: "@adraffy/ens-normalize" "1.10.0" "@noble/curves" "1.2.0" @@ -1101,17 +1095,17 @@ pkg-dir@^4.1.0: find-up "^4.0.0" postcss-selector-parser@^6.0.13: - version "6.0.14" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.14.tgz#9d45f1afbebedae6811a17f49d09754f2ad153b3" - integrity sha512-65xXYsT40i9GyWzlHQ5ShZoK7JZdySeOozi/tz2EezDo6c04q6+ckYMeoY7idaie1qp2dT5KoYQ2yky6JuoHnA== + version "6.0.15" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" postcss@^8.4.27, postcss@^8.4.32: - version "8.4.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" - integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== + version "8.4.33" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" + integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== dependencies: nanoid "^3.3.7" picocolors "^1.0.0" @@ -1176,9 +1170,9 @@ run-parallel@^1.1.9: queue-microtask "^1.2.2" sass@^1.60.0: - version "1.69.5" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.69.5.tgz#23e18d1c757a35f2e52cc81871060b9ad653dfde" - integrity sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ== + version "1.69.7" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.69.7.tgz#6e7e1c8f51e8162faec3e9619babc7da780af3b7" + integrity sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -1209,9 +1203,9 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== socket.io-client@^4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.2.tgz#f2f13f68058bd4e40f94f2a1541f275157ff2c08" - integrity sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w== + version "4.7.3" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.3.tgz#b49e006fc1ccaea65229a4b435c083b10439ecc4" + integrity sha512-nU+ywttCyBitXIl9Xe0RSEfek4LneYkJxCeNnKCuhwoH4jGXO1ipIUw/VA/+Vvv2G1MTym11fzFC0SxkrcfXDw== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" @@ -1322,9 +1316,9 @@ vue-demi@>=0.14.5: integrity sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w== vue-eslint-parser@^9.3.1: - version "9.3.2" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz#6f9638e55703f1c77875a19026347548d93fd499" - integrity sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg== + version "9.4.0" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.4.0.tgz#dfd22302e2992fe45748a76553cef7afa5bdde27" + integrity sha512-7KsNBb6gHFA75BtneJsoK/dbZ281whUIwFYdQxA68QrCrGMXYzUMbPDHGcOQ0OocIVKrWSKWXZ4mL7tonCXoUw== dependencies: debug "^4.3.4" eslint-scope "^7.1.1" @@ -1342,15 +1336,15 @@ vue-router@^4.0.0: "@vue/devtools-api" "^6.5.0" vue@^3.2.0: - version "3.3.13" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.13.tgz#f03098fa1b4e7cc88c133bef92260b55e3767002" - integrity sha512-LDnUpQvDgsfc0u/YgtAgTMXJlJQqjkxW1PVcOnJA5cshPleULDjHi7U45pl2VJYazSSvLH8UKcid/kzH8I0a0Q== + version "3.4.6" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.6.tgz#ed53a1849241b1cb866212f04b213f68f5f550e4" + integrity sha512-gAzw5oP0/h34/yq1LjLNpn4wrCKYMuWp2jbs/JirFiZAFWYhd9jTkXp4wIi5ApgMJrMgD6YFyyXwKsqFYR31IQ== dependencies: - "@vue/compiler-dom" "3.3.13" - "@vue/compiler-sfc" "3.3.13" - "@vue/runtime-dom" "3.3.13" - "@vue/server-renderer" "3.3.13" - "@vue/shared" "3.3.13" + "@vue/compiler-dom" "3.4.6" + "@vue/compiler-sfc" "3.4.6" + "@vue/runtime-dom" "3.4.6" + "@vue/server-renderer" "3.4.6" + "@vue/shared" "3.4.6" vuetify@^3.4.6: version "3.4.9"