diff --git a/.gitignore b/.gitignore index 33b62896..a4145778 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ coverage/ .nyc_output/ playwright-report/ test-results/ +.vitest/ *.lcov *.tsbuildinfo next-env.d.ts diff --git a/.gitmodules b/.gitmodules index dbe51e06..0ccc81ec 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ -# Pinned to effect@4.0.0-rc.112 (matches widget catalog effect version). +# Pinned to effect@4.0.0-rc.115 (matches widget catalog effect version). [submodule ".repos/effect"] path = .repos/effect url = https://github.com/Effect-TS/effect.git diff --git a/.repos/effect b/.repos/effect index 2600f62f..4a05d491 160000 --- a/.repos/effect +++ b/.repos/effect @@ -1 +1 @@ -Subproject commit 2600f62f4532026928454dcea8d1c48557b3f942 +Subproject commit 4a05d4914fa2327a42bd75fe77c22c188becf3b4 diff --git a/AGENTS.md b/AGENTS.md index 9d049bcb..b2e6b4e0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,7 +14,7 @@ source of truth for behavior. | Ownership, dependency direction, and Module interfaces | `packages/widget/ARCHITECTURE.md` | | Project vocabulary | `CONTEXT.md` | | A decision that constrains the change | The relevant current file in `docs/adr/` | -| Effect APIs | Run `git submodule update --init .repos/effect` (pinned to the same release as the catalog `effect` version, currently `effect@4.0.0-rc.112`), then read `.repos/effect/LLMS.md`, then the exact upstream source or tests | +| Effect APIs | Run `git submodule update --init .repos/effect` (pinned to the same release as the catalog `effect` version), then read `.repos/effect/LLMS.md`, then the exact upstream source or tests | | Local issues, domain docs, and triage | `docs/agents/` | | Publishing | `docs/releases.md` | @@ -26,6 +26,7 @@ Run pnpm through the version pinned by mise: `mise exec -- pnpm ...`. - `pnpm --filter @stakekit/widget test:unit` — Node tests. - `pnpm --filter @stakekit/widget test:dom` — jsdom tests. - `pnpm --filter @stakekit/widget test:browser` — Chromium tests. +- `pnpm --filter @stakekit/widget test:browser:diagnostic` — Chromium tests with trace replay in `packages/widget/.vitest/index.html`; serve that directory over HTTP to view the report. - `pnpm check-hygiene` — dependency-cruiser and Knip; run after changing the import graph. - `pnpm lint` — all workspaces plus the root ast-grep rules. - `pnpm check` — lint, hygiene, tests, and builds. diff --git a/biome.json b/biome.json index fb41fc34..e9ff04a8 100644 --- a/biome.json +++ b/biome.json @@ -8,6 +8,7 @@ "!**/.next", "!**/next", "!**/.turbo", + "!**/.vitest", "!**/node_modules", "!**/dist", "!**/.next", diff --git a/packages/widget/package.json b/packages/widget/package.json index fda3980d..a63fedae 100644 --- a/packages/widget/package.json +++ b/packages/widget/package.json @@ -55,6 +55,7 @@ "test:dom": "vitest -c vite/vitest.config.ts --project dom run", "test:dom:watch": "vitest -c vite/vitest.config.ts --project dom", "test:browser": "vitest -c vite/vitest.config.ts --project browser run", + "test:browser:diagnostic": "vitest -c vite/vitest.config.ts --project browser run --browser.traceView --reporter=default --reporter=html", "test:changed": "vitest -c vite/vitest.config.ts run --project unit --project dom --changed", "test:changed:all": "vitest -c vite/vitest.config.ts run --changed", "test:changed:unit": "vitest -c vite/vitest.config.ts run --project unit --changed", @@ -105,7 +106,6 @@ "@effect/platform-browser": "catalog:", "@effect/platform-node": "catalog:", "@effect/vitest": "catalog:", - "@faker-js/faker": "catalog:", "@ledgerhq/wallet-api-client": "catalog:", "@ledgerhq/wallet-api-core": "catalog:", "@luno-kit/core": "catalog:", @@ -143,6 +143,7 @@ "@vanilla-extract/vite-plugin": "catalog:", "@vitejs/plugin-react": "catalog:", "@vitest/browser-playwright": "catalog:", + "@vitest/ui": "catalog:", "@wallet-standard/app": "catalog:", "@wallet-standard/base": "catalog:", "autoprefixer": "catalog:", diff --git a/packages/widget/src/domain/borrow/ids.ts b/packages/widget/src/domain/borrow/ids.ts index dfedf572..12c77c6f 100644 --- a/packages/widget/src/domain/borrow/ids.ts +++ b/packages/widget/src/domain/borrow/ids.ts @@ -51,7 +51,7 @@ const AddressedTokenId = Schema.TemplateLiteral([ Schema.Literal("address:"), Schema.NonEmptyString, Schema.Literal(":"), - TokenAddress, + CanonicalTokenAddress, ]); const NativeTokenId = Schema.TemplateLiteral([ Schema.Literal("native:"), diff --git a/packages/widget/src/domain/decoding/response-schema.ts b/packages/widget/src/domain/decoding/response-schema.ts index 5591744b..c9c35cdc 100644 --- a/packages/widget/src/domain/decoding/response-schema.ts +++ b/packages/widget/src/domain/decoding/response-schema.ts @@ -36,7 +36,7 @@ export const TolerantTopLevelArray = < ) => Schema.Array(Schema.Unknown).pipe( Schema.decodeTo(Schema.Array(Schema.toType(item)), { - decode: SchemaGetter.transformOrFail((inputs) => + decode: SchemaGetter.transformEffect((inputs) => Effect.forEach(inputs, (input, index) => { const result = Schema.decodeUnknownResult(item)(input); @@ -74,7 +74,7 @@ export const TolerantTopLevelRecord = < return Schema.Record(Schema.String, Schema.Unknown).pipe( Schema.decodeTo(target, { - decode: SchemaGetter.transformOrFail((input) => + decode: SchemaGetter.transformEffect((input) => Effect.forEach(Object.entries(input), ([rawKey, rawValue]) => { const decodedKey = Schema.decodeResult(key)(rawKey); const decodedValue = Schema.decodeUnknownResult(value)(rawValue); diff --git a/packages/widget/src/domain/earn/models.ts b/packages/widget/src/domain/earn/models.ts index 0ad088fa..9d8a4bcb 100644 --- a/packages/widget/src/domain/earn/models.ts +++ b/packages/widget/src/domain/earn/models.ts @@ -180,7 +180,7 @@ const TronResourceArgument = decodeApiArgument( "tronResource", "enum", TronResourceArgumentDomain, - SchemaGetter.transformOrFail< + SchemaGetter.transformEffect< typeof TronResourceArgumentDomain.Encoded, ApiArgumentField >((field, options) => diff --git a/packages/widget/src/domain/finance/scalars.ts b/packages/widget/src/domain/finance/scalars.ts index 615a473b..7dcfc7aa 100644 --- a/packages/widget/src/domain/finance/scalars.ts +++ b/packages/widget/src/domain/finance/scalars.ts @@ -92,7 +92,7 @@ export const TolerantOptionalUtcDateTimeFromString = ( ) => Schema.Unknown.pipe( Schema.decodeTo(Schema.UndefinedOr(Schema.DateTimeUtc), { - decode: SchemaGetter.transformOrFail((input) => { + decode: SchemaGetter.transformEffect((input) => { if (input === undefined) { // Effect.void widens the success type to void, which is incompatible // with the schema's precise DateTime.Utc | undefined output. @@ -112,7 +112,7 @@ export const TolerantNullableUtcDateTimeFromString = ( ) => Schema.Unknown.pipe( Schema.decodeTo(Schema.NullOr(Schema.DateTimeUtc), { - decode: SchemaGetter.transformOrFail((input) => + decode: SchemaGetter.transformEffect((input) => input === null ? Effect.succeed(null) : decodeOptionalUtcDateTime(input, options).pipe( diff --git a/packages/widget/tests/borrow/domain/risk-position.test.ts b/packages/widget/tests/borrow/domain/risk-position.test.ts index 8e7e63db..c0372202 100644 --- a/packages/widget/tests/borrow/domain/risk-position.test.ts +++ b/packages/widget/tests/borrow/domain/risk-position.test.ts @@ -124,6 +124,8 @@ describe("BorrowPositions", () => { }) ); expect(() => Schema.decodeUnknownSync(TokenId)("ETH::native")).toThrow(); + expect(() => Schema.decodeSync(TokenId)("address:ETH:")).toThrow(); + expect(() => Schema.decodeSync(TokenId)("native:")).toThrow(); }); it("decodes underwater current LTV without hiding the account snapshot", () => { diff --git a/packages/widget/tests/components/position-source-details.browser.test.tsx b/packages/widget/tests/components/position-source-details.browser.test.tsx index 587f0abc..5acac755 100644 --- a/packages/widget/tests/components/position-source-details.browser.test.tsx +++ b/packages/widget/tests/components/position-source-details.browser.test.tsx @@ -103,7 +103,9 @@ describe("Position source yield details", () => { await userEvent.click(app.getByTestId("position-source-details-trigger")); await expect.element(app.getByText("Fees")).toBeInTheDocument(); - await expect.element(app.getByText("2%")).toBeInTheDocument(); + await expect + .element(app.getByText("2%", { exact: false })) + .toBeInTheDocument(); await expect .element(app.getByText("Price per share")) .not.toBeInTheDocument(); diff --git a/packages/widget/tests/fixtures/index.ts b/packages/widget/tests/fixtures/index.ts index ab32d86c..01046dc3 100644 --- a/packages/widget/tests/fixtures/index.ts +++ b/packages/widget/tests/fixtures/index.ts @@ -1,5 +1,5 @@ -import { faker } from "@faker-js/faker"; -import { DateTime, Schema } from "effect"; +import { DateTime, Effect, Random, Schema } from "effect"; +import { Arbitrary } from "effect/unstable/arbitrary"; import { ActionTransaction, YieldAction } from "../../src/domain/action/models"; import type { EarnBalance, @@ -20,7 +20,22 @@ import type { YieldDto as YieldApiYieldDto } from "../generated/yield-api-types" type ValidatorDto = typeof EarnValidator.Encoded; type YieldApiProviderDto = typeof EarnProvider.Encoded; -const apyFaker = () => faker.number.float({ min: 0, max: 0.05 }); +// ast-grep-ignore: no-run-effect-in-test -- synchronous fixture helper for random APY values +const apyFaker = () => Effect.runSync(Random.nextBetween(0, 0.05)); + +const ethereumAddressArbitrary = Arbitrary.schema( + Schema.String.check(Schema.isPattern(/^0x[a-f0-9]{40}$/)) +); +const ethereumAddressFaker = () => + // ast-grep-ignore: no-run-effect-in-test -- synchronous fixture helper for generated addresses + Effect.runSync( + Arbitrary.sampleEffect(ethereumAddressArbitrary, { count: 1 }) + )[0]!; + +const uuidArbitrary = Arbitrary.schema(Schema.String.check(Schema.isUUID(4))); +const uuidFaker = () => + // ast-grep-ignore: no-run-effect-in-test -- synchronous fixture helper for generated UUIDs + Effect.runSync(Arbitrary.sampleEffect(uuidArbitrary, { count: 1 }))[0]!; type ExactDecimalFixtureInput = Parameters[0]; type YieldRewardComponent = YieldRewardRate["components"][number]; @@ -193,7 +208,7 @@ export const yieldApiValidatorFixture = ( const { rewardRate, ...rest } = overrides ?? {}; return { - address: faker.finance.ethereumAddress(), + address: ethereumAddressFaker(), commission: 0, logoURI: "https://assets.stakek.it/validators/default.png", name: "StakeKit Validator", @@ -210,7 +225,7 @@ export const yieldBalanceFixture = ( const token = overrides?.token ?? yieldApiYieldFixture().token; return { - address: faker.finance.ethereumAddress(), + address: ethereumAddressFaker(), type: "active", amount: "1", amountRaw: "1000000000000000000", @@ -298,7 +313,7 @@ export const yieldApiValidatorsFixture = ( export const yieldApiTransactionDtoFixture = ( overrides?: Partial ): typeof ActionTransaction.Encoded => ({ - id: faker.string.uuid(), + id: uuidFaker(), title: "Stake", network: "ethereum", status: "CREATED", @@ -340,11 +355,11 @@ export const yieldApiActionDtoFixture = ( const intent = overrides?.intent ?? getYieldActionIntent(type); return { - id: faker.string.uuid(), + id: uuidFaker(), intent, type, yieldId: "ethereum-eth-native-staking", - address: faker.finance.ethereumAddress(), + address: ethereumAddressFaker(), amount: null, amountRaw: null, amountUsd: null, diff --git a/packages/widget/tests/pages-dashboard/borrow-position-details.browser.test.tsx b/packages/widget/tests/pages-dashboard/borrow-position-details.browser.test.tsx index 5c3e1181..3a640c74 100644 --- a/packages/widget/tests/pages-dashboard/borrow-position-details.browser.test.tsx +++ b/packages/widget/tests/pages-dashboard/borrow-position-details.browser.test.tsx @@ -335,7 +335,9 @@ describe("Borrow position details", () => { await expect.element(app.getByText("Total supplied")).toBeInTheDocument(); await expect.element(app.getByText("Net worth")).toBeInTheDocument(); await expect.element(app.getByText("WETH/USDC")).toBeInTheDocument(); - await expect.element(app.getByText("Aave V3")).toBeInTheDocument(); + await expect + .element(app.getByText("Aave V3", { exact: false })) + .toBeInTheDocument(); await userEvent.click(app.getByText("WETH/USDC")); diff --git a/packages/widget/tests/pages-dashboard/provider-selection-card.browser.test.tsx b/packages/widget/tests/pages-dashboard/provider-selection-card.browser.test.tsx index ad50fd61..4235d7a9 100644 --- a/packages/widget/tests/pages-dashboard/provider-selection-card.browser.test.tsx +++ b/packages/widget/tests/pages-dashboard/provider-selection-card.browser.test.tsx @@ -175,7 +175,9 @@ describe("ProviderSelectionCard", () => { const app = await renderProviderSelectionCard(); - await expect.element(app.getByText("Inactive")).toBeInTheDocument(); + await expect + .element(app.getByText("Inactive", { exact: false })) + .toBeInTheDocument(); }); it("keeps the selector available from the multi-validator dashboard card", async () => { diff --git a/packages/widget/tests/resources/activity-history.test.ts b/packages/widget/tests/resources/activity-history.test.ts index 6b59962a..632b9581 100644 --- a/packages/widget/tests/resources/activity-history.test.ts +++ b/packages/widget/tests/resources/activity-history.test.ts @@ -107,19 +107,21 @@ describe("Activity History resource", () => { }); it("shares normalized requests and loads one semantic batch per Pull", async () => { - const listActivity = vi.fn((request: { readonly offset: number }) => + const mockActivityPage = (actionId: string, offset: number) => Effect.succeed({ - items: [ - yieldApiActionFixture({ - id: request.offset === 0 ? "action-a" : "action-b", - yieldId, - }), - ], + items: [yieldApiActionFixture({ id: actionId, yieldId })], limit: 1, - offset: request.offset, + offset, total: 2, - }) - ); + }); + + const listActivity = + vi.fn(); + vi.when(listActivity, { onUnmatched: "throw" }) + .calledWith(expect.objectContaining({ offset: 0 })) + .thenReturn(mockActivityPage("action-a", 0)) + .calledWith(expect.objectContaining({ offset: 1 })) + .thenReturn(mockActivityPage("action-b", 1)); const registry = makeRegistry(listActivity); const firstPull = activityHistoryPullAtom(makeKey()); const equivalentPull = activityHistoryPullAtom(makeKey()); diff --git a/packages/widget/tests/resources/earn-token-catalog.test.ts b/packages/widget/tests/resources/earn-token-catalog.test.ts index 3e7545d9..3094d038 100644 --- a/packages/widget/tests/resources/earn-token-catalog.test.ts +++ b/packages/widget/tests/resources/earn-token-catalog.test.ts @@ -64,19 +64,38 @@ describe("Earn Token Catalog", () => { }); it("omits failed dashboard categories when another category is usable", () => { - const getTokenOptions = vi.fn((request: EarnTokenCatalogRequest) => { - if (request.yieldTypes?.includes("staking")) { - return Effect.fail( + const ethereumYieldRequest = (yieldTypes: ReadonlyArray) => + expect.objectContaining({ + enter: true, + network: "ethereum", + yieldTypes, + }); + + const getTokenOptions = vi.fn[0]>(); + vi.when(getTokenOptions, { onUnmatched: "throw" }) + .calledWith( + ethereumYieldRequest(["staking", "restaking", "liquid_staking"]) + ) + .thenReturn( + Effect.fail( new ApiRequestError({ cause: new Error("offline"), operation: "legacy-token-options", }) - ); - } - return Effect.succeed( - request.yieldTypes?.includes("lending") ? [tokenOption] : [] - ); - }); + ) + ) + .calledWith( + ethereumYieldRequest([ + "lending", + "vault", + "fixed_yield", + "concentrated_liquidity_pool", + "liquidity_pool", + ]) + ) + .thenReturn(Effect.succeed([tokenOption])) + .calledWith(ethereumYieldRequest(["real_world_asset"])) + .thenReturn(Effect.succeed([])); const registry = makeRegistry(getTokenOptions); const result = registry.get( availableYieldCategoriesAtom( diff --git a/packages/widget/tests/use-cases/select-opportunity.browser.test.tsx b/packages/widget/tests/use-cases/select-opportunity.browser.test.tsx index 783c43ba..1e023e38 100644 --- a/packages/widget/tests/use-cases/select-opportunity.browser.test.tsx +++ b/packages/widget/tests/use-cases/select-opportunity.browser.test.tsx @@ -269,7 +269,7 @@ describe("Select opportunity", () => { await clickOpportunity("ethereum-eth-reth-staking"); await expect - .element(app.getByText("You'll receive").first()) + .element(app.getByText("You'll receive", { exact: false }).first()) .toBeInTheDocument(); await expect.element(app.getByText("rETH").first()).toBeInTheDocument(); await expect @@ -295,7 +295,7 @@ describe("Select opportunity", () => { await clickOpportunity("ethereum-eth-lido-staking"); await expect - .element(app.getByText("You'll receive").first()) + .element(app.getByText("You'll receive", { exact: false }).first()) .toBeInTheDocument(); await expect.element(app.getByText("stETH").first()).toBeInTheDocument(); await expect.element(app.getByText("Rated by Credora")).toBeInTheDocument(); diff --git a/packages/widget/tests/use-cases/staking-flow/staking-flow.browser.test.tsx b/packages/widget/tests/use-cases/staking-flow/staking-flow.browser.test.tsx index 84e042b6..499953d0 100644 --- a/packages/widget/tests/use-cases/staking-flow/staking-flow.browser.test.tsx +++ b/packages/widget/tests/use-cases/staking-flow/staking-flow.browser.test.tsx @@ -78,7 +78,7 @@ describe("Staking flow", () => { const rewardTokenDetails = getYieldSummaryRewardToken(yieldOp)!; await expect - .element(app.getByText(`You'll receive`).first()) + .element(app.getByText("You'll receive", { exact: false }).first()) .toBeInTheDocument(); await expect .element( @@ -116,7 +116,9 @@ describe("Staking flow", () => { await expect .element(app.getByText(yieldOp.token.symbol).first()) .toBeInTheDocument(); - await expect.element(app.getByText("& earn").first()).toBeInTheDocument(); + await expect + .element(app.getByText("& earn", { exact: false }).first()) + .toBeInTheDocument(); await expect.element(app.getByText("5.08%").first()).toBeInTheDocument(); await expect diff --git a/packages/widget/tests/utils/effect-test.ts b/packages/widget/tests/utils/effect-test.ts index 8c4faad7..484b7d18 100644 --- a/packages/widget/tests/utils/effect-test.ts +++ b/packages/widget/tests/utils/effect-test.ts @@ -27,61 +27,42 @@ type FixtureMethods = TestAPI> & { readonly live: FixtureEffectTester; }; -const fixtureContext = - (self: (context: FixtureTestContext) => unknown) => - ({ - worker, - task, - signal, - onTestFailed, - onTestFinished, - skip, - annotate, - expect, - _local, - }: FixtureTestContext) => - self({ - worker, - task, - signal, - onTestFailed, - onTestFinished, - skip, - annotate, - expect, - _local, - }); +const fixtureContext = ( + self: (context: FixtureTestContext) => unknown +) => + function ({ + worker: _worker, + task: _task, + signal: _signal, + onTestFailed: _onTestFailed, + onTestFinished: _onTestFinished, + skip: _skip, + annotate: _annotate, + expect: _expect, + bench: _bench, + }: FixtureTestContext) { + // biome-ignore lint/complexity/noArguments: Vitest fixture parsing requires explicit destructuring and rejects rest parameters. + return self(arguments[0] as FixtureTestContext); + }; -const fixtureContextLast = - (self: CallableFunction) => - ( +const fixtureContextLast = (self: CallableFunction) => + function ( testCase: unknown, { - worker, - task, - signal, - onTestFailed, - onTestFinished, - skip, - annotate, - expect, - _local, + worker: _worker, + task: _task, + signal: _signal, + onTestFailed: _onTestFailed, + onTestFinished: _onTestFinished, + skip: _skip, + annotate: _annotate, + expect: _expect, + bench: _bench, }: FixtureTestContext - ) => - Reflect.apply(self, undefined, [ - testCase, - { - worker, - task, - signal, - onTestFailed, - onTestFinished, - skip, - annotate, - expect, - _local, - }, - ]); + ) { + // biome-ignore lint/complexity/noArguments: Vitest fixture parsing requires explicit destructuring and rejects rest parameters. + return Reflect.apply(self, undefined, [testCase, arguments[1]]); + }; const collectorModifiers = new Set(["only", "skip"]); const collectorFactories = new Set(["runIf", "skipIf"]); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8c564c1b..58676f9b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -239,26 +239,23 @@ catalogs: specifier: jsr:2.6.0 version: 2.6.0 '@effect/atom-react': - specifier: 4.0.0-rc.112 - version: 4.0.0-rc.112 + specifier: 4.0.0-rc.115 + version: 4.0.0-rc.115 '@effect/openapi-generator': - specifier: 4.0.0-rc.112 - version: 4.0.0-rc.112 + specifier: 4.0.0-rc.115 + version: 4.0.0-rc.115 '@effect/platform-browser': - specifier: 4.0.0-rc.112 - version: 4.0.0-rc.112 + specifier: 4.0.0-rc.115 + version: 4.0.0-rc.115 '@effect/platform-node': - specifier: 4.0.0-rc.112 - version: 4.0.0-rc.112 + specifier: 4.0.0-rc.115 + version: 4.0.0-rc.115 '@effect/tsgo': specifier: 0.39.0 version: 0.39.0 '@effect/vitest': - specifier: 4.0.0-rc.112 - version: 4.0.0-rc.112 - '@faker-js/faker': - specifier: ^10.6.0 - version: 10.6.0 + specifier: 4.0.0-rc.115 + version: 4.0.0-rc.115 '@ledgerhq/wallet-api-client': specifier: ^1.15.3 version: 1.15.3 @@ -380,8 +377,11 @@ catalogs: specifier: ^6.1.0 version: 6.1.0 '@vitest/browser-playwright': - specifier: ^4.1.11 - version: 4.1.11 + specifier: 5.0.0 + version: 5.0.0 + '@vitest/ui': + specifier: 5.0.0 + version: 5.0.0 '@wallet-standard/app': specifier: ^1.1.1 version: 1.1.1 @@ -410,8 +410,8 @@ catalogs: specifier: ^18.1.0 version: 18.2.0 effect: - specifier: 4.0.0-rc.112 - version: 4.0.0-rc.112 + specifier: 4.0.0-rc.115 + version: 4.0.0-rc.115 husky: specifier: ^9.1.7 version: 9.1.7 @@ -500,11 +500,11 @@ catalogs: specifier: ^0.28.0 version: 0.28.0 vitest: - specifier: ^4.1.11 - version: 4.1.11 + specifier: 5.0.0 + version: 5.0.0 vitest-browser-react: - specifier: ^2.2.0 - version: 2.2.0 + specifier: ^2.3.0 + version: 2.3.0 wagmi: specifier: 3.7.5 version: 3.7.5 @@ -637,7 +637,7 @@ importers: version: 1.2.6 effect: specifier: 'catalog:' - version: 4.0.0-rc.112 + version: 4.0.0-rc.115 react-remove-scroll: specifier: 'catalog:' version: 2.7.2(@types/react@19.2.18)(react@19.2.8) @@ -668,22 +668,19 @@ importers: version: '@jsr/creit-tech__stellar-wallets-kit@2.6.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.81.1(@babel/core@7.29.7(supports-color@8.1.1))(@types/react@19.2.18)(bufferutil@4.0.9)(react@19.2.8)(supports-color@8.1.1)(utf-8-validate@5.0.10)))(@types/react@19.2.18)(bufferutil@4.0.9)(debug@4.4.3(supports-color@8.1.1))(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(immer@11.1.15)(ioredis@5.10.1(supports-color@8.1.1))(near-api-js@5.1.1(encoding@0.1.13))(react@19.2.8)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3)(use-sync-external-store@1.4.0(react@19.2.8))(utf-8-validate@5.0.10)(zod@3.25.76)' '@effect/atom-react': specifier: 'catalog:' - version: 4.0.0-rc.112(effect@4.0.0-rc.112)(react@19.2.8)(scheduler@0.27.0) + version: 4.0.0-rc.115(effect@4.0.0-rc.115)(react@19.2.8)(scheduler@0.27.0) '@effect/openapi-generator': specifier: 'catalog:' - version: 4.0.0-rc.112(@effect/platform-node@4.0.0-rc.112(bufferutil@4.0.9)(effect@4.0.0-rc.112)(redis@6.2.1)(utf-8-validate@5.0.10))(effect@4.0.0-rc.112)(encoding@0.1.13) + version: 4.0.0-rc.115(@effect/platform-node@4.0.0-rc.115(bufferutil@4.0.9)(effect@4.0.0-rc.115)(redis@6.2.1)(utf-8-validate@5.0.10))(effect@4.0.0-rc.115)(encoding@0.1.13) '@effect/platform-browser': specifier: 'catalog:' - version: 4.0.0-rc.112(effect@4.0.0-rc.112) + version: 4.0.0-rc.115(effect@4.0.0-rc.115) '@effect/platform-node': specifier: 'catalog:' - version: 4.0.0-rc.112(bufferutil@4.0.9)(effect@4.0.0-rc.112)(redis@6.2.1)(utf-8-validate@5.0.10) + version: 4.0.0-rc.115(bufferutil@4.0.9)(effect@4.0.0-rc.115)(redis@6.2.1)(utf-8-validate@5.0.10) '@effect/vitest': specifier: 'catalog:' - version: 4.0.0-rc.112(effect@4.0.0-rc.112)(vitest@4.1.11) - '@faker-js/faker': - specifier: 'catalog:' - version: 10.6.0 + version: 4.0.0-rc.115(effect@4.0.0-rc.115)(vitest@5.0.0) '@ledgerhq/wallet-api-client': specifier: 'catalog:' version: 1.15.3(@ton/crypto@3.3.0)(encoding@0.1.13) @@ -794,7 +791,10 @@ importers: version: 6.1.0(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7(supports-color@8.1.1))(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(oxc-transform-react@0.145.0)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) '@vitest/browser-playwright': specifier: 'catalog:' - version: 4.1.11(bufferutil@4.0.9)(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(playwright@1.62.1)(utf-8-validate@5.0.10)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))(vitest@4.1.11) + version: 5.0.0(bufferutil@4.0.9)(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(playwright@1.62.1)(utf-8-validate@5.0.10)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))(vitest@5.0.0) + '@vitest/ui': + specifier: 'catalog:' + version: 5.0.0(vitest@5.0.0) '@wallet-standard/app': specifier: 'catalog:' version: 1.1.1 @@ -890,10 +890,10 @@ importers: version: 0.28.0(rollup@4.53.3)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) vitest: specifier: 'catalog:' - version: 4.1.11(@types/node@26.2.0)(@vitest/browser-playwright@4.1.11)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) + version: 5.0.0(@types/node@26.2.0)(@vitest/browser-playwright@5.0.0)(@vitest/ui@5.0.0)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) vitest-browser-react: specifier: 'catalog:' - version: 2.2.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.11) + version: 2.3.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.0) wagmi: specifier: 'catalog:' version: 3.7.5(599d54e35e22cc79907e1e2327fb1205) @@ -1204,8 +1204,8 @@ packages: cpu: [x64] os: [win32] - '@blazediff/core@1.9.1': - resolution: {integrity: sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==} + '@blazediff/core@1.10.0': + resolution: {integrity: sha512-AOQff0zgR7cGsZL+4E7hVkmujoPUpm0J9xzWGWZj5wCjd3gmxESXAPfKyuzs93VdpQNFhHlBhfOjrcZ+XTERtQ==} '@bramus/specificity@2.4.2': resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} @@ -1610,36 +1610,36 @@ packages: resolution: {integrity: sha512-WXTuFvL3G+74SchFAtz3FgIYVOe196ycvGsMgvSH/8Goptb1qpIQtIuM4SOK9G9lhMWYpHxnXyy544ZhluFOew==} engines: {node: '>=6'} - '@effect/atom-react@4.0.0-rc.112': - resolution: {integrity: sha512-Ksf90KQa6D4UDnMj4M84arlVKNIuwxxF2GvgXBzuaYi2LsgririsUhKQ5SYaK1euf8oIYeamEuthoZSbUQmIhw==} + '@effect/atom-react@4.0.0-rc.115': + resolution: {integrity: sha512-CUPeP6JmiGyFa4t8YSBEydXAL3kCOzs/5st0kanjqj/rqnekydrThx/l2u2HNTkhqSrQi9HLokMd8QTEpWsdDQ==} peerDependencies: - effect: ^4.0.0-rc.112 + effect: ^4.0.0-rc.115 react: '>=19.0.0 <20.0.0' scheduler: '>=0.25.0 <0.28.0' - '@effect/openapi-generator@4.0.0-rc.112': - resolution: {integrity: sha512-ZgAkEP2/8qPZKgnI5AqmBgqhrZsdMDKZXJoKn29xgElZUWCvHhdE6eSUfFtkQBRE5kQcATXOZajHl+S/Pg+8Dw==} + '@effect/openapi-generator@4.0.0-rc.115': + resolution: {integrity: sha512-/AkcQ4GdoTTa7CwkybSnKc0U0FhOCA+TAV6E93Ozz4XshgKCC2F75Zik+3EOlTfbENmvAsYNEIVrPfqupoO+ng==} hasBin: true peerDependencies: - '@effect/platform-node': ^4.0.0-rc.112 - effect: ^4.0.0-rc.112 + '@effect/platform-node': ^4.0.0-rc.115 + effect: ^4.0.0-rc.115 - '@effect/platform-browser@4.0.0-rc.112': - resolution: {integrity: sha512-GSlqNDnjILz2EqOFPhVdMEHxlPq6SGb8+KOpNnLfRvVJjXRTMawEO+v1PCuwt2CHAqESbJAa2Nk+qcQvTrv4MQ==} + '@effect/platform-browser@4.0.0-rc.115': + resolution: {integrity: sha512-RwpnxRYSBHBL1HYYlRwIrwz0+1hwmn5RvgqkKI0Tb+ChOIR9UCMpXsAhnwQcGP+mBidrC7dlloL42poGHZW4yw==} peerDependencies: - effect: ^4.0.0-rc.112 + effect: ^4.0.0-rc.115 - '@effect/platform-node-shared@4.0.0-rc.112': - resolution: {integrity: sha512-ttjz0xKamFN7vL8pNDYVwddJLjZvqKePc05djlz2VcdaKbLsnYbtMnL1rbOfHgEnIUSHGh7FkjaN4DM1Ov81sQ==} + '@effect/platform-node-shared@4.0.0-rc.115': + resolution: {integrity: sha512-rcBwhDIfb82akJoTv7Vwh8K5x9vC/XfuePS7JjOr+z+dORXzsmKqI1BUQF27ARCN9fTAbDh7I6YvBlWhLjnqNg==} engines: {node: '>=18.0.0'} peerDependencies: - effect: ^4.0.0-rc.112 + effect: ^4.0.0-rc.115 - '@effect/platform-node@4.0.0-rc.112': - resolution: {integrity: sha512-/BMAcdNGQQskLmI0Zoa95KfTZkr9HV9N4NSxaSrusG6GeW6Ulp9KvZ+Rlaiw8lnOt43CXjFLdfll5/k5rxL4hQ==} + '@effect/platform-node@4.0.0-rc.115': + resolution: {integrity: sha512-mW03Wjq2FiTL5oi9yOkaKpCyUNBaduKgTk7qMHNELvC21Jq2qOAfdsfH+p+s2zmpB9w2RSa+ApODv4WjO9wQfw==} engines: {node: '>=18.0.0'} peerDependencies: - effect: ^4.0.0-rc.112 + effect: ^4.0.0-rc.115 redis: '>=5.0.0 <7.0.0' '@effect/tsgo-darwin-arm64@0.39.0': @@ -1681,11 +1681,11 @@ packages: resolution: {integrity: sha512-vP4gdaVnAQy6NaMDKFaPeaPU63HaoVsdbP7axEcHxwJJMwE2llocXEplIwsYM6EvBVMtwtiBCvl9K2aFVNlZPA==} hasBin: true - '@effect/vitest@4.0.0-rc.112': - resolution: {integrity: sha512-mEKh/FI64mt8JK1/v9mpOrJYdnp+UFZdRUBMEdZMiKz7klg6NPqVgg/oeAGH6wOOQc2iAPcfc2H9BbAv1KyzMQ==} + '@effect/vitest@4.0.0-rc.115': + resolution: {integrity: sha512-DJR0hfdr3HNXAkzW8AzfvUz6VmrNFLrKk9tZGDURi33faMyxkc7ZewxELMMZwGpOTGN4mfqYVbX2CXgI+ZJBeQ==} peerDependencies: - effect: ^4.0.0-rc.112 - vitest: '>=4.1.0 <5.0.0' + effect: ^4.0.0-rc.115 + vitest: '>=5.0.0 <6.0.0' '@emnapi/core@1.11.2': resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==} @@ -1927,10 +1927,6 @@ packages: '@exodus/schemasafe@1.3.0': resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} - '@faker-js/faker@10.6.0': - resolution: {integrity: sha512-3RQHgEtvL1Frl/d1cSreo7qhJ3Gk1OdNUai/CtZ8G+wYeRQnJih3s9xJ9/kgYekPQRdwgh0HXRPqMlzWGwivIQ==} - engines: {node: ^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0, npm: '>=10'} - '@fivebinaries/coin-selection@3.0.0': resolution: {integrity: sha512-h25Pn1ZA7oqQBQDodGAgIsQt66T2wDge9onBKNqE66WNWL0KJiKJbpij8YOLo5AAlEIg5IS7EB1QjBgDOIg6DQ==} @@ -2287,6 +2283,9 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} + '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -2568,36 +2567,6 @@ packages: resolution: {integrity: sha512-47XIizs9XZXvuJgoaJUIE2lFoID8ugvc0jzSHP+Ptfk8nTbnR8g788wv48N03Kx0UkAv559HWRQ3yzOgzlRNUA==} engines: {node: '>= 18'} - '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4': - resolution: {integrity: sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==} - cpu: [arm64] - os: [darwin] - - '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.4': - resolution: {integrity: sha512-zExlW9zUJKZH/tOtVMttwjKa4Xm/3KcNjnE3dPN92uCktwavMxpgCA3MoJK/DOnTWsQgo224OaST27/mPNAf+w==} - cpu: [x64] - os: [darwin] - - '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.4': - resolution: {integrity: sha512-dgX0P/9wGPJeHFBG+ZmhgE6bmtMt7NP5CRBGyyktpopdk/mW4POnrpQsSLtKI1dwpc+pPLuXHDh6vvskyQE/sw==} - cpu: [arm64] - os: [linux] - - '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.4': - resolution: {integrity: sha512-Tg3yX65f5GbtXLkrYEHE5oibZG9epyYWas7FogTTEJeDEF9JlXJzKgXaNhT3UXlTOeA+AfZpYZYZ0uPj7Cfquw==} - cpu: [arm] - os: [linux] - - '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.4': - resolution: {integrity: sha512-8TNXMEjJc3QEy7R/x1INhgiU+XakDAFUzBhaz7+Rbrs8NH5UQeHQxxmzsSBJGyV6I1jW79undiQm8tOI+D+8FQ==} - cpu: [x64] - os: [linux] - - '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4': - resolution: {integrity: sha512-CmCXPQrkbwExx3j946/PtHWHbYJiCRBRDl4BlkRQcJB/YOwQxJRTpoo7aTsortjgoJ1x7opzTSxn7C+ASSLVjQ==} - cpu: [x64] - os: [win32] - '@mswjs/interceptors@0.41.9': resolution: {integrity: sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==} engines: {node: '>=18'} @@ -6332,22 +6301,19 @@ packages: oxc-transform-react: optional: true - '@vitest/browser-playwright@4.1.11': - resolution: {integrity: sha512-riLBxPqwnJ0lWs2DN2WeUfYeKLoAjbP2Xx8cLQdSddzMi20sksIa6K2mPz79DyMZKKVKH2ksOC2yJvtNcZg8cg==} + '@vitest/browser-playwright@5.0.0': + resolution: {integrity: sha512-N+gED9y4/8pypaHjz/x0ah3CjoBr+N0hWWT+Gq4VXtMzyB+rUIdHni0ulzpD1j4H77iWy5Jg8PRMlVn6kjxo6g==} peerDependencies: playwright: '*' - vitest: 4.1.11 + vitest: 5.0.0 - '@vitest/browser@4.1.11': - resolution: {integrity: sha512-bwMovvAeuTFOK5kIFevw4VEf+1gVEICv4SYK4k3knJOxl6b1zEWud8mYKD73e1B0odAn174h1MofURy2TPWf3w==} + '@vitest/browser@5.0.0': + resolution: {integrity: sha512-JC9FG5xIRxPHXJPcdCaluIJcEoeM0IwGQ3xneuJk09LXKHRNs40BqWDWymQikbb20yOpYvzpKzmYgPRuSzKmvg==} peerDependencies: - vitest: 4.1.11 - - '@vitest/expect@4.1.11': - resolution: {integrity: sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==} + vitest: 5.0.0 - '@vitest/mocker@4.1.11': - resolution: {integrity: sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==} + '@vitest/mocker@5.0.0': + resolution: {integrity: sha512-66PGTMIiVJP3t4a5yxU9qPtf7MdTBs8jmToMvy+HVflB3Yy13WJZTtPePdvU+wjRV02SKK5doLbSA6o9pwOmiA==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -6357,20 +6323,19 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.11': - resolution: {integrity: sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==} + '@vitest/pretty-format@5.0.0': + resolution: {integrity: sha512-PVRNuB3wpReb4SQEs4zTKM4KWFhQ5pw3spE8naoDJNB5T5aWRzGKHwXcLUllr0WeOTXpB6bSr3CJLo5+7XQSSQ==} - '@vitest/runner@4.1.11': - resolution: {integrity: sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==} + '@vitest/spy@5.0.0': + resolution: {integrity: sha512-uy+luWBAPw9XfthoHi5AkfHUnuPYEESjl0p/r+meoBnU8bxg5GDQ3Ey8MjcJ6sqahkL4PFyrvfMJJBw7LbU06g==} - '@vitest/snapshot@4.1.11': - resolution: {integrity: sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==} - - '@vitest/spy@4.1.11': - resolution: {integrity: sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==} + '@vitest/ui@5.0.0': + resolution: {integrity: sha512-h2FIFwggCY2GxUd2UdQoYNVQkOIqEQLPhNREcl3FUiRsdzQep7NWwYbSmhGEA9nFLPDq5pXzRMcBZQU8Py83sg==} + peerDependencies: + vitest: 5.0.0 - '@vitest/utils@4.1.11': - resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==} + '@vitest/utils@5.0.0': + resolution: {integrity: sha512-dO++xL3vDfvhTAVimfkuQUA3k+JClIF1i1vAkPqpcGAthRmeWnXmHB7YPViPvgCwviX8u7Y5W1u2N//AaQr3fw==} '@wagmi/connectors@8.0.26': resolution: {integrity: sha512-W/mDMvQ6Q1zIehY/ZjGRBjI/GgmXEfcF6z45b6uiSSvjGgtg4dT9eLw/NGi4x47eMKCrIuIqFYFLVDpQawx8GA==} @@ -7896,8 +7861,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - effect@4.0.0-rc.112: - resolution: {integrity: sha512-wXxwuh1Ywnv4cPRM3Wfa0vDwuOHnZ1TsTgHJkG9XgzND6inhBH9n1vBxhg3iIXOia/OrpmvVmd3lrD4vq6bF3A==} + effect@4.0.0-rc.115: + resolution: {integrity: sha512-ogYulZ5ffeOzrJqQrG0XOkDO5lKn2s9KNHhoxJy/6wKUkF0i12dlVXWA9TgsgQ+zV/JzizyG0+XMPepZEQX6vw==} electron-to-chromium@1.5.396: resolution: {integrity: sha512-yHiw2Y3C3H9U6TMbOfoWK/BPreiOPXRfTWPBwQBoZG6/8TB6eOPnsy5oaRYuatR7Fw2SJ4kKforgufeo7fq0EQ==} @@ -7968,9 +7933,6 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-module-lexer@2.3.0: - resolution: {integrity: sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==} - es-module-lexer@2.3.2: resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==} @@ -8113,10 +8075,6 @@ packages: resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} engines: {node: '> 0.1.90'} - fast-check@4.9.0: - resolution: {integrity: sha512-7ms6T7SybUev/PQITciI0yLM2pOSFy5zpG8Ty7tQofcVaQUvrMXp6CBwqF6fThLCLOrfBtuHAtwq6Yu4XPCllg==} - engines: {node: '>=12.17.0'} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -8172,6 +8130,9 @@ packages: feaxios@0.0.23: resolution: {integrity: sha512-eghR0A21fvbkcQBgZuMfQhrXxJzC0GNUGC9fXhBge33D+mFDTwl0aJ35zoQQn575BhyjQitRc5N4f+L4cP708g==} + fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} + file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -8195,6 +8156,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} + flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} @@ -9146,6 +9110,9 @@ packages: magic-string@1.2.0: resolution: {integrity: sha512-ptco+HFxTLgjafSLim2LojBSwfg5feBjd+SqyiwdGkzC38UPdZy3zgrHMI2CoTf5fJL38tbHMYWVzIH8BxGqJw==} + magic-string@1.3.1: + resolution: {integrity: sha512-rm91zr2Ou+XueDTohjQQjdQEcYM6zVi8KVUCG8Ec3vHwUEKrhSdCNyfuIywkA6hcCAteIn0ZOtAHA6eGpiX+Pg==} + main-event@1.0.4: resolution: {integrity: sha512-sKazUjIy2Jalv5lkQ446iOcrx8Q7TkaCuk6xfnzg5uUqMusMLDMPmRDmSNE2kjSVpSTJo4j1bQZusS+Ib7Bvrg==} @@ -9280,11 +9247,6 @@ packages: engines: {node: '>=4'} hasBin: true - mime@4.1.0: - resolution: {integrity: sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==} - engines: {node: '>=16'} - hasBin: true - mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -9370,13 +9332,6 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msgpackr-extract@3.0.4: - resolution: {integrity: sha512-4kmO/MdyUIkLIvTPr8VHLil4AtoKIoniWPIEk5+CDy0xnWC84azhSFmuJ7PxZdsYtiP5kEeQsORAVIeMgxT+Hw==} - hasBin: true - - msgpackr@2.0.5: - resolution: {integrity: sha512-cef05H/dSYpLpqp3sj/qyZh5vhUYCalnaLO7j1yOmpsR0y/XwLVtK7r5gn+U/F7CTEfMowcGhlUQJDLcLf7jcA==} - msw@2.15.0: resolution: {integrity: sha512-2wQAmKkQKxRuXvYJxVhPGG0wZNBQyD06oJvxqw90XqLvptdqxdlHrFUfEteKkpaNORX3Xzc+HtEl/q0nfmN2wQ==} engines: {node: '>=18'} @@ -9504,10 +9459,6 @@ packages: encoding: optional: true - node-gyp-build-optional-packages@5.2.2: - resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==} - hasBin: true - node-gyp-build@4.8.4: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true @@ -9588,10 +9539,6 @@ packages: resolution: {integrity: sha512-szyd0ou0T8nsAqHtprRcP3WidfsN1TnAR5yWXf2mFCEr5ek3LEOkT6EZ/92Xfs74HIdyhG5WkGxIssMU0jBaeg==} engines: {node: '>=16'} - obug@2.1.3: - resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==} - engines: {node: '>=12.20.0'} - obug@2.1.4: resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} engines: {node: '>=12.20.0'} @@ -9803,6 +9750,10 @@ packages: resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} engines: {node: '>=12'} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -9972,9 +9923,6 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - pure-rand@8.4.2: - resolution: {integrity: sha512-vvuOGgcuPJAirlHvuQw1TrOiw7ptaIXXmIbNuiNOY6lNGJJH49PQ1Kj4nd783nPdQhQdicgOjVI2yI/9BD6/Ng==} - pushdata-bitcoin@1.0.1: resolution: {integrity: sha512-hw7rcYTJRAl4olM8Owe8x0fBuJJ+WGbMhQuLWOXEMN3PxPCKQHRkhfL+XG0+iXUmSHjkMmb3Ba55Mt21cZc9kQ==} @@ -10830,8 +10778,9 @@ packages: resolution: {integrity: sha512-eb+F6NabSnjbLwNoC+2o5ItbmP1kg7HliWue71JgLegQt6A5mTN8YbvTLCazdlg6e5SV6A+r8OGvZYskdlmhqQ==} engines: {node: '>=6.0.0'} - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinybench@6.1.4: + resolution: {integrity: sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ==} + engines: {node: '>=20.0.0'} tinyexec@1.3.0: resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} @@ -11050,8 +10999,8 @@ packages: undici-types@8.8.0: resolution: {integrity: sha512-nNSnIK0VcEoNWrYwxCz9DFT1W7ASyBRWX7Hju/p9RAfVDcHoH07hkMg/na9U/2S04fhkPc4pDUK5NblZoaCvwg==} - undici@8.10.0: - resolution: {integrity: sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ==} + undici@8.10.2: + resolution: {integrity: sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ==} engines: {node: '>=22.19.0'} undici@8.9.0: @@ -11403,37 +11352,37 @@ packages: yaml: optional: true - vitest-browser-react@2.2.0: - resolution: {integrity: sha512-oY3KM6305kwJMa6nHo92vVtkOsih7mjEf12dLKuphaF+9ywWPEc+qanIBd394SZ6m5LadVEaG6dicvvizOzmjA==} + vitest-browser-react@2.3.0: + resolution: {integrity: sha512-S5vdGHHA93j2Z6dbmIJI1wtxT3AXPTRlmC1Meo+ekG011yNnEutMAnHrwyj8qFlGhgBYA8ENGK6+o1Q+vnFz6A==} peerDependencies: '@types/react': ^18.0.0 || ^19.0.0 '@types/react-dom': ^18.0.0 || ^19.0.0 react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - vitest: ^4.0.0 + vitest: ^4.0.0 || ^5.0.0 peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - vitest@4.1.11: - resolution: {integrity: sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + vitest@5.0.0: + resolution: {integrity: sha512-gpsMNoRhMjMktVxPtstOH4/PJuPyovVaMDr4oDilXaGH1EcqM2OE96SoHT2VIQ6fTGtTjqmHDrEu2X9RQiXf8Q==} + engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.11 - '@vitest/browser-preview': 4.1.11 - '@vitest/browser-webdriverio': 4.1.11 - '@vitest/coverage-istanbul': 4.1.11 - '@vitest/coverage-v8': 4.1.11 - '@vitest/ui': 4.1.11 + '@types/node': ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 5.0.0 + '@vitest/browser-preview': 5.0.0 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + '@vitest/coverage-istanbul': 5.0.0 + '@vitest/coverage-v8': 5.0.0 + '@vitest/ui': 5.0.0 happy-dom: '*' jsdom: '*' - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -11740,10 +11689,6 @@ packages: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - yargs@17.7.3: resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} engines: {node: '>=12'} @@ -12125,7 +12070,7 @@ snapshots: '@biomejs/cli-win32-x64@2.5.10': optional: true - '@blazediff/core@1.9.1': {} + '@blazediff/core@1.10.0': {} '@bramus/specificity@2.4.2': dependencies: @@ -13100,40 +13045,39 @@ snapshots: '@leichtgewicht/ip-codec': 2.0.5 utf8-codec: 1.0.0 - '@effect/atom-react@4.0.0-rc.112(effect@4.0.0-rc.112)(react@19.2.8)(scheduler@0.27.0)': + '@effect/atom-react@4.0.0-rc.115(effect@4.0.0-rc.115)(react@19.2.8)(scheduler@0.27.0)': dependencies: - effect: 4.0.0-rc.112 + effect: 4.0.0-rc.115 react: 19.2.8 scheduler: 0.27.0 - '@effect/openapi-generator@4.0.0-rc.112(@effect/platform-node@4.0.0-rc.112(bufferutil@4.0.9)(effect@4.0.0-rc.112)(redis@6.2.1)(utf-8-validate@5.0.10))(effect@4.0.0-rc.112)(encoding@0.1.13)': + '@effect/openapi-generator@4.0.0-rc.115(@effect/platform-node@4.0.0-rc.115(bufferutil@4.0.9)(effect@4.0.0-rc.115)(redis@6.2.1)(utf-8-validate@5.0.10))(effect@4.0.0-rc.115)(encoding@0.1.13)': dependencies: - '@effect/platform-node': 4.0.0-rc.112(bufferutil@4.0.9)(effect@4.0.0-rc.112)(redis@6.2.1)(utf-8-validate@5.0.10) - effect: 4.0.0-rc.112 + '@effect/platform-node': 4.0.0-rc.115(bufferutil@4.0.9)(effect@4.0.0-rc.115)(redis@6.2.1)(utf-8-validate@5.0.10) + effect: 4.0.0-rc.115 swagger2openapi: 7.0.8(encoding@0.1.13) transitivePeerDependencies: - encoding - '@effect/platform-browser@4.0.0-rc.112(effect@4.0.0-rc.112)': + '@effect/platform-browser@4.0.0-rc.115(effect@4.0.0-rc.115)': dependencies: - effect: 4.0.0-rc.112 + effect: 4.0.0-rc.115 - '@effect/platform-node-shared@4.0.0-rc.112(bufferutil@4.0.9)(effect@4.0.0-rc.112)(utf-8-validate@5.0.10)': + '@effect/platform-node-shared@4.0.0-rc.115(bufferutil@4.0.9)(effect@4.0.0-rc.115)(utf-8-validate@5.0.10)': dependencies: '@types/ws': 8.18.1 - effect: 4.0.0-rc.112 + effect: 4.0.0-rc.115 ws: 8.21.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - '@effect/platform-node@4.0.0-rc.112(bufferutil@4.0.9)(effect@4.0.0-rc.112)(redis@6.2.1)(utf-8-validate@5.0.10)': + '@effect/platform-node@4.0.0-rc.115(bufferutil@4.0.9)(effect@4.0.0-rc.115)(redis@6.2.1)(utf-8-validate@5.0.10)': dependencies: - '@effect/platform-node-shared': 4.0.0-rc.112(bufferutil@4.0.9)(effect@4.0.0-rc.112)(utf-8-validate@5.0.10) - effect: 4.0.0-rc.112 - mime: 4.1.0 + '@effect/platform-node-shared': 4.0.0-rc.115(bufferutil@4.0.9)(effect@4.0.0-rc.115)(utf-8-validate@5.0.10) + effect: 4.0.0-rc.115 redis: 6.2.1 - undici: 8.10.0 + undici: 8.10.2 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -13169,10 +13113,10 @@ snapshots: '@effect/tsgo-win32-arm64': 0.39.0 '@effect/tsgo-win32-x64': 0.39.0 - '@effect/vitest@4.0.0-rc.112(effect@4.0.0-rc.112)(vitest@4.1.11)': + '@effect/vitest@4.0.0-rc.115(effect@4.0.0-rc.115)(vitest@5.0.0)': dependencies: - effect: 4.0.0-rc.112 - vitest: 4.1.11(@types/node@26.2.0)(@vitest/browser-playwright@4.1.11)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) + effect: 4.0.0-rc.115 + vitest: 5.0.0(@types/node@26.2.0)(@vitest/browser-playwright@5.0.0)(@vitest/ui@5.0.0)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) '@emnapi/core@1.11.2': dependencies: @@ -13347,8 +13291,6 @@ snapshots: '@exodus/schemasafe@1.3.0': {} - '@faker-js/faker@10.6.0': {} - '@fivebinaries/coin-selection@3.0.0': dependencies: '@emurgo/cardano-serialization-lib-browser': 13.2.1 @@ -13691,7 +13633,7 @@ snapshots: '@jridgewell/gen-mapping@0.3.13': dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/remapping@2.3.5': @@ -13708,10 +13650,12 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/sourcemap-codec@1.6.0': {} + '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 '@jsr/creit-tech__stellar-wallets-kit@2.6.0(@react-native-async-storage/async-storage@1.24.0(react-native@0.81.1(@babel/core@7.29.7(supports-color@8.1.1))(@types/react@19.2.18)(bufferutil@4.0.9)(react@19.2.8)(supports-color@8.1.1)(utf-8-validate@5.0.10)))(@types/react@19.2.18)(bufferutil@4.0.9)(debug@4.4.3(supports-color@8.1.1))(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(immer@11.1.15)(ioredis@5.10.1(supports-color@8.1.1))(near-api-js@5.1.1(encoding@0.1.13))(react@19.2.8)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3)(use-sync-external-store@1.4.0(react@19.2.8))(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: @@ -14329,24 +14273,6 @@ snapshots: '@msgpack/msgpack@3.1.3': {} - '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4': - optional: true - - '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.4': - optional: true - - '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.4': - optional: true - - '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.4': - optional: true - - '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.4': - optional: true - - '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4': - optional: true - '@mswjs/interceptors@0.41.9': dependencies: '@open-draft/deferred-promise': 2.2.0 @@ -14824,7 +14750,7 @@ snapshots: detect-libc: 2.1.2 is-glob: 4.0.3 node-addon-api: 7.1.1 - picomatch: 4.0.5 + picomatch: 4.0.7 optionalDependencies: '@parcel/watcher-android-arm64': 2.5.6 '@parcel/watcher-darwin-arm64': 2.5.6 @@ -16605,7 +16531,7 @@ snapshots: '@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7(supports-color@8.1.1))(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - picomatch: 4.0.5 + picomatch: 4.0.7 rolldown: 1.2.5 optionalDependencies: '@babel/runtime': 7.29.7 @@ -16615,7 +16541,7 @@ snapshots: '@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7(supports-color@8.1.1))(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - picomatch: 4.0.5 + picomatch: 4.0.7 rolldown: 1.2.5 optionalDependencies: '@babel/runtime': 7.29.7 @@ -19731,29 +19657,30 @@ snapshots: babel-plugin-react-compiler: 1.0.0 oxc-transform-react: 0.145.0 - '@vitest/browser-playwright@4.1.11(bufferutil@4.0.9)(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(playwright@1.62.1)(utf-8-validate@5.0.10)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))(vitest@4.1.11)': + '@vitest/browser-playwright@5.0.0(bufferutil@4.0.9)(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(playwright@1.62.1)(utf-8-validate@5.0.10)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))(vitest@5.0.0)': dependencies: - '@vitest/browser': 4.1.11(bufferutil@4.0.9)(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(utf-8-validate@5.0.10)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))(vitest@4.1.11) - '@vitest/mocker': 4.1.11(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) + '@vitest/browser': 5.0.0(bufferutil@4.0.9)(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(utf-8-validate@5.0.10)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))(vitest@5.0.0) + '@vitest/mocker': 5.0.0(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) playwright: 1.62.1 tinyrainbow: 3.1.1 - vitest: 4.1.11(@types/node@26.2.0)(@vitest/browser-playwright@4.1.11)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) + vitest: 5.0.0(@types/node@26.2.0)(@vitest/browser-playwright@5.0.0)(@vitest/ui@5.0.0)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@4.1.11(bufferutil@4.0.9)(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(utf-8-validate@5.0.10)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))(vitest@4.1.11)': + '@vitest/browser@5.0.0(bufferutil@4.0.9)(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(utf-8-validate@5.0.10)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))(vitest@5.0.0)': dependencies: - '@blazediff/core': 1.9.1 - '@vitest/mocker': 4.1.11(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) - '@vitest/utils': 4.1.11 - magic-string: 0.30.21 + '@blazediff/core': 1.10.0 + '@vitest/mocker': 5.0.0(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) + '@vitest/ui': 5.0.0(vitest@5.0.0) + '@vitest/utils': 5.0.0 + magic-string: 1.3.1 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.1.1 - vitest: 4.1.11(@types/node@26.2.0)(@vitest/browser-playwright@4.1.11)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) + vitest: 5.0.0(@types/node@26.2.0)(@vitest/browser-playwright@5.0.0)(@vitest/ui@5.0.0)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) ws: 8.21.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil @@ -19761,45 +19688,35 @@ snapshots: - utf-8-validate - vite - '@vitest/expect@4.1.11': - dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 - chai: 6.2.2 - tinyrainbow: 3.1.1 - - '@vitest/mocker@4.1.11(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))': + '@vitest/mocker@5.0.0(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))': dependencies: - '@vitest/spy': 4.1.11 + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.0 estree-walker: 3.0.3 - magic-string: 0.30.21 + magic-string: 1.3.1 optionalDependencies: msw: 2.15.0(@types/node@26.1.2)(typescript@6.0.3) vite: 8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0) - '@vitest/pretty-format@4.1.11': + '@vitest/pretty-format@5.0.0': dependencies: tinyrainbow: 3.1.1 - '@vitest/runner@4.1.11': - dependencies: - '@vitest/utils': 4.1.11 - pathe: 2.0.3 + '@vitest/spy@5.0.0': {} - '@vitest/snapshot@4.1.11': + '@vitest/ui@5.0.0(vitest@5.0.0)': dependencies: - '@vitest/pretty-format': 4.1.11 - '@vitest/utils': 4.1.11 - magic-string: 0.30.21 + '@vitest/utils': 5.0.0 + fflate: 0.8.3 + flatted: 3.4.4 pathe: 2.0.3 + sirv: 3.0.2 + tinyrainbow: 3.1.1 + vitest: 5.0.0(@types/node@26.2.0)(@vitest/browser-playwright@5.0.0)(@vitest/ui@5.0.0)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) - '@vitest/spy@4.1.11': {} - - '@vitest/utils@4.1.11': + '@vitest/utils@5.0.0': dependencies: - '@vitest/pretty-format': 4.1.11 + '@vitest/pretty-format': 5.0.0 convert-source-map: 2.0.0 tinyrainbow: 3.1.1 @@ -22890,10 +22807,7 @@ snapshots: ee-first@1.1.1: {} - effect@4.0.0-rc.112: - dependencies: - fast-check: 4.9.0 - msgpackr: 2.0.5 + effect@4.0.0-rc.115: {} electron-to-chromium@1.5.396: {} @@ -22968,8 +22882,6 @@ snapshots: es-errors@1.3.0: {} - es-module-lexer@2.3.0: {} - es-module-lexer@2.3.2: {} es-object-atoms@1.1.1: @@ -23133,10 +23045,6 @@ snapshots: eyes@0.1.8: {} - fast-check@4.9.0: - dependencies: - pure-rand: 8.4.2 - fast-deep-equal@3.1.3: {} fast-json-stable-stringify@2.1.0: {} @@ -23183,6 +23091,8 @@ snapshots: dependencies: is-retry-allowed: 3.0.0 + fflate@0.8.3: {} + file-uri-to-path@1.0.0: {} fill-range@7.1.1: @@ -23213,6 +23123,8 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + flatted@3.4.4: {} + flow-enums-runtime@0.0.6: {} follow-redirects@1.16.0(debug@4.4.3(supports-color@8.1.1)): @@ -24217,6 +24129,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + magic-string@1.3.1: + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + main-event@1.0.4: {} make-dir@2.1.0: @@ -24465,8 +24381,6 @@ snapshots: mime@1.6.0: {} - mime@4.1.0: {} - mimic-fn@2.1.0: {} mimic-function@5.0.1: {} @@ -24543,22 +24457,6 @@ snapshots: ms@2.1.3: {} - msgpackr-extract@3.0.4: - dependencies: - node-gyp-build-optional-packages: 5.2.2 - optionalDependencies: - '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.4 - '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.4 - '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.4 - '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.4 - '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.4 - '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.4 - optional: true - - msgpackr@2.0.5: - optionalDependencies: - msgpackr-extract: 3.0.4 - msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3): dependencies: '@inquirer/confirm': 6.1.1(@types/node@26.1.2) @@ -24703,11 +24601,6 @@ snapshots: optionalDependencies: encoding: 0.1.13 - node-gyp-build-optional-packages@5.2.2: - dependencies: - detect-libc: 2.1.2 - optional: true - node-gyp-build@4.8.4: {} node-int64@0.4.0: {} @@ -24817,8 +24710,6 @@ snapshots: oblivious-set@1.4.0: {} - obug@2.1.3: {} - obug@2.1.4: {} ofetch@1.5.1: @@ -25132,6 +25023,8 @@ snapshots: picomatch@4.0.5: {} + picomatch@4.0.7: {} + pify@4.0.1: optional: true @@ -25342,8 +25235,6 @@ snapshots: punycode@2.3.1: {} - pure-rand@8.4.2: {} - pushdata-bitcoin@1.0.1: dependencies: bitcoin-ops: 1.4.1 @@ -26323,7 +26214,7 @@ snapshots: oas-validator: 5.0.8 reftools: 1.1.9 yaml: 1.10.3 - yargs: 17.7.2 + yargs: 17.7.3 transitivePeerDependencies: - encoding @@ -26374,7 +26265,7 @@ snapshots: elliptic: 6.6.1 nan: 2.23.1 - tinybench@2.9.0: {} + tinybench@6.1.4: {} tinyexec@1.3.0: {} @@ -26612,7 +26503,7 @@ snapshots: undici-types@8.8.0: {} - undici@8.10.0: {} + undici@8.10.2: {} undici@8.9.0: {} @@ -26878,8 +26769,8 @@ snapshots: vite-node@6.0.0(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0): dependencies: cac: 7.0.0 - es-module-lexer: 2.3.0 - obug: 2.1.3 + es-module-lexer: 2.3.2 + obug: 2.1.4 pathe: 2.0.3 vite: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0) transitivePeerDependencies: @@ -26940,40 +26831,35 @@ snapshots: tsx: 4.23.12 yaml: 2.9.0 - vitest-browser-react@2.2.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.11): + vitest-browser-react@2.3.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.0): dependencies: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - vitest: 4.1.11(@types/node@26.2.0)(@vitest/browser-playwright@4.1.11)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) + vitest: 5.0.0(@types/node@26.2.0)(@vitest/browser-playwright@5.0.0)(@vitest/ui@5.0.0)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) optionalDependencies: '@types/react': 19.2.18 '@types/react-dom': 19.2.4(@types/react@19.2.18) - vitest@4.1.11(@types/node@26.2.0)(@vitest/browser-playwright@4.1.11)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)): + vitest@5.0.0(@types/node@26.2.0)(@vitest/browser-playwright@5.0.0)(@vitest/ui@5.0.0)(jsdom@30.0.1(@noble/hashes@2.2.0))(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)): dependencies: - '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.11 - '@vitest/runner': 4.1.11 - '@vitest/snapshot': 4.1.11 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 + '@types/chai': 5.2.3 + '@vitest/mocker': 5.0.0(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0)) + chai: 6.2.2 es-module-lexer: 2.3.2 expect-type: 1.4.0 - magic-string: 0.30.21 + magic-string: 1.3.1 obug: 2.1.4 - pathe: 2.0.3 - picomatch: 4.0.5 + picomatch: 4.0.7 std-env: 4.2.0 - tinybench: 2.9.0 + tinybench: 6.1.4 tinyexec: 1.3.0 tinyglobby: 0.2.17 - tinyrainbow: 3.1.1 vite: 8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 26.2.0 - '@vitest/browser-playwright': 4.1.11(bufferutil@4.0.9)(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(playwright@1.62.1)(utf-8-validate@5.0.10)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))(vitest@4.1.11) + '@vitest/browser-playwright': 5.0.0(bufferutil@4.0.9)(msw@2.15.0(@types/node@26.1.2)(typescript@6.0.3))(playwright@1.62.1)(utf-8-validate@5.0.10)(vite@8.2.2(@types/node@26.1.2)(esbuild@0.28.2)(jiti@2.7.0)(less@4.2.2)(sass@1.85.0)(terser@5.48.0)(tsx@4.23.12)(yaml@2.9.0))(vitest@5.0.0) + '@vitest/ui': 5.0.0(vitest@5.0.0) jsdom: 30.0.1(@noble/hashes@2.2.0) transitivePeerDependencies: - msw @@ -27237,16 +27123,6 @@ snapshots: y18n: 4.0.3 yargs-parser: 18.1.3 - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - yargs@17.7.3: dependencies: cliui: 8.0.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 0e3f89e0..7b45e4eb 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -32,13 +32,12 @@ catalog: "@cosmos-kit/leap": ^2.17.1 "@cosmos-kit/walletconnect": 2.15.1 "@creit-tech/stellar-wallets-kit": jsr:2.6.0 - "@effect/atom-react": 4.0.0-rc.112 - "@effect/openapi-generator": 4.0.0-rc.112 - "@effect/platform-browser": 4.0.0-rc.112 - "@effect/platform-node": 4.0.0-rc.112 + "@effect/atom-react": 4.0.0-rc.115 + "@effect/openapi-generator": 4.0.0-rc.115 + "@effect/platform-browser": 4.0.0-rc.115 + "@effect/platform-node": 4.0.0-rc.115 "@effect/tsgo": 0.39.0 - "@effect/vitest": 4.0.0-rc.112 - "@faker-js/faker": ^10.6.0 + "@effect/vitest": 4.0.0-rc.115 "@ledgerhq/wallet-api-client": ^1.15.3 "@ledgerhq/wallet-api-core": ^1.35.0 "@luno-kit/core": ^0.0.13 @@ -80,7 +79,8 @@ catalog: "@vanilla-extract/sprinkles": ^1.7.1 "@vanilla-extract/vite-plugin": ^5.2.6 "@vitejs/plugin-react": ^6.1.0 - "@vitest/browser-playwright": ^4.1.11 + "@vitest/browser-playwright": 5.0.0 + "@vitest/ui": 5.0.0 "@wallet-standard/app": ^1.1.1 "@wallet-standard/base": ^1.1.1 aria-hidden: ^1.2.6 @@ -90,7 +90,7 @@ catalog: clsx: ^2.1.1 cosmjs-types: ^0.10.1 dependency-cruiser: ^18.1.0 - effect: 4.0.0-rc.112 + effect: 4.0.0-rc.115 husky: ^9.1.7 i18next: ^26.4.0 i18next-browser-languagedetector: ^8.2.1 @@ -121,8 +121,8 @@ catalog: viem: ^2.55.16 vite: ^8.2.2 vite-plugin-node-polyfills: ^0.28.0 - vitest: ^4.1.11 - vitest-browser-react: ^2.2.0 + vitest: 5.0.0 + vitest-browser-react: ^2.3.0 wagmi: 3.7.5 yaml: ^2.9.0