From fe8d37bfa4b3161cbd38407cf0bda922c324eed2 Mon Sep 17 00:00:00 2001 From: Patrick Kowalski Date: Tue, 28 Oct 2025 15:59:36 -0500 Subject: [PATCH 01/10] feat: add foundation for ramps controller TRAM-2787 --- packages/ramps-controller/CHANGELOG.md | 15 + packages/ramps-controller/LICENSE | 21 + packages/ramps-controller/README.md | 40 + packages/ramps-controller/jest.config.js | 29 + packages/ramps-controller/package.json | 72 ++ .../src/RampsController.test.ts | 812 +++++++++++++++ .../ramps-controller/src/RampsController.ts | 985 ++++++++++++++++++ packages/ramps-controller/src/index.ts | 41 + packages/ramps-controller/tsconfig.build.json | 17 + packages/ramps-controller/tsconfig.json | 14 + packages/ramps-controller/typedoc.json | 6 + 11 files changed, 2052 insertions(+) create mode 100644 packages/ramps-controller/CHANGELOG.md create mode 100644 packages/ramps-controller/LICENSE create mode 100644 packages/ramps-controller/README.md create mode 100644 packages/ramps-controller/jest.config.js create mode 100644 packages/ramps-controller/package.json create mode 100644 packages/ramps-controller/src/RampsController.test.ts create mode 100644 packages/ramps-controller/src/RampsController.ts create mode 100644 packages/ramps-controller/src/index.ts create mode 100644 packages/ramps-controller/tsconfig.build.json create mode 100644 packages/ramps-controller/tsconfig.json create mode 100644 packages/ramps-controller/typedoc.json diff --git a/packages/ramps-controller/CHANGELOG.md b/packages/ramps-controller/CHANGELOG.md new file mode 100644 index 00000000000..21ca961513c --- /dev/null +++ b/packages/ramps-controller/CHANGELOG.md @@ -0,0 +1,15 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.1.0] + +### Added + +- Initial release + diff --git a/packages/ramps-controller/LICENSE b/packages/ramps-controller/LICENSE new file mode 100644 index 00000000000..2cf5cd38626 --- /dev/null +++ b/packages/ramps-controller/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + diff --git a/packages/ramps-controller/README.md b/packages/ramps-controller/README.md new file mode 100644 index 00000000000..19c48df39d6 --- /dev/null +++ b/packages/ramps-controller/README.md @@ -0,0 +1,40 @@ +# `@metamask/ramps-controller` + +Manages on-ramp and off-ramp operations for MetaMask. + +## Installation + +`yarn add @metamask/ramps-controller` + +or + +`npm install @metamask/ramps-controller` + +## Usage + +```typescript +import { RampsController, type Country } from '@metamask/ramps-controller'; + +// Create controller with custom API host (optional) +const rampsController = new RampsController({ + messenger, + onRampApiHost: 'https://your-api-host.com', // Optional +}); + +// Get list of countries +const countries: Country[] = await messenger.call( + 'RampsController:getCountries' +); +``` + +## Features + +- Fetch available countries for ramps +- Configure API host for staging/production environments +- Start on-ramp and off-ramp operations +- Manage ramp operation lifecycle + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/core#readme). + diff --git a/packages/ramps-controller/jest.config.js b/packages/ramps-controller/jest.config.js new file mode 100644 index 00000000000..8d412f97084 --- /dev/null +++ b/packages/ramps-controller/jest.config.js @@ -0,0 +1,29 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const merge = require('deepmerge'); +const path = require('path'); + +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + coveragePathIgnorePatterns: ['./src/tests'], + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, +}); + diff --git a/packages/ramps-controller/package.json b/packages/ramps-controller/package.json new file mode 100644 index 00000000000..b56d9ab2931 --- /dev/null +++ b/packages/ramps-controller/package.json @@ -0,0 +1,72 @@ +{ + "name": "@metamask/ramps-controller", + "version": "0.1.0", + "description": "Manages on-ramp and off-ramp operations", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/core/tree/main/packages/ramps-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/core/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/core.git" + }, + "license": "MIT", + "sideEffects": false, + "exports": { + ".": { + "import": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + }, + "./package.json": "./package.json" + }, + "main": "./dist/index.cjs", + "types": "./dist/index.d.cts", + "files": [ + "dist/" + ], + "scripts": { + "build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references", + "build:docs": "typedoc", + "changelog:update": "../../scripts/update-changelog.sh @metamask/ramps-controller", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/ramps-controller", + "publish:preview": "yarn npm publish --tag preview", + "since-latest-release": "../../scripts/since-latest-release.sh", + "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", + "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", + "test:verbose": "NODE_OPTIONS=--experimental-vm-modules jest --verbose", + "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch" + }, + "dependencies": { + "@consensys/on-ramp-sdk": "^2.1.11", + "@metamask/base-controller": "^8.4.2", + "@metamask/messenger": "^0.3.0", + "@metamask/utils": "^11.8.1" + }, + "devDependencies": { + "@metamask/auto-changelog": "^3.4.4", + "@types/jest": "^27.4.1", + "deepmerge": "^4.2.2", + "jest": "^27.5.1", + "ts-jest": "^27.1.4", + "typedoc": "^0.24.8", + "typedoc-plugin-missing-exports": "^2.0.0", + "typescript": "~5.2.2" + }, + "engines": { + "node": "^18.18 || >=20" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/packages/ramps-controller/src/RampsController.test.ts b/packages/ramps-controller/src/RampsController.test.ts new file mode 100644 index 00000000000..b4eb76e1170 --- /dev/null +++ b/packages/ramps-controller/src/RampsController.test.ts @@ -0,0 +1,812 @@ +import { deriveStateFromMetadata } from '@metamask/base-controller'; +import { + Messenger, + MOCK_ANY_NAMESPACE, + type MockAnyNamespace, + type MessengerActions, + type MessengerEvents, +} from '@metamask/messenger'; +import { + OnRampSdk, + Environment, + Context, + RegionsService, + OrdersService, +} from '@consensys/on-ramp-sdk'; +import { RampsController, getSdkEnvironment } from './RampsController'; +import type { RampsControllerMessenger } from './RampsController'; + +import { flushPromises } from '../../../tests/helpers'; + +// Mock the OnRampSdk +jest.mock('@consensys/on-ramp-sdk', () => ({ + OnRampSdk: { + create: jest.fn(), + }, + Environment: { + Production: 'production', + Staging: 'staging', + }, + Context: { + Browser: 'browser', + Mobile: 'mobile', + }, + RegionsService: jest.fn(), + OrdersService: jest.fn(), +})); + +describe('RampsController', () => { + let mockOnRampSdk: jest.Mocked; + let mockRegionsService: jest.Mocked; + let mockOrdersService: jest.Mocked; + + beforeEach(() => { + jest.clearAllMocks(); + + // Create mock services + mockRegionsService = { + getCountries: jest.fn(), + getSellCountries: jest.fn(), + getPaymentMethods: jest.fn(), + getPaymentMethodsForCrypto: jest.fn(), + getSellPaymentMethods: jest.fn(), + getSellPaymentMethodsForCrypto: jest.fn(), + getCryptoCurrencies: jest.fn(), + getSellCryptoCurrencies: jest.fn(), + getCryptoCurrency: jest.fn(), + getFiatCurrencies: jest.fn(), + getSellFiatCurrencies: jest.fn(), + getFiatCurrency: jest.fn(), + getAllFiatCurrencies: jest.fn(), + getAllCryptoCurrencies: jest.fn(), + getNetworkDetails: jest.fn(), + getLimits: jest.fn(), + getSellLimits: jest.fn(), + getQuotes: jest.fn(), + getSellQuotes: jest.fn(), + } as any; + + mockOrdersService = { + getOrderIdFromCallback: jest.fn(), + getOrderFromCallback: jest.fn(), + getSellOrderFromCallback: jest.fn(), + getOrder: jest.fn(), + getSellOrder: jest.fn(), + submitApplePayOrder: jest.fn(), + getProvider: jest.fn(), + getRecurringOrders: jest.fn(), + addRedirectionListener: jest.fn(), + } as any; + + // Mock OnRampSdk.create to return a mock SDK + mockOnRampSdk = OnRampSdk as jest.Mocked; + const mockSdk = { + regions: jest.fn().mockResolvedValue(mockRegionsService), + orders: jest.fn().mockResolvedValue(mockOrdersService), + }; + mockOnRampSdk.create.mockReturnValue(mockSdk as any); + }); + + describe('getSdkEnvironment', () => { + it('returns Production environment for production, beta, rc', () => { + expect(getSdkEnvironment('production')).toBe(Environment.Production); + expect(getSdkEnvironment('beta')).toBe(Environment.Production); + expect(getSdkEnvironment('rc')).toBe(Environment.Production); + }); + + it('returns Staging environment for dev, exp, test, e2e, and default', () => { + expect(getSdkEnvironment('dev')).toBe(Environment.Staging); + expect(getSdkEnvironment('exp')).toBe(Environment.Staging); + expect(getSdkEnvironment('test')).toBe(Environment.Staging); + expect(getSdkEnvironment('e2e')).toBe(Environment.Staging); + expect(getSdkEnvironment('unknown')).toBe(Environment.Staging); + }); + }); + + describe('constructor', () => { + it('initializes with default state', async () => { + await withController(({ controller }) => { + expect(controller.state).toStrictEqual({ + metamaskEnvironment: 'staging', + context: 'browser', + }); + }); + }); + + it('initializes with custom state', async () => { + const customState = { + metamaskEnvironment: 'production', + context: 'mobile', + }; + + await withController( + { options: { state: customState } }, + ({ controller }) => { + expect(controller.state).toStrictEqual(customState); + }, + ); + }); + + it('creates OnRampSdk with correct parameters', async () => { + await withController(({ controller }) => { + expect(mockOnRampSdk.create).toHaveBeenCalledWith( + Environment.Staging, + Context.Browser, + ); + }); + }); + + it('creates OnRampSdk with production environment when specified', async () => { + const customState = { + metamaskEnvironment: 'production', + context: 'browser', + }; + + await withController( + { options: { state: customState } }, + ({ controller }) => { + expect(mockOnRampSdk.create).toHaveBeenCalledWith( + Environment.Production, + Context.Browser, + ); + }, + ); + }); + + it('creates OnRampSdk with mobile context when specified', async () => { + const customState = { + metamaskEnvironment: 'staging', + context: 'mobile', + }; + + await withController( + { options: { state: customState } }, + ({ controller }) => { + expect(mockOnRampSdk.create).toHaveBeenCalledWith( + Environment.Staging, + Context.Mobile, + ); + }, + ); + }); + }); + + describe('RegionsService wrapper methods', () => { + beforeEach(async () => { + await withController(({ controller }) => { + // Ensure services are initialized + expect(controller).toBeDefined(); + }); + }); + + describe('getCountries', () => { + it('calls regions service getCountries method', async () => { + const mockCountries = [ + { id: 'US', name: 'United States', code: 'US' }, + { id: 'CA', name: 'Canada', code: 'CA' }, + ]; + mockRegionsService.getCountries.mockResolvedValue(mockCountries as any); + + await withController(async ({ controller }) => { + const result = await controller.getCountries(); + expect(result).toStrictEqual(mockCountries); + expect(mockRegionsService.getCountries).toHaveBeenCalledTimes(1); + }); + }); + }); + + describe('getSellCountries', () => { + it('calls regions service getSellCountries method', async () => { + const mockCountries = [ + { id: 'US', name: 'United States', code: 'US' }, + ]; + mockRegionsService.getSellCountries.mockResolvedValue(mockCountries as any); + + await withController(async ({ controller }) => { + const result = await controller.getSellCountries(); + expect(result).toStrictEqual(mockCountries); + expect(mockRegionsService.getSellCountries).toHaveBeenCalledTimes(1); + }); + }); + }); + + describe('getPaymentMethods', () => { + it('calls regions service getPaymentMethods method', async () => { + const mockPaymentMethods = [ + { id: 'card', name: 'Credit Card' }, + { id: 'bank', name: 'Bank Transfer' }, + ]; + mockRegionsService.getPaymentMethods.mockResolvedValue(mockPaymentMethods as any); + + await withController(async ({ controller }) => { + const result = await controller.getPaymentMethods('US'); + expect(result).toStrictEqual(mockPaymentMethods); + expect(mockRegionsService.getPaymentMethods).toHaveBeenCalledWith('US', undefined); + }); + }); + }); + + describe('getPaymentMethodsForCrypto', () => { + it('calls regions service getPaymentMethodsForCrypto method', async () => { + const mockPaymentMethods = [ + { id: 'card', name: 'Credit Card' }, + ]; + mockRegionsService.getPaymentMethodsForCrypto.mockResolvedValue(mockPaymentMethods as any); + + await withController(async ({ controller }) => { + const result = await controller.getPaymentMethodsForCrypto('US', 'ETH', 'USD'); + expect(result).toStrictEqual(mockPaymentMethods); + expect(mockRegionsService.getPaymentMethodsForCrypto).toHaveBeenCalledWith('US', 'ETH', 'USD', undefined); + }); + }); + }); + + describe('getSellPaymentMethods', () => { + it('calls regions service getSellPaymentMethods method', async () => { + const mockPaymentMethods = [ + { id: 'bank', name: 'Bank Transfer' }, + ]; + mockRegionsService.getSellPaymentMethods.mockResolvedValue(mockPaymentMethods as any); + + await withController(async ({ controller }) => { + const result = await controller.getSellPaymentMethods('US'); + expect(result).toStrictEqual(mockPaymentMethods); + expect(mockRegionsService.getSellPaymentMethods).toHaveBeenCalledWith('US', undefined); + }); + }); + }); + + describe('getSellPaymentMethodsForCrypto', () => { + it('calls regions service getSellPaymentMethodsForCrypto method', async () => { + const mockPaymentMethods = [ + { id: 'bank', name: 'Bank Transfer' }, + ]; + mockRegionsService.getSellPaymentMethodsForCrypto.mockResolvedValue(mockPaymentMethods as any); + + await withController(async ({ controller }) => { + const result = await controller.getSellPaymentMethodsForCrypto('US', 'ETH', 'USD'); + expect(result).toStrictEqual(mockPaymentMethods); + expect(mockRegionsService.getSellPaymentMethodsForCrypto).toHaveBeenCalledWith('US', 'ETH', 'USD', undefined); + }); + }); + }); + + describe('getCryptoCurrencies', () => { + it('calls regions service getCryptoCurrencies method', async () => { + const mockCryptoCurrencies = [ + { id: 'ETH', name: 'Ethereum', symbol: 'ETH' }, + { id: 'BTC', name: 'Bitcoin', symbol: 'BTC' }, + ]; + mockRegionsService.getCryptoCurrencies.mockResolvedValue(mockCryptoCurrencies as any); + + await withController(async ({ controller }) => { + const result = await controller.getCryptoCurrencies('US', ['card', 'bank']); + expect(result).toStrictEqual(mockCryptoCurrencies); + expect(mockRegionsService.getCryptoCurrencies).toHaveBeenCalledWith('US', ['card', 'bank'], undefined, undefined); + }); + }); + }); + + describe('getSellCryptoCurrencies', () => { + it('calls regions service getSellCryptoCurrencies method', async () => { + const mockCryptoCurrencies = [ + { id: 'ETH', name: 'Ethereum', symbol: 'ETH' }, + ]; + mockRegionsService.getSellCryptoCurrencies.mockResolvedValue(mockCryptoCurrencies as any); + + await withController(async ({ controller }) => { + const result = await controller.getSellCryptoCurrencies('US', ['bank']); + expect(result).toStrictEqual(mockCryptoCurrencies); + expect(mockRegionsService.getSellCryptoCurrencies).toHaveBeenCalledWith('US', ['bank'], undefined, undefined); + }); + }); + }); + + describe('getCryptoCurrency', () => { + it('calls regions service getCryptoCurrency method', async () => { + const mockCryptoCurrency = { id: 'ETH', name: 'Ethereum', symbol: 'ETH' }; + mockRegionsService.getCryptoCurrency.mockResolvedValue(mockCryptoCurrency as any); + + await withController(async ({ controller }) => { + const result = await controller.getCryptoCurrency('US', 'ETH'); + expect(result).toStrictEqual(mockCryptoCurrency); + expect(mockRegionsService.getCryptoCurrency).toHaveBeenCalledWith('US', 'ETH'); + }); + }); + }); + + describe('getFiatCurrencies', () => { + it('calls regions service getFiatCurrencies method', async () => { + const mockFiatCurrencies = [ + { id: 'USD', name: 'US Dollar', symbol: 'USD' }, + { id: 'EUR', name: 'Euro', symbol: 'EUR' }, + ]; + mockRegionsService.getFiatCurrencies.mockResolvedValue(mockFiatCurrencies as any); + + await withController(async ({ controller }) => { + const result = await controller.getFiatCurrencies('US', ['card']); + expect(result).toStrictEqual(mockFiatCurrencies); + expect(mockRegionsService.getFiatCurrencies).toHaveBeenCalledWith('US', ['card'], undefined); + }); + }); + }); + + describe('getSellFiatCurrencies', () => { + it('calls regions service getSellFiatCurrencies method', async () => { + const mockFiatCurrencies = [ + { id: 'USD', name: 'US Dollar', symbol: 'USD' }, + ]; + mockRegionsService.getSellFiatCurrencies.mockResolvedValue(mockFiatCurrencies as any); + + await withController(async ({ controller }) => { + const result = await controller.getSellFiatCurrencies('US', ['bank']); + expect(result).toStrictEqual(mockFiatCurrencies); + expect(mockRegionsService.getSellFiatCurrencies).toHaveBeenCalledWith('US', ['bank'], undefined); + }); + }); + }); + + describe('getFiatCurrency', () => { + it('calls regions service getFiatCurrency method', async () => { + const mockFiatCurrency = { id: 'USD', name: 'US Dollar', symbol: 'USD' }; + mockRegionsService.getFiatCurrency.mockResolvedValue(mockFiatCurrency as any); + + await withController(async ({ controller }) => { + const result = await controller.getFiatCurrency('US', 'USD'); + expect(result).toStrictEqual(mockFiatCurrency); + expect(mockRegionsService.getFiatCurrency).toHaveBeenCalledWith('US', 'USD'); + }); + }); + }); + + describe('getAllFiatCurrencies', () => { + it('calls regions service getAllFiatCurrencies method', async () => { + const mockFiatCurrencies = [ + { id: 'USD', name: 'US Dollar', symbol: 'USD' }, + { id: 'EUR', name: 'Euro', symbol: 'EUR' }, + ]; + mockRegionsService.getAllFiatCurrencies.mockResolvedValue(mockFiatCurrencies as any); + + await withController(async ({ controller }) => { + const result = await controller.getAllFiatCurrencies('US'); + expect(result).toStrictEqual(mockFiatCurrencies); + expect(mockRegionsService.getAllFiatCurrencies).toHaveBeenCalledWith('US', undefined); + }); + }); + }); + + describe('getAllCryptoCurrencies', () => { + it('calls regions service getAllCryptoCurrencies method', async () => { + const mockCryptoCurrencies = [ + { id: 'ETH', name: 'Ethereum', symbol: 'ETH' }, + { id: 'BTC', name: 'Bitcoin', symbol: 'BTC' }, + ]; + mockRegionsService.getAllCryptoCurrencies.mockResolvedValue(mockCryptoCurrencies as any); + + await withController(async ({ controller }) => { + const result = await controller.getAllCryptoCurrencies('US'); + expect(result).toStrictEqual(mockCryptoCurrencies); + expect(mockRegionsService.getAllCryptoCurrencies).toHaveBeenCalledWith('US', undefined); + }); + }); + }); + + describe('getNetworkDetails', () => { + it('calls regions service getNetworkDetails method', async () => { + const mockNetworkDetails = [ + { id: 'ethereum', name: 'Ethereum Mainnet' }, + ]; + mockRegionsService.getNetworkDetails.mockResolvedValue(mockNetworkDetails as any); + + await withController(async ({ controller }) => { + const result = await controller.getNetworkDetails(); + expect(result).toStrictEqual(mockNetworkDetails); + expect(mockRegionsService.getNetworkDetails).toHaveBeenCalledTimes(1); + }); + }); + }); + + describe('getLimits', () => { + it('calls regions service getLimits method', async () => { + const mockLimits = { + min: 10, + max: 10000, + }; + mockRegionsService.getLimits.mockResolvedValue(mockLimits as any); + + await withController(async ({ controller }) => { + const result = await controller.getLimits('US', ['card'], 'ETH', 'USD'); + expect(result).toStrictEqual(mockLimits); + expect(mockRegionsService.getLimits).toHaveBeenCalledWith('US', ['card'], 'ETH', 'USD', undefined); + }); + }); + }); + + describe('getSellLimits', () => { + it('calls regions service getSellLimits method', async () => { + const mockLimits = { + min: 10, + max: 10000, + }; + mockRegionsService.getSellLimits.mockResolvedValue(mockLimits as any); + + await withController(async ({ controller }) => { + const result = await controller.getSellLimits('US', ['bank'], 'ETH', 'USD'); + expect(result).toStrictEqual(mockLimits); + expect(mockRegionsService.getSellLimits).toHaveBeenCalledWith('US', ['bank'], 'ETH', 'USD'); + }); + }); + }); + + describe('getQuotes', () => { + it('calls regions service getQuotes method', async () => { + const mockQuotes = { + quotes: [ + { provider: 'provider1', amount: 100 }, + { provider: 'provider2', amount: 95 }, + ], + }; + mockRegionsService.getQuotes.mockResolvedValue(mockQuotes as any); + + await withController(async ({ controller }) => { + const result = await controller.getQuotes('US', ['card'], 'ETH', 'USD', 100); + expect(result).toStrictEqual(mockQuotes); + expect(mockRegionsService.getQuotes).toHaveBeenCalledWith('US', ['card'], 'ETH', 'USD', 100, undefined, undefined); + }); + }); + }); + + describe('getSellQuotes', () => { + it('calls regions service getSellQuotes method', async () => { + const mockQuotes = { + quotes: [ + { provider: 'provider1', amount: 100 }, + { provider: 'provider2', amount: 95 }, + ], + }; + mockRegionsService.getSellQuotes.mockResolvedValue(mockQuotes as any); + + await withController(async ({ controller }) => { + const result = await controller.getSellQuotes('US', ['bank'], 'ETH', 'USD', 100); + expect(result).toStrictEqual(mockQuotes); + expect(mockRegionsService.getSellQuotes).toHaveBeenCalledWith('US', ['bank'], 'ETH', 'USD', 100, undefined, undefined); + }); + }); + }); + }); + + describe('OrdersService wrapper methods', () => { + beforeEach(async () => { + await withController(({ controller }) => { + // Ensure services are initialized + expect(controller).toBeDefined(); + }); + }); + + describe('getOrderIdFromCallback', () => { + it('calls orders service getOrderIdFromCallback method', async () => { + const mockOrderId = 'order-123'; + mockOrdersService.getOrderIdFromCallback.mockResolvedValue(mockOrderId); + + await withController(async ({ controller }) => { + const result = await controller.getOrderIdFromCallback('provider1', 'https://callback.url'); + expect(result).toBe(mockOrderId); + expect(mockOrdersService.getOrderIdFromCallback).toHaveBeenCalledWith('provider1', 'https://callback.url'); + }); + }); + }); + + describe('getOrderFromCallback', () => { + it('calls orders service getOrderFromCallback method', async () => { + const mockOrder = { id: 'order-123', status: 'pending' }; + mockOrdersService.getOrderFromCallback.mockResolvedValue(mockOrder as any); + + await withController(async ({ controller }) => { + const result = await controller.getOrderFromCallback('provider1', 'https://callback.url', '0x123'); + expect(result).toStrictEqual(mockOrder); + expect(mockOrdersService.getOrderFromCallback).toHaveBeenCalledWith('provider1', 'https://callback.url', '0x123'); + }); + }); + }); + + describe('getSellOrderFromCallback', () => { + it('calls orders service getSellOrderFromCallback method', async () => { + const mockOrder = { id: 'order-123', status: 'pending' }; + mockOrdersService.getSellOrderFromCallback.mockResolvedValue(mockOrder as any); + + await withController(async ({ controller }) => { + const result = await controller.getSellOrderFromCallback('provider1', 'https://callback.url', '0x123'); + expect(result).toStrictEqual(mockOrder); + expect(mockOrdersService.getSellOrderFromCallback).toHaveBeenCalledWith('provider1', 'https://callback.url', '0x123'); + }); + }); + }); + + describe('getOrder', () => { + it('calls orders service getOrder method', async () => { + const mockOrder = { id: 'order-123', status: 'completed' }; + mockOrdersService.getOrder.mockResolvedValue(mockOrder as any); + + await withController(async ({ controller }) => { + const result = await controller.getOrder('order-123', '0x123'); + expect(result).toStrictEqual(mockOrder); + expect(mockOrdersService.getOrder).toHaveBeenCalledWith('order-123', '0x123'); + }); + }); + }); + + describe('getSellOrder', () => { + it('calls orders service getSellOrder method', async () => { + const mockOrder = { id: 'order-123', status: 'completed' }; + mockOrdersService.getSellOrder.mockResolvedValue(mockOrder as any); + + await withController(async ({ controller }) => { + const result = await controller.getSellOrder('order-123', '0x123'); + expect(result).toStrictEqual(mockOrder); + expect(mockOrdersService.getSellOrder).toHaveBeenCalledWith('order-123', '0x123'); + }); + }); + }); + + describe('submitApplePayOrder', () => { + it('calls orders service submitApplePayOrder method', async () => { + const mockResult = { success: true, orderId: 'order-123' }; + mockOrdersService.submitApplePayOrder.mockResolvedValue(mockResult as any); + + await withController(async ({ controller }) => { + const result = await controller.submitApplePayOrder('0x123', 'provider1', { paymentData: 'test' }); + expect(result).toStrictEqual(mockResult); + expect(mockOrdersService.submitApplePayOrder).toHaveBeenCalledWith('0x123', 'provider1', { paymentData: 'test' }); + }); + }); + }); + + describe('getProvider', () => { + it('calls orders service getProvider method', async () => { + const mockProvider = { id: 'provider1', name: 'Test Provider' }; + mockOrdersService.getProvider.mockResolvedValue(mockProvider as any); + + await withController(async ({ controller }) => { + const result = await controller.getProvider('provider1'); + expect(result).toStrictEqual(mockProvider); + expect(mockOrdersService.getProvider).toHaveBeenCalledWith('provider1'); + }); + }); + }); + + describe('getRecurringOrders', () => { + it('calls orders service getRecurringOrders method', async () => { + const mockOrders = [ + { id: 'order-1', status: 'completed' }, + { id: 'order-2', status: 'pending' }, + ]; + mockOrdersService.getRecurringOrders.mockResolvedValue(mockOrders as any); + + const startDate = new Date('2024-01-01'); + const endDate = new Date('2024-01-31'); + + await withController(async ({ controller }) => { + const result = await controller.getRecurringOrders('order-123', '0x123', startDate, endDate); + expect(result).toStrictEqual(mockOrders); + expect(mockOrdersService.getRecurringOrders).toHaveBeenCalledWith('order-123', '0x123', startDate, endDate); + }); + }); + }); + + describe('addRedirectionListener', () => { + it('calls orders service addRedirectionListener method', async () => { + const mockCallback = jest.fn(); + mockOrdersService.addRedirectionListener.mockImplementation(mockCallback); + + await withController(async ({ controller }) => { + controller.addRedirectionListener(mockCallback); + await flushPromises(); + expect(mockOrdersService.addRedirectionListener).toHaveBeenCalledWith(mockCallback); + }); + }); + }); + }); + + describe('messenger action handlers', () => { + it('registers all action handlers', async () => { + await withController(async ({ rootMessenger }) => { + // Test that the controller's action handlers are properly registered + // by calling them through the messenger + mockRegionsService.getCountries.mockResolvedValue([]); + mockRegionsService.getPaymentMethods.mockResolvedValue([]); + mockOrdersService.getOrder.mockResolvedValue({} as any); + + await rootMessenger.call('RampsController:getCountries'); + await rootMessenger.call('RampsController:getPaymentMethods', 'US'); + await rootMessenger.call('RampsController:getOrder', 'order-123', '0x123'); + + expect(mockRegionsService.getCountries).toHaveBeenCalledTimes(1); + expect(mockRegionsService.getPaymentMethods).toHaveBeenCalledWith('US', undefined); + expect(mockOrdersService.getOrder).toHaveBeenCalledWith('order-123', '0x123'); + }); + }); + }); + + describe('error handling', () => { + it('handles regions service errors', async () => { + const error = new Error('Regions service error'); + mockRegionsService.getCountries.mockRejectedValue(error); + + await withController(async ({ controller }) => { + await expect(controller.getCountries()).rejects.toThrow('Regions service error'); + }); + }); + + it('handles orders service errors', async () => { + const error = new Error('Orders service error'); + mockOrdersService.getOrder.mockRejectedValue(error); + + await withController(async ({ controller }) => { + await expect(controller.getOrder('order-123', '0x123')).rejects.toThrow('Orders service error'); + }); + }); + + it('handles SDK initialization errors', async () => { + const error = new Error('SDK initialization error'); + mockOnRampSdk.create.mockImplementation(() => { + throw error; + }); + + await expect( + withController(({ controller }) => { + expect(controller).toBeDefined(); + }), + ).rejects.toThrow('SDK initialization error'); + }); + }); + + describe('metadata', () => { + it('includes expected state in debug snapshots', async () => { + await withController(({ controller }) => { + expect( + deriveStateFromMetadata( + controller.state, + controller.metadata, + 'includeInDebugSnapshot', + ), + ).toMatchInlineSnapshot(` + Object { + "context": "browser", + "metamaskEnvironment": "staging", + } + `); + }); + }); + + it('includes expected state in state logs', async () => { + await withController(({ controller }) => { + expect( + deriveStateFromMetadata( + controller.state, + controller.metadata, + 'includeInStateLogs', + ), + ).toMatchInlineSnapshot(` + Object { + "context": "browser", + "metamaskEnvironment": "staging", + } + `); + }); + }); + + it('persists expected state', async () => { + await withController(({ controller }) => { + expect( + deriveStateFromMetadata( + controller.state, + controller.metadata, + 'persist', + ), + ).toMatchInlineSnapshot(` + Object { + "context": "browser", + "metamaskEnvironment": "staging", + } + `); + }); + }); + + it('exposes expected state to UI', async () => { + await withController(({ controller }) => { + expect( + deriveStateFromMetadata( + controller.state, + controller.metadata, + 'usedInUi', + ), + ).toMatchInlineSnapshot(` + Object { + "context": "browser", + "metamaskEnvironment": "staging", + } + `); + }); + }); + }); +}); + +/** + * The type of the messenger populated with all external actions and events + * required by the controller under test. + */ +type RootMessenger = Messenger< + MockAnyNamespace, + MessengerActions, + MessengerEvents +>; + +/** + * The callback that `withController` calls. + */ +type WithControllerCallback = (payload: { + controller: RampsController; + rootMessenger: RootMessenger; + messenger: RampsControllerMessenger; +}) => Promise | ReturnValue; + +/** + * The options bag that `withController` takes. + */ +type WithControllerOptions = { + options: Partial[0]>; +}; + +/** + * Constructs the messenger populated with all external actions and events + * required by the controller under test. + * + * @returns The root messenger. + */ +function getRootMessenger(): RootMessenger { + return new Messenger({ namespace: MOCK_ANY_NAMESPACE }); +} + +/** + * Constructs the messenger for the controller under test. + * + * @param rootMessenger - The root messenger, with all external actions and + * events required by the controller's messenger. + * @returns The controller-specific messenger. + */ +function getMessenger( + rootMessenger: RootMessenger, +): RampsControllerMessenger { + const messenger: RampsControllerMessenger = new Messenger({ + namespace: 'RampsController', + parent: rootMessenger, + }); + return messenger; +} + +/** + * Wrap tests for the controller under test by ensuring that the controller is + * created ahead of time and then safely destroyed afterward as needed. + * + * @param args - Either a function, or an options bag + a function. The options + * bag contains arguments for the controller constructor. All constructor + * arguments are optional and will be filled in with defaults in as needed + * (including `messenger`). The function is called with the new + * controller, root messenger, and controller messenger. + * @returns The same return value as the given function. + */ +async function withController( + ...args: + | [WithControllerCallback] + | [WithControllerOptions, WithControllerCallback] +): Promise { + const [{ options = {} }, testFunction] = + args.length === 2 ? args : [{}, args[0]]; + const rootMessenger = getRootMessenger(); + const messenger = getMessenger(rootMessenger); + const controller = new RampsController({ + messenger, + ...options, + }); + return await testFunction({ controller, rootMessenger, messenger }); +} diff --git a/packages/ramps-controller/src/RampsController.ts b/packages/ramps-controller/src/RampsController.ts new file mode 100644 index 00000000000..106dc9ff257 --- /dev/null +++ b/packages/ramps-controller/src/RampsController.ts @@ -0,0 +1,985 @@ +import type { + ControllerGetStateAction, + ControllerStateChangeEvent, +} from '@metamask/base-controller'; +import { BaseController } from '@metamask/base-controller'; +import type { Messenger } from '@metamask/messenger'; +import { + OnRampSdk, + Environment, + Context, + RegionsService, + OrdersService, + Payment, + CryptoCurrency, + FiatCurrency, + Provider, + Limits, + AllQuotesResponse, + AllSellQuotesResponse, + Order, +} from '@consensys/on-ramp-sdk'; + +const controllerName = 'RampsController'; + +/** + * Country support information + */ +export interface CountrySupport { + buy: boolean; + sell: boolean; +} + +/** + * State information for countries + */ +export interface State { + id: string; + name: string; + emoji?: string; + unsupported?: boolean; // deprecated - use support field instead + support?: CountrySupport; + recommended?: boolean; + detected?: boolean; + stateId?: string; +} + +/** + * Country information + */ +export interface Country { + id: string; + name: string; + emoji: string; + currencies: string[]; + unsupported?: boolean; // deprecated - use support field instead + hidden?: boolean; + states?: State[]; + support?: CountrySupport; + recommended?: boolean; + enableSell?: boolean; + detected?: boolean; +} + +/** + * Ramps controller state + */ +export type RampsControllerState = Record; + +export type RampsControllerGetStateAction = ControllerGetStateAction< + typeof controllerName, + RampsControllerState +>; + +export type RampsControllerGetCountriesAction = { + type: `${typeof controllerName}:getCountries`; + handler: RampsController['getCountries']; +}; + +export type RampsControllerGetSellCountriesAction = { + type: `${typeof controllerName}:getSellCountries`; + handler: RampsController['getSellCountries']; +}; + +export type RampsControllerGetPaymentMethodsAction = { + type: `${typeof controllerName}:getPaymentMethods`; + handler: RampsController['getPaymentMethods']; +}; + +export type RampsControllerGetPaymentMethodsForCryptoAction = { + type: `${typeof controllerName}:getPaymentMethodsForCrypto`; + handler: RampsController['getPaymentMethodsForCrypto']; +}; + +export type RampsControllerGetSellPaymentMethodsAction = { + type: `${typeof controllerName}:getSellPaymentMethods`; + handler: RampsController['getSellPaymentMethods']; +}; + +export type RampsControllerGetSellPaymentMethodsForCryptoAction = { + type: `${typeof controllerName}:getSellPaymentMethodsForCrypto`; + handler: RampsController['getSellPaymentMethodsForCrypto']; +}; + +export type RampsControllerGetCryptoCurrenciesAction = { + type: `${typeof controllerName}:getCryptoCurrencies`; + handler: RampsController['getCryptoCurrencies']; +}; + +export type RampsControllerGetSellCryptoCurrenciesAction = { + type: `${typeof controllerName}:getSellCryptoCurrencies`; + handler: RampsController['getSellCryptoCurrencies']; +}; + +export type RampsControllerGetCryptoCurrencyAction = { + type: `${typeof controllerName}:getCryptoCurrency`; + handler: RampsController['getCryptoCurrency']; +}; + +export type RampsControllerGetFiatCurrenciesAction = { + type: `${typeof controllerName}:getFiatCurrencies`; + handler: RampsController['getFiatCurrencies']; +}; + +export type RampsControllerGetSellFiatCurrenciesAction = { + type: `${typeof controllerName}:getSellFiatCurrencies`; + handler: RampsController['getSellFiatCurrencies']; +}; + +export type RampsControllerGetFiatCurrencyAction = { + type: `${typeof controllerName}:getFiatCurrency`; + handler: RampsController['getFiatCurrency']; +}; + +export type RampsControllerGetAllFiatCurrenciesAction = { + type: `${typeof controllerName}:getAllFiatCurrencies`; + handler: RampsController['getAllFiatCurrencies']; +}; + +export type RampsControllerGetAllCryptoCurrenciesAction = { + type: `${typeof controllerName}:getAllCryptoCurrencies`; + handler: RampsController['getAllCryptoCurrencies']; +}; + +export type RampsControllerGetNetworkDetailsAction = { + type: `${typeof controllerName}:getNetworkDetails`; + handler: RampsController['getNetworkDetails']; +}; + +export type RampsControllerGetLimitsAction = { + type: `${typeof controllerName}:getLimits`; + handler: RampsController['getLimits']; +}; + +export type RampsControllerGetSellLimitsAction = { + type: `${typeof controllerName}:getSellLimits`; + handler: RampsController['getSellLimits']; +}; + +export type RampsControllerGetQuotesAction = { + type: `${typeof controllerName}:getQuotes`; + handler: RampsController['getQuotes']; +}; + +export type RampsControllerGetSellQuotesAction = { + type: `${typeof controllerName}:getSellQuotes`; + handler: RampsController['getSellQuotes']; +}; + +export type RampsControllerGetOrderIdFromCallbackAction = { + type: `${typeof controllerName}:getOrderIdFromCallback`; + handler: RampsController['getOrderIdFromCallback']; +}; + +export type RampsControllerGetOrderFromCallbackAction = { + type: `${typeof controllerName}:getOrderFromCallback`; + handler: RampsController['getOrderFromCallback']; +}; + +export type RampsControllerGetSellOrderFromCallbackAction = { + type: `${typeof controllerName}:getSellOrderFromCallback`; + handler: RampsController['getSellOrderFromCallback']; +}; + +export type RampsControllerGetOrderAction = { + type: `${typeof controllerName}:getOrder`; + handler: RampsController['getOrder']; +}; + +export type RampsControllerGetSellOrderAction = { + type: `${typeof controllerName}:getSellOrder`; + handler: RampsController['getSellOrder']; +}; + +export type RampsControllerSubmitApplePayOrderAction = { + type: `${typeof controllerName}:submitApplePayOrder`; + handler: RampsController['submitApplePayOrder']; +}; + +export type RampsControllerGetProviderAction = { + type: `${typeof controllerName}:getProvider`; + handler: RampsController['getProvider']; +}; + +export type RampsControllerGetRecurringOrdersAction = { + type: `${typeof controllerName}:getRecurringOrders`; + handler: RampsController['getRecurringOrders']; +}; + +export type RampsControllerAddRedirectionListenerAction = { + type: `${typeof controllerName}:addRedirectionListener`; + handler: RampsController['addRedirectionListener']; +}; + +export type RampsControllerActions = + | RampsControllerGetStateAction + | RampsControllerGetCountriesAction + | RampsControllerGetSellCountriesAction + | RampsControllerGetPaymentMethodsAction + | RampsControllerGetPaymentMethodsForCryptoAction + | RampsControllerGetSellPaymentMethodsAction + | RampsControllerGetSellPaymentMethodsForCryptoAction + | RampsControllerGetCryptoCurrenciesAction + | RampsControllerGetSellCryptoCurrenciesAction + | RampsControllerGetCryptoCurrencyAction + | RampsControllerGetFiatCurrenciesAction + | RampsControllerGetSellFiatCurrenciesAction + | RampsControllerGetFiatCurrencyAction + | RampsControllerGetAllFiatCurrenciesAction + | RampsControllerGetAllCryptoCurrenciesAction + | RampsControllerGetNetworkDetailsAction + | RampsControllerGetLimitsAction + | RampsControllerGetSellLimitsAction + | RampsControllerGetQuotesAction + | RampsControllerGetSellQuotesAction + | RampsControllerGetOrderIdFromCallbackAction + | RampsControllerGetOrderFromCallbackAction + | RampsControllerGetSellOrderFromCallbackAction + | RampsControllerGetOrderAction + | RampsControllerGetSellOrderAction + | RampsControllerSubmitApplePayOrderAction + | RampsControllerGetProviderAction + | RampsControllerGetRecurringOrdersAction + | RampsControllerAddRedirectionListenerAction; + +export type RampsControllerStateChangeEvent = ControllerStateChangeEvent< + typeof controllerName, + RampsControllerState +>; + +export type RampsControllerEvents = RampsControllerStateChangeEvent; + +export type RampsControllerMessenger = Messenger< + typeof controllerName, + RampsControllerActions, + RampsControllerEvents +>; + +const rampsControllerMetadata = { + metamaskEnvironment: { + persist: true, + anonymous: true, + includeInDebugSnapshot: true, + includeInStateLogs: true, + usedInUi: true, + }, + context: { + persist: true, + anonymous: true, + includeInDebugSnapshot: true, + includeInStateLogs: true, + usedInUi: true, + }, +}; + +const defaultState: RampsControllerState = { + metamaskEnvironment: 'staging', + context: Context.Browser, +}; + +export function getSdkEnvironment(metamaskEnvironment: string) { + switch (metamaskEnvironment) { + case 'production': + case 'beta': + case 'rc': + return Environment.Production; + + case 'dev': + case 'exp': + case 'test': + case 'e2e': + default: + return Environment.Staging; + } +} + +/** + * Controller that manages on-ramp and off-ramp operations. + * The ramps controller is responsible for handling cryptocurrency purchase and sale operations. + * + */ +export class RampsController extends BaseController< + typeof controllerName, + RampsControllerState, + RampsControllerMessenger +> { + readonly #sdk: OnRampSdk; + + /** + * Constructor for RampsController. + * + * @param options - The controller options. + * @param options.messenger - The messenger object. + * @param options.state - Initial state to set on this controller + */ + constructor({ + messenger, + state, + }: { + messenger: RampsControllerMessenger; + state?: Partial; + }) { + super({ + messenger, + name: controllerName, + metadata: rampsControllerMetadata, + state: { ...defaultState, ...state } as RampsControllerState, + }); + + // Initialize the OnRampSDK + const environment = state?.metamaskEnvironment ?? Environment.Staging; + const context = state?.context ?? Context.Browser; + this.#sdk = OnRampSdk.create(getSdkEnvironment(environment), context as Context); + + this.#registerMessageHandlers(); + } + + /** + * Helper method to get the cached regions service + */ + async #getRegionsService(): Promise { + return this.#sdk.regions(); + } + + /** + * Helper method to get the cached orders service + */ + async #getOrdersService(): Promise { + return this.#sdk.orders(); + } + + /** + * Get list of countries available for ramps. + * + * @returns A promise that resolves to an array of countries + */ + async getCountries(): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getCountries(); + } + + /** + * Get list of countries available for sell operations. + * + * @returns A promise that resolves to an array of countries + */ + async getSellCountries(): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getSellCountries(); + } + + /** + * Get payment methods for a region. + * + * @param regionId - The region ID + * @param abortController - Optional abort controller + * @returns A promise that resolves to an array of payment methods + */ + async getPaymentMethods( + regionId: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getPaymentMethods(regionId, abortController); + } + + /** + * Get payment methods for crypto transactions. + * + * @param regionId - The region ID + * @param crypto - The crypto currency code + * @param fiat - The fiat currency code + * @param abortController - Optional abort controller + * @returns A promise that resolves to an array of payment methods + */ + async getPaymentMethodsForCrypto( + regionId: string, + crypto: string, + fiat: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getPaymentMethodsForCrypto( + regionId, + crypto, + fiat, + abortController, + ); + } + + /** + * Get sell payment methods for a region. + * + * @param regionId - The region ID + * @param abortController - Optional abort controller + * @returns A promise that resolves to an array of payment methods + */ + async getSellPaymentMethods( + regionId: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getSellPaymentMethods(regionId, abortController); + } + + /** + * Get sell payment methods for crypto. + * + * @param regionId - The region ID + * @param crypto - The crypto currency code + * @param fiat - The fiat currency code + * @param abortController - Optional abort controller + * @returns A promise that resolves to an array of payment methods + */ + async getSellPaymentMethodsForCrypto( + regionId: string, + crypto: string, + fiat: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getSellPaymentMethodsForCrypto( + regionId, + crypto, + fiat, + abortController, + ); + } + + /** + * Get crypto currencies. + * + * @param regionId - The region ID + * @param paymentMethodIds - Array of payment method IDs + * @param fiatCurrencyId - Optional fiat currency ID + * @param abortController - Optional abort controller + * @returns A promise that resolves to an array of crypto currencies + */ + async getCryptoCurrencies( + regionId: string, + paymentMethodIds: string[], + fiatCurrencyId?: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getCryptoCurrencies( + regionId, + paymentMethodIds, + fiatCurrencyId, + abortController, + ); + } + + /** + * Get sell crypto currencies. + * + * @param regionId - The region ID + * @param paymentMethodIds - Array of payment method IDs + * @param fiatCurrencyId - Optional fiat currency ID + * @param abortController - Optional abort controller + * @returns A promise that resolves to an array of crypto currencies + */ + async getSellCryptoCurrencies( + regionId: string, + paymentMethodIds: string[], + fiatCurrencyId?: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getSellCryptoCurrencies( + regionId, + paymentMethodIds, + fiatCurrencyId, + abortController, + ); + } + + /** + * Get a specific crypto currency. + * + * @param regionId - The region ID + * @param cryptoId - The crypto currency ID + * @returns A promise that resolves to a crypto currency + */ + async getCryptoCurrency( + regionId: string, + cryptoId: string, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getCryptoCurrency(regionId, cryptoId); + } + + /** + * Get fiat currencies. + * + * @param regionId - The region ID + * @param paymentMethodIds - Array of payment method IDs + * @param abortController - Optional abort controller + * @returns A promise that resolves to an array of fiat currencies + */ + async getFiatCurrencies( + regionId: string, + paymentMethodIds: string[], + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getFiatCurrencies( + regionId, + paymentMethodIds, + abortController, + ); + } + + /** + * Get sell fiat currencies. + * + * @param regionId - The region ID + * @param paymentMethodIds - Array of payment method IDs + * @param abortController - Optional abort controller + * @returns A promise that resolves to an array of fiat currencies + */ + async getSellFiatCurrencies( + regionId: string, + paymentMethodIds: string[], + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getSellFiatCurrencies( + regionId, + paymentMethodIds, + abortController, + ); + } + + /** + * Get a specific fiat currency. + * + * @param regionId - The region ID + * @param fiatId - The fiat currency ID + * @returns A promise that resolves to a fiat currency + */ + async getFiatCurrency(regionId: string, fiatId: string): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getFiatCurrency(regionId, fiatId); + } + + /** + * Get all fiat currencies. + * + * @param regionId - The region ID + * @param abortController - Optional abort controller + * @returns A promise that resolves to an array of fiat currencies + */ + async getAllFiatCurrencies( + regionId: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getAllFiatCurrencies(regionId, abortController); + } + + /** + * Get all crypto currencies. + * + * @param regionId - The region ID + * @param abortController - Optional abort controller + * @returns A promise that resolves to an array of crypto currencies + */ + async getAllCryptoCurrencies( + regionId: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getAllCryptoCurrencies(regionId, abortController); + } + + /** + * Get network details. + * + * @returns A promise that resolves to an array of network details + */ + async getNetworkDetails(): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getNetworkDetails(); + } + + /** + * Get limits. + * + * @param regionId - The region ID + * @param paymentMethods - Array of payment method IDs + * @param crypto - The crypto currency code + * @param fiat - The fiat currency code + * @param abortController - Optional abort controller + * @returns A promise that resolves to limits + */ + async getLimits( + regionId: string, + paymentMethods: string[], + crypto: string, + fiat: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getLimits( + regionId, + paymentMethods, + crypto, + fiat, + abortController, + ); + } + + /** + * Get sell limits. + * + * @param regionId - The region ID + * @param paymentMethods - Array of payment method IDs + * @param crypto - The crypto currency code + * @param fiat - The fiat currency code + * @returns A promise that resolves to limits + */ + async getSellLimits( + regionId: string, + paymentMethods: string[], + crypto: string, + fiat: string, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getSellLimits(regionId, paymentMethods, crypto, fiat); + } + + /** + * Get quotes. + * + * @param regionId - The region ID + * @param paymentMethods - Array of payment method IDs + * @param crypto - The crypto currency code + * @param fiat - The fiat currency code + * @param amount - The amount + * @param receiver - Optional receiver address + * @param abortController - Optional abort controller + * @returns A promise that resolves to quotes + */ + async getQuotes( + regionId: string, + paymentMethods: string[], + crypto: string, + fiat: string, + amount: number | string, + receiver?: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getQuotes( + regionId, + paymentMethods, + crypto, + fiat, + amount, + receiver, + abortController, + ); + } + + /** + * Get sell quotes. + * + * @param regionId - The region ID + * @param paymentMethods - Array of payment method IDs + * @param crypto - The crypto currency code + * @param fiat - The fiat currency code + * @param amount - The amount + * @param receiver - Optional receiver address + * @param abortController - Optional abort controller + * @returns A promise that resolves to sell quotes + */ + async getSellQuotes( + regionId: string, + paymentMethods: string[], + crypto: string, + fiat: string, + amount: number | string, + receiver?: string, + abortController?: AbortController, + ): Promise { + const regionsService = await this.#getRegionsService(); + return regionsService.getSellQuotes( + regionId, + paymentMethods, + crypto, + fiat, + amount, + receiver, + abortController, + ); + } + + // OrdersService wrapper methods + + /** + * Get order ID from callback URL. + * + * @param providerId - The provider ID + * @param redirectUrl - The redirect URL + * @returns A promise that resolves to the order ID + */ + async getOrderIdFromCallback( + providerId: string, + redirectUrl: string, + ): Promise { + const ordersService = await this.#getOrdersService(); + return ordersService.getOrderIdFromCallback(providerId, redirectUrl); + } + + /** + * Get order from callback URL. + * + * @param providerId - The provider ID + * @param redirectUrl - The redirect URL + * @param walletAddress - The wallet address + * @returns A promise that resolves to the order + */ + async getOrderFromCallback( + providerId: string, + redirectUrl: string, + walletAddress: string, + ): Promise { + const ordersService = await this.#getOrdersService(); + return ordersService.getOrderFromCallback( + providerId, + redirectUrl, + walletAddress, + ); + } + + /** + * Get sell order from callback URL. + * + * @param providerId - The provider ID + * @param redirectUrl - The redirect URL + * @param walletAddress - The wallet address + * @returns A promise that resolves to the sell order + */ + async getSellOrderFromCallback( + providerId: string, + redirectUrl: string, + walletAddress: string, + ): Promise { + const ordersService = await this.#getOrdersService(); + return ordersService.getSellOrderFromCallback( + providerId, + redirectUrl, + walletAddress, + ); + } + + /** + * Get order by ID. + * + * @param orderId - The order ID + * @param walletAddress - The wallet address + * @returns A promise that resolves to the order + */ + async getOrder(orderId: string, walletAddress: string): Promise { + const ordersService = await this.#getOrdersService(); + return ordersService.getOrder(orderId, walletAddress); + } + + /** + * Get sell order by ID. + * + * @param orderId - The order ID + * @param walletAddress - The wallet address + * @returns A promise that resolves to the sell order + */ + async getSellOrder(orderId: string, walletAddress: string): Promise { + const ordersService = await this.#getOrdersService(); + return ordersService.getSellOrder(orderId, walletAddress); + } + + /** + * Submit Apple Pay order. + * + * @param dest - The destination address + * @param providerId - The provider ID + * @param payload - The Apple Pay payload + * @returns A promise that resolves to the Apple Pay purchase result + */ + async submitApplePayOrder( + dest: string, + providerId: string, + payload: any, + ): Promise { + const ordersService = await this.#getOrdersService(); + return ordersService.submitApplePayOrder(dest, providerId, payload); + } + + /** + * Get provider by ID. + * + * @param providerId - The provider ID + * @returns A promise that resolves to the provider + */ + async getProvider(providerId: string): Promise { + const ordersService = await this.#getOrdersService(); + return ordersService.getProvider(providerId); + } + + /** + * Get recurring orders. + * + * @param orderId - The order ID + * @param walletAddress - The wallet address + * @param start - The start date + * @param end - The end date + * @returns A promise that resolves to the recurring orders + */ + async getRecurringOrders( + orderId: string, + walletAddress: string, + start: Date, + end: Date, + ): Promise { + const ordersService = await this.#getOrdersService(); + return ordersService.getRecurringOrders(orderId, walletAddress, start, end); + } + + /** + * Add redirection listener. + * + * @param callback - The callback function + */ + addRedirectionListener( + callback: (orderId: string) => void | Promise, + ): void { + // Note: This method doesn't need async since it's synchronous + this.#getOrdersService().then((ordersService) => { + ordersService.addRedirectionListener(callback); + }); + } + + /** + * Registers message handlers for the RampsController. + */ + #registerMessageHandlers() { + // RegionsService methods + this.messenger.registerActionHandler( + `${controllerName}:getCountries`, + this.getCountries.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getSellCountries`, + this.getSellCountries.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getPaymentMethods`, + this.getPaymentMethods.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getPaymentMethodsForCrypto`, + this.getPaymentMethodsForCrypto.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getSellPaymentMethods`, + this.getSellPaymentMethods.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getSellPaymentMethodsForCrypto`, + this.getSellPaymentMethodsForCrypto.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getCryptoCurrencies`, + this.getCryptoCurrencies.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getSellCryptoCurrencies`, + this.getSellCryptoCurrencies.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getCryptoCurrency`, + this.getCryptoCurrency.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getFiatCurrencies`, + this.getFiatCurrencies.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getSellFiatCurrencies`, + this.getSellFiatCurrencies.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getFiatCurrency`, + this.getFiatCurrency.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getAllFiatCurrencies`, + this.getAllFiatCurrencies.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getAllCryptoCurrencies`, + this.getAllCryptoCurrencies.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getNetworkDetails`, + this.getNetworkDetails.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getLimits`, + this.getLimits.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getSellLimits`, + this.getSellLimits.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getQuotes`, + this.getQuotes.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getSellQuotes`, + this.getSellQuotes.bind(this), + ); + + // OrdersService methods + this.messenger.registerActionHandler( + `${controllerName}:getOrderIdFromCallback`, + this.getOrderIdFromCallback.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getOrderFromCallback`, + this.getOrderFromCallback.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getSellOrderFromCallback`, + this.getSellOrderFromCallback.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getOrder`, + this.getOrder.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getSellOrder`, + this.getSellOrder.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:submitApplePayOrder`, + this.submitApplePayOrder.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getProvider`, + this.getProvider.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:getRecurringOrders`, + this.getRecurringOrders.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:addRedirectionListener`, + this.addRedirectionListener.bind(this), + ); + } +} + +export default RampsController; + diff --git a/packages/ramps-controller/src/index.ts b/packages/ramps-controller/src/index.ts new file mode 100644 index 00000000000..07f2f27ec32 --- /dev/null +++ b/packages/ramps-controller/src/index.ts @@ -0,0 +1,41 @@ +export type { + Country, + State, + CountrySupport, + RampsControllerState, + RampsControllerGetStateAction, + RampsControllerGetCountriesAction, + RampsControllerGetSellCountriesAction, + RampsControllerGetPaymentMethodsAction, + RampsControllerGetPaymentMethodsForCryptoAction, + RampsControllerGetSellPaymentMethodsAction, + RampsControllerGetSellPaymentMethodsForCryptoAction, + RampsControllerGetCryptoCurrenciesAction, + RampsControllerGetSellCryptoCurrenciesAction, + RampsControllerGetCryptoCurrencyAction, + RampsControllerGetFiatCurrenciesAction, + RampsControllerGetSellFiatCurrenciesAction, + RampsControllerGetFiatCurrencyAction, + RampsControllerGetAllFiatCurrenciesAction, + RampsControllerGetAllCryptoCurrenciesAction, + RampsControllerGetNetworkDetailsAction, + RampsControllerGetLimitsAction, + RampsControllerGetSellLimitsAction, + RampsControllerGetQuotesAction, + RampsControllerGetSellQuotesAction, + RampsControllerGetOrderIdFromCallbackAction, + RampsControllerGetOrderFromCallbackAction, + RampsControllerGetSellOrderFromCallbackAction, + RampsControllerGetOrderAction, + RampsControllerGetSellOrderAction, + RampsControllerSubmitApplePayOrderAction, + RampsControllerGetProviderAction, + RampsControllerGetRecurringOrdersAction, + RampsControllerAddRedirectionListenerAction, + RampsControllerActions, + RampsControllerStateChangeEvent, + RampsControllerEvents, + RampsControllerMessenger, +} from './RampsController'; +export { RampsController } from './RampsController'; + diff --git a/packages/ramps-controller/tsconfig.build.json b/packages/ramps-controller/tsconfig.build.json new file mode 100644 index 00000000000..5769b6fc0ed --- /dev/null +++ b/packages/ramps-controller/tsconfig.build.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src", + "skipLibCheck": true + }, + "references": [ + { + "path": "../base-controller/tsconfig.build.json" + }, + { "path": "../messenger/tsconfig.build.json" } + ], + "include": ["../../types", "./src"] +} + diff --git a/packages/ramps-controller/tsconfig.json b/packages/ramps-controller/tsconfig.json new file mode 100644 index 00000000000..9ee015d717c --- /dev/null +++ b/packages/ramps-controller/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { + "path": "../base-controller" + }, + { "path": "../messenger" } + ], + "include": ["../../types", "./src"] +} + diff --git a/packages/ramps-controller/typedoc.json b/packages/ramps-controller/typedoc.json new file mode 100644 index 00000000000..e52fbcc3ead --- /dev/null +++ b/packages/ramps-controller/typedoc.json @@ -0,0 +1,6 @@ +{ + "entryPoints": ["src/index.ts"], + "exclude": ["**/*.test.ts", "**/*.spec.ts", "**/tests/**"], + "out": "docs" +} + From 1710301778cbd1eae6e45c8e21574c999d62c347 Mon Sep 17 00:00:00 2001 From: Patrick Kowalski Date: Wed, 29 Oct 2025 14:42:40 -0500 Subject: [PATCH 02/10] chore: add ramp-controller to build --- tsconfig.build.json | 1 + 1 file changed, 1 insertion(+) diff --git a/tsconfig.build.json b/tsconfig.build.json index 615d4fe5774..765dc9b7010 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -54,6 +54,7 @@ { "path": "./packages/polling-controller/tsconfig.build.json" }, { "path": "./packages/preferences-controller/tsconfig.build.json" }, { "path": "./packages/profile-sync-controller/tsconfig.build.json" }, + { "path": "./packages/ramps-controller/tsconfig.build.json" }, { "path": "./packages/rate-limit-controller/tsconfig.build.json" }, { "path": "./packages/remote-feature-flag-controller/tsconfig.build.json" }, { "path": "./packages/sample-controllers/tsconfig.build.json" }, From 4cf362b9614c0d9ae0f944e0bc388e3f81439f79 Mon Sep 17 00:00:00 2001 From: Patrick Kowalski Date: Wed, 29 Oct 2025 15:41:00 -0500 Subject: [PATCH 03/10] feat: first foundations of native calls --- packages/ramps-controller/package.json | 1 + .../src/RampsController.test.ts | 188 + .../ramps-controller/src/RampsController.ts | 517 +- yarn.lock | 5471 ++++++++++------- 4 files changed, 3958 insertions(+), 2219 deletions(-) diff --git a/packages/ramps-controller/package.json b/packages/ramps-controller/package.json index b56d9ab2931..5afda700ee0 100644 --- a/packages/ramps-controller/package.json +++ b/packages/ramps-controller/package.json @@ -47,6 +47,7 @@ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch" }, "dependencies": { + "@consensys/native-ramps-sdk": "2.1.5", "@consensys/on-ramp-sdk": "^2.1.11", "@metamask/base-controller": "^8.4.2", "@metamask/messenger": "^0.3.0", diff --git a/packages/ramps-controller/src/RampsController.test.ts b/packages/ramps-controller/src/RampsController.test.ts index b4eb76e1170..3b385ab7d5f 100644 --- a/packages/ramps-controller/src/RampsController.test.ts +++ b/packages/ramps-controller/src/RampsController.test.ts @@ -35,6 +35,61 @@ jest.mock('@consensys/on-ramp-sdk', () => ({ OrdersService: jest.fn(), })); +// Mock the NativeRampsSdk +jest.mock('@consensys/native-ramps-sdk', () => { + const mockInstance = { + setAccessToken: jest.fn(), + getAccessToken: jest.fn().mockReturnValue(null), + clearAccessToken: jest.fn(), + getVersion: jest.fn().mockReturnValue('1.0.0'), + getContext: jest.fn().mockReturnValue('browser'), + sendUserOtp: jest.fn(), + verifyUserOtp: jest.fn(), + getUserDetails: jest.fn(), + getBuyQuote: jest.fn(), + getIdProofStatus: jest.fn(), + getKycRequirement: jest.fn(), + getAdditionalRequirements: jest.fn(), + patchUser: jest.fn(), + submitPurposeOfUsageForm: jest.fn(), + submitSsnDetails: jest.fn(), + cancelOrder: jest.fn(), + cancelAllActiveOrders: jest.fn(), + createOrder: jest.fn(), + confirmPayment: jest.fn(), + getOrder: jest.fn(), + getUserLimits: jest.fn(), + requestOtt: jest.fn(), + getGeolocation: jest.fn(), + generatePaymentWidgetUrl: jest.fn(), + getActiveOrders: jest.fn(), + getOrdersHistory: jest.fn(), + logout: jest.fn(), + getCountries: jest.fn(), + getCryptoCurrencies: jest.fn(), + getPaymentMethods: jest.fn(), + getTransalation: jest.fn(), + }; + const NativeRampsSdk = jest.fn().mockImplementation(() => mockInstance); + const Context = { + Browser: 'browser', + Extension: 'extension', + MobileAndroid: 'mobile-android', + MobileIOS: 'mobile-ios', + } as const; + const SdkEnvironment = { + Development: 'dev', + Staging: 'stg', + Production: 'prod', + } as const; + return { + NativeRampsSdk, + Context, + SdkEnvironment, + __getMockInstance: () => mockInstance, + }; +}); + describe('RampsController', () => { let mockOnRampSdk: jest.Mocked; let mockRegionsService: jest.Mocked; @@ -627,6 +682,139 @@ describe('RampsController', () => { }); }); + describe('NativeRampsSdk deposit wrappers', () => { + const getNative = () => + (jest.requireMock('@consensys/native-ramps-sdk') as any).__getMockInstance(); + + it('calls deposit access token helpers', async () => { + await withController(async ({ controller }) => { + const native = getNative(); + controller.depositSetAccessToken({ accessToken: 'tok', ttl: 1, created: new Date() } as any); + expect(native.setAccessToken).toHaveBeenCalled(); + controller.depositSetAccessToken(null); + expect(native.clearAccessToken).toHaveBeenCalled(); + controller.depositClearAccessToken(); + expect(native.clearAccessToken).toHaveBeenCalledTimes(2); + controller.depositGetAccessToken(); + expect(native.getAccessToken).toHaveBeenCalled(); + controller.depositGetVersion(); + expect(native.getVersion).toHaveBeenCalled(); + controller.depositGetContext(); + expect(native.getContext).toHaveBeenCalled(); + }); + }); + + it('calls deposit auth and user methods', async () => { + await withController(async ({ controller }) => { + const native = getNative(); + native.sendUserOtp.mockResolvedValue({ isTncAccepted: false, stateToken: 'st', email: 'e', expiresIn: 1 }); + await controller.depositSendUserOtp('a@b.com'); + expect(native.sendUserOtp).toHaveBeenCalledWith('a@b.com'); + + native.verifyUserOtp.mockResolvedValue({ accessToken: 'x', ttl: 1, created: new Date() }); + await controller.depositVerifyUserOtp('a@b.com', '123456', 'state'); + expect(native.verifyUserOtp).toHaveBeenCalledWith('a@b.com', '123456', 'state'); + + native.getUserDetails.mockResolvedValue({ id: 'u' }); + await controller.depositGetUserDetails(); + expect(native.getUserDetails).toHaveBeenCalled(); + + native.patchUser.mockResolvedValue({ ok: true }); + await controller.depositPatchUser({ personalDetails: { firstName: 'a' } }); + expect(native.patchUser).toHaveBeenCalled(); + }); + }); + + it('calls deposit quote/order methods', async () => { + await withController(async ({ controller }) => { + const native = getNative(); + native.getBuyQuote.mockResolvedValue({ quoteId: 'q' }); + await controller.depositGetBuyQuote('USD', 'eth', '1', 'card', '10'); + expect(native.getBuyQuote).toHaveBeenCalledWith('USD', 'eth', '1', 'card', '10'); + + native.createOrder.mockResolvedValue({ id: 'o' }); + await controller.depositCreateOrder({ quoteId: 'q' } as any, '0xabc', 'card'); + expect(native.createOrder).toHaveBeenCalled(); + + native.confirmPayment.mockResolvedValue({ success: true }); + await controller.depositConfirmPayment('order', 'card'); + expect(native.confirmPayment).toHaveBeenCalledWith('order', 'card'); + + native.getOrder.mockResolvedValue({ id: 'o' }); + await controller.depositGetOrder('order', '0xabc'); + expect(native.getOrder).toHaveBeenCalledWith('order', '0xabc', undefined, undefined); + + await controller.depositCancelOrder('order'); + expect(native.cancelOrder).toHaveBeenCalledWith('order'); + + await controller.depositCancelAllActiveOrders(); + expect(native.cancelAllActiveOrders).toHaveBeenCalled(); + }); + }); + + it('calls deposit misc and regions methods', async () => { + await withController(async ({ controller }) => { + const native = getNative(); + native.getUserLimits.mockResolvedValue({ limits: {} } as any); + await controller.depositGetUserLimits('USD', 'card', 'BASIC'); + expect(native.getUserLimits).toHaveBeenCalledWith('USD', 'card', 'BASIC'); + + native.requestOtt.mockResolvedValue({ ott: 'ott' }); + await controller.depositRequestOtt(); + expect(native.requestOtt).toHaveBeenCalled(); + + native.getGeolocation.mockResolvedValue({ ipCountryCode: 'US' }); + await controller.depositGetGeolocation(); + expect(native.getGeolocation).toHaveBeenCalled(); + + native.generatePaymentWidgetUrl.mockReturnValue('https://widget'); + controller.depositGeneratePaymentWidgetUrl('ott', { quoteId: 'q' } as any, '0xabc'); + expect(native.generatePaymentWidgetUrl).toHaveBeenCalled(); + + native.getActiveOrders.mockResolvedValue([]); + await controller.depositGetActiveOrders(); + expect(native.getActiveOrders).toHaveBeenCalled(); + + native.getOrdersHistory.mockResolvedValue([]); + await controller.depositGetOrdersHistory(10, 0); + expect(native.getOrdersHistory).toHaveBeenCalledWith(10, 0); + + native.logout.mockResolvedValue('ok'); + await controller.depositLogout(); + expect(native.logout).toHaveBeenCalled(); + + native.getCountries.mockResolvedValue([]); + await controller.depositGetCountries(); + expect(native.getCountries).toHaveBeenCalledWith(undefined); + + native.getCryptoCurrencies.mockResolvedValue([]); + await controller.depositGetCryptoCurrencies('US'); + expect(native.getCryptoCurrencies).toHaveBeenCalledWith('US', undefined); + + native.getPaymentMethods.mockResolvedValue([]); + await controller.depositGetPaymentMethods('US', 'eth', 'usd'); + expect(native.getPaymentMethods).toHaveBeenCalledWith('US', 'eth', 'usd', undefined); + + native.getTransalation.mockResolvedValue({} as any); + await controller.depositGetTransalation({ regionId: 'US' } as any); + expect(native.getTransalation).toHaveBeenCalled(); + }); + }); + + it('registers and calls deposit methods via messenger', async () => { + await withController(async ({ rootMessenger }) => { + const native = getNative(); + native.getCountries.mockResolvedValue([]); + await rootMessenger.call('RampsController:depositGetCountries'); + expect(native.getCountries).toHaveBeenCalled(); + + native.sendUserOtp.mockResolvedValue({ isTncAccepted: false, stateToken: 'x', email: 'a', expiresIn: 1 }); + await rootMessenger.call('RampsController:depositSendUserOtp', 'a@b.com'); + expect(native.sendUserOtp).toHaveBeenCalledWith('a@b.com'); + }); + }); + }); + describe('error handling', () => { it('handles regions service errors', async () => { const error = new Error('Regions service error'); diff --git a/packages/ramps-controller/src/RampsController.ts b/packages/ramps-controller/src/RampsController.ts index 106dc9ff257..bc40c28ba43 100644 --- a/packages/ramps-controller/src/RampsController.ts +++ b/packages/ramps-controller/src/RampsController.ts @@ -19,6 +19,31 @@ import { AllSellQuotesResponse, Order, } from '@consensys/on-ramp-sdk'; +import { + NativeRampsSdk, + Context as NativeContext, + SdkEnvironment as NativeSdkEnvironment, + type DepositRegion, + type DepositCryptoCurrency, + type DepositPaymentMethod, + type NativeTransakAccessToken, + type NativeTransakUserDetails, + type BuyQuote, + type IdProofStatus, + type KycRequirement, + type AdditionalRequirementsResponse, + type PatchUserRequestBody, + type Reservation, + type DepositOrder, + type OrderPaymentMethod, + type UserLimits, + type OttResponse, + type GeolocationResponse, + type NativeRampsSdkConfig, + type TransakOrder, + NativeQuoteTranslation, + TranslationRequest, +} from '@consensys/native-ramps-sdk'; const controllerName = 'RampsController'; @@ -211,6 +236,132 @@ export type RampsControllerAddRedirectionListenerAction = { handler: RampsController['addRedirectionListener']; }; +// Deposit (NativeRampsSdk) action types +export type RampsControllerDepositSetAccessTokenAction = { + type: `${typeof controllerName}:depositSetAccessToken`; + handler: RampsController['depositSetAccessToken']; +}; +export type RampsControllerDepositGetAccessTokenAction = { + type: `${typeof controllerName}:depositGetAccessToken`; + handler: RampsController['depositGetAccessToken']; +}; +export type RampsControllerDepositClearAccessTokenAction = { + type: `${typeof controllerName}:depositClearAccessToken`; + handler: RampsController['depositClearAccessToken']; +}; +export type RampsControllerDepositGetVersionAction = { + type: `${typeof controllerName}:depositGetVersion`; + handler: RampsController['depositGetVersion']; +}; +export type RampsControllerDepositGetContextAction = { + type: `${typeof controllerName}:depositGetContext`; + handler: RampsController['depositGetContext']; +}; +export type RampsControllerDepositSendUserOtpAction = { + type: `${typeof controllerName}:depositSendUserOtp`; + handler: RampsController['depositSendUserOtp']; +}; +export type RampsControllerDepositVerifyUserOtpAction = { + type: `${typeof controllerName}:depositVerifyUserOtp`; + handler: RampsController['depositVerifyUserOtp']; +}; +export type RampsControllerDepositGetUserDetailsAction = { + type: `${typeof controllerName}:depositGetUserDetails`; + handler: RampsController['depositGetUserDetails']; +}; +export type RampsControllerDepositGetBuyQuoteAction = { + type: `${typeof controllerName}:depositGetBuyQuote`; + handler: RampsController['depositGetBuyQuote']; +}; +export type RampsControllerDepositGetIdProofStatusAction = { + type: `${typeof controllerName}:depositGetIdProofStatus`; + handler: RampsController['depositGetIdProofStatus']; +}; +export type RampsControllerDepositGetKycRequirementAction = { + type: `${typeof controllerName}:depositGetKycRequirement`; + handler: RampsController['depositGetKycRequirement']; +}; +export type RampsControllerDepositGetAdditionalRequirementsAction = { + type: `${typeof controllerName}:depositGetAdditionalRequirements`; + handler: RampsController['depositGetAdditionalRequirements']; +}; +export type RampsControllerDepositPatchUserAction = { + type: `${typeof controllerName}:depositPatchUser`; + handler: RampsController['depositPatchUser']; +}; +export type RampsControllerDepositSubmitPurposeOfUsageFormAction = { + type: `${typeof controllerName}:depositSubmitPurposeOfUsageForm`; + handler: RampsController['depositSubmitPurposeOfUsageForm']; +}; +export type RampsControllerDepositSubmitSsnDetailsAction = { + type: `${typeof controllerName}:depositSubmitSsnDetails`; + handler: RampsController['depositSubmitSsnDetails']; +}; +export type RampsControllerDepositCancelOrderAction = { + type: `${typeof controllerName}:depositCancelOrder`; + handler: RampsController['depositCancelOrder']; +}; +export type RampsControllerDepositCancelAllActiveOrdersAction = { + type: `${typeof controllerName}:depositCancelAllActiveOrders`; + handler: RampsController['depositCancelAllActiveOrders']; +}; +export type RampsControllerDepositCreateOrderAction = { + type: `${typeof controllerName}:depositCreateOrder`; + handler: RampsController['depositCreateOrder']; +}; +export type RampsControllerDepositConfirmPaymentAction = { + type: `${typeof controllerName}:depositConfirmPayment`; + handler: RampsController['depositConfirmPayment']; +}; +export type RampsControllerDepositGetOrderAction = { + type: `${typeof controllerName}:depositGetOrder`; + handler: RampsController['depositGetOrder']; +}; +export type RampsControllerDepositGetUserLimitsAction = { + type: `${typeof controllerName}:depositGetUserLimits`; + handler: RampsController['depositGetUserLimits']; +}; +export type RampsControllerDepositRequestOttAction = { + type: `${typeof controllerName}:depositRequestOtt`; + handler: RampsController['depositRequestOtt']; +}; +export type RampsControllerDepositGetGeolocationAction = { + type: `${typeof controllerName}:depositGetGeolocation`; + handler: RampsController['depositGetGeolocation']; +}; +export type RampsControllerDepositGeneratePaymentWidgetUrlAction = { + type: `${typeof controllerName}:depositGeneratePaymentWidgetUrl`; + handler: RampsController['depositGeneratePaymentWidgetUrl']; +}; +export type RampsControllerDepositGetActiveOrdersAction = { + type: `${typeof controllerName}:depositGetActiveOrders`; + handler: RampsController['depositGetActiveOrders']; +}; +export type RampsControllerDepositGetOrdersHistoryAction = { + type: `${typeof controllerName}:depositGetOrdersHistory`; + handler: RampsController['depositGetOrdersHistory']; +}; +export type RampsControllerDepositLogoutAction = { + type: `${typeof controllerName}:depositLogout`; + handler: RampsController['depositLogout']; +}; +export type RampsControllerDepositGetCountriesAction = { + type: `${typeof controllerName}:depositGetCountries`; + handler: RampsController['depositGetCountries']; +}; +export type RampsControllerDepositGetCryptoCurrenciesAction = { + type: `${typeof controllerName}:depositGetCryptoCurrencies`; + handler: RampsController['depositGetCryptoCurrencies']; +}; +export type RampsControllerDepositGetPaymentMethodsAction = { + type: `${typeof controllerName}:depositGetPaymentMethods`; + handler: RampsController['depositGetPaymentMethods']; +}; +export type RampsControllerDepositGetTransalationAction = { + type: `${typeof controllerName}:depositGetTransalation`; + handler: RampsController['depositGetTransalation']; +}; + export type RampsControllerActions = | RampsControllerGetStateAction | RampsControllerGetCountriesAction @@ -240,7 +391,39 @@ export type RampsControllerActions = | RampsControllerSubmitApplePayOrderAction | RampsControllerGetProviderAction | RampsControllerGetRecurringOrdersAction - | RampsControllerAddRedirectionListenerAction; + | RampsControllerAddRedirectionListenerAction + // Deposit actions + | RampsControllerDepositSetAccessTokenAction + | RampsControllerDepositGetAccessTokenAction + | RampsControllerDepositClearAccessTokenAction + | RampsControllerDepositGetVersionAction + | RampsControllerDepositGetContextAction + | RampsControllerDepositSendUserOtpAction + | RampsControllerDepositVerifyUserOtpAction + | RampsControllerDepositGetUserDetailsAction + | RampsControllerDepositGetBuyQuoteAction + | RampsControllerDepositGetIdProofStatusAction + | RampsControllerDepositGetKycRequirementAction + | RampsControllerDepositGetAdditionalRequirementsAction + | RampsControllerDepositPatchUserAction + | RampsControllerDepositSubmitPurposeOfUsageFormAction + | RampsControllerDepositSubmitSsnDetailsAction + | RampsControllerDepositCancelOrderAction + | RampsControllerDepositCancelAllActiveOrdersAction + | RampsControllerDepositCreateOrderAction + | RampsControllerDepositConfirmPaymentAction + | RampsControllerDepositGetOrderAction + | RampsControllerDepositGetUserLimitsAction + | RampsControllerDepositRequestOttAction + | RampsControllerDepositGetGeolocationAction + | RampsControllerDepositGeneratePaymentWidgetUrlAction + | RampsControllerDepositGetActiveOrdersAction + | RampsControllerDepositGetOrdersHistoryAction + | RampsControllerDepositLogoutAction + | RampsControllerDepositGetCountriesAction + | RampsControllerDepositGetCryptoCurrenciesAction + | RampsControllerDepositGetPaymentMethodsAction + | RampsControllerDepositGetTransalationAction; export type RampsControllerStateChangeEvent = ControllerStateChangeEvent< typeof controllerName, @@ -293,6 +476,22 @@ export function getSdkEnvironment(metamaskEnvironment: string) { } } +function getNativeSdkEnvironment(metamaskEnvironment: string) { + switch (metamaskEnvironment) { + case 'production': + case 'beta': + case 'rc': + return NativeSdkEnvironment.Production; + + case 'dev': + case 'exp': + case 'test': + case 'e2e': + default: + return NativeSdkEnvironment.Staging; + } +} + /** * Controller that manages on-ramp and off-ramp operations. * The ramps controller is responsible for handling cryptocurrency purchase and sale operations. @@ -304,6 +503,7 @@ export class RampsController extends BaseController< RampsControllerMessenger > { readonly #sdk: OnRampSdk; + readonly #nativeSdk: NativeRampsSdk; /** * Constructor for RampsController. @@ -331,6 +531,15 @@ export class RampsController extends BaseController< const context = state?.context ?? Context.Browser; this.#sdk = OnRampSdk.create(getSdkEnvironment(environment), context as Context); + // Initialize the Native Ramps SDK + const nativeEnv = getNativeSdkEnvironment(environment); + // Map the shared context string into the native SDK enum + const nativeContext = (context as unknown as string) as keyof typeof NativeContext; + const nativeConfig: NativeRampsSdkConfig = { + context: NativeContext[nativeContext] ?? NativeContext.Browser, + }; + this.#nativeSdk = new NativeRampsSdk(nativeConfig, nativeEnv); + this.#registerMessageHandlers(); } @@ -341,6 +550,186 @@ export class RampsController extends BaseController< return this.#sdk.regions(); } + // Native Ramps SDK wrappers (prefixed with "deposit") + + depositSetAccessToken(accessToken: NativeTransakAccessToken | null): void { + if (accessToken) { + this.#nativeSdk.setAccessToken(accessToken); + } else { + this.#nativeSdk.clearAccessToken(); + } + } + + depositGetAccessToken(): NativeTransakAccessToken | null { + return this.#nativeSdk.getAccessToken(); + } + + depositClearAccessToken(): void { + this.#nativeSdk.clearAccessToken(); + } + + depositGetVersion(): string { + return this.#nativeSdk.getVersion(); + } + + depositGetContext(): NativeContext { + return this.#nativeSdk.getContext(); + } + + async depositSendUserOtp(email: string): Promise<{ isTncAccepted: boolean; stateToken: string; email: string; expiresIn: number }>{ + return this.#nativeSdk.sendUserOtp(email); + } + + async depositVerifyUserOtp( + email: string, + verificationCode: string, + stateToken: string, + ): Promise { + return this.#nativeSdk.verifyUserOtp(email, verificationCode, stateToken); + } + + async depositGetUserDetails(): Promise { + return this.#nativeSdk.getUserDetails(); + } + + async depositGetBuyQuote( + genericFiatCurrency: string, + genericCryptoCurrency: string, + genericNetwork: string, + genericPaymentMethod: string, + fiatAmount: string, + ): Promise { + return this.#nativeSdk.getBuyQuote( + genericFiatCurrency, + genericCryptoCurrency, + genericNetwork, + genericPaymentMethod, + fiatAmount, + ); + } + + async depositGetIdProofStatus(workFlowRunId: string): Promise { + return this.#nativeSdk.getIdProofStatus(workFlowRunId); + } + + async depositGetKycRequirement(quoteId: string): Promise { + return this.#nativeSdk.getKycRequirement(quoteId); + } + + async depositGetAdditionalRequirements(quoteId: string): Promise { + return this.#nativeSdk.getAdditionalRequirements(quoteId); + } + + async depositPatchUser(data: PatchUserRequestBody): Promise { + return this.#nativeSdk.patchUser(data); + } + + async depositSubmitPurposeOfUsageForm(purpose: string[]): Promise { + return this.#nativeSdk.submitPurposeOfUsageForm(purpose); + } + + async depositSubmitSsnDetails(params: { ssn: string; quoteId: string }): Promise { + return this.#nativeSdk.submitSsnDetails(params); + } + + async depositCancelOrder(depositOrderId: string): Promise { + return this.#nativeSdk.cancelOrder(depositOrderId); + } + + async depositCancelAllActiveOrders(): Promise { + return this.#nativeSdk.cancelAllActiveOrders(); + } + + async depositCreateOrder( + quote: BuyQuote, + walletAddress: string, + paymentMethodId: string, + ): Promise { + return this.#nativeSdk.createOrder(quote, walletAddress, paymentMethodId); + } + + async depositConfirmPayment(orderId: string, paymentMethodId: string): Promise<{ success: boolean }>{ + return this.#nativeSdk.confirmPayment(orderId, paymentMethodId); + } + + async depositGetOrder( + orderId: string, + wallet: string, + paymentDetails?: OrderPaymentMethod[], + abortController?: AbortController, + ): Promise { + return this.#nativeSdk.getOrder(orderId, wallet, paymentDetails, abortController); + } + + async depositGetUserLimits( + fiatCurrency: string, + paymentMethod: string, + kycType: string, + ): Promise { + return this.#nativeSdk.getUserLimits(fiatCurrency, paymentMethod, kycType); + } + + async depositRequestOtt(): Promise { + return this.#nativeSdk.requestOtt(); + } + + async depositGetGeolocation(): Promise { + return this.#nativeSdk.getGeolocation(); + } + + depositGeneratePaymentWidgetUrl( + ottToken: string, + quote: BuyQuote, + walletAddress: string, + extraParams?: Record, + ): string { + return this.#nativeSdk.generatePaymentWidgetUrl(ottToken, quote, walletAddress, extraParams); + } + + async depositGetActiveOrders(): Promise { + return this.#nativeSdk.getActiveOrders(); + } + + async depositGetOrdersHistory(limit?: number, skip?: number): Promise { + return this.#nativeSdk.getOrdersHistory(limit, skip); + } + + async depositLogout(): Promise { + return this.#nativeSdk.logout(); + } + + async depositGetCountries(abortController?: AbortController): Promise { + return this.#nativeSdk.getCountries(abortController); + } + + async depositGetCryptoCurrencies( + regionId: string, + abortController?: AbortController, + ): Promise { + return this.#nativeSdk.getCryptoCurrencies(regionId, abortController); + } + + async depositGetPaymentMethods( + regionId: string, + cryptoCurrencyId: string, + fiatCurrencyId: string, + abortController?: AbortController, + ): Promise { + return this.#nativeSdk.getPaymentMethods( + regionId, + cryptoCurrencyId, + fiatCurrencyId, + abortController, + ); + } + + async depositGetTransalation( + translationRequest: TranslationRequest, + abortController?: AbortController, + ): Promise { + return this.#nativeSdk.getTransalation(translationRequest, abortController); + } + /** * Helper method to get the cached orders service */ @@ -978,6 +1367,132 @@ export class RampsController extends BaseController< `${controllerName}:addRedirectionListener`, this.addRedirectionListener.bind(this), ); + + // NativeRampsSdk (Deposit) methods + this.messenger.registerActionHandler( + `${controllerName}:depositSetAccessToken`, + this.depositSetAccessToken.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetAccessToken`, + this.depositGetAccessToken.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositClearAccessToken`, + this.depositClearAccessToken.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetVersion`, + this.depositGetVersion.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetContext`, + this.depositGetContext.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositSendUserOtp`, + this.depositSendUserOtp.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositVerifyUserOtp`, + this.depositVerifyUserOtp.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetUserDetails`, + this.depositGetUserDetails.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetBuyQuote`, + this.depositGetBuyQuote.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetIdProofStatus`, + this.depositGetIdProofStatus.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetKycRequirement`, + this.depositGetKycRequirement.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetAdditionalRequirements`, + this.depositGetAdditionalRequirements.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositPatchUser`, + this.depositPatchUser.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositSubmitPurposeOfUsageForm`, + this.depositSubmitPurposeOfUsageForm.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositSubmitSsnDetails`, + this.depositSubmitSsnDetails.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositCancelOrder`, + this.depositCancelOrder.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositCancelAllActiveOrders`, + this.depositCancelAllActiveOrders.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositCreateOrder`, + this.depositCreateOrder.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositConfirmPayment`, + this.depositConfirmPayment.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetOrder`, + this.depositGetOrder.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetUserLimits`, + this.depositGetUserLimits.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositRequestOtt`, + this.depositRequestOtt.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetGeolocation`, + this.depositGetGeolocation.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGeneratePaymentWidgetUrl`, + this.depositGeneratePaymentWidgetUrl.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetActiveOrders`, + this.depositGetActiveOrders.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetOrdersHistory`, + this.depositGetOrdersHistory.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositLogout`, + this.depositLogout.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetCountries`, + this.depositGetCountries.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetCryptoCurrencies`, + this.depositGetCryptoCurrencies.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetPaymentMethods`, + this.depositGetPaymentMethods.bind(this), + ); + this.messenger.registerActionHandler( + `${controllerName}:depositGetTransalation`, + this.depositGetTransalation.bind(this), + ); } } diff --git a/yarn.lock b/yarn.lock index 37784add1dd..66c32301dc0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,164 +12,154 @@ __metadata: languageName: node linkType: hard -"@algolia/cache-browser-local-storage@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/cache-browser-local-storage@npm:4.24.0" +"@algolia/cache-browser-local-storage@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/cache-browser-local-storage@npm:4.25.2" dependencies: - "@algolia/cache-common": "npm:4.24.0" - checksum: 10/f7f9bdb1fa37e788a5cb8c835e526caff2fa097f68736accd4c82ade5e5cb7f5bbd361cf8fc8c2a4628d979d81bd90597bdaed77ca72de8423593067b3d15040 + "@algolia/cache-common": "npm:4.25.2" + checksum: 10/ca0f39001e1d8d9b42adea349baadf1ff9f2ff43e87f4bc85928c0298cc533c1b061f393e1df40a87dbc365e4231dd85a6d8867fbdbd7e6de74c4a79745f307d languageName: node linkType: hard -"@algolia/cache-common@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/cache-common@npm:4.24.0" - checksum: 10/bc1d0f8731713f7e6f10cd397b7d8f7464f14a2f4e1decc73a48e99ecbc0fe41bd4df1cc3eb0a4ecf286095e3eb3935b2ea40179de98e11676f8e7d78c622df8 +"@algolia/cache-common@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/cache-common@npm:4.25.2" + checksum: 10/706dca5d9c570490b4760646a94d5ed7b603cc846ae3b62c42fc5e7958cdd74b7bd37506be62bf4b97f4b6551526f7a64597c3240fe2c5e7477a8ece986c8d12 languageName: node linkType: hard -"@algolia/cache-in-memory@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/cache-in-memory@npm:4.24.0" +"@algolia/cache-in-memory@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/cache-in-memory@npm:4.25.2" dependencies: - "@algolia/cache-common": "npm:4.24.0" - checksum: 10/0476f65f4b622b1b38f050a03b9bf02cf6cc77fc69ec785d16e244770eb2c5eea581b089a346d24bdbc3561be78d383f2a8b81179b801b2af72d9795bc48fee2 + "@algolia/cache-common": "npm:4.25.2" + checksum: 10/ffd66ff76cba41a1dd26e3575902881e7a5f685018c5d5b6ec2a972c682a56940b593ac3d33d59aac296db884328f0bd19a16e83281c69e3582ab121ed759d56 languageName: node linkType: hard -"@algolia/client-account@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/client-account@npm:4.24.0" +"@algolia/client-account@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/client-account@npm:4.25.2" dependencies: - "@algolia/client-common": "npm:4.24.0" - "@algolia/client-search": "npm:4.24.0" - "@algolia/transporter": "npm:4.24.0" - checksum: 10/059cf39f3e48b2e77a26435267284d2d15a7a3c4e904feb2b2ad2dd207a3ca2e2b3597847ec9f3b1141749b25fb2e6091e9933f53cb86ab278b5b93836c85aad + "@algolia/client-common": "npm:4.25.2" + "@algolia/client-search": "npm:4.25.2" + "@algolia/transporter": "npm:4.25.2" + checksum: 10/a39e1be468aef039093f604872afee2cdf8ba17b1b6ed46fe4454a199b147c54a6daccef4efa830d1536385a3f0f5999bb37c52c9b4e09b943117b82d9bd5b3a languageName: node linkType: hard -"@algolia/client-analytics@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/client-analytics@npm:4.24.0" +"@algolia/client-analytics@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/client-analytics@npm:4.25.2" dependencies: - "@algolia/client-common": "npm:4.24.0" - "@algolia/client-search": "npm:4.24.0" - "@algolia/requester-common": "npm:4.24.0" - "@algolia/transporter": "npm:4.24.0" - checksum: 10/eaa4be80636082a1fbeb0d099ef882ae6576fb0b6dc64988e9e6939533b4ddfffdbe16061cfd3f89b18bbf5aba21dff5a68af4f20b2719cf72d83a1f0774f6d5 + "@algolia/client-common": "npm:4.25.2" + "@algolia/client-search": "npm:4.25.2" + "@algolia/requester-common": "npm:4.25.2" + "@algolia/transporter": "npm:4.25.2" + checksum: 10/9954f32826d47cd99cb3bd34c7164d752ae5ff895e53ad5fddb4ac1949a98718ef0bb9c9e6bb0df1713438981d9bf038257137ab62df1a3bd72d6836f681b80e languageName: node linkType: hard -"@algolia/client-common@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/client-common@npm:4.24.0" +"@algolia/client-common@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/client-common@npm:4.25.2" dependencies: - "@algolia/requester-common": "npm:4.24.0" - "@algolia/transporter": "npm:4.24.0" - checksum: 10/0271dc8d7b7008f28df612f14790a50a2297bdaac363be28b6261d2ec3ec343c06cc14f3f113d511a2eb4cda49ee4c204e37fc413c9f699234d8e5741b04c98f + "@algolia/requester-common": "npm:4.25.2" + "@algolia/transporter": "npm:4.25.2" + checksum: 10/b88e2abb9dede8fd457471f33f9592b2c0ad3866a95773a3075f8dd457ab400e336d68015f51f826a47aa31662750886ec579a20d45b8f90078269bcf0b5c0c3 languageName: node linkType: hard -"@algolia/client-personalization@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/client-personalization@npm:4.24.0" +"@algolia/client-personalization@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/client-personalization@npm:4.25.2" dependencies: - "@algolia/client-common": "npm:4.24.0" - "@algolia/requester-common": "npm:4.24.0" - "@algolia/transporter": "npm:4.24.0" - checksum: 10/5b922d547a31ef76cc6872de9b880ac7f5783321d441fd8d596eab57554c882183e1a24b050f411dee0235c7a99bf52393c3937e08db0a7f2c238a8c37985464 + "@algolia/client-common": "npm:4.25.2" + "@algolia/requester-common": "npm:4.25.2" + "@algolia/transporter": "npm:4.25.2" + checksum: 10/5c2547f40de5ce65fb25685ccee830c98c8d868c4eba3d49710238fdd9b8b6880eaad51fe32831cba1ee04fd614efe8aa50acce492095c09e6d20c91d0595ae9 languageName: node linkType: hard -"@algolia/client-search@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/client-search@npm:4.24.0" +"@algolia/client-search@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/client-search@npm:4.25.2" dependencies: - "@algolia/client-common": "npm:4.24.0" - "@algolia/requester-common": "npm:4.24.0" - "@algolia/transporter": "npm:4.24.0" - checksum: 10/2cdcc4239b1bd84e3bd642e380d9135612b80dc68393d23211088141d7c8cb055394588babdf5c984817b997e9e0c4356cd50a8a56dd1ee6ad594f5f76c44acb + "@algolia/client-common": "npm:4.25.2" + "@algolia/requester-common": "npm:4.25.2" + "@algolia/transporter": "npm:4.25.2" + checksum: 10/90a4df2ed4da8d4699801b74aaa1351fae098172cd5905afecd1b645294e7083080fff97722878a41135dc8a692623bc3ad69540d438150ed23ac534d7e1e63d languageName: node linkType: hard -"@algolia/logger-common@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/logger-common@npm:4.24.0" - checksum: 10/668fb5a2cbb6aaea7648ae522b5d088241589a9da9f8abb53e2daa89ca2d0bc04307291f57c65de7a332e092cc054cc98cc21b12af81620099632ca85c4ef074 +"@algolia/logger-common@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/logger-common@npm:4.25.2" + checksum: 10/56676de8131841cc966cd60f7804ff61d2266f56c1f8045ccb99680ce5b28eeecbb3db42b40add8750c17ac6bd3b0cee0eaa1f9ee38af38b17c4553b40bf2f22 languageName: node linkType: hard -"@algolia/logger-console@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/logger-console@npm:4.24.0" +"@algolia/logger-console@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/logger-console@npm:4.25.2" dependencies: - "@algolia/logger-common": "npm:4.24.0" - checksum: 10/846d94ecac2e914a2aa7d1ace301cca7371b2bc757c737405eca8d29fc1a26e788387862851c90f611c90f43755367ce676802a21fa37a3bf8531b1a16f5183b + "@algolia/logger-common": "npm:4.25.2" + checksum: 10/f593e31479c41373112f89d7e38a0a2d28312b2c885f0e7286dc39685842098c3ac9a22ebbd9c6b965be09077c5184830a50405c3f32150ee961d9b60f86f564 languageName: node linkType: hard -"@algolia/recommend@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/recommend@npm:4.24.0" +"@algolia/recommend@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/recommend@npm:4.25.2" dependencies: - "@algolia/cache-browser-local-storage": "npm:4.24.0" - "@algolia/cache-common": "npm:4.24.0" - "@algolia/cache-in-memory": "npm:4.24.0" - "@algolia/client-common": "npm:4.24.0" - "@algolia/client-search": "npm:4.24.0" - "@algolia/logger-common": "npm:4.24.0" - "@algolia/logger-console": "npm:4.24.0" - "@algolia/requester-browser-xhr": "npm:4.24.0" - "@algolia/requester-common": "npm:4.24.0" - "@algolia/requester-node-http": "npm:4.24.0" - "@algolia/transporter": "npm:4.24.0" - checksum: 10/cd228381744ddc4547f1796e38e72e52b158823313dcdfde20d99c2510b6c76996bff98e7223e983768c2a13a3c019e65939741429c0f7de19651f98f74bd834 + "@algolia/cache-browser-local-storage": "npm:4.25.2" + "@algolia/cache-common": "npm:4.25.2" + "@algolia/cache-in-memory": "npm:4.25.2" + "@algolia/client-common": "npm:4.25.2" + "@algolia/client-search": "npm:4.25.2" + "@algolia/logger-common": "npm:4.25.2" + "@algolia/logger-console": "npm:4.25.2" + "@algolia/requester-browser-xhr": "npm:4.25.2" + "@algolia/requester-common": "npm:4.25.2" + "@algolia/requester-node-http": "npm:4.25.2" + "@algolia/transporter": "npm:4.25.2" + checksum: 10/79d75c34bd24ac73a957a2450efcdc1024bae61c3394530f3c815d93b3a5aa3fefbec1ec5de6abd1b1d7454d75e3f8d5026d98f655cdb220898e69e7f08391e3 languageName: node linkType: hard -"@algolia/requester-browser-xhr@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/requester-browser-xhr@npm:4.24.0" +"@algolia/requester-browser-xhr@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/requester-browser-xhr@npm:4.25.2" dependencies: - "@algolia/requester-common": "npm:4.24.0" - checksum: 10/7c32d38d6c7a83357f52134f50271f1ee3df63888b28bc53040a3c74ef73458d80efaf44a5943a3769e84737c2ffd0743e1044a3b5e99ce69289f63e22b50f2a + "@algolia/requester-common": "npm:4.25.2" + checksum: 10/62f2caded45a1af6f4aa4bde925565f21d037010ff89bab0bb58289bda9bd0ecfa9dd5a451b74ef059970f280cadca98a8b294bd055f70fa75fd5034507d5c19 languageName: node linkType: hard -"@algolia/requester-common@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/requester-common@npm:4.24.0" - checksum: 10/5ca1abd00918ad2c9aed379208d920883c7c3e69b480afe0b1d00b4eb205e39ccd347809b368ba764889261f659c85963f9a00d3da3bd59592db74108d54788b +"@algolia/requester-common@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/requester-common@npm:4.25.2" + checksum: 10/68ae6e4ff01f67807e1b61ea37433e4d0a39fdfbd1da5fcc35e3180757fd272cea7fd07bebe7510d7b7fcfd6dc1992535cb70595829b7e1cd12d516c2df523ff languageName: node linkType: hard -"@algolia/requester-node-http@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/requester-node-http@npm:4.24.0" +"@algolia/requester-node-http@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/requester-node-http@npm:4.25.2" dependencies: - "@algolia/requester-common": "npm:4.24.0" - checksum: 10/387ee892bf35f46be269996de88f9ea12841796aa33cb5088ba6460a48733614a33300ee44bca0af22b6fded05c16ec92631fb998e9a7e1e6a30504d8b407c23 + "@algolia/requester-common": "npm:4.25.2" + checksum: 10/31a62aae0c041f49b2b5bf4dd794d88f6f5b356902b3a264061c2dc3a5273f6edfc69a06a5c40c0cdc6a25e4bbc66e0eb9f37ac3e65593a5f53293bab0f96560 languageName: node linkType: hard -"@algolia/transporter@npm:4.24.0": - version: 4.24.0 - resolution: "@algolia/transporter@npm:4.24.0" +"@algolia/transporter@npm:4.25.2": + version: 4.25.2 + resolution: "@algolia/transporter@npm:4.25.2" dependencies: - "@algolia/cache-common": "npm:4.24.0" - "@algolia/logger-common": "npm:4.24.0" - "@algolia/requester-common": "npm:4.24.0" - checksum: 10/decf4d5da37d62ff720e25313a473160c2be4c83bfb048d5caebea0320f42681138e91e78b359b8f825059c2acc83054bc17d53584701984f5e79822eb770efa - languageName: node - linkType: hard - -"@ampproject/remapping@npm:^2.2.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10/f3451525379c68a73eb0a1e65247fbf28c0cccd126d93af21c75fceff77773d43c0d4a2d51978fb131aff25b5f2cb41a9fe48cc296e61ae65e679c4f6918b0ab + "@algolia/cache-common": "npm:4.25.2" + "@algolia/logger-common": "npm:4.25.2" + "@algolia/requester-common": "npm:4.25.2" + checksum: 10/4ad449c56b142806577e885edfbeb11c0219ce08cc8128c2d5283d72a00ad4c37173784e098b4c8aa6052667569f8886d6d096136cf9e526779551c130e82daf languageName: node linkType: hard @@ -182,220 +172,217 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.26.2": - version: 7.26.2 - resolution: "@babel/code-frame@npm:7.26.2" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.27.1" js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10/db2c2122af79d31ca916755331bb4bac96feb2b334cdaca5097a6b467fdd41963b89b14b6836a14f083de7ff887fc78fa1b3c10b14e743d33e12dbfe5ee3d223 + picocolors: "npm:^1.1.1" + checksum: 10/721b8a6e360a1fa0f1c9fe7351ae6c874828e119183688b533c477aa378f1010f37cc9afbfc4722c686d1f5cdd00da02eab4ba7278a0c504fa0d7a321dcd4fdf languageName: node linkType: hard -"@babel/compat-data@npm:^7.25.9": - version: 7.26.3 - resolution: "@babel/compat-data@npm:7.26.3" - checksum: 10/0bf4e491680722aa0eac26f770f2fae059f92e2ac083900b241c90a2c10f0fc80e448b1feccc2b332687fab4c3e33e9f83dee9ef56badca1fb9f3f71266d9ebf +"@babel/compat-data@npm:^7.27.2": + version: 7.28.5 + resolution: "@babel/compat-data@npm:7.28.5" + checksum: 10/5a5ff00b187049e847f04bd02e21fbd8094544e5016195c2b45e56fa2e311eeb925b158f52a85624c9e6bacc1ce0323e26c303513723d918a8034e347e22610d languageName: node linkType: hard "@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.5, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0": - version: 7.26.0 - resolution: "@babel/core@npm:7.26.0" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.26.0" - "@babel/generator": "npm:^7.26.0" - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-module-transforms": "npm:^7.26.0" - "@babel/helpers": "npm:^7.26.0" - "@babel/parser": "npm:^7.26.0" - "@babel/template": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.26.0" + version: 7.28.5 + resolution: "@babel/core@npm:7.28.5" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.5" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-module-transforms": "npm:^7.28.3" + "@babel/helpers": "npm:^7.28.4" + "@babel/parser": "npm:^7.28.5" + "@babel/template": "npm:^7.27.2" + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + "@jridgewell/remapping": "npm:^2.3.5" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10/65767bfdb1f02e80d3af4f138066670ef8fdd12293de85ef151758a901c191c797e86d2e99b11c4cdfca33c72385ecaf38bbd7fa692791ec44c77763496b9b93 + checksum: 10/2f1e224125179f423f4300d605a0c5a3ef315003281a63b1744405b2605ee2a2ffc5b1a8349aa4f262c72eca31c7e1802377ee04ad2b852a2c88f8ace6cac324 languageName: node linkType: hard -"@babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.7.2": - version: 7.26.3 - resolution: "@babel/generator@npm:7.26.3" +"@babel/generator@npm:^7.28.5, @babel/generator@npm:^7.7.2": + version: 7.28.5 + resolution: "@babel/generator@npm:7.28.5" dependencies: - "@babel/parser": "npm:^7.26.3" - "@babel/types": "npm:^7.26.3" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" + "@babel/parser": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10/c1d8710cc1c52af9d8d67f7d8ea775578aa500887b327d2a81e27494764a6ef99e438dd7e14cf7cd3153656492ee27a8362980dc438087c0ca39d4e75532c638 + checksum: 10/ae618f0a17a6d76c3983e1fd5d9c2f5fdc07703a119efdb813a7d9b8ad4be0a07d4c6f0d718440d2de01a68e321f64e2d63c77fc5d43ae47ae143746ef28ac1f languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" +"@babel/helper-annotate-as-pure@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10/a9017bfc1c4e9f2225b967fbf818004703de7cf29686468b54002ffe8d6b56e0808afa20d636819fcf3a34b89ba72f52c11bdf1d69f303928ee10d92752cad95 + "@babel/types": "npm:^7.27.3" + checksum: 10/63863a5c936ef82b546ca289c9d1b18fabfc24da5c4ee382830b124e2e79b68d626207febc8d4bffc720f50b2ee65691d7d12cc0308679dee2cd6bdc926b7190 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-compilation-targets@npm:7.25.9" +"@babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" dependencies: - "@babel/compat-data": "npm:^7.25.9" - "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10/8053fbfc21e8297ab55c8e7f9f119e4809fa7e505268691e1bedc2cf5e7a5a7de8c60ad13da2515378621b7601c42e101d2d679904da395fa3806a1edef6b92e + checksum: 10/bd53c30a7477049db04b655d11f4c3500aea3bcbc2497cf02161de2ecf994fec7c098aabbcebe210ffabc2ecbdb1e3ffad23fb4d3f18723b814f423ea1749fe8 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.25.0": - version: 7.25.4 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.4" +"@babel/helper-create-class-features-plugin@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-create-class-features-plugin@npm:7.28.5" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-member-expression-to-functions": "npm:^7.24.8" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.25.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.4" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/47218da9fd964af30d41f0635d9e33eed7518e03aa8f10c3eb8a563bb2c14f52be3e3199db5912ae0e26058c23bb511c811e565c55ecec09427b04b867ed13c2 + checksum: 10/0bbf3dfe91875f642fe7ef38f60647f0df8eb9994d4350b19a4d1a9bdc32629e49e56e9a80afb12eeb6f6bcc6666392b37f32231b7c054fc91a0d5251cd67d5b + languageName: node + linkType: hard + +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10/91445f7edfde9b65dcac47f4f858f68dc1661bf73332060ab67ad7cc7b313421099a2bfc4bda30c3db3842cfa1e86fffbb0d7b2c5205a177d91b22c8d7d9cb47 languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.8" +"@babel/helper-member-expression-to-functions@npm:^7.27.1, @babel/helper-member-expression-to-functions@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" dependencies: - "@babel/traverse": "npm:^7.24.8" - "@babel/types": "npm:^7.24.8" - checksum: 10/ac878761cfd0a46c081cda0da75cc186f922cf16e8ecdd0c4fb6dca4330d9fe4871b41a9976224cf9669c9e7fe0421b5c27349f2e99c125fa0be871b327fa770 + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + checksum: 10/05e0857cf7913f03d88ca62952d3888693c21a4f4d7cfc141c630983f71fc0a64393e05cecceb7701dfe98298f7cc38fcb735d892e3c8c6f56f112c85ee1b154 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-module-imports@npm:7.25.9" +"@babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10/e090be5dee94dda6cd769972231b21ddfae988acd76b703a480ac0c96f3334557d70a965bf41245d6ee43891e7571a8b400ccf2b2be5803351375d0f4e5bcf08 + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10/58e792ea5d4ae71676e0d03d9fef33e886a09602addc3bd01388a98d87df9fcfd192968feb40ac4aedb7e287ec3d0c17b33e3ecefe002592041a91d8a1998a8d languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/helper-module-transforms@npm:7.26.0" +"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/helper-module-transforms@npm:7.28.3" dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.3" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/9841d2a62f61ad52b66a72d08264f23052d533afc4ce07aec2a6202adac0bfe43014c312f94feacb3291f4c5aafe681955610041ece2c276271adce3f570f2f5 + checksum: 10/598fdd8aa5b91f08542d0ba62a737847d0e752c8b95ae2566bc9d11d371856d6867d93e50db870fb836a6c44cfe481c189d8a2b35ca025a224f070624be9fa87 languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10/da7a7f2d1bb1be4cffd5fa820bd605bc075c7dd014e0458f608bb6f34f450fe9412c8cea93e788227ab396e0e02c162d7b1db3fbcb755a6360e354c485d61df0 + "@babel/types": "npm:^7.27.1" + checksum: 10/0fb7ee824a384529d6b74f8a58279f9b56bfe3cce332168067dddeab2552d8eeb56dc8eaf86c04a3a09166a316cb92dfc79c4c623cd034ad4c563952c98b464f languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.24.8 - resolution: "@babel/helper-plugin-utils@npm:7.24.8" - checksum: 10/adbc9fc1142800a35a5eb0793296924ee8057fe35c61657774208670468a9fbfbb216f2d0bc46c680c5fefa785e5ff917cc1674b10bd75cdf9a6aa3444780630 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 10/96136c2428888e620e2ec493c25888f9ceb4a21099dcf3dd4508ea64b58cdedbd5a9fb6c7b352546de84d6c24edafe482318646932a22c449ebd16d16c22d864 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-replace-supers@npm:7.25.0" +"@babel/helper-replace-supers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-replace-supers@npm:7.27.1" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.24.8" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/97c6c17780cb9692132f7243f5a21fb6420104cb8ff8752dc03cfc9a1912a243994c0290c77ff096637ab6f2a7363b63811cfc68c2bad44e6b39460ac2f6a63f - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-simple-access@npm:7.24.7" - dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10/5083e190186028e48fc358a192e4b93ab320bd016103caffcfda81302a13300ccce46c9cd255ae520c25d2a6a9b47671f93e5fe5678954a2329dc0a685465c49 + checksum: 10/72e3f8bef744c06874206bf0d80a0abbedbda269586966511c2491df4f6bf6d47a94700810c7a6737345a545dfb8295222e1e72f506bcd0b40edb3f594f739ea languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10/784a6fdd251a9a7e42ccd04aca087ecdab83eddc60fda76a2950e00eb239cc937d3c914266f0cc476298b52ac3f44ffd04c358e808bd17552a7e008d75494a77 + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10/4f380c5d0e0769fa6942a468b0c2d7c8f0c438f941aaa88f785f8752c103631d0904c7b4e76207a3b0e6588b2dec376595370d92ca8f8f1b422c14a69aa146d4 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-string-parser@npm:7.25.9" - checksum: 10/c28656c52bd48e8c1d9f3e8e68ecafd09d949c57755b0d353739eb4eae7ba4f7e67e92e4036f1cd43378cc1397a2c943ed7bcaf5949b04ab48607def0258b775 +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10/0ae29cc2005084abdae2966afdb86ed14d41c9c37db02c3693d5022fba9f5d59b011d039380b8e537c34daf117c549f52b452398f576e908fb9db3c7abbb3a00 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-identifier@npm:7.25.9" - checksum: 10/3f9b649be0c2fd457fa1957b694b4e69532a668866b8a0d81eabfa34ba16dbf3107b39e0e7144c55c3c652bf773ec816af8df4a61273a2bb4eb3145ca9cf478e +"@babel/helper-validator-identifier@npm:^7.27.1, @babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10/8e5d9b0133702cfacc7f368bf792f0f8ac0483794877c6dca5fcb73810ee138e27527701826fb58a40a004f3a5ec0a2f3c3dd5e326d262530b119918f3132ba7 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-option@npm:7.25.9" - checksum: 10/9491b2755948ebbdd68f87da907283698e663b5af2d2b1b02a2765761974b1120d5d8d49e9175b167f16f72748ffceec8c9cf62acfbee73f4904507b246e2b3d +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10/db73e6a308092531c629ee5de7f0d04390835b21a263be2644276cb27da2384b64676cab9f22cd8d8dbd854c92b1d7d56fc8517cf0070c35d1c14a8c828b0903 languageName: node linkType: hard -"@babel/helpers@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/helpers@npm:7.26.0" +"@babel/helpers@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/helpers@npm:7.28.4" dependencies: - "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.26.0" - checksum: 10/fd4757f65d10b64cfdbf4b3adb7ea6ffff9497c53e0786452f495d1f7794da7e0898261b4db65e1c62bbb9a360d7d78a1085635c23dfc3af2ab6dcba06585f86 + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.4" + checksum: 10/5a70a82e196cf8808f8a449cc4780c34d02edda2bb136d39ce9d26e63b615f18e89a95472230c3ce7695db0d33e7026efeee56f6454ed43480f223007ed205eb languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/parser@npm:7.26.3" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.4, @babel/parser@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/parser@npm:7.28.5" dependencies: - "@babel/types": "npm:^7.26.3" + "@babel/types": "npm:^7.28.5" bin: parser: ./bin/babel-parser.js - checksum: 10/e7e3814b2dc9ee3ed605d38223471fa7d3a84cbe9474d2b5fa7ac57dc1ddf75577b1fd3a93bf7db8f41f28869bda795cddd80223f980be23623b6434bf4c88a8 + checksum: 10/8d9bfb437af6c97a7f6351840b9ac06b4529ba79d6d3def24d6c2996ab38ff7f1f9d301e868ca84a93a3050fadb3d09dbc5105b24634cd281671ac11eebe8df7 languageName: node linkType: hard @@ -444,13 +431,13 @@ __metadata: linkType: hard "@babel/plugin-syntax-import-attributes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.7" + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/22fc50bd85a491bb8d22065f330a41f60d66f2f2d7a1deb73e80c8a4b5d7a42a092a03f8da18800650eca0fc14585167cc4e5c9fab351f0d390d1592347162ae + checksum: 10/97973982fff1bbf86b3d1df13380567042887c50e2ae13a400d02a8ff2c9742a60a75e279bfb73019e1cd9710f04be5e6ab81f896e6678dcfcec8b135e8896cf languageName: node linkType: hard @@ -476,14 +463,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" +"@babel/plugin-syntax-jsx@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/a93516ae5b34868ab892a95315027d4e5e38e8bd1cfca6158f2974b0901cbb32bbe64ea10ad5b25f919ddc40c6d8113c4823372909c9c9922170c12b0b1acecb + checksum: 10/c6d1324cff286a369aa95d99b8abd21dd07821b5d3affd5fe7d6058c84cff9190743287826463ee57a7beecd10fa1e4bc99061df532ee14e188c1c8937b13e3a languageName: node linkType: hard @@ -575,102 +562,99 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.24.7, @babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.25.4 - resolution: "@babel/plugin-syntax-typescript@npm:7.25.4" +"@babel/plugin-syntax-typescript@npm:^7.27.1, @babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.27.1 + resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/0771b45a35fd536cd3b3a48e5eda0f53e2d4f4a0ca07377cc247efa39eaf6002ed1c478106aad2650e54aefaebcb4f34f3284c4ae9252695dbd944bf66addfb0 + checksum: 10/87836f7e32af624c2914c73cd6b9803cf324e07d43f61dbb973c6a86f75df725e12540d91fac7141c14b697aa9268fd064220998daced156e96ac3062d7afb41 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.23.3, @babel/plugin-transform-modules-commonjs@npm:^7.24.7": - version: 7.24.8 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" +"@babel/plugin-transform-modules-commonjs@npm:^7.23.3, @babel/plugin-transform-modules-commonjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.8" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/18e5d229767c7b5b6ff0cbf1a8d2d555965b90201839d0ac2dc043b56857624ea344e59f733f028142a8c1d54923b82e2a0185694ef36f988d797bfbaf59819c + checksum: 10/9059243a977bc1f13e3dccfc6feb6508890e7c7bb191f7eb56626b20672b4b12338051ca835ab55426875a473181502c8f35b4df58ba251bef63b25866d995fe languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.24.7": - version: 7.25.2 - resolution: "@babel/plugin-transform-typescript@npm:7.25.2" +"@babel/plugin-transform-typescript@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-typescript@npm:7.28.5" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-create-class-features-plugin": "npm:^7.25.0" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-syntax-typescript": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/50e017ffd131c08661daa22b6c759999bb7a6cdfbf683291ee4bcbea4ae839440b553d2f8896bcf049aca1d267b39f3b09e8336059e919e83149b5ad859671f6 + checksum: 10/e4706379df70c2de9d3d3f573ff74a160e05221620a22dd0a64899ab45fddad9e4530fbba33014c75906f13aa78d8044fed80dba85068e11d84ed1f033dea445 languageName: node linkType: hard "@babel/preset-typescript@npm:^7.23.3": - version: 7.24.7 - resolution: "@babel/preset-typescript@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-syntax-jsx": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.7" - "@babel/plugin-transform-typescript": "npm:^7.24.7" + version: 7.28.5 + resolution: "@babel/preset-typescript@npm:7.28.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-typescript": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/995e9783f8e474581e7533d6b10ec1fbea69528cc939ad8582b5937e13548e5215d25a8e2c845e7b351fdaa13139896b5e42ab3bde83918ea4e41773f10861ac + checksum: 10/72c03e01c34906041b1813542761a283c52da1751e7ddf63191bc5fb2a0354eca30a00537c5a92951688bec3975bdc0e50ef4516b5e94cfd6d4cf947f2125bdc languageName: node linkType: hard -"@babel/runtime@npm:^7.23.9": - version: 7.25.4 - resolution: "@babel/runtime@npm:7.25.4" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10/70d2a420c24a3289ea6c4addaf3a1c4186bc3d001c92445faa3cd7601d7d2fbdb32c63b3a26b9771e20ff2f511fa76b726bf256f823cdb95bc37b8eadbd02f70 +"@babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.23.9": + version: 7.28.4 + resolution: "@babel/runtime@npm:7.28.4" + checksum: 10/6c9a70452322ea80b3c9b2a412bcf60771819213a67576c8cec41e88a95bb7bf01fc983754cda35dc19603eef52df22203ccbf7777b9d6316932f9fb77c25163 languageName: node linkType: hard -"@babel/template@npm:^7.25.9, @babel/template@npm:^7.3.3": - version: 7.25.9 - resolution: "@babel/template@npm:7.25.9" +"@babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" dependencies: - "@babel/code-frame": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10/e861180881507210150c1335ad94aff80fd9e9be6202e1efa752059c93224e2d5310186ddcdd4c0f0b0fc658ce48cb47823f15142b5c00c8456dde54f5de80b2 + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.2" + "@babel/types": "npm:^7.27.1" + checksum: 10/fed15a84beb0b9340e5f81566600dbee5eccd92e4b9cc42a944359b1aa1082373391d9d5fc3656981dff27233ec935d0bc96453cf507f60a4b079463999244d8 languageName: node linkType: hard -"@babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.4, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.7.2": - version: 7.26.4 - resolution: "@babel/traverse@npm:7.26.4" +"@babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.7.2": + version: 7.28.5 + resolution: "@babel/traverse@npm:7.28.5" dependencies: - "@babel/code-frame": "npm:^7.26.2" - "@babel/generator": "npm:^7.26.3" - "@babel/parser": "npm:^7.26.3" - "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.26.3" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.5" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.5" + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.5" debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10/30c81a80d66fc39842814bc2e847f4705d30f3859156f130d90a0334fe1d53aa81eed877320141a528ecbc36448acc0f14f544a7d410fa319d1c3ab63b50b58f + checksum: 10/1fce426f5ea494913c40f33298ce219708e703f71cac7ac045ebde64b5a7b17b9275dfa4e05fb92c3f123136913dff62c8113172f4a5de66dab566123dbe7437 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3, @babel/types@npm:^7.3.3": - version: 7.26.3 - resolution: "@babel/types@npm:7.26.3" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.23.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5, @babel/types@npm:^7.3.3": + version: 7.28.5 + resolution: "@babel/types@npm:7.28.5" dependencies: - "@babel/helper-string-parser": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10/c31d0549630a89abfa11410bf82a318b0c87aa846fbf5f9905e47ba5e2aa44f41cc746442f105d622c519e4dc532d35a8d8080460ff4692f9fc7485fbf3a00eb + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10/4256bb9fb2298c4f9b320bde56e625b7091ea8d2433d98dcf524d4086150da0b6555aabd7d0725162670614a9ac5bf036d1134ca13dedc9707f988670f1362d7 languageName: node linkType: hard @@ -681,281 +665,356 @@ __metadata: languageName: node linkType: hard +"@consensys/native-ramps-sdk@npm:2.1.5": + version: 2.1.5 + resolution: "@consensys/native-ramps-sdk@npm:2.1.5" + dependencies: + "@metamask/utils": "npm:^11.5.0" + async: "npm:^3.2.3" + axios: "npm:^1.11.0" + axios-retry: "npm:^3.1.2" + crypto-js: "npm:^4.2.0" + reflect-metadata: "npm:^0.1.13" + uuid: "npm:^9.0.0" + checksum: 10/f700000c5a0b5781fd7e5efe732626403945775b15964ebe3d66efae823307cc788657a54ae3b5f1847b748815bda9cd87d4e1deb4ee4b53caeeffc5e4d9119f + languageName: node + linkType: hard + +"@consensys/on-ramp-sdk@npm:^2.1.11": + version: 2.1.12 + resolution: "@consensys/on-ramp-sdk@npm:2.1.12" + dependencies: + async: "npm:^3.2.3" + axios: "npm:^1.8.3" + axios-retry: "npm:^3.1.2" + crypto-js: "npm:^4.2.0" + reflect-metadata: "npm:^0.1.13" + uuid: "npm:^9.0.0" + checksum: 10/59c70f0cbec62a55e3de01422026600913b07c075f592f212cbd8e5fc11b9555d1da385a7f12704403e5d1bc21d0f3b0730b6ca37f0440a51c05d18ac5b1e7a9 + languageName: node + linkType: hard + "@contentful/content-source-maps@npm:^0.11.0": - version: 0.11.1 - resolution: "@contentful/content-source-maps@npm:0.11.1" + version: 0.11.39 + resolution: "@contentful/content-source-maps@npm:0.11.39" dependencies: "@vercel/stega": "npm:^0.1.2" json-pointer: "npm:^0.6.2" - checksum: 10/598e88349210aed21c9ee871250353ae15cb4130180ade9cf283261e192a80c72f8674c5533c490ad1358850e45578ed6ed4ac997b32c23b029ae4d096fa5646 + checksum: 10/4b02ab5a49eb56ca341b712f6a8ea3e2a4e6c2b01db4439760f4476a997cef9c42b7a60fe9f5ba30f4494d2ae3bd468629a92b30f1e9e6ab06233025f96bdbbd languageName: node linkType: hard "@contentful/rich-text-html-renderer@npm:^16.5.2": - version: 16.6.9 - resolution: "@contentful/rich-text-html-renderer@npm:16.6.9" + version: 16.6.10 + resolution: "@contentful/rich-text-html-renderer@npm:16.6.10" dependencies: - "@contentful/rich-text-types": "npm:^16.8.4" + "@contentful/rich-text-types": "npm:^16.8.5" escape-html: "npm:^1.0.3" - checksum: 10/10bdcee4c01b89e5ab54ccab592bad7d3658fdd32ee58e2d5d18628a59ca47c7393c8dec41e96172b4c171f7fb4d2d1d6b9da9d6eeebbe5ed83fc3de8c4c0c89 + checksum: 10/fdf5121524355c96cd8a4628b2cc50a61b9b9d37da167dd983cc8fa24fa822427809d00064ebca9b85b8f40d92719f0b86f0e4ea4eaa8d078656ed56c51df6bb languageName: node linkType: hard -"@contentful/rich-text-types@npm:^16.0.2, @contentful/rich-text-types@npm:^16.8.4": - version: 16.8.4 - resolution: "@contentful/rich-text-types@npm:16.8.4" - checksum: 10/22e0a165545f32cc51d1e6231a9e7b617af98c452ecfb28ace9ba8a53b89bb2d940019ffae00ef2bc77c998630a66bfc88d01031e732afb11172f877064aa5b2 +"@contentful/rich-text-types@npm:^16.0.2, @contentful/rich-text-types@npm:^16.8.5": + version: 16.8.5 + resolution: "@contentful/rich-text-types@npm:16.8.5" + checksum: 10/7c1ec7088cc39bbd8f5edc14867ed3d59d06a55f2c92e6c62913aa2312056e920528e6ca6d59780b32c6fe2ab89c429b9f0bce9a52f456be7260f458527ccc3b languageName: node linkType: hard -"@endo/env-options@npm:^1.1.10": - version: 1.1.10 - resolution: "@endo/env-options@npm:1.1.10" - checksum: 10/a9facb3ac3b05ff7ccb699c6f2d3896b87e75d5c13a1ad82feb5309bd7a78d51f1155bf35eb02f48a6fdc2436ae6b52a87e6a7d6e6ac843f70233afaf280be40 +"@emnapi/core@npm:^1.4.3": + version: 1.6.0 + resolution: "@emnapi/core@npm:1.6.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.1.0" + tslib: "npm:^2.4.0" + checksum: 10/72e99690772a1eca8e6b2bcf1819ddc6867151b15fc650ca39ca03d43d9efaea46d731a2bf2659f5b31a1a8823367f5203fcb873bfacbcbe52f92a5574c7995a languageName: node linkType: hard -"@endo/immutable-arraybuffer@npm:^1.1.1": - version: 1.1.1 - resolution: "@endo/immutable-arraybuffer@npm:1.1.1" - checksum: 10/87a8a51b11a844f7ee7d67ba9370ce20ac38218e6af1eeaf7550c4699897c89f16751ca18c83930b87c7c994a7f6136354ca29afb08780f9286356b21a13e39f +"@emnapi/runtime@npm:^1.4.3": + version: 1.6.0 + resolution: "@emnapi/runtime@npm:1.6.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/88f685ecb23df070a61447bf61b12a113b7edecc248969e1dc18e4637ee8519389cde8b95c22b2144de41490b42aedc6a791fe1b00940a02fdeaadac1352bbf6 + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.1.0": + version: 1.1.0 + resolution: "@emnapi/wasi-threads@npm:1.1.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/0d557e75262d2f4c95cb2a456ba0785ef61f919ce488c1d76e5e3acfd26e00c753ef928cd80068363e0c166ba8cc0141305daf0f81aad5afcd421f38f11e0f4e + languageName: node + linkType: hard + +"@endo/cache-map@npm:^1.1.0": + version: 1.1.0 + resolution: "@endo/cache-map@npm:1.1.0" + checksum: 10/1cf2ebae70e9983edd30e830933df52ab9a0140fdecd420325fd20f1633b9afeb377b5cac548c7b7d04beb4cd1a14e672055ad25145119b2b151db78ffaa0b2f + languageName: node + linkType: hard + +"@endo/env-options@npm:^1.1.11": + version: 1.1.11 + resolution: "@endo/env-options@npm:1.1.11" + checksum: 10/a85326b2f422ebb3f5895ed263d230bf9c4915ed2f798210bebb3941daf94d97495f4767f4113bab8f3781b0534ecbe1d29067d7806478fd6237ab69e97fe5c1 + languageName: node + linkType: hard + +"@endo/immutable-arraybuffer@npm:^1.1.2": + version: 1.1.2 + resolution: "@endo/immutable-arraybuffer@npm:1.1.2" + checksum: 10/99159e4a04aad1dbe633b54b90f4591ff527c301ff2dc6585b65949e9c98b8942d726a23815470e6e4641c447bc94368cc96282f8fb50fb78f326b670c48cd16 languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.49.0": - version: 0.49.0 - resolution: "@es-joy/jsdoccomment@npm:0.49.0" +"@es-joy/jsdoccomment@npm:~0.50.2": + version: 0.50.2 + resolution: "@es-joy/jsdoccomment@npm:0.50.2" dependencies: + "@types/estree": "npm:^1.0.6" + "@typescript-eslint/types": "npm:^8.11.0" comment-parser: "npm:1.4.1" esquery: "npm:^1.6.0" jsdoc-type-pratt-parser: "npm:~4.1.0" - checksum: 10/d767cef9b09f22d1892b8bd544eee32aa7b55c585edf6b51452e6f377f205b06f46bd319174022f75794d39625b4b0f8ce75c8a4ea0b7fd0f773063506e0ef4d + checksum: 10/a309f01bd1691c6991e5efb78057ec9122ef33208fec2464d7b9e5838964b948fa46c9c944a09218a752b49267f05ac15b557018c8a1897fd8df47b944b4537f languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/aix-ppc64@npm:0.25.9" +"@esbuild/aix-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/aix-ppc64@npm:0.25.12" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/android-arm64@npm:0.25.9" +"@esbuild/android-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm64@npm:0.25.12" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/android-arm@npm:0.25.9" +"@esbuild/android-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm@npm:0.25.12" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/android-x64@npm:0.25.9" +"@esbuild/android-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-x64@npm:0.25.12" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/darwin-arm64@npm:0.25.9" +"@esbuild/darwin-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-arm64@npm:0.25.12" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/darwin-x64@npm:0.25.9" +"@esbuild/darwin-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-x64@npm:0.25.12" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/freebsd-arm64@npm:0.25.9" +"@esbuild/freebsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-arm64@npm:0.25.12" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/freebsd-x64@npm:0.25.9" +"@esbuild/freebsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-x64@npm:0.25.12" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-arm64@npm:0.25.9" +"@esbuild/linux-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm64@npm:0.25.12" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-arm@npm:0.25.9" +"@esbuild/linux-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm@npm:0.25.12" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-ia32@npm:0.25.9" +"@esbuild/linux-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ia32@npm:0.25.12" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-loong64@npm:0.25.9" +"@esbuild/linux-loong64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-loong64@npm:0.25.12" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-mips64el@npm:0.25.9" +"@esbuild/linux-mips64el@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-mips64el@npm:0.25.12" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-ppc64@npm:0.25.9" +"@esbuild/linux-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ppc64@npm:0.25.12" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-riscv64@npm:0.25.9" +"@esbuild/linux-riscv64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-riscv64@npm:0.25.12" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-s390x@npm:0.25.9" +"@esbuild/linux-s390x@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-s390x@npm:0.25.12" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-x64@npm:0.25.9" +"@esbuild/linux-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-x64@npm:0.25.12" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/netbsd-arm64@npm:0.25.9" +"@esbuild/netbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-arm64@npm:0.25.12" conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/netbsd-x64@npm:0.25.9" +"@esbuild/netbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-x64@npm:0.25.12" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/openbsd-arm64@npm:0.25.9" +"@esbuild/openbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-arm64@npm:0.25.12" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/openbsd-x64@npm:0.25.9" +"@esbuild/openbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-x64@npm:0.25.12" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openharmony-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/openharmony-arm64@npm:0.25.9" +"@esbuild/openharmony-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openharmony-arm64@npm:0.25.12" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/sunos-x64@npm:0.25.9" +"@esbuild/sunos-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/sunos-x64@npm:0.25.12" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/win32-arm64@npm:0.25.9" +"@esbuild/win32-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-arm64@npm:0.25.12" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/win32-ia32@npm:0.25.9" +"@esbuild/win32-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-ia32@npm:0.25.12" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/win32-x64@npm:0.25.9" +"@esbuild/win32-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-x64@npm:0.25.12" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.4.1": - version: 4.4.1 - resolution: "@eslint-community/eslint-utils@npm:4.4.1" +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.5.0, @eslint-community/eslint-utils@npm:^4.7.0, @eslint-community/eslint-utils@npm:^4.8.0": + version: 4.9.0 + resolution: "@eslint-community/eslint-utils@npm:4.9.0" dependencies: eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10/ae92a11412674329b4bd38422518601ec9ceae28e251104d1cad83715da9d38e321f68c817c39b64e66d0af7d98df6f9a10ad2dc638911254b47fb8932df00ef + checksum: 10/89b1eb3137e14c379865e60573f524fcc0ee5c4b0c7cd21090673e75e5a720f14b92f05ab2d02704c2314b67e67b6f96f3bb209ded6b890ced7b667aa4bf1fa2 languageName: node linkType: hard "@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.12.1": - version: 4.12.1 - resolution: "@eslint-community/regexpp@npm:4.12.1" - checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc + version: 4.12.2 + resolution: "@eslint-community/regexpp@npm:4.12.2" + checksum: 10/049b280fddf71dd325514e0a520024969431dc3a8b02fa77476e6820e9122f28ab4c9168c11821f91a27982d2453bcd7a66193356ea84e84fb7c8d793be1ba0c languageName: node linkType: hard -"@eslint/config-array@npm:^0.19.0": - version: 0.19.1 - resolution: "@eslint/config-array@npm:0.19.1" +"@eslint/config-array@npm:^0.21.1": + version: 0.21.1 + resolution: "@eslint/config-array@npm:0.21.1" dependencies: - "@eslint/object-schema": "npm:^2.1.5" + "@eslint/object-schema": "npm:^2.1.7" debug: "npm:^4.3.1" minimatch: "npm:^3.1.2" - checksum: 10/1243b01f463de85c970c18f0994f9d1850dafe8cc8c910edb64105d845edd3cacaa0bbf028bf35a6daaf5a179021140b6a8b1dc7a2f915b42c2d35f022a9c201 + checksum: 10/6eaa0435972f735ce52d581f355a0b616e50a9b8a73304a7015398096e252798b9b3b968a67b524eefb0fdeacc57c4d960f0ec6432abe1c1e24be815b88c5d18 + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.4.2": + version: 0.4.2 + resolution: "@eslint/config-helpers@npm:0.4.2" + dependencies: + "@eslint/core": "npm:^0.17.0" + checksum: 10/3f2b4712d8e391c36ec98bc200f7dea423dfe518e42956569666831b89ede83b33120c761dfd3ab6347d8e8894a6d4af47254a18d464a71c6046fd88065f6daf languageName: node linkType: hard -"@eslint/core@npm:^0.9.0": - version: 0.9.1 - resolution: "@eslint/core@npm:0.9.1" +"@eslint/core@npm:^0.17.0": + version: 0.17.0 + resolution: "@eslint/core@npm:0.17.0" dependencies: "@types/json-schema": "npm:^7.0.15" - checksum: 10/f2263f8f94fdf84fc34573e027de98f1fce6287120513ae672ddf0652c75b9fa77c314d565628fc58e0a6f959766acc34c8191f9b94f1757b910408ffa04adde + checksum: 10/f9a428cc651ec15fb60d7d60c2a7bacad4666e12508320eafa98258e976fafaa77d7be7be91519e75f801f15f830105420b14a458d4aab121a2b0a59bc43517b languageName: node linkType: hard -"@eslint/eslintrc@npm:^3.2.0": - version: 3.2.0 - resolution: "@eslint/eslintrc@npm:3.2.0" +"@eslint/eslintrc@npm:^3.3.1": + version: 3.3.1 + resolution: "@eslint/eslintrc@npm:3.3.1" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" @@ -966,30 +1025,31 @@ __metadata: js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10/b32dd90ce7da68e89b88cd729db46b27aac79a2e6cb1fa75d25a6b766d586b443bfbf59622489efbd3c6f696f147b51111e81ec7cd23d70f215c5d474cad0261 + checksum: 10/cc240addbab3c5fceaa65b2c8d5d4fd77ddbbf472c2f74f0270b9d33263dc9116840b6099c46b64c9680301146250439b044ed79278a1bcc557da412a4e3c1bb languageName: node linkType: hard -"@eslint/js@npm:9.17.0, @eslint/js@npm:^9.11.0": - version: 9.17.0 - resolution: "@eslint/js@npm:9.17.0" - checksum: 10/1a89e62f5c50e75d44565b7f3b91701455a999132c991e10bac59c118fbb54bdd54be22b9bda1ac730f78a2e64604403d65ce5dd7726d80b2632982cfc3d84ac +"@eslint/js@npm:9.39.0, @eslint/js@npm:^9.11.0": + version: 9.39.0 + resolution: "@eslint/js@npm:9.39.0" + checksum: 10/5858c2468f68e9204ec0a3a07cbb22352e8de89eb51bc83ac9754e2365b9c2d2aa0e0a3da46b98ea5d98a484c77111537f2a565b867bbdfe0448a0222404ef6b languageName: node linkType: hard -"@eslint/object-schema@npm:^2.1.5": - version: 2.1.5 - resolution: "@eslint/object-schema@npm:2.1.5" - checksum: 10/bb07ec53357047f20de923bcd61f0306d9eee83ef41daa32e633e154a44796b5bd94670169eccb8fd8cb4ff42228a43b86953a6321f789f98194baba8207b640 +"@eslint/object-schema@npm:^2.1.7": + version: 2.1.7 + resolution: "@eslint/object-schema@npm:2.1.7" + checksum: 10/946ef5d6235b4d1c0907c6c6e6429c8895f535380c562b7705c131f63f2e961b06e8785043c86a293da48e0a60c6286d98ba395b8b32ea55561fe6e4417cb7e4 languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.2.3": - version: 0.2.4 - resolution: "@eslint/plugin-kit@npm:0.2.4" +"@eslint/plugin-kit@npm:^0.4.1": + version: 0.4.1 + resolution: "@eslint/plugin-kit@npm:0.4.1" dependencies: + "@eslint/core": "npm:^0.17.0" levn: "npm:^0.4.1" - checksum: 10/e34d02ea1dccd716e51369620263a4b2167aff3c0510ed776e21336cc3ad7158087449a76931baf07cdc33810cb6919db375f2e9f409435d2c6e0dd5f4786b25 + checksum: 10/c5947d0ffeddca77d996ac1b886a66060c1a15ed1d5e425d0c7e7d7044a4bd3813fc968892d03950a7831c9b89368a2f7b281e45dd3c74a048962b74bf3a1cb4 languageName: node linkType: hard @@ -1075,24 +1135,24 @@ __metadata: languageName: node linkType: hard -"@ethersproject/abi@npm:^5.7.0": - version: 5.7.0 - resolution: "@ethersproject/abi@npm:5.7.0" +"@ethersproject/abi@npm:^5.7.0, @ethersproject/abi@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/abi@npm:5.8.0" dependencies: - "@ethersproject/address": "npm:^5.7.0" - "@ethersproject/bignumber": "npm:^5.7.0" - "@ethersproject/bytes": "npm:^5.7.0" - "@ethersproject/constants": "npm:^5.7.0" - "@ethersproject/hash": "npm:^5.7.0" - "@ethersproject/keccak256": "npm:^5.7.0" - "@ethersproject/logger": "npm:^5.7.0" - "@ethersproject/properties": "npm:^5.7.0" - "@ethersproject/strings": "npm:^5.7.0" - checksum: 10/6ed002cbc61a7e21bc0182702345659c1984f6f8e6bad166e43aee76ea8f74766dd0f6236574a868e1b4600af27972bf25b973fae7877ae8da3afa90d3965cac + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10/a63ebc2c8ea795ceca5289abaf817bb402c83c330cffd0ae2d355be70c54050a21ddd408abd4fd0dce4c3fd5c5f091707be2095011c233022a52f2110e7012d6 languageName: node linkType: hard -"@ethersproject/abstract-provider@npm:^5.7.0, @ethersproject/abstract-provider@npm:^5.8.0": +"@ethersproject/abstract-provider@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/abstract-provider@npm:5.8.0" dependencies: @@ -1107,7 +1167,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/abstract-signer@npm:^5.7.0, @ethersproject/abstract-signer@npm:^5.8.0": +"@ethersproject/abstract-signer@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/abstract-signer@npm:5.8.0" dependencies: @@ -1133,7 +1193,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/base64@npm:^5.7.0, @ethersproject/base64@npm:^5.8.0": +"@ethersproject/base64@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/base64@npm:5.8.0" dependencies: @@ -1142,7 +1202,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/basex@npm:^5.7.0, @ethersproject/basex@npm:^5.8.0": +"@ethersproject/basex@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/basex@npm:5.8.0" dependencies: @@ -1163,7 +1223,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/bytes@npm:^5.7.0, @ethersproject/bytes@npm:^5.8.0": +"@ethersproject/bytes@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/bytes@npm:5.8.0" dependencies: @@ -1182,24 +1242,24 @@ __metadata: linkType: hard "@ethersproject/contracts@npm:^5.7.0": - version: 5.7.0 - resolution: "@ethersproject/contracts@npm:5.7.0" + version: 5.8.0 + resolution: "@ethersproject/contracts@npm:5.8.0" dependencies: - "@ethersproject/abi": "npm:^5.7.0" - "@ethersproject/abstract-provider": "npm:^5.7.0" - "@ethersproject/abstract-signer": "npm:^5.7.0" - "@ethersproject/address": "npm:^5.7.0" - "@ethersproject/bignumber": "npm:^5.7.0" - "@ethersproject/bytes": "npm:^5.7.0" - "@ethersproject/constants": "npm:^5.7.0" - "@ethersproject/logger": "npm:^5.7.0" - "@ethersproject/properties": "npm:^5.7.0" - "@ethersproject/transactions": "npm:^5.7.0" - checksum: 10/5df66179af242faabea287a83fd2f8f303a4244dc87a6ff802e1e3b643f091451295c8e3d088c7739970b7915a16a581c192d4e007d848f1fdf3cc9e49010053 + "@ethersproject/abi": "npm:^5.8.0" + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + checksum: 10/839f8211f5e560f15468ae843ba316ffeacab5cebcece1eec76bc5714472ebfe3453484f283d3e46b9d3faaffef1e17cc3583cf24e01638a1fd52f69012cf8d4 languageName: node linkType: hard -"@ethersproject/hash@npm:^5.7.0, @ethersproject/hash@npm:^5.8.0": +"@ethersproject/hash@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/hash@npm:5.8.0" dependencies: @@ -1257,7 +1317,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/keccak256@npm:^5.7.0, @ethersproject/keccak256@npm:^5.8.0": +"@ethersproject/keccak256@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/keccak256@npm:5.8.0" dependencies: @@ -1267,14 +1327,14 @@ __metadata: languageName: node linkType: hard -"@ethersproject/logger@npm:^5.7.0, @ethersproject/logger@npm:^5.8.0": +"@ethersproject/logger@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/logger@npm:5.8.0" checksum: 10/dab862d6cc3a4312f4c49d62b4a603f4b60707da8b8ff0fee6bdfee3cbed48b34ec8f23fedfef04dd3d24f2fa2d7ad2be753c775aa00fe24dcd400631d65004a languageName: node linkType: hard -"@ethersproject/networks@npm:^5.7.0, @ethersproject/networks@npm:^5.8.0": +"@ethersproject/networks@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/networks@npm:5.8.0" dependencies: @@ -1293,7 +1353,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/properties@npm:^5.7.0, @ethersproject/properties@npm:^5.8.0": +"@ethersproject/properties@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/properties@npm:5.8.0" dependencies: @@ -1303,34 +1363,34 @@ __metadata: linkType: hard "@ethersproject/providers@npm:^5.7.0, @ethersproject/providers@npm:^5.7.2": - version: 5.7.2 - resolution: "@ethersproject/providers@npm:5.7.2" + version: 5.8.0 + resolution: "@ethersproject/providers@npm:5.8.0" dependencies: - "@ethersproject/abstract-provider": "npm:^5.7.0" - "@ethersproject/abstract-signer": "npm:^5.7.0" - "@ethersproject/address": "npm:^5.7.0" - "@ethersproject/base64": "npm:^5.7.0" - "@ethersproject/basex": "npm:^5.7.0" - "@ethersproject/bignumber": "npm:^5.7.0" - "@ethersproject/bytes": "npm:^5.7.0" - "@ethersproject/constants": "npm:^5.7.0" - "@ethersproject/hash": "npm:^5.7.0" - "@ethersproject/logger": "npm:^5.7.0" - "@ethersproject/networks": "npm:^5.7.0" - "@ethersproject/properties": "npm:^5.7.0" - "@ethersproject/random": "npm:^5.7.0" - "@ethersproject/rlp": "npm:^5.7.0" - "@ethersproject/sha2": "npm:^5.7.0" - "@ethersproject/strings": "npm:^5.7.0" - "@ethersproject/transactions": "npm:^5.7.0" - "@ethersproject/web": "npm:^5.7.0" + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/base64": "npm:^5.8.0" + "@ethersproject/basex": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/networks": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/random": "npm:^5.8.0" + "@ethersproject/rlp": "npm:^5.8.0" + "@ethersproject/sha2": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + "@ethersproject/web": "npm:^5.8.0" bech32: "npm:1.1.4" - ws: "npm:7.4.6" - checksum: 10/8534a1896e61b9f0b66427a639df64a5fe76d0c08ec59b9f0cc64fdd1d0cc28d9fc3312838ae8d7817c8f5e2e76b7f228b689bc33d1cbb8e1b9517d4c4f678d8 + ws: "npm:8.18.0" + checksum: 10/7d40fc0abb78fc9e69b71cb560beb2a93cf1da2cf978a061031a34c0ed76c2f5936ed8c0bdb9aa1307fe5308d0159e429b83b779dbd550639a886a88d6d17817 languageName: node linkType: hard -"@ethersproject/random@npm:^5.7.0, @ethersproject/random@npm:^5.8.0": +"@ethersproject/random@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/random@npm:5.8.0" dependencies: @@ -1340,7 +1400,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/rlp@npm:^5.7.0, @ethersproject/rlp@npm:^5.8.0": +"@ethersproject/rlp@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/rlp@npm:5.8.0" dependencies: @@ -1350,7 +1410,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/sha2@npm:^5.7.0, @ethersproject/sha2@npm:^5.8.0": +"@ethersproject/sha2@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/sha2@npm:5.8.0" dependencies: @@ -1375,7 +1435,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/strings@npm:^5.7.0, @ethersproject/strings@npm:^5.8.0": +"@ethersproject/strings@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/strings@npm:5.8.0" dependencies: @@ -1386,7 +1446,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/transactions@npm:^5.7.0, @ethersproject/transactions@npm:^5.8.0": +"@ethersproject/transactions@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/transactions@npm:5.8.0" dependencies: @@ -1426,7 +1486,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/web@npm:^5.7.0, @ethersproject/web@npm:^5.8.0": +"@ethersproject/web@npm:^5.8.0": version: 5.8.0 resolution: "@ethersproject/web@npm:5.8.0" dependencies: @@ -1452,18 +1512,34 @@ __metadata: languageName: node linkType: hard -"@firebase/analytics-compat@npm:0.2.17": - version: 0.2.17 - resolution: "@firebase/analytics-compat@npm:0.2.17" +"@firebase/ai@npm:1.4.1": + version: 1.4.1 + resolution: "@firebase/ai@npm:1.4.1" + dependencies: + "@firebase/app-check-interop-types": "npm:0.3.3" + "@firebase/component": "npm:0.6.18" + "@firebase/logger": "npm:0.4.4" + "@firebase/util": "npm:1.12.1" + tslib: "npm:^2.1.0" + peerDependencies: + "@firebase/app": 0.x + "@firebase/app-types": 0.x + checksum: 10/64b152365f3de9d12dc6691eebe673193a3a1034e9a2217c736a3b5d52e671f9cb61b35e85ecaf9a36c9667ce4c45fccaa4fc750b01fafcaeef757dc761ea971 + languageName: node + linkType: hard + +"@firebase/analytics-compat@npm:0.2.23": + version: 0.2.23 + resolution: "@firebase/analytics-compat@npm:0.2.23" dependencies: - "@firebase/analytics": "npm:0.10.11" + "@firebase/analytics": "npm:0.10.17" "@firebase/analytics-types": "npm:0.8.3" - "@firebase/component": "npm:0.6.12" - "@firebase/util": "npm:1.10.3" + "@firebase/component": "npm:0.6.18" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/3b048b41e0405a3975050f5d55afa923263ba3768d7b1b635d70892504cac03bd0bcf353b44819959dc6de7c04f1df818e34cec705c8ce18cf5c0866abe277b9 + checksum: 10/17414002039df8cfb5f1ed320b60b9d369ef2e9833cb4a4c485afff3ebad520e33aebda628556e940f5a2ad4741d56f58d3eaf754d1811dbd5fec9ed48a27fec languageName: node linkType: hard @@ -1474,34 +1550,34 @@ __metadata: languageName: node linkType: hard -"@firebase/analytics@npm:0.10.11": - version: 0.10.11 - resolution: "@firebase/analytics@npm:0.10.11" +"@firebase/analytics@npm:0.10.17": + version: 0.10.17 + resolution: "@firebase/analytics@npm:0.10.17" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/installations": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" + "@firebase/installations": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/804083f61ffc57dabeb7a1b49e16f86969d1b2a37fafc23633c90324768ab849e52324b6a10928d789e038ec2f5d93248717f18d5f0d2a4b916850b86051c214 + checksum: 10/689c9e8ce0f86c606c1c8ffc1c44cee84c9eb0c767fdf8ef8ccc138515a81071011d958aa06f35a8fc6cdff8050d3e91cb559aebc42fa944ab79ffab2b8dc1d4 languageName: node linkType: hard -"@firebase/app-check-compat@npm:0.3.18": - version: 0.3.18 - resolution: "@firebase/app-check-compat@npm:0.3.18" +"@firebase/app-check-compat@npm:0.3.26": + version: 0.3.26 + resolution: "@firebase/app-check-compat@npm:0.3.26" dependencies: - "@firebase/app-check": "npm:0.8.11" + "@firebase/app-check": "npm:0.10.1" "@firebase/app-check-types": "npm:0.5.3" - "@firebase/component": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/24b103fc309fa66d9830614c69bdf62810ecf0b77ad4fc9f318e05361a686cc3a684d84bddbd6afddc6a641739ead93ab1e8c28a75ed915750602b371aeb9b32 + checksum: 10/679cefa70e2c9b448e4c494a7e87f032b804777b0a4dde403ebdb9a1b3b2087e6d3248f3265a0083b32b24fbfd960b12ba171dd762f783a64fd47e0088583fa8 languageName: node linkType: hard @@ -1519,30 +1595,30 @@ __metadata: languageName: node linkType: hard -"@firebase/app-check@npm:0.8.11": - version: 0.8.11 - resolution: "@firebase/app-check@npm:0.8.11" +"@firebase/app-check@npm:0.10.1": + version: 0.10.1 + resolution: "@firebase/app-check@npm:0.10.1" dependencies: - "@firebase/component": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/e3f6a3940037c17a2faaf97a700d33b2c7821e07460e0a854d9f542acdcb589514bb4699df3adba1fb1d17ee75261006939b8ef60ec44bbe6c8c827b0797aa77 + checksum: 10/b10d72aa267799344a8f11539b427db27edfdcd9fd9810b94b54c980c509fe91af5cf2ca491c8aa28d312d72e27f162377bd0acd4ada28152c152a9b304209ba languageName: node linkType: hard -"@firebase/app-compat@npm:0.2.48": - version: 0.2.48 - resolution: "@firebase/app-compat@npm:0.2.48" +"@firebase/app-compat@npm:0.4.2": + version: 0.4.2 + resolution: "@firebase/app-compat@npm:0.4.2" dependencies: - "@firebase/app": "npm:0.10.18" - "@firebase/component": "npm:0.6.12" + "@firebase/app": "npm:0.13.2" + "@firebase/component": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" - checksum: 10/b74598b960ebb0a773b04e04d45dd59dbc8e09d1ae46c8ee7fd950632c95d357e8edab353df7032b798f2613884c96f3201eb5fbcdbfba67cb23757d66e63586 + checksum: 10/07547051fbd4164547f208907493db37c41d418e03436d1058dfcbaa4850125f937247edc5a0c29c661cbbc532357c9cde936ccb113ba5ca71c7544be88b3c00 languageName: node linkType: hard @@ -1553,31 +1629,31 @@ __metadata: languageName: node linkType: hard -"@firebase/app@npm:0.10.18": - version: 0.10.18 - resolution: "@firebase/app@npm:0.10.18" +"@firebase/app@npm:0.13.2": + version: 0.13.2 + resolution: "@firebase/app@npm:0.13.2" dependencies: - "@firebase/component": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" idb: "npm:7.1.1" tslib: "npm:^2.1.0" - checksum: 10/ac215e594d66e933207263c4c11ff585ba3843a0e73ab6f02c85f504f7b5e166f407a9bef299f5a91893840c7f5c8978895c0f6103b361fb188c1cfdb8c35030 + checksum: 10/74ab96561490da7d0bd46be5bb04d43edb65aaf96e6c9b17a7bda15d43a299b8204908e14e1fc29d690cff5a59345cc9e4a598ec99b46a22c1416f304875bc5e languageName: node linkType: hard -"@firebase/auth-compat@npm:0.5.17": - version: 0.5.17 - resolution: "@firebase/auth-compat@npm:0.5.17" +"@firebase/auth-compat@npm:0.5.28": + version: 0.5.28 + resolution: "@firebase/auth-compat@npm:0.5.28" dependencies: - "@firebase/auth": "npm:1.8.2" - "@firebase/auth-types": "npm:0.12.3" - "@firebase/component": "npm:0.6.12" - "@firebase/util": "npm:1.10.3" + "@firebase/auth": "npm:1.10.8" + "@firebase/auth-types": "npm:0.13.0" + "@firebase/component": "npm:0.6.18" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/4c6d0fa6f76c398872627f49c427c810269c0284bdca1acddf82b154c9cda7131e8acecd961c2e0947f0340428b67349b7f9471bb1bd75bd82839ce89879ccad + checksum: 10/df87c841e8ce44510927df1f5d6387787cc9ca7119a72436e1960f08fb8a96f11caf0dd71f947062bac78c104fb9afa7c04e5ef5dfa343a08c4609fb4b9deabd languageName: node linkType: hard @@ -1588,23 +1664,23 @@ __metadata: languageName: node linkType: hard -"@firebase/auth-types@npm:0.12.3": - version: 0.12.3 - resolution: "@firebase/auth-types@npm:0.12.3" +"@firebase/auth-types@npm:0.13.0": + version: 0.13.0 + resolution: "@firebase/auth-types@npm:0.13.0" peerDependencies: "@firebase/app-types": 0.x "@firebase/util": 1.x - checksum: 10/5eda88380e9b33a6c91b0f8dd6a581895c2770aa5b46b1928a006a74d35c6a310bfe737141ff013764a4e02815efa530f1576d674f09f905fbe3b14050dc7fce + checksum: 10/57d8e4b80e58d3a9e453b4676a29e3b0e548ca9f4c2b465137007bb5753e3bde2f6537f0be9779df17859ebc4e6b1b59c88215cdd59a32106391cf117072372d languageName: node linkType: hard -"@firebase/auth@npm:1.8.2": - version: 1.8.2 - resolution: "@firebase/auth@npm:1.8.2" +"@firebase/auth@npm:1.10.8": + version: 1.10.8 + resolution: "@firebase/auth@npm:1.10.8" dependencies: - "@firebase/component": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x @@ -1612,86 +1688,86 @@ __metadata: peerDependenciesMeta: "@react-native-async-storage/async-storage": optional: true - checksum: 10/8cfe5e6d78ea555f52bffad6e4b21824a30040fd52ffeb3d60edf0c122f0cbb66fc012e708f49473f045fa3064a4ac760e8bc6b24d5ccdf4ae7087b07da61247 + checksum: 10/c319d9c39a746317556c879e174bc8e0c4b6d3c72b8226ca3d6c6fc146387f0ad05cbe0b1d84c675a5b7cf6769fe5e696fbb140249c10f6b77586414642c0b39 languageName: node linkType: hard -"@firebase/component@npm:0.6.12": - version: 0.6.12 - resolution: "@firebase/component@npm:0.6.12" +"@firebase/component@npm:0.6.18": + version: 0.6.18 + resolution: "@firebase/component@npm:0.6.18" dependencies: - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" - checksum: 10/4dfd201d3709ef5eed477e13d399611a78a186ca8911846e24361f9848c3b4eecc14c295a8f78ec40c88816329fde0ba6cc30dce9a444fa43a619b7ea744f0dc + checksum: 10/cc50bd7fba3219c1dc8049cb3eee513ff76c13c9750588db3acc5d0bce98cdc7e546c227c7d7a21a96a1eb9366d20243d5770c4582fc967d2856235bf47a2023 languageName: node linkType: hard -"@firebase/data-connect@npm:0.2.0": - version: 0.2.0 - resolution: "@firebase/data-connect@npm:0.2.0" +"@firebase/data-connect@npm:0.3.10": + version: 0.3.10 + resolution: "@firebase/data-connect@npm:0.3.10" dependencies: "@firebase/auth-interop-types": "npm:0.2.4" - "@firebase/component": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/7ba5886bc69b0a42757539a3de417d550ca3359f495a3d8a3974e799a21fbcc2ea15393c00e183dcd01a845d42cad15a914345b4bed63bd401089861e92b1b35 + checksum: 10/22ca29b05ef868355b5744ba895bd4df7225f21c22a2f60147096d9f4fb7c68985cd7949d7674bf481a7a135b0a52355bc997eacdd1c29b99e3f236b4e4ea676 languageName: node linkType: hard -"@firebase/database-compat@npm:2.0.2": - version: 2.0.2 - resolution: "@firebase/database-compat@npm:2.0.2" +"@firebase/database-compat@npm:2.0.11": + version: 2.0.11 + resolution: "@firebase/database-compat@npm:2.0.11" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/database": "npm:1.0.11" - "@firebase/database-types": "npm:1.0.8" + "@firebase/component": "npm:0.6.18" + "@firebase/database": "npm:1.0.20" + "@firebase/database-types": "npm:1.0.15" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" - checksum: 10/5a341662c32f08f248ce9e8cecb940169f618c42a5a85de72247f13ffa32d5ca0a5619d0330f6ff8c7e1ea6952733534531e03e53e2746732bcfc6e851c031b3 + checksum: 10/fc85067ffbb3bf789353465e8f79b05d34a563cde909fc3057bcbdee002e07e26b99eba049f41c79385c71217db1d1207591415545a7b42e54318dc869bff7f2 languageName: node linkType: hard -"@firebase/database-types@npm:1.0.8": - version: 1.0.8 - resolution: "@firebase/database-types@npm:1.0.8" +"@firebase/database-types@npm:1.0.15": + version: 1.0.15 + resolution: "@firebase/database-types@npm:1.0.15" dependencies: "@firebase/app-types": "npm:0.9.3" - "@firebase/util": "npm:1.10.3" - checksum: 10/1b5483de082ff8d7551b21f087ba2f237bcd38ca9e3f48b1377b96213718e0a206437fe31a4e055c1b90d05a1f38f89fe1c92d50d907ca06c8727c73fc521c40 + "@firebase/util": "npm:1.12.1" + checksum: 10/b9e2ef2d4c51fa518e7ace10e990d8b0f449dc669537b6fe57dc2beca64c658703e7b06272ad5b0935f094f65abe870ef34793ee205aa6559f5404b886c835e6 languageName: node linkType: hard -"@firebase/database@npm:1.0.11": - version: 1.0.11 - resolution: "@firebase/database@npm:1.0.11" +"@firebase/database@npm:1.0.20": + version: 1.0.20 + resolution: "@firebase/database@npm:1.0.20" dependencies: "@firebase/app-check-interop-types": "npm:0.3.3" "@firebase/auth-interop-types": "npm:0.2.4" - "@firebase/component": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" faye-websocket: "npm:0.11.4" tslib: "npm:^2.1.0" - checksum: 10/8df5c54a6e88ecd2f71fe5bf156d23132c92f698210e23f27144dd871ea518e2268dc0eac91152091c8b75dbdf66d18c0ca623e80d1d3a69af5a3ed956a26e59 + checksum: 10/337189b26ef27bfb31244ef230f4b3c26797dfd3c80004f5fac256ec276783c90ee3b78a4b3efc5d7feb1afcfe817f739c212ea3a94126849a26a0b4a4134dd7 languageName: node linkType: hard -"@firebase/firestore-compat@npm:0.3.41": - version: 0.3.41 - resolution: "@firebase/firestore-compat@npm:0.3.41" +"@firebase/firestore-compat@npm:0.3.53": + version: 0.3.53 + resolution: "@firebase/firestore-compat@npm:0.3.53" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/firestore": "npm:4.7.6" + "@firebase/component": "npm:0.6.18" + "@firebase/firestore": "npm:4.8.0" "@firebase/firestore-types": "npm:3.0.3" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/a719fc6bd1150b5b1653053e73709b2b2edddb6c2a9274a896f9b38a6a09e92d650dbb5df55aceaf23c413445a8beb18073b8726247df9aadbe13d175154fff1 + checksum: 10/4ec87a5b060bd7111b0eaadd34f6f73a5ab5d8464fabc7e6cbc4df86d228ae4cbdb72fd214e328f9b6e6cd8614b54a88a1cbd41a6d468f4861429b6399e7a5f3 languageName: node linkType: hard @@ -1705,35 +1781,35 @@ __metadata: languageName: node linkType: hard -"@firebase/firestore@npm:4.7.6": - version: 4.7.6 - resolution: "@firebase/firestore@npm:4.7.6" +"@firebase/firestore@npm:4.8.0": + version: 4.8.0 + resolution: "@firebase/firestore@npm:4.8.0" dependencies: - "@firebase/component": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" "@firebase/webchannel-wrapper": "npm:1.0.3" "@grpc/grpc-js": "npm:~1.9.0" "@grpc/proto-loader": "npm:^0.7.8" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/76e879675b34212af74e3d294458e254c3f547d4168a377074671317b3bcfc07acdff1e853bd1f139b8e4a767e91749f00ee00aa52d968c67f190fe490256151 + checksum: 10/201f5c4773bcf1e87aacf248b9ea902402665c27670503f1f17e2ef4602b4eca371288c9f504e88a6ac23f97df0af1aab5e107ddb86b95b7a62adcfe0974dbf7 languageName: node linkType: hard -"@firebase/functions-compat@npm:0.3.18": - version: 0.3.18 - resolution: "@firebase/functions-compat@npm:0.3.18" +"@firebase/functions-compat@npm:0.3.26": + version: 0.3.26 + resolution: "@firebase/functions-compat@npm:0.3.26" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/functions": "npm:0.12.1" + "@firebase/component": "npm:0.6.18" + "@firebase/functions": "npm:0.12.9" "@firebase/functions-types": "npm:0.6.3" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/224132bbd592c73c717fb8b065a8e718d43c1f72d05135313fd19f7efd566164217d13e65bf6f142973bc35b29ff792c414610a9ddcd708601ddf718d739d3c9 + checksum: 10/42a0c5914bbb9dfdb1630acc6e7fd0c05cee0b5965df6325fb0bc34c591e8d12c45151b0edef3f56180bc3f0131ed2d33552d6a2428ac6929f717e5f485149e4 languageName: node linkType: hard @@ -1744,34 +1820,34 @@ __metadata: languageName: node linkType: hard -"@firebase/functions@npm:0.12.1": - version: 0.12.1 - resolution: "@firebase/functions@npm:0.12.1" +"@firebase/functions@npm:0.12.9": + version: 0.12.9 + resolution: "@firebase/functions@npm:0.12.9" dependencies: "@firebase/app-check-interop-types": "npm:0.3.3" "@firebase/auth-interop-types": "npm:0.2.4" - "@firebase/component": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" "@firebase/messaging-interop-types": "npm:0.2.3" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/db32ed6297a1f187062c772f3134f19849e3f1e55345838ebf2256555f1d65648c018ead208909bafd9620deba1191385f4223835cdad5c1c4e9567cb9244721 + checksum: 10/5646363243e07451c568d7b471a1c895a6b273d9cae168f70fa512a86916d85f9e2a73f9b378adef423a5e6b3af41cc2b5a8545458503f9956b1a5ebc93fd918 languageName: node linkType: hard -"@firebase/installations-compat@npm:0.2.12": - version: 0.2.12 - resolution: "@firebase/installations-compat@npm:0.2.12" +"@firebase/installations-compat@npm:0.2.18": + version: 0.2.18 + resolution: "@firebase/installations-compat@npm:0.2.18" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/installations": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" + "@firebase/installations": "npm:0.6.18" "@firebase/installations-types": "npm:0.5.3" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/ffd5e08e65e7067c06a4eb5601a09b017fce006b38108c10c412df8144e79bd08b4347998740425f312288b5a0839818e634486875857df5518c05a737c46ad8 + checksum: 10/5f5adc8384dcc6e1cee0c1f2e162134a38d3aac7a4152e5ee512da06174d79957c27bc49798dc79b28b668a233fb0b8eafb8d8dcd90c077357383329e7acf8a0 languageName: node linkType: hard @@ -1784,17 +1860,17 @@ __metadata: languageName: node linkType: hard -"@firebase/installations@npm:0.6.12": - version: 0.6.12 - resolution: "@firebase/installations@npm:0.6.12" +"@firebase/installations@npm:0.6.18": + version: 0.6.18 + resolution: "@firebase/installations@npm:0.6.18" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/util": "npm:1.10.3" + "@firebase/component": "npm:0.6.18" + "@firebase/util": "npm:1.12.1" idb: "npm:7.1.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/093295de087b4c9287d06243eb19814e25674047aafa4f5db9a222d8e64283d0362f37edf8cfbe882a80eac1d2d9fc52b821fbb01151ac925f023765251dd1de + checksum: 10/70d9036c6aa9c5ed79d1e66221ab38badbdcc2ff745d0bba4bede2d857c50e5678da6bea8862f8c31a74cb924778f6d0916286c4e5a9cb851decea3884ad6f56 languageName: node linkType: hard @@ -1807,17 +1883,17 @@ __metadata: languageName: node linkType: hard -"@firebase/messaging-compat@npm:0.2.16": - version: 0.2.16 - resolution: "@firebase/messaging-compat@npm:0.2.16" +"@firebase/messaging-compat@npm:0.2.22": + version: 0.2.22 + resolution: "@firebase/messaging-compat@npm:0.2.22" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/messaging": "npm:0.12.16" - "@firebase/util": "npm:1.10.3" + "@firebase/component": "npm:0.6.18" + "@firebase/messaging": "npm:0.12.22" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/1887599e3f7d7db5a70f923118eda769130aa134c6a6ba0a9f599c541d78b2e00b9548fc51c12f430c60a6e902221fe951a4beeddd674f1c042ffa32d1593dc9 + checksum: 10/67f266689f6889fa169188e276d483f546565ee895481ba890a549bc27977a1ef08066a320c3099b77cc695086c9f5f2d90a4b7d9a2e0e4293de01397b38c956 languageName: node linkType: hard @@ -1828,35 +1904,35 @@ __metadata: languageName: node linkType: hard -"@firebase/messaging@npm:0.12.16": - version: 0.12.16 - resolution: "@firebase/messaging@npm:0.12.16" +"@firebase/messaging@npm:0.12.22": + version: 0.12.22 + resolution: "@firebase/messaging@npm:0.12.22" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/installations": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" + "@firebase/installations": "npm:0.6.18" "@firebase/messaging-interop-types": "npm:0.2.3" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" idb: "npm:7.1.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/e237f35c4b179a521a6a37255fa719784ec73f30b76d179c059f21bf1e7ee6f907299c137a7b55496134dc5c3578d365c62b2e44988323edd3d96e5468f016d6 + checksum: 10/0639961d0cd695a44cb8f80a44a7e3d030a3746e6586db4a8d730623ac5d2a238d0a721fbd77cdaf3873f775881aee234e0e312c9bdcf70b65eb57be3ad5d58a languageName: node linkType: hard -"@firebase/performance-compat@npm:0.2.12": - version: 0.2.12 - resolution: "@firebase/performance-compat@npm:0.2.12" +"@firebase/performance-compat@npm:0.2.20": + version: 0.2.20 + resolution: "@firebase/performance-compat@npm:0.2.20" dependencies: - "@firebase/component": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/performance": "npm:0.6.12" + "@firebase/performance": "npm:0.7.7" "@firebase/performance-types": "npm:0.2.3" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/c171273df3994da6687a8e02dd7f046cd749d80d18e1bc241e1e8fd55f4d05578bcdd3924153fbf7175da2a0b88dc8fb6e7de98afe72dd1a36e54f96e807dea1 + checksum: 10/5589470cfc1952a53fa81885b9d061eacab431f1875d858ff25632f2287d789d0d6641bd1c08f54c93681e58d37104acf895c07583898c6e9ec7184a03460ff3 languageName: node linkType: hard @@ -1867,34 +1943,35 @@ __metadata: languageName: node linkType: hard -"@firebase/performance@npm:0.6.12": - version: 0.6.12 - resolution: "@firebase/performance@npm:0.6.12" +"@firebase/performance@npm:0.7.7": + version: 0.7.7 + resolution: "@firebase/performance@npm:0.7.7" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/installations": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" + "@firebase/installations": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" + web-vitals: "npm:^4.2.4" peerDependencies: "@firebase/app": 0.x - checksum: 10/68f802e2a1f0add51e2346049957487561d1f59f9ea57f8447d7ba771210aee875aaa144d7db56bb376bac3509d800e917e6c3560e3dbf19bdc60c6e1bc67766 + checksum: 10/c4ad40b795966cecec89de66f4da76b750215cd4c859fda84db00c3a11b0633749873ac71d2c2dee307239cfdf9e5d1f1e83ef54061f9f03995df4cddc724319 languageName: node linkType: hard -"@firebase/remote-config-compat@npm:0.2.12": - version: 0.2.12 - resolution: "@firebase/remote-config-compat@npm:0.2.12" +"@firebase/remote-config-compat@npm:0.2.18": + version: 0.2.18 + resolution: "@firebase/remote-config-compat@npm:0.2.18" dependencies: - "@firebase/component": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/remote-config": "npm:0.5.0" + "@firebase/remote-config": "npm:0.6.5" "@firebase/remote-config-types": "npm:0.4.0" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/931c4739c2b11b2719076630f09f5aa18f9edf8e89cf35c9b9a3a8cc5afc497c86e68cca165e1416afcb0b8040ed04363c676d31118fdcf4bf3823ef9172785c + checksum: 10/ba4311b295a35bfa27628698cf06b46d8debaa2e0a0dae147baa28f72340809e94132eaa793df3fd3973b00b6713cc89ccaf4bd33f6c5bcd1f68064f35a563f2 languageName: node linkType: hard @@ -1905,33 +1982,33 @@ __metadata: languageName: node linkType: hard -"@firebase/remote-config@npm:0.5.0": - version: 0.5.0 - resolution: "@firebase/remote-config@npm:0.5.0" +"@firebase/remote-config@npm:0.6.5": + version: 0.6.5 + resolution: "@firebase/remote-config@npm:0.6.5" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/installations": "npm:0.6.12" + "@firebase/component": "npm:0.6.18" + "@firebase/installations": "npm:0.6.18" "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/58a6fad255d3975700e65d4d19ec3360703f920bcbd3bd2ff21f239367af7405bfec5fddf3f800fb405dd4e4456f73cdf0c5cbf624a9512d77293f7cf14b64d8 + checksum: 10/50e14afd65f9f4abb2dc3a268b3b82e522a9591123a1154b42a157228b71c661d7a7b77c81a3de59eec38c6ee278d5479516114f8d0e46162959e7af52bd6e2e languageName: node linkType: hard -"@firebase/storage-compat@npm:0.3.15": - version: 0.3.15 - resolution: "@firebase/storage-compat@npm:0.3.15" +"@firebase/storage-compat@npm:0.3.24": + version: 0.3.24 + resolution: "@firebase/storage-compat@npm:0.3.24" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/storage": "npm:0.13.5" + "@firebase/component": "npm:0.6.18" + "@firebase/storage": "npm:0.13.14" "@firebase/storage-types": "npm:0.8.3" - "@firebase/util": "npm:1.10.3" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app-compat": 0.x - checksum: 10/a4a4c64c44ea914a9509061ec373f33278f7096a547e7a9ed55c9100562bd688ca4f14f15eb3a798d5075b0e18dc15801bb95b23eddb2da600d855ee6c69e745 + checksum: 10/5445c8165d3732e31b77ca616497f930ed17c70d45202709907a38e82605d96df083fd5682b0c1fb6b34e71cebae9f8aa084abe81fd80e362ef80410fefcd508 languageName: node linkType: hard @@ -1945,41 +2022,25 @@ __metadata: languageName: node linkType: hard -"@firebase/storage@npm:0.13.5": - version: 0.13.5 - resolution: "@firebase/storage@npm:0.13.5" +"@firebase/storage@npm:0.13.14": + version: 0.13.14 + resolution: "@firebase/storage@npm:0.13.14" dependencies: - "@firebase/component": "npm:0.6.12" - "@firebase/util": "npm:1.10.3" + "@firebase/component": "npm:0.6.18" + "@firebase/util": "npm:1.12.1" tslib: "npm:^2.1.0" peerDependencies: "@firebase/app": 0.x - checksum: 10/89acbd41d3ed9bffe7a37e293b0dc572622c196665db2821d76690ee205397f3f331666c24b5c63c14caaadb3e519b3489400a6c5387e78d4fe0c97fe75128a9 - languageName: node - linkType: hard - -"@firebase/util@npm:1.10.3": - version: 1.10.3 - resolution: "@firebase/util@npm:1.10.3" - dependencies: - tslib: "npm:^2.1.0" - checksum: 10/8e5e1664a09798348abfa0cd138157943f8ee9c6e3804e6cb1dcff004b351a03f14f4b2711338133bb89f7f824546664af2c2aa98e229becbc9294cdddeecc99 + checksum: 10/e107960285ea7b0405e152e0da236c508d0b2b43f87a17accfd3fda5ea8b2d5fdad6a78a18b5e11b55817468afa3531b608bbb15ab83c54d3535aecd5a1e4ebd languageName: node linkType: hard -"@firebase/vertexai@npm:1.0.3": - version: 1.0.3 - resolution: "@firebase/vertexai@npm:1.0.3" +"@firebase/util@npm:1.12.1": + version: 1.12.1 + resolution: "@firebase/util@npm:1.12.1" dependencies: - "@firebase/app-check-interop-types": "npm:0.3.3" - "@firebase/component": "npm:0.6.12" - "@firebase/logger": "npm:0.4.4" - "@firebase/util": "npm:1.10.3" tslib: "npm:^2.1.0" - peerDependencies: - "@firebase/app": 0.x - "@firebase/app-types": 0.x - checksum: 10/67b0ac231a547ac99bef3a549199fbaa67271fe93c1dc2af48bfebcf8ac1a7ea45bec6c633b8ac3ad28b089a6601e2b352c68c53065242dccac07a20a887d6cd + checksum: 10/31c608b4a614534366bec66dd699384467bf08b60b97801c33793025851f530cd1837ff00434aef49bfc1f35a1b38262ed0ac73d4393a3c4eab77dccb30a215f languageName: node linkType: hard @@ -2001,8 +2062,8 @@ __metadata: linkType: hard "@grpc/proto-loader@npm:^0.7.8": - version: 0.7.13 - resolution: "@grpc/proto-loader@npm:0.7.13" + version: 0.7.15 + resolution: "@grpc/proto-loader@npm:0.7.15" dependencies: lodash.camelcase: "npm:^4.3.0" long: "npm:^5.0.0" @@ -2010,7 +2071,7 @@ __metadata: yargs: "npm:^17.7.2" bin: proto-loader-gen-types: build/bin/proto-loader-gen-types.js - checksum: 10/7e2d842c2061cbaf6450c71da0077263be3bab165454d5c8a3e1ae4d3c6d2915f02fd27da63ff01f05e127b1221acd40705273f5d29303901e60514e852992f4 + checksum: 10/2e2b33ace8bc34211522751a9e654faf9ac997577a9e9291b1619b4c05d7878a74d2101c3bc43b2b2b92bca7509001678fb191d4eb100684cc2910d66f36c373 languageName: node linkType: hard @@ -2022,12 +2083,12 @@ __metadata: linkType: hard "@humanfs/node@npm:^0.16.6": - version: 0.16.6 - resolution: "@humanfs/node@npm:0.16.6" + version: 0.16.7 + resolution: "@humanfs/node@npm:0.16.7" dependencies: "@humanfs/core": "npm:^0.19.1" - "@humanwhocodes/retry": "npm:^0.3.0" - checksum: 10/6d43c6727463772d05610aa05c83dab2bfbe78291022ee7a92cb50999910b8c720c76cc312822e2dea2b497aa1b3fef5fe9f68803fc45c9d4ed105874a65e339 + "@humanwhocodes/retry": "npm:^0.4.0" + checksum: 10/b3633d3dce898592cac515ba5e6693c78e6be92863541d3eaf2c009b10f52b2fa62ff6e6e06f240f2447ddbe7b5f1890bc34e9308470675c876eee207553a08d languageName: node linkType: hard @@ -2038,17 +2099,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.3.0": - version: 0.3.1 - resolution: "@humanwhocodes/retry@npm:0.3.1" - checksum: 10/eb457f699529de7f07649679ec9e0353055eebe443c2efe71c6dd950258892475a038e13c6a8c5e13ed1fb538cdd0a8794faa96b24b6ffc4c87fb1fc9f70ad7f - languageName: node - linkType: hard - -"@humanwhocodes/retry@npm:^0.4.1": - version: 0.4.1 - resolution: "@humanwhocodes/retry@npm:0.4.1" - checksum: 10/39fafc7319e88f61befebd5e1b4f0136534ea6a9bd10d74366698187bd63544210ec5d79a87ed4d91297f1cc64c4c53d45fb0077a2abfdce212cf0d3862d5f04 +"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": + version: 0.4.3 + resolution: "@humanwhocodes/retry@npm:0.4.3" + checksum: 10/0b32cfd362bea7a30fbf80bb38dcaf77fee9c2cae477ee80b460871d03590110ac9c77d654f04ec5beaf71b6f6a89851bdf6c1e34ccdf2f686bd86fcd97d9e61 languageName: node linkType: hard @@ -2090,6 +2144,22 @@ __metadata: languageName: node linkType: hard +"@isaacs/balanced-match@npm:^4.0.1": + version: 4.0.1 + resolution: "@isaacs/balanced-match@npm:4.0.1" + checksum: 10/102fbc6d2c0d5edf8f6dbf2b3feb21695a21bc850f11bc47c4f06aa83bd8884fde3fe9d6d797d619901d96865fdcb4569ac2a54c937992c48885c5e3d9967fe8 + languageName: node + linkType: hard + +"@isaacs/brace-expansion@npm:^5.0.0": + version: 5.0.0 + resolution: "@isaacs/brace-expansion@npm:5.0.0" + dependencies: + "@isaacs/balanced-match": "npm:^4.0.1" + checksum: 10/cf3b7f206aff12128214a1df764ac8cdbc517c110db85249b945282407e3dfc5c6e66286383a7c9391a059fc8e6e6a8ca82262fc9d2590bd615376141fbebd2d + languageName: node + linkType: hard + "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -2188,6 +2258,13 @@ __metadata: languageName: node linkType: hard +"@jest/diff-sequences@npm:30.0.1": + version: 30.0.1 + resolution: "@jest/diff-sequences@npm:30.0.1" + checksum: 10/0ddb7c7ba92d6057a2ee51a9cfc2155b77cca707fe959167466ea02dcb0687018cc3c22b9622f25f3a417d6ad370e2d4dcfedf9f1410dc9c02954a7484423cc7 + languageName: node + linkType: hard + "@jest/environment@npm:^27.5.1": version: 27.5.1 resolution: "@jest/environment@npm:27.5.1" @@ -2200,12 +2277,12 @@ __metadata: languageName: node linkType: hard -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" +"@jest/expect-utils@npm:30.2.0": + version: 30.2.0 + resolution: "@jest/expect-utils@npm:30.2.0" dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 10/ef8d379778ef574a17bde2801a6f4469f8022a46a5f9e385191dc73bb1fc318996beaed4513fbd7055c2847227a1bed2469977821866534593a6e52a281499ee + "@jest/get-type": "npm:30.1.0" + checksum: 10/f2442f1bceb3411240d0f16fd0074377211b4373d3b8b2dc28929e861b6527a6deb403a362c25afa511d933cda4dfbdc98d4a08eeb51ee4968f7cb0299562349 languageName: node linkType: hard @@ -2223,6 +2300,13 @@ __metadata: languageName: node linkType: hard +"@jest/get-type@npm:30.1.0": + version: 30.1.0 + resolution: "@jest/get-type@npm:30.1.0" + checksum: 10/e2a95fbb49ce2d15547db8af5602626caf9b05f62a5e583b4a2de9bd93a2bfe7175f9bbb2b8a5c3909ce261d467b6991d7265bb1d547cb60e7e97f571f361a70 + languageName: node + linkType: hard + "@jest/globals@npm:^27.5.1": version: 27.5.1 resolution: "@jest/globals@npm:27.5.1" @@ -2234,6 +2318,16 @@ __metadata: languageName: node linkType: hard +"@jest/pattern@npm:30.0.1": + version: 30.0.1 + resolution: "@jest/pattern@npm:30.0.1" + dependencies: + "@types/node": "npm:*" + jest-regex-util: "npm:30.0.1" + checksum: 10/afd03b4d3eadc9c9970cf924955dee47984a7e767901fe6fa463b17b246f0ddeec07b3e82c09715c54bde3c8abb92074160c0d79967bd23778724f184e7f5b7b + languageName: node + linkType: hard + "@jest/reporters@npm:^27.5.1": version: 27.5.1 resolution: "@jest/reporters@npm:27.5.1" @@ -2272,6 +2366,15 @@ __metadata: languageName: node linkType: hard +"@jest/schemas@npm:30.0.5": + version: 30.0.5 + resolution: "@jest/schemas@npm:30.0.5" + dependencies: + "@sinclair/typebox": "npm:^0.34.0" + checksum: 10/40df4db55d4aeed09d1c7e19caf23788309cea34490a1c5d584c913494195e698b9967e996afc27226cac6d76e7512fe73ae6b9584480695c60dd18a5459cdba + languageName: node + linkType: hard + "@jest/schemas@npm:^29.6.3": version: 29.6.3 resolution: "@jest/schemas@npm:29.6.3" @@ -2362,6 +2465,21 @@ __metadata: languageName: node linkType: hard +"@jest/types@npm:30.2.0": + version: 30.2.0 + resolution: "@jest/types@npm:30.2.0" + dependencies: + "@jest/pattern": "npm:30.0.1" + "@jest/schemas": "npm:30.0.5" + "@types/istanbul-lib-coverage": "npm:^2.0.6" + "@types/istanbul-reports": "npm:^3.0.4" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.33" + chalk: "npm:^4.1.2" + checksum: 10/f50fcaea56f873a51d19254ab16762f2ea8ca88e3e08da2e496af5da2b67c322915a4fcd0153803cc05063ffe87ebef2ab4330e0a1b06ab984a26c916cbfc26b + languageName: node + linkType: hard + "@jest/types@npm:^26.6.2": version: 26.6.2 resolution: "@jest/types@npm:26.6.2" @@ -2402,14 +2520,23 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.5 - resolution: "@jridgewell/gen-mapping@npm:0.3.5" +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10/902f8261dcf450b4af7b93f9656918e02eec80a2169e155000cb2059f90113dd98f3ccf6efc6072cee1dd84cac48cade51da236972d942babc40e4c23da4d62a + languageName: node + linkType: hard + +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" dependencies: - "@jridgewell/set-array": "npm:^1.2.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10/81587b3c4dd8e6c60252122937cea0c637486311f4ed208b52b62aae2e7a87598f63ec330e6cd0984af494bfb16d3f0d60d3b21d7e5b4aedd2602ff3fe9d32e2 + checksum: 10/c2bb01856e65b506d439455f28aceacf130d6c023d1d4e3b48705e88def3571753e1a887daa04b078b562316c92d26ce36408a60534bceca3f830aec88a339ad languageName: node linkType: hard @@ -2420,27 +2547,20 @@ __metadata: languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.2.1": - version: 1.2.1 - resolution: "@jridgewell/set-array@npm:1.2.1" - checksum: 10/832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": - version: 1.5.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" - checksum: 10/4ed6123217569a1484419ac53f6ea0d9f3b57e5b57ab30d7c267bdb27792a27eb0e4b08e84a2680aa55cc2f2b411ffd6ec3db01c44fdc6dc43aca4b55f8374fd +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10/5d9d207b462c11e322d71911e55e21a4e2772f71ffe8d6f1221b8eb5ae6774458c1d242f897fb0814e8714ca9a6b498abfa74dfe4f434493342902b1a48b33a5 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" +"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: "@jridgewell/resolve-uri": "npm:^3.1.0" "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10/dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc + checksum: 10/da0283270e691bdb5543806077548532791608e52386cfbbf3b9e8fb00457859d1bd01d512851161c886eb3a2f3ce6fd9bcf25db8edf3bddedd275bd4a88d606 languageName: node linkType: hard @@ -2470,9 +2590,9 @@ __metadata: linkType: hard "@json-schema-tools/meta-schema@npm:^1.7.5": - version: 1.7.5 - resolution: "@json-schema-tools/meta-schema@npm:1.7.5" - checksum: 10/707dc3a285c26c37d00f418e9d0ef8a2ad1c23d4936ad5aab0ce94c9ae36a7a6125c4ca5048513af64b7e6e527b5472a1701d1f709c379acdd7ad12f6409d2cd + version: 1.8.0 + resolution: "@json-schema-tools/meta-schema@npm:1.8.0" + checksum: 10/c6c9c3e6504299126c65bcf4bb7e6d28bfe5ab46d3c4fdc9b856204581edb0f088b15e790759e6357e91468d8a5213192fbe9b027a4811b988c19bbbb8d8f617 languageName: node linkType: hard @@ -2487,44 +2607,43 @@ __metadata: linkType: hard "@json-schema-tools/traverse@npm:^1.10.4": - version: 1.10.4 - resolution: "@json-schema-tools/traverse@npm:1.10.4" - checksum: 10/0027bc90df01c5eeee0833e722b7320b53be8b5ce3f4e0e4a6e45713a38e6f88f21aba31e3dd973093ef75cd21a40c07fe8f112da8f49a7919b1c0e44c904d20 + version: 1.11.0 + resolution: "@json-schema-tools/traverse@npm:1.11.0" + checksum: 10/1dd81baf29fd6de164f30376d2b9ca9e68778255a872dd78f81cf6f610127e9f4eba2507244c35189078839ed4aa453a876c169681eb9028954c0148355c2fcb languageName: node linkType: hard -"@lavamoat/aa@npm:^4.3.0": - version: 4.3.0 - resolution: "@lavamoat/aa@npm:4.3.0" +"@lavamoat/aa@npm:^4.3.4": + version: 4.3.4 + resolution: "@lavamoat/aa@npm:4.3.4" dependencies: - resolve: "npm:1.22.8" + resolve: "npm:1.22.10" bin: lavamoat-ls: src/cli.js - checksum: 10/c6c24ea88194ad06a83cc2a9e0b6918ee41ab40abcc5c889e1a33f214e48eb160dd0c4cea7b0e299f86d472810ef80e7caf0b2600499222b108690516d9f8123 + checksum: 10/062e85d6e13f4f59be6bc632d19166e5fdc0c2402aa4d7c2ce39308542d6b4daf8721f498360520abb6707e5590b6755f767c32c075291effeb24c48ed3a18b4 languageName: node linkType: hard "@lavamoat/allow-scripts@npm:^3.0.4": - version: 3.2.0 - resolution: "@lavamoat/allow-scripts@npm:3.2.0" + version: 3.4.0 + resolution: "@lavamoat/allow-scripts@npm:3.4.0" dependencies: - "@lavamoat/aa": "npm:^4.3.0" + "@lavamoat/aa": "npm:^4.3.4" "@npmcli/run-script": "npm:8.1.0" bin-links: "npm:4.0.4" npm-normalize-package-bin: "npm:3.0.1" + type-fest: "npm:4.41.0" yargs: "npm:17.7.2" - peerDependencies: - "@lavamoat/preinstall-always-fail": "*" bin: allow-scripts: src/cli.js - checksum: 10/21afb11ce25c0b2c9763bfb8f1127bb89f304ed83f64e00955c4d3007216a0ee553b777359e9ded874c61b3d7fa8d19ff8a35881cd3816985adab4d6b58bcb07 + checksum: 10/e845200f5ef9136d26ba370b49aecc23b1677d0fc5d9613c689ae3e8d09e9a7f0dacdef2a72f2a832c66eda4945b2faa9b72428bee216f98a2846c32cf5350d9 languageName: node linkType: hard "@lavamoat/preinstall-always-fail@npm:^2.1.0": - version: 2.1.0 - resolution: "@lavamoat/preinstall-always-fail@npm:2.1.0" - checksum: 10/385c3fac828b9edff2d8b5825bd29ea475206046984cdb3217518ad655f145ff37046414041534960d92cbe0759f0dc675f7c7dcf39a95003ae715a834fbd750 + version: 2.1.1 + resolution: "@lavamoat/preinstall-always-fail@npm:2.1.1" + checksum: 10/679cfd6b981326bf6f7cce63af4062b1e1e2ffaefd4db316e918ec41ac089c835aafd7f2bb5193cd25538e084d3df1375cd2ac5a52c3e7777aedeb2ee507dd29 languageName: node linkType: hard @@ -2895,8 +3014,8 @@ __metadata: linkType: hard "@metamask/auto-changelog@npm:^4.0.0": - version: 4.0.0 - resolution: "@metamask/auto-changelog@npm:4.0.0" + version: 4.1.0 + resolution: "@metamask/auto-changelog@npm:4.1.0" dependencies: diff: "npm:^5.0.0" execa: "npm:^5.1.1" @@ -2906,11 +3025,11 @@ __metadata: prettier: ">=3.0.0" bin: auto-changelog: dist/cli.js - checksum: 10/4968d316411e5f4820092391f79078839f49e0e26ecd0c48266b5a1e0e32614b75dad5f36b76e632a7a22a2f2eeeb762a693ae390b0373bff29081ff2a7eefda + checksum: 10/fe31a9eb364939c83bc5098482b761ca93593081680c4cba17b221150b4d32636cb25fd708e3692c198feddc95d8bcf524e19fa93567fb5aa30b03ea93249250 languageName: node linkType: hard -"@metamask/base-controller@npm:^8.0.1, @metamask/base-controller@npm:^8.4.2": +"@metamask/base-controller@npm:^8.0.1, @metamask/base-controller@npm:^8.1.0, @metamask/base-controller@npm:^8.4.2": version: 8.4.2 resolution: "@metamask/base-controller@npm:8.4.2" dependencies: @@ -3112,7 +3231,7 @@ __metadata: languageName: node linkType: hard -"@metamask/controller-utils@npm:^11.10.0, @metamask/controller-utils@npm:^11.14.1, @metamask/controller-utils@npm:^11.15.0, @metamask/controller-utils@workspace:packages/controller-utils": +"@metamask/controller-utils@npm:^11.11.0, @metamask/controller-utils@npm:^11.14.1, @metamask/controller-utils@npm:^11.15.0, @metamask/controller-utils@workspace:packages/controller-utils": version: 0.0.0-use.local resolution: "@metamask/controller-utils@workspace:packages/controller-utils" dependencies: @@ -3658,15 +3777,15 @@ __metadata: linkType: hard "@metamask/eth-snap-keyring@npm:^18.0.0": - version: 18.0.0 - resolution: "@metamask/eth-snap-keyring@npm:18.0.0" + version: 18.0.1 + resolution: "@metamask/eth-snap-keyring@npm:18.0.1" dependencies: "@ethereumjs/tx": "npm:^5.4.0" "@metamask/eth-sig-util": "npm:^8.2.0" - "@metamask/keyring-api": "npm:^21.1.0" - "@metamask/keyring-internal-api": "npm:^9.1.0" - "@metamask/keyring-internal-snap-client": "npm:^8.0.0" - "@metamask/keyring-snap-sdk": "npm:^7.1.0" + "@metamask/keyring-api": "npm:^21.2.0" + "@metamask/keyring-internal-api": "npm:^9.1.1" + "@metamask/keyring-internal-snap-client": "npm:^8.0.1" + "@metamask/keyring-snap-sdk": "npm:^7.1.1" "@metamask/keyring-utils": "npm:^3.1.0" "@metamask/messenger": "npm:^0.3.0" "@metamask/superstruct": "npm:^3.1.0" @@ -3674,8 +3793,8 @@ __metadata: "@types/uuid": "npm:^9.0.8" uuid: "npm:^9.0.1" peerDependencies: - "@metamask/keyring-api": ^21.1.0 - checksum: 10/39a6380e351997e53776c8db9d1558769517a1a12ec1431c40cedb516d90ae447a81b7b1c21bc8d8ffcbc31188cf52f17057a1416d509013cfe8b2f46b314e02 + "@metamask/keyring-api": ^21.2.0 + checksum: 10/fa4ea868d41cb6c3009a807bf72e10f278f89db390cab290148c47f6564c13a49d7d62779305ba2fa9502bb2c5ebd331b9288a11b26133044ec748ffbdf6413b languageName: node linkType: hard @@ -3978,15 +4097,15 @@ __metadata: languageName: node linkType: hard -"@metamask/keyring-api@npm:^21.0.0, @metamask/keyring-api@npm:^21.1.0": - version: 21.1.0 - resolution: "@metamask/keyring-api@npm:21.1.0" +"@metamask/keyring-api@npm:^21.0.0, @metamask/keyring-api@npm:^21.2.0": + version: 21.2.0 + resolution: "@metamask/keyring-api@npm:21.2.0" dependencies: "@metamask/keyring-utils": "npm:^3.1.0" "@metamask/superstruct": "npm:^3.1.0" "@metamask/utils": "npm:^11.1.0" bitcoin-address-validation: "npm:^2.2.3" - checksum: 10/3371a5ab0e9ba0e9b23b30b03a7d83d029e223def5485ab1aa2ec793ba18ff3738422dbe3c47f9cf82411d2ca6ca918928bf998741f0977055071b7bf3042314 + checksum: 10/cc3cd9f9ef65b33aa0af2f4aa556fab7ebab78ce21a09b8e1cb6f328b456c444e0169d7aac08dd62425fb12895d68dfee0ddb6e3d8a43950a8ba1852c6b92609 languageName: node linkType: hard @@ -4030,35 +4149,35 @@ __metadata: languageName: unknown linkType: soft -"@metamask/keyring-internal-api@npm:^9.0.0, @metamask/keyring-internal-api@npm:^9.1.0": - version: 9.1.0 - resolution: "@metamask/keyring-internal-api@npm:9.1.0" +"@metamask/keyring-internal-api@npm:^9.0.0, @metamask/keyring-internal-api@npm:^9.1.1": + version: 9.1.1 + resolution: "@metamask/keyring-internal-api@npm:9.1.1" dependencies: - "@metamask/keyring-api": "npm:^21.1.0" + "@metamask/keyring-api": "npm:^21.2.0" "@metamask/keyring-utils": "npm:^3.1.0" "@metamask/superstruct": "npm:^3.1.0" - checksum: 10/6b19f35f57bc1b5dc73957d7f3185236780c93e6292678e22d84f9eb2fe92e15a98437a9bc4fbe5e5e10143d4db36afa2c420636f2cca4bd984e8455ca4332c6 + checksum: 10/ab0fb8e153a02d3d0acf739d77356a1c60e0a7bf998dcbba9468f9f231605beaed472d8bff27dc56323d0a2529167336499e23dcad911fa8c3e37999ed14d2d1 languageName: node linkType: hard -"@metamask/keyring-internal-snap-client@npm:^8.0.0": - version: 8.0.0 - resolution: "@metamask/keyring-internal-snap-client@npm:8.0.0" +"@metamask/keyring-internal-snap-client@npm:^8.0.1": + version: 8.0.1 + resolution: "@metamask/keyring-internal-snap-client@npm:8.0.1" dependencies: - "@metamask/keyring-api": "npm:^21.1.0" - "@metamask/keyring-internal-api": "npm:^9.1.0" - "@metamask/keyring-snap-client": "npm:^8.1.0" + "@metamask/keyring-api": "npm:^21.2.0" + "@metamask/keyring-internal-api": "npm:^9.1.1" + "@metamask/keyring-snap-client": "npm:^8.1.1" "@metamask/keyring-utils": "npm:^3.1.0" "@metamask/messenger": "npm:^0.3.0" - checksum: 10/7a4aa08ac6ac1bda064182420af01b785aaaff37068d14577007ce40e53f4da33b3bbc1a18625ebd75cee6d08c34de8dc860e6c927477335d5f1df72328b563a + checksum: 10/40a686cd3d1f49accde83bb2a983ac9e897498e1de5a0ccb0768e382d44dd4c273230db95bcd6eace4ad8a184e7ab4fc780770f617994a2ca29b4302890f31b6 languageName: node linkType: hard -"@metamask/keyring-snap-client@npm:^8.0.0, @metamask/keyring-snap-client@npm:^8.1.0": - version: 8.1.0 - resolution: "@metamask/keyring-snap-client@npm:8.1.0" +"@metamask/keyring-snap-client@npm:^8.0.0, @metamask/keyring-snap-client@npm:^8.1.1": + version: 8.1.1 + resolution: "@metamask/keyring-snap-client@npm:8.1.1" dependencies: - "@metamask/keyring-api": "npm:^21.1.0" + "@metamask/keyring-api": "npm:^21.2.0" "@metamask/keyring-utils": "npm:^3.1.0" "@metamask/superstruct": "npm:^3.1.0" "@types/uuid": "npm:^9.0.8" @@ -4066,13 +4185,13 @@ __metadata: webextension-polyfill: "npm:^0.12.0" peerDependencies: "@metamask/providers": ^19.0.0 - checksum: 10/e92aa7f6e1454150870e8e0a6d9cf4fac7bbc22280d85a252ca7ee428842dfbaaaccae78dfc5ad773e21d757febfcbe6933a72b966c4478f1a2b3fc0088419a1 + checksum: 10/dcdc9a286137a4ae884b709e565b988fb2e555a8a80db5d2ed3e93ee5262c81567a4efac6ff663b6751caf5b1173f92bc8437a395696058018a3b6e93fc30b35 languageName: node linkType: hard -"@metamask/keyring-snap-sdk@npm:^7.1.0": - version: 7.1.0 - resolution: "@metamask/keyring-snap-sdk@npm:7.1.0" +"@metamask/keyring-snap-sdk@npm:^7.1.1": + version: 7.1.1 + resolution: "@metamask/keyring-snap-sdk@npm:7.1.1" dependencies: "@metamask/keyring-utils": "npm:^3.1.0" "@metamask/snaps-sdk": "npm:^9.0.0" @@ -4080,9 +4199,9 @@ __metadata: "@metamask/utils": "npm:^11.1.0" webextension-polyfill: "npm:^0.12.0" peerDependencies: - "@metamask/keyring-api": ^21.1.0 + "@metamask/keyring-api": ^21.2.0 "@metamask/providers": ^19.0.0 - checksum: 10/1a1809733c1f21af87f3491d292c499c5441afa0780e848718ec2b6aff50d76bb03ea44ee93ecaa80d79453a98926d84cd13ff406256ab6a2136d9e31250faa8 + checksum: 10/ac4ce050f4647096ef66ebd04d99d1423c002ca0fb05bd83e11caec59754b56d73bb8a95ac3a76f64472713256205e889d6785003dfe2c35f5f1d67c2f2efd12 languageName: node linkType: hard @@ -4411,14 +4530,12 @@ __metadata: linkType: soft "@metamask/nonce-tracker@npm:^6.0.0": - version: 6.0.0 - resolution: "@metamask/nonce-tracker@npm:6.0.0" + version: 6.1.0 + resolution: "@metamask/nonce-tracker@npm:6.1.0" dependencies: "@ethersproject/providers": "npm:^5.7.2" - async-mutex: "npm:^0.3.1" - peerDependencies: - "@metamask/eth-block-tracker": ">=9" - checksum: 10/e62edd38eeaba6d917bc3aed38017294f2bfdb59120a9fb4f093fe96a46d8d9214453a802fe782faaf4a007f4cd5f393607c70a2ff8479ecd7ef18827cad067a + async-mutex: "npm:^0.5.0" + checksum: 10/a20cf7084348ef7bdcd9e57e873ca34bf8e04ee43a2ab08634a3ad47fddb632d0e170c1dff03b4ca5bac34a24c35c542fcec509f3c23ce483834082f41b50e4a languageName: node linkType: hard @@ -4499,7 +4616,7 @@ __metadata: languageName: node linkType: hard -"@metamask/permission-controller@npm:^12.1.0, @metamask/permission-controller@workspace:packages/permission-controller": +"@metamask/permission-controller@npm:^12.0.0, @metamask/permission-controller@npm:^12.1.0, @metamask/permission-controller@workspace:packages/permission-controller": version: 0.0.0-use.local resolution: "@metamask/permission-controller@workspace:packages/permission-controller" dependencies: @@ -4551,18 +4668,18 @@ __metadata: languageName: unknown linkType: soft -"@metamask/phishing-controller@npm:^12.6.0": - version: 12.6.0 - resolution: "@metamask/phishing-controller@npm:12.6.0" +"@metamask/phishing-controller@npm:^13.1.0": + version: 13.1.0 + resolution: "@metamask/phishing-controller@npm:13.1.0" dependencies: "@metamask/base-controller": "npm:^8.0.1" - "@metamask/controller-utils": "npm:^11.10.0" + "@metamask/controller-utils": "npm:^11.11.0" "@noble/hashes": "npm:^1.4.0" "@types/punycode": "npm:^2.1.0" ethereum-cryptography: "npm:^2.1.2" fastest-levenshtein: "npm:^1.0.16" punycode: "npm:^2.1.1" - checksum: 10/6ec0f417763decab8f39d144e3070458bbcc80461d516780b14d380338e47f74c7b5c3f76b812afe9efd8b9c1cdf9c1bbf5b8215d226e7e64de0105efbd9a63a + checksum: 10/c62f71291736dfd635cc69b2d422687d8d610591a5e1cd9a6b4806cdc19221a72fe7699c0cabe0a2a108b49c3cc4dcb88a5b283fba374fe13e54d5813fb77902 languageName: node linkType: hard @@ -4699,9 +4816,9 @@ __metadata: languageName: unknown linkType: soft -"@metamask/providers@npm:^22.1.0": - version: 22.1.0 - resolution: "@metamask/providers@npm:22.1.0" +"@metamask/providers@npm:^22.1.0, @metamask/providers@npm:^22.1.1": + version: 22.1.1 + resolution: "@metamask/providers@npm:22.1.1" dependencies: "@metamask/json-rpc-engine": "npm:^10.0.2" "@metamask/json-rpc-middleware-stream": "npm:^8.0.6" @@ -4716,10 +4833,30 @@ __metadata: readable-stream: "npm:^3.6.2" peerDependencies: webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0 - checksum: 10/d6dc969296e3d478a904228f27adae3b6dcbfdbf49eb6d571c9d73d7506df3c6e3bf3c3464f1e69e4c0acb6f6072d12d1c8182348e626ca1572f4f22f9c585e6 + checksum: 10/50194c608fb308cee268c6eefb8c8d439a9d07aa41d07cb5ddcd7e706819aea7e746150f32688fe06d20309b49346440855b5d56aacf286b343da6fcb217cc12 languageName: node linkType: hard +"@metamask/ramps-controller@workspace:packages/ramps-controller": + version: 0.0.0-use.local + resolution: "@metamask/ramps-controller@workspace:packages/ramps-controller" + dependencies: + "@consensys/native-ramps-sdk": "npm:2.1.5" + "@consensys/on-ramp-sdk": "npm:^2.1.11" + "@metamask/auto-changelog": "npm:^3.4.4" + "@metamask/base-controller": "npm:^8.4.2" + "@metamask/messenger": "npm:^0.3.0" + "@metamask/utils": "npm:^11.8.1" + "@types/jest": "npm:^27.4.1" + deepmerge: "npm:^4.2.2" + jest: "npm:^27.5.1" + ts-jest: "npm:^27.1.4" + typedoc: "npm:^0.24.8" + typedoc-plugin-missing-exports: "npm:^2.0.0" + typescript: "npm:~5.2.2" + languageName: unknown + linkType: soft + "@metamask/rate-limit-controller@workspace:packages/rate-limit-controller": version: 0.0.0-use.local resolution: "@metamask/rate-limit-controller@workspace:packages/rate-limit-controller" @@ -4763,20 +4900,20 @@ __metadata: languageName: unknown linkType: soft -"@metamask/rpc-errors@npm:^7.0.2": - version: 7.0.2 - resolution: "@metamask/rpc-errors@npm:7.0.2" +"@metamask/rpc-errors@npm:^7.0.2, @metamask/rpc-errors@npm:^7.0.3": + version: 7.0.3 + resolution: "@metamask/rpc-errors@npm:7.0.3" dependencies: - "@metamask/utils": "npm:^11.0.1" + "@metamask/utils": "npm:^11.4.2" fast-safe-stringify: "npm:^2.0.6" - checksum: 10/daf77a48b3f970585ef1f2efe3383d620fd4bffb550e8c6378b04a052f6948724a0b7e8a3e45b8b73298c70c4b9594b71fe0272664ea99620fe36e23443f8545 + checksum: 10/3eb3e3665aa20566b04788578f93fdbcb2ca41db103f85a00b0002780da1ad5a3f3e9c26e32d9f01b05d7bcf9537091824433c3247e6c7df11ca384627adb809 languageName: node linkType: hard "@metamask/safe-event-emitter@npm:^3.0.0, @metamask/safe-event-emitter@npm:^3.1.1": - version: 3.1.1 - resolution: "@metamask/safe-event-emitter@npm:3.1.1" - checksum: 10/e24db4d7c20764bfc5b025065f92518c805f0ffb1da4820078b8cff7dcae964c0f354cf053fcb7ac659de015d5ffdf21aae5e8d44e191ee8faa9066855f22653 + version: 3.1.2 + resolution: "@metamask/safe-event-emitter@npm:3.1.2" + checksum: 10/8ef7579f9317eb5c94ecf3e6abb8d13b119af274b678805eac76abe4c0667bfdf539f385e552bb973e96333b71b77aa7c787cb3fce9cd5fb4b00f1dbbabf880d languageName: node linkType: hard @@ -4948,39 +5085,39 @@ __metadata: languageName: unknown linkType: soft -"@metamask/slip44@npm:^4.2.0": - version: 4.2.0 - resolution: "@metamask/slip44@npm:4.2.0" - checksum: 10/262c671647776afd66fff4d70206400ecfe576c40a38b32e2d21744f2f65dc117af194a9e2f611e389851a9ccf7b2f2f939521f555c5fdb8c4bc70508f5b99e8 +"@metamask/slip44@npm:^4.3.0": + version: 4.3.0 + resolution: "@metamask/slip44@npm:4.3.0" + checksum: 10/508983a48911f2be8d9de117d390ecfb5b949a6032f5d6c5cc63f7f23302b87468be6ff08dee4881d39e8f5f66b5545eab15e6fc0511acea10fd4c99852a8212 languageName: node linkType: hard "@metamask/snaps-controllers@npm:^14.0.1": - version: 14.0.1 - resolution: "@metamask/snaps-controllers@npm:14.0.1" + version: 14.2.2 + resolution: "@metamask/snaps-controllers@npm:14.2.2" dependencies: "@metamask/approval-controller": "npm:^7.1.3" - "@metamask/base-controller": "npm:^8.0.1" + "@metamask/base-controller": "npm:^8.1.0" "@metamask/json-rpc-engine": "npm:^10.0.2" "@metamask/json-rpc-middleware-stream": "npm:^8.0.7" "@metamask/key-tree": "npm:^10.1.1" "@metamask/object-multiplex": "npm:^2.1.0" "@metamask/permission-controller": "npm:^11.0.6" - "@metamask/phishing-controller": "npm:^12.6.0" + "@metamask/phishing-controller": "npm:^13.1.0" "@metamask/post-message-stream": "npm:^10.0.0" - "@metamask/rpc-errors": "npm:^7.0.2" + "@metamask/rpc-errors": "npm:^7.0.3" "@metamask/snaps-registry": "npm:^3.2.3" - "@metamask/snaps-rpc-methods": "npm:^13.2.0" - "@metamask/snaps-sdk": "npm:^9.0.0" - "@metamask/snaps-utils": "npm:^11.0.0" - "@metamask/utils": "npm:^11.4.0" + "@metamask/snaps-rpc-methods": "npm:^13.5.0" + "@metamask/snaps-sdk": "npm:^9.3.0" + "@metamask/snaps-utils": "npm:^11.5.0" + "@metamask/utils": "npm:^11.4.2" "@xstate/fsm": "npm:^2.0.0" async-mutex: "npm:^0.5.0" concat-stream: "npm:^2.0.0" cron-parser: "npm:^4.5.0" fast-deep-equal: "npm:^3.1.3" get-npm-tarball-url: "npm:^2.0.3" - immer: "npm:^9.0.6" + immer: "npm:^9.0.21" luxon: "npm:^3.5.0" nanoid: "npm:^3.3.10" readable-stream: "npm:^3.6.2" @@ -4988,11 +5125,11 @@ __metadata: semver: "npm:^7.5.4" tar-stream: "npm:^3.1.7" peerDependencies: - "@metamask/snaps-execution-environments": ^10.0.0 + "@metamask/snaps-execution-environments": ^10.2.1 peerDependenciesMeta: "@metamask/snaps-execution-environments": optional: true - checksum: 10/965f4d265eae9d2ef6620eaa950722f9ceab00164674fd1c6cba5fc6c2c4a42d556badea6d13e22c8d10035e6aea67a591cbaea30c45754d0963069d0b363c86 + checksum: 10/8b9081d2954408b0f4465e9fee007aed1ad3af66624380b4a4a7a98ebf463cbbc4bb2b8d624d984afdaf7bee13c3668b44f0bfee7c27c9bd41c46242dc5e4647 languageName: node linkType: hard @@ -5008,50 +5145,63 @@ __metadata: languageName: node linkType: hard -"@metamask/snaps-rpc-methods@npm:^13.2.0": - version: 13.2.0 - resolution: "@metamask/snaps-rpc-methods@npm:13.2.0" +"@metamask/snaps-rpc-methods@npm:^13.5.0": + version: 13.5.3 + resolution: "@metamask/snaps-rpc-methods@npm:13.5.3" dependencies: "@metamask/key-tree": "npm:^10.1.1" "@metamask/permission-controller": "npm:^11.0.6" - "@metamask/rpc-errors": "npm:^7.0.2" - "@metamask/snaps-sdk": "npm:^9.0.0" - "@metamask/snaps-utils": "npm:^11.0.0" + "@metamask/rpc-errors": "npm:^7.0.3" + "@metamask/snaps-sdk": "npm:^10.0.0" + "@metamask/snaps-utils": "npm:^11.6.0" "@metamask/superstruct": "npm:^3.2.1" - "@metamask/utils": "npm:^11.4.0" + "@metamask/utils": "npm:^11.8.1" "@noble/hashes": "npm:^1.7.1" - checksum: 10/28881ac49c6278b104d7d0be7805342db0d6dc65cd24b497d4ca1440384f964fbecdca437771adeb216e7883d58c1140c2e221fbd7277c5da0ad64a6926eea9a + checksum: 10/3474e7a7e3de18d8d6e2dd0b1adb43ba79d676bcbd5a9ecb41e85015524044a6371aa325872153835a19405cd5ce4e4656adbe28f339105b59d9e00085e48538 languageName: node linkType: hard -"@metamask/snaps-sdk@npm:^9.0.0": - version: 9.0.0 - resolution: "@metamask/snaps-sdk@npm:9.0.0" +"@metamask/snaps-sdk@npm:^10.0.0": + version: 10.0.0 + resolution: "@metamask/snaps-sdk@npm:10.0.0" dependencies: "@metamask/key-tree": "npm:^10.1.1" - "@metamask/providers": "npm:^22.1.0" - "@metamask/rpc-errors": "npm:^7.0.2" + "@metamask/providers": "npm:^22.1.1" + "@metamask/rpc-errors": "npm:^7.0.3" "@metamask/superstruct": "npm:^3.2.1" - "@metamask/utils": "npm:^11.4.0" - checksum: 10/a71e0f748109b6624bdb3cb572067500caa159caf71d2e673bb9e931b284334284581cc09db71c0d35e9537cfb0dba7e3beb2011a20c954263c5b9d751360495 + "@metamask/utils": "npm:^11.8.1" + checksum: 10/f753e92b2d4b06aae448beabc891de9be913c6c42ffbbd38039196982c19eafa3cb9fd158a7717f2d0692eeba2e4714a3620d3b19ce40550db75b1e8c5470da3 languageName: node linkType: hard -"@metamask/snaps-utils@npm:^11.0.0": - version: 11.0.0 - resolution: "@metamask/snaps-utils@npm:11.0.0" +"@metamask/snaps-sdk@npm:^9.0.0, @metamask/snaps-sdk@npm:^9.3.0": + version: 9.3.0 + resolution: "@metamask/snaps-sdk@npm:9.3.0" + dependencies: + "@metamask/key-tree": "npm:^10.1.1" + "@metamask/providers": "npm:^22.1.0" + "@metamask/rpc-errors": "npm:^7.0.3" + "@metamask/superstruct": "npm:^3.2.1" + "@metamask/utils": "npm:^11.4.2" + checksum: 10/1e84195a568553d1d7929b9140469204611d2504ab5bc63a6bdad7edc70150765795d402d6d8263bc8d665f9d6656e60da64e4530c240287d8d9ae51cf6d2843 + languageName: node + linkType: hard + +"@metamask/snaps-utils@npm:^11.0.0, @metamask/snaps-utils@npm:^11.5.0, @metamask/snaps-utils@npm:^11.6.0": + version: 11.6.1 + resolution: "@metamask/snaps-utils@npm:11.6.1" dependencies: "@babel/core": "npm:^7.23.2" "@babel/types": "npm:^7.23.0" - "@metamask/base-controller": "npm:^8.0.1" "@metamask/key-tree": "npm:^10.1.1" - "@metamask/permission-controller": "npm:^11.0.6" - "@metamask/rpc-errors": "npm:^7.0.2" - "@metamask/slip44": "npm:^4.2.0" + "@metamask/messenger": "npm:^0.3.0" + "@metamask/permission-controller": "npm:^12.0.0" + "@metamask/rpc-errors": "npm:^7.0.3" + "@metamask/slip44": "npm:^4.3.0" "@metamask/snaps-registry": "npm:^3.2.3" - "@metamask/snaps-sdk": "npm:^9.0.0" + "@metamask/snaps-sdk": "npm:^10.0.0" "@metamask/superstruct": "npm:^3.2.1" - "@metamask/utils": "npm:^11.4.0" + "@metamask/utils": "npm:^11.8.1" "@noble/hashes": "npm:^1.7.1" "@scure/base": "npm:^1.1.1" chalk: "npm:^4.1.2" @@ -5063,16 +5213,16 @@ __metadata: marked: "npm:^12.0.1" rfdc: "npm:^1.3.0" semver: "npm:^7.5.4" - ses: "npm:^1.13.1" + ses: "npm:^1.14.0" validate-npm-package-name: "npm:^5.0.0" - checksum: 10/37fd1bbc0dfaac51d4f2a0e390e084ee427aac16cc26ff3fe7fd1db320caa53d0882b6c497ce2134a5671a87e4fe204be62e8bdcc82c3d11265100a84af76f95 + checksum: 10/ad694a02aeea9ab8dc159a032681b5eb57b75debf636ac229669ece479fc38deda423b3e79a1ef2af30ef69be627ad5fcd7852a24448eeb58799f510d07b8216 languageName: node linkType: hard "@metamask/stake-sdk@npm:^3.2.1": - version: 3.2.1 - resolution: "@metamask/stake-sdk@npm:3.2.1" - checksum: 10/7404ac54e2bd426158b0ae92a2f4c420ef551d18d8a14293c5760b1da1c48cab88df9a7dcce7133f91bbe7899f6c2016642f0e41e170353b6b9ae4c6423d2ad5 + version: 3.3.0 + resolution: "@metamask/stake-sdk@npm:3.3.0" + checksum: 10/69f745168726cb435402dd3279227bb7994715131c2066075c07b924c0caaaf9adbc4f41a73f8baa0cbdbb48cb0b832f25373d2d5730b26a364970299d052df9 languageName: node linkType: hard @@ -5296,7 +5446,7 @@ __metadata: languageName: unknown linkType: soft -"@metamask/utils@npm:^11.0.1, @metamask/utils@npm:^11.1.0, @metamask/utils@npm:^11.4.0, @metamask/utils@npm:^11.8.1": +"@metamask/utils@npm:^11.0.1, @metamask/utils@npm:^11.1.0, @metamask/utils@npm:^11.4.0, @metamask/utils@npm:^11.4.2, @metamask/utils@npm:^11.5.0, @metamask/utils@npm:^11.8.1": version: 11.8.1 resolution: "@metamask/utils@npm:11.8.1" dependencies: @@ -5349,6 +5499,17 @@ __metadata: languageName: node linkType: hard +"@napi-rs/wasm-runtime@npm:^0.2.11": + version: 0.2.12 + resolution: "@napi-rs/wasm-runtime@npm:0.2.12" + dependencies: + "@emnapi/core": "npm:^1.4.3" + "@emnapi/runtime": "npm:^1.4.3" + "@tybys/wasm-util": "npm:^0.10.0" + checksum: 10/5fd518182427980c28bc724adf06c5f32f9a8915763ef560b5f7d73607d30cd15ac86d0cbd2eb80d4cfab23fc80d0876d89ca36a9daadcb864bc00917c94187c + languageName: node + linkType: hard + "@noble/ciphers@npm:^1.2.1, @noble/ciphers@npm:^1.3.0": version: 1.3.0 resolution: "@noble/ciphers@npm:1.3.0" @@ -5375,11 +5536,11 @@ __metadata: linkType: hard "@noble/curves@npm:^1.2.0, @noble/curves@npm:^1.8.1, @noble/curves@npm:^1.9.2": - version: 1.9.2 - resolution: "@noble/curves@npm:1.9.2" + version: 1.9.7 + resolution: "@noble/curves@npm:1.9.7" dependencies: "@noble/hashes": "npm:1.8.0" - checksum: 10/f60f00ad86296054566b67be08fd659999bb64b692bfbf11dbe3be1f422ad4d826bf5ebb2015ce2e246538eab2b677707e0a46ffa8323a6fae7a9a30ec1fe318 + checksum: 10/3cfe2735ea94972988ca9e217e0ebb2044372a7160b2079bf885da789492a6291fc8bf76ca3d8bf8dee477847ee2d6fac267d1e6c4f555054059f5e8c4865d44 languageName: node linkType: hard @@ -5458,6 +5619,19 @@ __metadata: languageName: node linkType: hard +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10/775c9a7eb1f88c195dfb3bce70c31d0fe2a12b28b754e25c08a3edb4bc4816bfedb7ac64ef1e730579d078ca19dacf11630e99f8f3c3e0fd7b23caa5fd6d30a6 + languageName: node + linkType: hard + "@npmcli/fs@npm:^3.1.0": version: 3.1.1 resolution: "@npmcli/fs@npm:3.1.1" @@ -5467,6 +5641,15 @@ __metadata: languageName: node linkType: hard +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10/405c4490e1ff11cf299775449a3c254a366a4b1ffc79d87159b0ee7d5558ac9f6a2f8c0735fd6ff3873cef014cb1a44a5f9127cb6a1b2dbc408718cca9365b5a + languageName: node + linkType: hard + "@npmcli/git@npm:^5.0.0": version: 5.0.8 resolution: "@npmcli/git@npm:5.0.8" @@ -5492,8 +5675,8 @@ __metadata: linkType: hard "@npmcli/package-json@npm:^5.0.0": - version: 5.2.0 - resolution: "@npmcli/package-json@npm:5.2.0" + version: 5.2.1 + resolution: "@npmcli/package-json@npm:5.2.1" dependencies: "@npmcli/git": "npm:^5.0.0" glob: "npm:^10.2.2" @@ -5502,7 +5685,7 @@ __metadata: normalize-package-data: "npm:^6.0.0" proc-log: "npm:^4.0.0" semver: "npm:^7.5.3" - checksum: 10/c3d2218877bfc005bca3b7a11f53825bf16a68811b8e8ed0c9b219cceb8e8e646d70efab8c5d6decbd8007f286076468b3f456dab4d41d648aff73a5f3a6fce2 + checksum: 10/304a819b93f79a6e0e56cb371961a66d2db72142e310d545ecbbbe4d917025a30601aa8e63a5f0cc28f0fe281c116bdaf79b334619b105a1d027a2b769ecd137 languageName: node linkType: hard @@ -5537,20 +5720,28 @@ __metadata: linkType: hard "@open-rpc/schema-utils-js@npm:^2.0.5": - version: 2.0.5 - resolution: "@open-rpc/schema-utils-js@npm:2.0.5" + version: 2.1.2 + resolution: "@open-rpc/schema-utils-js@npm:2.1.2" dependencies: "@json-schema-tools/dereferencer": "npm:^1.6.3" "@json-schema-tools/meta-schema": "npm:^1.7.5" "@json-schema-tools/reference-resolver": "npm:^1.2.6" "@open-rpc/meta-schema": "npm:^1.14.9" + "@open-rpc/specification-extension-spec": "npm:^1.0.2" ajv: "npm:^6.10.0" detect-node: "npm:^2.0.4" fast-safe-stringify: "npm:^2.0.7" fs-extra: "npm:^10.1.0" is-url: "npm:^1.2.4" isomorphic-fetch: "npm:^3.0.0" - checksum: 10/9e10215606e9a00a47b082c9cfd70d05bf0d38de6cf1c147246c545c6997375d94cd3caafe919b71178df58b5facadfd0dcc8b6857bf5e79c40e5e33683dd3d5 + checksum: 10/0f38a403c696ee74319503cfba9656cdb2ff6dbd84dfba3c6ce5c3d010dfd72bc396bfb6dacf39de01d523ee7e3b0d5637657a48e5f2c7e74ae33b9354b2c4c1 + languageName: node + linkType: hard + +"@open-rpc/specification-extension-spec@npm:^1.0.2": + version: 1.0.2 + resolution: "@open-rpc/specification-extension-spec@npm:1.0.2" + checksum: 10/04111d8ce84deb45358c504b425f8d3e5c0b8991c739708b6b2662de665002da541fc7b39065d2394a9509866f580c3a5aaedc56b42c0d679fe6054eda034b9b languageName: node linkType: hard @@ -5561,10 +5752,10 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 10/6f25fd2e3008f259c77207ac9915b02f1628420403b2630c92a07ff963129238c9262afc9e84344c7a23b5cc1f3965e2cd17e3798219f5fd78a63d144d3cceba +"@pkgr/core@npm:^0.2.9": + version: 0.2.9 + resolution: "@pkgr/core@npm:0.2.9" + checksum: 10/bb2fb86977d63f836f8f5b09015d74e6af6488f7a411dcd2bfdca79d76b5a681a9112f41c45bdf88a9069f049718efc6f3900d7f1de66a2ec966068308ae517f languageName: node linkType: hard @@ -5641,10 +5832,17 @@ __metadata: languageName: node linkType: hard -"@scure/base@npm:^1.0.0, @scure/base@npm:^1.1.1, @scure/base@npm:^1.1.3, @scure/base@npm:~1.1.3, @scure/base@npm:~1.1.6": - version: 1.1.7 - resolution: "@scure/base@npm:1.1.7" - checksum: 10/fc50ffaab36cb46ff9fa4dc5052a06089ab6a6707f63d596bb34aaaec76173c9a564ac312a0b981b5e7a5349d60097b8878673c75d6cbfc4da7012b63a82099b +"@scure/base@npm:^1.0.0, @scure/base@npm:^1.1.1, @scure/base@npm:^1.1.3": + version: 1.2.6 + resolution: "@scure/base@npm:1.2.6" + checksum: 10/c1a7bd5e0b0c8f94c36fbc220f4a67cc832b00e2d2065c7d8a404ed81ab1c94c5443def6d361a70fc382db3496e9487fb9941728f0584782b274c18a4bed4187 + languageName: node + linkType: hard + +"@scure/base@npm:~1.1.3, @scure/base@npm:~1.1.6": + version: 1.1.9 + resolution: "@scure/base@npm:1.1.9" + checksum: 10/f0ab7f687bbcdee2a01377fe3cd808bf63977999672751295b6a92625d5322f4754a96d40f6bd579bc367aad48ecf8a4e6d0390e70296e6ded1076f52adb16bb languageName: node linkType: hard @@ -5670,9 +5868,67 @@ __metadata: linkType: hard "@sentry/core@npm:^9.10.0, @sentry/core@npm:^9.22.0": - version: 9.23.0 - resolution: "@sentry/core@npm:9.23.0" - checksum: 10/4ee771098d4ce4f4d2f7bd62cacb41ee2993780f4cab0eea600e73de3a3803cb953ac47ac015c23bcd7a9919e2220fd6cdc5a9a22a3663440296336d8df959b7 + version: 9.46.0 + resolution: "@sentry/core@npm:9.46.0" + checksum: 10/a42a5e92f4650ba89b5caa1885cd2cf2766b2726dfb03d567299ba6d6ada6c87436d20af2cd0444a14df082e71415f526b4597e0af69927b216ad8e09a233ad9 + languageName: node + linkType: hard + +"@sigstore/bundle@npm:^3.1.0": + version: 3.1.0 + resolution: "@sigstore/bundle@npm:3.1.0" + dependencies: + "@sigstore/protobuf-specs": "npm:^0.4.0" + checksum: 10/21b246ec63462e8508a8d001ca5d7937f63b6e15d5f2947ee2726d1e4674fb3f7640faa47b165bfea1d5b09df93fbdf10d1556427bba7e005e7f3a65b87f89b2 + languageName: node + linkType: hard + +"@sigstore/core@npm:^2.0.0": + version: 2.0.0 + resolution: "@sigstore/core@npm:2.0.0" + checksum: 10/ec1deae9430eeff580ad0f4ef2328b4eb7252db04587474fe9423d97736134ad79ee83aa2dfbc1fccfb18420c249e26e6e72e7176b592d7013eae5379dcb124d + languageName: node + linkType: hard + +"@sigstore/protobuf-specs@npm:^0.4.0, @sigstore/protobuf-specs@npm:^0.4.1": + version: 0.4.3 + resolution: "@sigstore/protobuf-specs@npm:0.4.3" + checksum: 10/05bcb534b6096c095185c74b1718af89666299444490d84d35610f590bc4e2bf1a6a29c2c4f18598ddbd3a8a43c95f0a89faa98c05b44ff0be1dcd8b39f7e323 + languageName: node + linkType: hard + +"@sigstore/sign@npm:^3.1.0": + version: 3.1.0 + resolution: "@sigstore/sign@npm:3.1.0" + dependencies: + "@sigstore/bundle": "npm:^3.1.0" + "@sigstore/core": "npm:^2.0.0" + "@sigstore/protobuf-specs": "npm:^0.4.0" + make-fetch-happen: "npm:^14.0.2" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + checksum: 10/e0ce0aa52b572eefa06a8260a7329f349c56217f2bbb6f167259c6e02e148987073e0dddc5e3c40ea4aafc89b8b0176e2617fb16f9c8c50cf0c1437b6c90fca4 + languageName: node + linkType: hard + +"@sigstore/tuf@npm:^3.1.0": + version: 3.1.1 + resolution: "@sigstore/tuf@npm:3.1.1" + dependencies: + "@sigstore/protobuf-specs": "npm:^0.4.1" + tuf-js: "npm:^3.0.1" + checksum: 10/f6eeba3fa72fa22b119af84b4a3d5ce2ad50c2e1600241f493ed4d8ec1d128a437d649c9e5cdf0135edf0db82468f8c7c25458ab97978aa5780ab7aece1ade48 + languageName: node + linkType: hard + +"@sigstore/verify@npm:^2.1.0": + version: 2.1.1 + resolution: "@sigstore/verify@npm:2.1.1" + dependencies: + "@sigstore/bundle": "npm:^3.1.0" + "@sigstore/core": "npm:^2.0.0" + "@sigstore/protobuf-specs": "npm:^0.4.1" + checksum: 10/ff2aa8c441fd45b20a048b8746fa1d6096e3385a7098352b24703bca790d0555383d21f29b0ce8223c36dd98e14ed7dae82d044ff005c76e0e68c240f0a0458d languageName: node linkType: hard @@ -5683,6 +5939,13 @@ __metadata: languageName: node linkType: hard +"@sinclair/typebox@npm:^0.34.0": + version: 0.34.41 + resolution: "@sinclair/typebox@npm:0.34.41" + checksum: 10/5c04a7f42156a7813a159947a0c3fe7e9f11aa722141ac3ff32242faf031b443ef71763d8791ce8d01bd5856770de51fd6fcda94b3a51558ba1f6d5112fa33f4 + languageName: node + linkType: hard + "@sindresorhus/is@npm:^4.0.0": version: 4.6.0 resolution: "@sindresorhus/is@npm:4.6.0" @@ -5736,78 +5999,88 @@ __metadata: linkType: hard "@solana/addresses@npm:^2.0.0": - version: 2.0.0 - resolution: "@solana/addresses@npm:2.0.0" + version: 2.3.0 + resolution: "@solana/addresses@npm:2.3.0" dependencies: - "@solana/assertions": "npm:2.0.0" - "@solana/codecs-core": "npm:2.0.0" - "@solana/codecs-strings": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" + "@solana/assertions": "npm:2.3.0" + "@solana/codecs-core": "npm:2.3.0" + "@solana/codecs-strings": "npm:2.3.0" + "@solana/errors": "npm:2.3.0" + "@solana/nominal-types": "npm:2.3.0" peerDependencies: - typescript: ">=5" - checksum: 10/f99d09c72046c73858aa8b7bc323e634a60b1023a4d280036bc94489e431075c7f29d2889e8787e33a04cfdecbe77cd8ca26c31ded73f735dc98e49c3151cc17 + typescript: ">=5.3.3" + checksum: 10/11ee6774f938dd2fe5174375b02c4e52063173ce80a895dd35beb84635dcf3e2ba2e3fe7c74a614b2322da10906abceab758c91a13415a9cda53faf91a8ea722 languageName: node linkType: hard -"@solana/assertions@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/assertions@npm:2.0.0" +"@solana/assertions@npm:2.3.0": + version: 2.3.0 + resolution: "@solana/assertions@npm:2.3.0" dependencies: - "@solana/errors": "npm:2.0.0" + "@solana/errors": "npm:2.3.0" peerDependencies: - typescript: ">=5" - checksum: 10/c1af37ae1bd79b1657395d9315ac261dabc9908a64af6ed80e3b7e5140909cd8c8c757f0c41fff084e26fbb4d32f091c89c092a8c1ed5e6f4565dfe7426c0979 + typescript: ">=5.3.3" + checksum: 10/3b430f01d5991569059fea3e6679a4548a624ff5da6db0c2eb2eba757a9ff774c9d90941a0a2335148599aaef8e8fc004a9c5996eb3627b25dca108b05591d02 languageName: node linkType: hard -"@solana/codecs-core@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/codecs-core@npm:2.0.0" +"@solana/codecs-core@npm:2.3.0": + version: 2.3.0 + resolution: "@solana/codecs-core@npm:2.3.0" dependencies: - "@solana/errors": "npm:2.0.0" + "@solana/errors": "npm:2.3.0" peerDependencies: - typescript: ">=5" - checksum: 10/e58a72e67bee3e5da60201eecda345c604b49138d5298e39b8e7d4d57a4dee47be3b0ecc8fc3429a2a60a42c952eaf860d43d3df1eb2b1d857e35368eca9c820 + typescript: ">=5.3.3" + checksum: 10/d9bba1eaa3ee38fef04e1cbfa43defeea16729a1cf1628a71cb72340558a3f2296279899680e1dda4b1756ab2b280b5f1502330c21c35e167e554f3d0c9d193d languageName: node linkType: hard -"@solana/codecs-numbers@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/codecs-numbers@npm:2.0.0" +"@solana/codecs-numbers@npm:2.3.0": + version: 2.3.0 + resolution: "@solana/codecs-numbers@npm:2.3.0" dependencies: - "@solana/codecs-core": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" + "@solana/codecs-core": "npm:2.3.0" + "@solana/errors": "npm:2.3.0" peerDependencies: - typescript: ">=5" - checksum: 10/500144d549ea0292c2f672300610df9054339a31cb6a4e61b29623308ef3b14f15eb587ee6139cf3334d2e0f29db1da053522da244b12184bb8fbdb097b7102b + typescript: ">=5.3.3" + checksum: 10/e661338b5eb04268a104ff2189b5d001bd2f99e1a3726deaa7157d5acbc3b24740bc25ca03b2028c52ad21fd71d5d5aa64957411c895a9dc1c132aa3bc97b336 languageName: node linkType: hard -"@solana/codecs-strings@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/codecs-strings@npm:2.0.0" +"@solana/codecs-strings@npm:2.3.0": + version: 2.3.0 + resolution: "@solana/codecs-strings@npm:2.3.0" dependencies: - "@solana/codecs-core": "npm:2.0.0" - "@solana/codecs-numbers": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" + "@solana/codecs-core": "npm:2.3.0" + "@solana/codecs-numbers": "npm:2.3.0" + "@solana/errors": "npm:2.3.0" peerDependencies: fastestsmallesttextencoderdecoder: ^1.0.22 - typescript: ">=5" - checksum: 10/4380136e2603c2cee12a28438817beb34b0fe45da222b8c38342c5b3680f02086ec7868cde0bb7b4e5dd459af5988613af1d97230c6a193db3be1c45122aba39 + typescript: ">=5.3.3" + checksum: 10/a553a891ce149a87f37ff338587980e81f9752e13039cb0d02f0fc6f21ce27af8548ad10f4c9e63f9ef74786ea0e498c91a2f5e3e996a930f581f2977bb1c215 languageName: node linkType: hard -"@solana/errors@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/errors@npm:2.0.0" +"@solana/errors@npm:2.3.0": + version: 2.3.0 + resolution: "@solana/errors@npm:2.3.0" dependencies: - chalk: "npm:^5.3.0" - commander: "npm:^12.1.0" + chalk: "npm:^5.4.1" + commander: "npm:^14.0.0" peerDependencies: - typescript: ">=5" + typescript: ">=5.3.3" bin: errors: bin/cli.mjs - checksum: 10/4191f96cad47c64266ec501ae1911a6245fd02b2f68a2c53c3dabbc63eb7c5462f170a765b584348b195da2387e7ca02096d792c67352c2c30a4f3a3cc7e4270 + checksum: 10/0e8a329790b7d38b4bfe1fa6ec2ac60be20562a610d992031395fe9886da28b578a9d0aebb318f5357ae0d4cbc8f3d323c12b9520da2cf6adc9038f96afc3fe1 + languageName: node + linkType: hard + +"@solana/nominal-types@npm:2.3.0": + version: 2.3.0 + resolution: "@solana/nominal-types@npm:2.3.0" + peerDependencies: + typescript: ">=5.3.3" + checksum: 10/0594893661f4ff2f8587689cd4b61ee15c38c455fe5cbaa7ae7e416f3a483fac97cc3f5a5b3d0a7526bfb89d7da91bc2c72e7b1790bbe59b986579ef2f76689b languageName: node linkType: hard @@ -5983,6 +6256,32 @@ __metadata: languageName: node linkType: hard +"@tufjs/canonical-json@npm:2.0.0": + version: 2.0.0 + resolution: "@tufjs/canonical-json@npm:2.0.0" + checksum: 10/cc719a1d0d0ae1aa1ba551a82c87dcbefac088e433c03a3d8a1d547ea721350e47dab4ab5b0fca40d5c7ab1f4882e72edc39c9eae15bf47c45c43bcb6ee39f4f + languageName: node + linkType: hard + +"@tufjs/models@npm:3.0.1": + version: 3.0.1 + resolution: "@tufjs/models@npm:3.0.1" + dependencies: + "@tufjs/canonical-json": "npm:2.0.0" + minimatch: "npm:^9.0.5" + checksum: 10/00636238b2e3ce557e7b5f6884594ee2379fd5a9588401fd6c8be2e2867fcaf836e226c6be81d87006701746037847e13bbc263c0ed0f38b4f28b1108a4b1d81 + languageName: node + linkType: hard + +"@tybys/wasm-util@npm:^0.10.0": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/7fe0d239397aebb002ac4855d30c197c06a05ea8df8511350a3a5b1abeefe26167c60eda8a5508337571161e4c4b53d7c1342296123f9607af8705369de9fa7f + languageName: node + linkType: hard + "@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" @@ -5997,11 +6296,11 @@ __metadata: linkType: hard "@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" dependencies: "@babel/types": "npm:^7.0.0" - checksum: 10/b53c215e9074c69d212402990b0ca8fa57595d09e10d94bda3130aa22b55d796e50449199867879e4ea0ee968f3a2099e009cfb21a726a53324483abbf25cd30 + checksum: 10/f572e67a9a39397664350a4437d8a7fbd34acc83ff4887a8cf08349e39f8aeb5ad2f70fb78a0a0a23a280affe3a5f4c25f50966abdce292bcf31237af1c27b1a languageName: node linkType: hard @@ -6016,20 +6315,20 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.4, @types/babel__traverse@npm:^7.0.6": - version: 7.20.6 - resolution: "@types/babel__traverse@npm:7.20.6" + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" dependencies: - "@babel/types": "npm:^7.20.7" - checksum: 10/63d13a3789aa1e783b87a8b03d9fb2c2c90078de7782422feff1631b8c2a25db626e63a63ac5a1465d47359201c73069dacb4b52149d17c568187625da3064ae + "@babel/types": "npm:^7.28.2" + checksum: 10/371c5e1b40399ef17570e630b2943617b84fafde2860a56f0ebc113d8edb1d0534ade0175af89eda1ae35160903c33057ed42457e165d4aa287fedab2c82abcf languageName: node linkType: hard "@types/bn.js@npm:*, @types/bn.js@npm:^5.1.0, @types/bn.js@npm:^5.1.5": - version: 5.1.6 - resolution: "@types/bn.js@npm:5.1.6" + version: 5.2.0 + resolution: "@types/bn.js@npm:5.2.0" dependencies: "@types/node": "npm:*" - checksum: 10/db565b5a2af59b09459d74441153bf23a0e80f1fb2d070330786054e7ce1a7285dc40afcd8f289426c61a83166bdd70814f70e2d439744686aac5d3ea75daf13 + checksum: 10/06c93841f74e4a5e5b81b74427d56303b223c9af36389b4cd3c562bda93f43c425c7e241aee1b0b881dde57238dc2e07f21d30d412b206a7dae4435af4c054e8 languageName: node linkType: hard @@ -6061,13 +6360,6 @@ __metadata: languageName: node linkType: hard -"@types/doctrine@npm:^0.0.9": - version: 0.0.9 - resolution: "@types/doctrine@npm:0.0.9" - checksum: 10/64ef06e6eea2f4f9684d259fedbcb8bf21c954630b96ea2e04875ca42763552b0ba3b01b3dd27ec0f9ea6f8b3b0dba4965d31d5a925cd4c6225fd13a93ae9354 - languageName: node - linkType: hard - "@types/elliptic@npm:^6": version: 6.4.18 resolution: "@types/elliptic@npm:6.4.18" @@ -6078,9 +6370,9 @@ __metadata: linkType: hard "@types/emscripten@npm:^1.39.6": - version: 1.39.13 - resolution: "@types/emscripten@npm:1.39.13" - checksum: 10/02c0446150f9cc2c74dc3a551f86ce13df266c33d8b98d11d9f17263e2d98a6a6b4d36bdd15066c4e1547ae1ed2d52eed9420116b4935d119009e0f53ddbb041 + version: 1.41.5 + resolution: "@types/emscripten@npm:1.41.5" + checksum: 10/60dfcced39b2d0c94f31907c5cf5d97fe06ed35ed6cb134650a1a96bae861302722d4a6f459b484ea09588cde70cbcc034974454a746be3ce9688b52398d2953 languageName: node linkType: hard @@ -6105,9 +6397,9 @@ __metadata: linkType: hard "@types/estree@npm:*, @types/estree@npm:^1.0.6": - version: 1.0.6 - resolution: "@types/estree@npm:1.0.6" - checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: 10/25a4c16a6752538ffde2826c2cc0c6491d90e69cd6187bef4a006dd2c3c45469f049e643d7e516c515f21484dc3d48fd5c870be158a5beb72f5baf3dc43e4099 languageName: node linkType: hard @@ -6127,7 +6419,7 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1, @types/istanbul-lib-coverage@npm:^2.0.6": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" checksum: 10/3feac423fd3e5449485afac999dcfcb3d44a37c830af898b689fadc65d26526460bedb889db278e0d4d815a670331796494d073a10ee6e3a6526301fe7415778 @@ -6143,7 +6435,7 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-reports@npm:^3.0.0": +"@types/istanbul-reports@npm:^3.0.0, @types/istanbul-reports@npm:^3.0.4": version: 3.0.4 resolution: "@types/istanbul-reports@npm:3.0.4" dependencies: @@ -6162,12 +6454,12 @@ __metadata: linkType: hard "@types/jest@npm:*": - version: 29.5.12 - resolution: "@types/jest@npm:29.5.12" + version: 30.0.0 + resolution: "@types/jest@npm:30.0.0" dependencies: - expect: "npm:^29.0.0" - pretty-format: "npm:^29.0.0" - checksum: 10/312e8dcf92cdd5a5847d6426f0940829bca6fe6b5a917248f3d7f7ef5d85c9ce78ef05e47d2bbabc40d41a930e0e36db2d443d2610a9e3db9062da2d5c904211 + expect: "npm:^30.0.0" + pretty-format: "npm:^30.0.0" + checksum: 10/cdeaa924c68b5233d9ff92861a89e7042df2b0f197633729bcf3a31e65bd4e9426e751c5665b5ac2de0b222b33f100a5502da22aefce3d2c62931c715e88f209 languageName: node linkType: hard @@ -6233,51 +6525,53 @@ __metadata: linkType: hard "@types/ms@npm:*": - version: 0.7.34 - resolution: "@types/ms@npm:0.7.34" - checksum: 10/f38d36e7b6edecd9badc9cf50474159e9da5fa6965a75186cceaf883278611b9df6669dc3a3cc122b7938d317b68a9e3d573d316fcb35d1be47ec9e468c6bd8a + version: 2.1.0 + resolution: "@types/ms@npm:2.1.0" + checksum: 10/532d2ebb91937ccc4a89389715e5b47d4c66e708d15942fe6cc25add6dc37b2be058230a327dd50f43f89b8b6d5d52b74685a9e8f70516edfc9bdd6be910eff4 languageName: node linkType: hard "@types/node-fetch@npm:^2.6.12": - version: 2.6.12 - resolution: "@types/node-fetch@npm:2.6.12" + version: 2.6.13 + resolution: "@types/node-fetch@npm:2.6.13" dependencies: "@types/node": "npm:*" - form-data: "npm:^4.0.0" - checksum: 10/8107c479da83a3114fcbfa882eba95ee5175cccb5e4dd53f737a96f2559ae6262f662176b8457c1656de09ec393cc7b20a266c077e4bfb21e929976e1cf4d0f9 + form-data: "npm:^4.0.4" + checksum: 10/944d52214791ebba482ca1393a4f0d62b0dbac5f7343ff42c128b75d5356d8bcefd4df77771b55c1acd19d118e16e9bd5d2792819c51bc13402d1c87c0975435 languageName: node linkType: hard "@types/node@npm:*, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0": - version: 22.5.0 - resolution: "@types/node@npm:22.5.0" + version: 24.9.2 + resolution: "@types/node@npm:24.9.2" dependencies: - undici-types: "npm:~6.19.2" - checksum: 10/89af3bd217b1559b645a9ed16d4ae3add75749814cbd8eefddd1b96003d1973afb1c8a2b23d69f3a8cc6c532e3aa185eaf5cc29a6e7c42c311a2aad4c99430ae + undici-types: "npm:~7.16.0" + checksum: 10/3e76ad89cca317c0886deedab0245b6b2a04ef6c47362bd3918020296f3e9630334795af9cee8c6633eae774c85d848ff2e6bed5a7c3133fc94968364fc3ee36 languageName: node linkType: hard -"@types/node@npm:18.15.13": - version: 18.15.13 - resolution: "@types/node@npm:18.15.13" - checksum: 10/b9bbe923573797ef7c5fd2641a6793489e25d9369c32aeadcaa5c7c175c85b42eb12d6fe173f6781ab6f42eaa1ebd9576a419eeaa2a1ec810094adb8adaa9a54 +"@types/node@npm:22.7.5": + version: 22.7.5 + resolution: "@types/node@npm:22.7.5" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10/e8ba102f8c1aa7623787d625389be68d64e54fcbb76d41f6c2c64e8cf4c9f4a2370e7ef5e5f1732f3c57529d3d26afdcb2edc0101c5e413a79081449825c57ac languageName: node linkType: hard "@types/node@npm:^16.18.54": - version: 16.18.106 - resolution: "@types/node@npm:16.18.106" - checksum: 10/1970719a048bfc56554f8e132e8e5292c197d6e023d334190b0d3817a05a12bfb6537eaa24778ddb695d2073195f0545e5a4b6bcaf81b656994bbca39f349c3b + version: 16.18.126 + resolution: "@types/node@npm:16.18.126" + checksum: 10/33e0fa9209a4a96459a8fdf6b078ca9590eb67a8d51899180cfac8afecb9aa133c755d1c38a8b947b9f384f2faa184cabf4e567f5f6dded285be1b31588ec199 languageName: node linkType: hard -"@types/node@npm:^18.17.15": - version: 18.19.68 - resolution: "@types/node@npm:18.19.68" +"@types/node@npm:^18.19.124": + version: 18.19.130 + resolution: "@types/node@npm:18.19.130" dependencies: undici-types: "npm:~5.26.4" - checksum: 10/024a4a8eeca21c0d1eaa575036dbc44528eae180821de71b77868ddc24d18032b988582046db4f7ea2643970a5169d790e1884153472145de07d629bc2ce2ec6 + checksum: 10/ebb85c6edcec78df926de27d828ecbeb1b3d77c165ceef95bfc26e171edbc1924245db4eb2d7d6230206fe6b1a1f7665714fe1c70739e9f5980d8ce31af6ef82 languageName: node linkType: hard @@ -6345,18 +6639,18 @@ __metadata: linkType: hard "@types/secp256k1@npm:^4.0.1": - version: 4.0.6 - resolution: "@types/secp256k1@npm:4.0.6" + version: 4.0.7 + resolution: "@types/secp256k1@npm:4.0.7" dependencies: "@types/node": "npm:*" - checksum: 10/211f823be990b55612e604d620acf0dc3bc942d3836bdd8da604269effabc86d98161e5947487b4e4e128f9180fc1682daae2f89ea7a4d9648fdfe52fba365fc + checksum: 10/bcf7adbd953d2cb829ae98a3cd2f8eeb1e2316f4f6de720ee3863da90bd98899c08fa8c42748e8701cad16ede0898df69a6e7f22660d1fb3cb276d5c771069db languageName: node linkType: hard "@types/semver@npm:^7, @types/semver@npm:^7.1.0, @types/semver@npm:^7.3.6": - version: 7.5.8 - resolution: "@types/semver@npm:7.5.8" - checksum: 10/3496808818ddb36deabfe4974fd343a78101fa242c4690044ccdc3b95dcf8785b494f5d628f2f47f38a702f8db9c53c67f47d7818f2be1b79f2efb09692e1178 + version: 7.7.1 + resolution: "@types/semver@npm:7.7.1" + checksum: 10/8f09e7e6ca3ded67d78ba7a8f7535c8d9cf8ced83c52e7f3ac3c281fe8c689c3fe475d199d94390dc04fc681d51f2358b430bb7b2e21c62de24f2bee2c719068 languageName: node linkType: hard @@ -6370,13 +6664,13 @@ __metadata: linkType: hard "@types/sinonjs__fake-timers@npm:*": - version: 8.1.5 - resolution: "@types/sinonjs__fake-timers@npm:8.1.5" - checksum: 10/3a0b285fcb8e1eca435266faa27ffff206608b69041022a42857274e44d9305822e85af5e7a43a9fae78d2ab7dc0fcb49f3ae3bda1fa81f0203064dbf5afd4f6 + version: 15.0.1 + resolution: "@types/sinonjs__fake-timers@npm:15.0.1" + checksum: 10/9fa7a129742262ef4ea9c3253683453c42c2e210cdff1456e233bc9b59f6d60ef8121b32a00209a1c8c7759f88511862dab1ce340081e432515418fc44d8ec35 languageName: node linkType: hard -"@types/stack-utils@npm:^2.0.0": +"@types/stack-utils@npm:^2.0.0, @types/stack-utils@npm:^2.0.3": version: 2.0.3 resolution: "@types/stack-utils@npm:2.0.3" checksum: 10/72576cc1522090fe497337c2b99d9838e320659ac57fa5560fcbdcbafcf5d0216c6b3a0a8a4ee4fdb3b1f5e3420aa4f6223ab57b82fef3578bec3206425c6cf5 @@ -6430,20 +6724,20 @@ __metadata: linkType: hard "@types/yargs@npm:^16.0.0": - version: 16.0.9 - resolution: "@types/yargs@npm:16.0.9" + version: 16.0.10 + resolution: "@types/yargs@npm:16.0.10" dependencies: "@types/yargs-parser": "npm:*" - checksum: 10/8f31cbfcd5c3ac67c27e26026d8b9af0c37770fb2421b661939ba06d136f5a4fa61528a5d0f495d5802fbf1d9244b499e664d8d884e3eb3c36d556fb7c278f18 + checksum: 10/810b0e36da32f40c832ef3c2a60bd987c569f8c6636630a87005d518d9ed0c7665658c8fc7fa63c79a62c419ebc11e3759be202cba89442af6748a05424e8041 languageName: node linkType: hard -"@types/yargs@npm:^17.0.32, @types/yargs@npm:^17.0.8": - version: 17.0.33 - resolution: "@types/yargs@npm:17.0.33" +"@types/yargs@npm:^17.0.32, @types/yargs@npm:^17.0.33, @types/yargs@npm:^17.0.8": + version: 17.0.34 + resolution: "@types/yargs@npm:17.0.34" dependencies: "@types/yargs-parser": "npm:*" - checksum: 10/16f6681bf4d99fb671bf56029141ed01db2862e3db9df7fc92d8bea494359ac96a1b4b1c35a836d1e95e665fb18ad753ab2015fc0db663454e8fd4e5d5e2ef91 + checksum: 10/8e7907479e649e9115dcca94cb059dfe2322992ac5d29120f759564c078abfc13673a31f7ad86a3a5c9de7f241a4e3d70042ba38b794fd1601e44f9a1bc5cefd languageName: node linkType: hard @@ -6454,115 +6748,275 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.19.1, @typescript-eslint/eslint-plugin@npm:^8.7.0": - version: 8.19.1 - resolution: "@typescript-eslint/eslint-plugin@npm:8.19.1" +"@typescript-eslint/eslint-plugin@npm:8.46.2, @typescript-eslint/eslint-plugin@npm:^8.7.0": + version: 8.46.2 + resolution: "@typescript-eslint/eslint-plugin@npm:8.46.2" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.19.1" - "@typescript-eslint/type-utils": "npm:8.19.1" - "@typescript-eslint/utils": "npm:8.19.1" - "@typescript-eslint/visitor-keys": "npm:8.19.1" + "@typescript-eslint/scope-manager": "npm:8.46.2" + "@typescript-eslint/type-utils": "npm:8.46.2" + "@typescript-eslint/utils": "npm:8.46.2" + "@typescript-eslint/visitor-keys": "npm:8.46.2" graphemer: "npm:^1.4.0" - ignore: "npm:^5.3.1" + ignore: "npm:^7.0.0" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.0.0" + ts-api-utils: "npm:^2.1.0" peerDependencies: - "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + "@typescript-eslint/parser": ^8.46.2 eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.8.0" - checksum: 10/c9a6d3181ec01068075b85ad3ac454910b4452281d60c775cc7229827f6d6a076b7336f5f07a7ad89bf08b3224f6a49aa20342b9438702393bee0aa7315d23b2 + typescript: ">=4.8.4 <6.0.0" + checksum: 10/00c659fcc04c185e6cdfb6c7e52beae1935f1475fef4079193a719f93858b6255e07b4764fc7104e9524a4d0b7652e63616b93e7f112f1cba4e983d10383e224 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.19.1, @typescript-eslint/parser@npm:^8.7.0": - version: 8.19.1 - resolution: "@typescript-eslint/parser@npm:8.19.1" +"@typescript-eslint/parser@npm:8.46.2, @typescript-eslint/parser@npm:^8.7.0": + version: 8.46.2 + resolution: "@typescript-eslint/parser@npm:8.46.2" dependencies: - "@typescript-eslint/scope-manager": "npm:8.19.1" - "@typescript-eslint/types": "npm:8.19.1" - "@typescript-eslint/typescript-estree": "npm:8.19.1" - "@typescript-eslint/visitor-keys": "npm:8.19.1" + "@typescript-eslint/scope-manager": "npm:8.46.2" + "@typescript-eslint/types": "npm:8.46.2" + "@typescript-eslint/typescript-estree": "npm:8.46.2" + "@typescript-eslint/visitor-keys": "npm:8.46.2" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.8.0" - checksum: 10/da3db63ff655cf0fb91745ba8e52d853386f601cf6106d36f4541efcb9e2c6c3b82c6743b15680eff9eafeccaf31c9b26191a955e66ae19de9172f67335463ab + typescript: ">=4.8.4 <6.0.0" + checksum: 10/2ee394d880b5a9372ecf50ddbf70f66e9ecc16691a210dd40b5b152310a539005dfed13105e0adc81f1a9f49d86f7b78ddf3bf8d777fe84c179eb6a8be2fa56c + languageName: node + linkType: hard + +"@typescript-eslint/project-service@npm:8.46.2": + version: 8.46.2 + resolution: "@typescript-eslint/project-service@npm:8.46.2" + dependencies: + "@typescript-eslint/tsconfig-utils": "npm:^8.46.2" + "@typescript-eslint/types": "npm:^8.46.2" + debug: "npm:^4.3.4" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10/76ba446f86e83b4afd6dacbebc9a0737b5a3e0500a0712b37fea4f0141dcf4c9238e8e5a9a649cf609a4624cc575431506a2a56432aaa18d4c3a8cf2df9d1480 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.19.1, @typescript-eslint/scope-manager@npm:^8.1.0": - version: 8.19.1 - resolution: "@typescript-eslint/scope-manager@npm:8.19.1" +"@typescript-eslint/scope-manager@npm:8.46.2": + version: 8.46.2 + resolution: "@typescript-eslint/scope-manager@npm:8.46.2" dependencies: - "@typescript-eslint/types": "npm:8.19.1" - "@typescript-eslint/visitor-keys": "npm:8.19.1" - checksum: 10/6ffc78b15367f211eb6650459ca2bb6bfe4c1fa95a3474adc08ee9a20c250b2e0e02fd99be36bd3dad74967ecd9349e792b5d818d85735cba40f1b5c236074d1 + "@typescript-eslint/types": "npm:8.46.2" + "@typescript-eslint/visitor-keys": "npm:8.46.2" + checksum: 10/6a8a9b644ff57ca9e992348553f19f6e010d76ff4872d972d333a16952e93cce4bf5096a1fefe1af8b452bce963fde6c78410d15817e673b75176ec3241949e9 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.19.1": - version: 8.19.1 - resolution: "@typescript-eslint/type-utils@npm:8.19.1" +"@typescript-eslint/tsconfig-utils@npm:8.46.2, @typescript-eslint/tsconfig-utils@npm:^8.46.2": + version: 8.46.2 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.46.2" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10/e459d131ca646cca6ad164593ca7e8c45ad3daa103a24e1e57fd47b5c1e5b5418948b749f02baa42e61103a496fc80d32ddd1841c11495bbcf37808b88bb0ef4 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:8.46.2": + version: 8.46.2 + resolution: "@typescript-eslint/type-utils@npm:8.46.2" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.19.1" - "@typescript-eslint/utils": "npm:8.19.1" + "@typescript-eslint/types": "npm:8.46.2" + "@typescript-eslint/typescript-estree": "npm:8.46.2" + "@typescript-eslint/utils": "npm:8.46.2" debug: "npm:^4.3.4" - ts-api-utils: "npm:^2.0.0" + ts-api-utils: "npm:^2.1.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.8.0" - checksum: 10/123ecda88b057d6a4b68226701f435661440a420fda88cba60b49d7fb3e4f49483164ff174f259e28c0beabb0ed04500462a20faefd78331ba202bf54b01e3ef + typescript: ">=4.8.4 <6.0.0" + checksum: 10/db5d3d782b44d31f828ebdbec44550c6f94fdcfac1164f59e3922f6413feed749d93df3977625fd5949aaff5c691cf4603a7cd93eaf7b19b9cf6fd91537fb8c7 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.19.1": - version: 8.19.1 - resolution: "@typescript-eslint/types@npm:8.19.1" - checksum: 10/5833a5f8fdac4a490dd3906a0243a0713fbf138fabb451870c70b0b089c539a9624b467b0913ddc0a225a8284342e7fd31cd506dec53c1a6d8f3c8c8902b9cae +"@typescript-eslint/types@npm:8.46.2, @typescript-eslint/types@npm:^8.11.0, @typescript-eslint/types@npm:^8.35.0, @typescript-eslint/types@npm:^8.46.2": + version: 8.46.2 + resolution: "@typescript-eslint/types@npm:8.46.2" + checksum: 10/c641453c868b730ef64bd731cc47b19e1a5e45c090dfe9542ecd15b24c5a7b6dc94a8ef4e548b976aabcd1ca9dec1b766e417454b98ea59079795eb008226b38 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.19.1": - version: 8.19.1 - resolution: "@typescript-eslint/typescript-estree@npm:8.19.1" +"@typescript-eslint/typescript-estree@npm:8.46.2": + version: 8.46.2 + resolution: "@typescript-eslint/typescript-estree@npm:8.46.2" dependencies: - "@typescript-eslint/types": "npm:8.19.1" - "@typescript-eslint/visitor-keys": "npm:8.19.1" + "@typescript-eslint/project-service": "npm:8.46.2" + "@typescript-eslint/tsconfig-utils": "npm:8.46.2" + "@typescript-eslint/types": "npm:8.46.2" + "@typescript-eslint/visitor-keys": "npm:8.46.2" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" - ts-api-utils: "npm:^2.0.0" + ts-api-utils: "npm:^2.1.0" peerDependencies: - typescript: ">=4.8.4 <5.8.0" - checksum: 10/5de467452d5ef1a380d441b06cd0134652a0c98cdb4ce31b93eb589f7dc75ef60364d03fd80ca0a48d0c8b268f7258d4f6528b16fe1b89442d60a4bc960fe5f5 + typescript: ">=4.8.4 <6.0.0" + checksum: 10/4d2149ad97e7f7e2e4cf466932f52f38e90414d47341c5938e497fd0826d403db9896bbd5cc08e7488ad0d0ffb3817e6f18e9f0c623d8a8cda09af204f81aab8 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.19.1, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.1.0": - version: 8.19.1 - resolution: "@typescript-eslint/utils@npm:8.19.1" +"@typescript-eslint/utils@npm:8.46.2, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.46.2 + resolution: "@typescript-eslint/utils@npm:8.46.2" dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.19.1" - "@typescript-eslint/types": "npm:8.19.1" - "@typescript-eslint/typescript-estree": "npm:8.19.1" + "@eslint-community/eslint-utils": "npm:^4.7.0" + "@typescript-eslint/scope-manager": "npm:8.46.2" + "@typescript-eslint/types": "npm:8.46.2" + "@typescript-eslint/typescript-estree": "npm:8.46.2" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.8.0" - checksum: 10/bb92116a53fe143ee87e830941afb21d4222a64ca3f2b6dac5c2d9984f981408e60e52b04c32d95208896075ac222fb4ee631c5b0c4826b87d4bd8091c421ab1 + typescript: ">=4.8.4 <6.0.0" + checksum: 10/91f6216f858161c3f59b2e035e0abce68fcdc9fbe45cb693a111c11ce5352c42fe0b1145a91e538c5459ff81b5e3741a4b38189b97e0e1a756567b6467c7b6c9 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.46.2": + version: 8.46.2 + resolution: "@typescript-eslint/visitor-keys@npm:8.46.2" + dependencies: + "@typescript-eslint/types": "npm:8.46.2" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10/4352629a33bc1619dc78d55eaec382be4c7e1059af02660f62bfdb22933021deaf98504d4030b8db74ec122e6d554e9015341f87aed729fb70fae613f12f55a4 + languageName: node + linkType: hard + +"@unrs/resolver-binding-android-arm-eabi@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.11.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-android-arm64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-android-arm64@npm:1.11.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-darwin-arm64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.11.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-darwin-x64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-darwin-x64@npm:1.11.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-freebsd-x64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.11.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1" + conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.19.1": - version: 8.19.1 - resolution: "@typescript-eslint/visitor-keys@npm:8.19.1" +"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-x64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.11.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-wasm32-wasi@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.11.1" dependencies: - "@typescript-eslint/types": "npm:8.19.1" - eslint-visitor-keys: "npm:^4.2.0" - checksum: 10/510eb196e7b7d59d3981d672a75454615159e931fe78e2a64b09607c3cfa45110709b0eb5ac3dd271d757a0d98cf4868ad2f45bf9193f96e9efec3efa92a19c1 + "@napi-rs/wasm-runtime": "npm:^0.2.11" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -6573,60 +7027,60 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-core@npm:3.4.38": - version: 3.4.38 - resolution: "@vue/compiler-core@npm:3.4.38" +"@vue/compiler-core@npm:3.5.22": + version: 3.5.22 + resolution: "@vue/compiler-core@npm:3.5.22" dependencies: - "@babel/parser": "npm:^7.24.7" - "@vue/shared": "npm:3.4.38" + "@babel/parser": "npm:^7.28.4" + "@vue/shared": "npm:3.5.22" entities: "npm:^4.5.0" estree-walker: "npm:^2.0.2" - source-map-js: "npm:^1.2.0" - checksum: 10/16449e9083c290e6c13e1cc0cb0a0a457817a52533d10902388c872fb1337ba0fa29fb7b8394df5a10f5ed3bad264d6c386f9eaf47c07982a543f277dbee9b8a + source-map-js: "npm:^1.2.1" + checksum: 10/ed0ca730dbefebb311f8a65eec66185df5019dd5bfc389f962972eb46dfa93d135fbe0819bf6c1feac107d116594b1fc951c93323fe06f9b2530ec24a795bba6 languageName: node linkType: hard -"@vue/compiler-dom@npm:3.4.38": - version: 3.4.38 - resolution: "@vue/compiler-dom@npm:3.4.38" +"@vue/compiler-dom@npm:3.5.22": + version: 3.5.22 + resolution: "@vue/compiler-dom@npm:3.5.22" dependencies: - "@vue/compiler-core": "npm:3.4.38" - "@vue/shared": "npm:3.4.38" - checksum: 10/4012fab212dc0628ef72f5ae13aa2dd551efb8be7f2aa8abe2a1db15058ddda29912a1e3aa1fc6712e2d8efe84724f16a907ad2cda987631bfc79330afc8d451 + "@vue/compiler-core": "npm:3.5.22" + "@vue/shared": "npm:3.5.22" + checksum: 10/32c22faa8d0167541b6590c0610adde2f733debe9f58271b39695ec2dc3ab149b34a2066b72c8ddb53f3722b731ef02556af40a998b4059048b4879e64710b77 languageName: node linkType: hard "@vue/compiler-sfc@npm:^3.3.4": - version: 3.4.38 - resolution: "@vue/compiler-sfc@npm:3.4.38" - dependencies: - "@babel/parser": "npm:^7.24.7" - "@vue/compiler-core": "npm:3.4.38" - "@vue/compiler-dom": "npm:3.4.38" - "@vue/compiler-ssr": "npm:3.4.38" - "@vue/shared": "npm:3.4.38" + version: 3.5.22 + resolution: "@vue/compiler-sfc@npm:3.5.22" + dependencies: + "@babel/parser": "npm:^7.28.4" + "@vue/compiler-core": "npm:3.5.22" + "@vue/compiler-dom": "npm:3.5.22" + "@vue/compiler-ssr": "npm:3.5.22" + "@vue/shared": "npm:3.5.22" estree-walker: "npm:^2.0.2" - magic-string: "npm:^0.30.10" - postcss: "npm:^8.4.40" - source-map-js: "npm:^1.2.0" - checksum: 10/3eec1ddc03e06a162087dbbff9679f941ff34c43e553006aa2717c6a396445f488b62b89afa9cf65688468a05d8517bf1ee64936ad78d7ba6647a850a089e0e0 + magic-string: "npm:^0.30.19" + postcss: "npm:^8.5.6" + source-map-js: "npm:^1.2.1" + checksum: 10/490cc5b604c3de9de46784c9b49b35bc49e5d7884b24d180d7b3719fec903d5348d6a6b73087c77c786b648d706d16ae9a16cf937d2a98d821bd3c1c2000afc3 languageName: node linkType: hard -"@vue/compiler-ssr@npm:3.4.38": - version: 3.4.38 - resolution: "@vue/compiler-ssr@npm:3.4.38" +"@vue/compiler-ssr@npm:3.5.22": + version: 3.5.22 + resolution: "@vue/compiler-ssr@npm:3.5.22" dependencies: - "@vue/compiler-dom": "npm:3.4.38" - "@vue/shared": "npm:3.4.38" - checksum: 10/3ee052c8f10bf18db5d6788df21105698c139fac1de6c82532878cca86be4d052510a216184b3ea73331d84befcefd3f9ada11470c862f03696fed96ce1005cb + "@vue/compiler-dom": "npm:3.5.22" + "@vue/shared": "npm:3.5.22" + checksum: 10/78a0b687736861e5e97623a91a329252613ce9b69097371650efe5cfbee5ab22e34b165b68affa6e717b1f7d43c8990df93e1d1136c482fdd85a739137db81e4 languageName: node linkType: hard -"@vue/shared@npm:3.4.38": - version: 3.4.38 - resolution: "@vue/shared@npm:3.4.38" - checksum: 10/46bfc1f3932fd154ff84dcd267cae4db730c98db433c848d40c9c0dc23dcabdb5efe96a3a378c9ed3b7e8281ca17e2753f0ce98ae43b54b315550dfaccb56868 +"@vue/shared@npm:3.5.22": + version: 3.5.22 + resolution: "@vue/shared@npm:3.5.22" + checksum: 10/8dac35e4ed992da493db8a7430e7c1a09aae1029771e3e7fd3cf2ec64a039f989baef52a47c2864041b01f3de822518c55954bc1c1f2de69690d28761197467d languageName: node linkType: hard @@ -6638,69 +7092,72 @@ __metadata: linkType: hard "@yarnpkg/cli@npm:^4.5.3": - version: 4.5.3 - resolution: "@yarnpkg/cli@npm:4.5.3" - dependencies: - "@yarnpkg/core": "npm:^4.1.6" - "@yarnpkg/fslib": "npm:^3.1.1" - "@yarnpkg/libzip": "npm:^3.1.0" - "@yarnpkg/parsers": "npm:^3.0.2" - "@yarnpkg/plugin-compat": "npm:^4.0.10" - "@yarnpkg/plugin-constraints": "npm:^4.0.2" - "@yarnpkg/plugin-dlx": "npm:^4.0.0" - "@yarnpkg/plugin-essentials": "npm:^4.2.2" - "@yarnpkg/plugin-exec": "npm:^3.0.0" - "@yarnpkg/plugin-file": "npm:^3.0.0" - "@yarnpkg/plugin-git": "npm:^3.1.0" - "@yarnpkg/plugin-github": "npm:^3.0.0" - "@yarnpkg/plugin-http": "npm:^3.0.1" - "@yarnpkg/plugin-init": "npm:^4.0.1" - "@yarnpkg/plugin-interactive-tools": "npm:^4.0.1" - "@yarnpkg/plugin-link": "npm:^3.0.0" - "@yarnpkg/plugin-nm": "npm:^4.0.5" - "@yarnpkg/plugin-npm": "npm:^3.0.1" - "@yarnpkg/plugin-npm-cli": "npm:^4.0.4" - "@yarnpkg/plugin-pack": "npm:^4.0.0" - "@yarnpkg/plugin-patch": "npm:^4.0.1" - "@yarnpkg/plugin-pnp": "npm:^4.0.5" - "@yarnpkg/plugin-pnpm": "npm:^2.0.0" - "@yarnpkg/plugin-stage": "npm:^4.0.0" - "@yarnpkg/plugin-typescript": "npm:^4.1.1" - "@yarnpkg/plugin-version": "npm:^4.0.4" - "@yarnpkg/plugin-workspace-tools": "npm:^4.1.1" - "@yarnpkg/shell": "npm:^4.1.1" + version: 4.10.3 + resolution: "@yarnpkg/cli@npm:4.10.3" + dependencies: + "@yarnpkg/core": "npm:^4.4.4" + "@yarnpkg/fslib": "npm:^3.1.3" + "@yarnpkg/libzip": "npm:^3.2.2" + "@yarnpkg/parsers": "npm:^3.0.3" + "@yarnpkg/plugin-catalog": "npm:^1.0.1" + "@yarnpkg/plugin-compat": "npm:^4.0.12" + "@yarnpkg/plugin-constraints": "npm:^4.0.5" + "@yarnpkg/plugin-dlx": "npm:^4.0.2" + "@yarnpkg/plugin-essentials": "npm:^4.4.4" + "@yarnpkg/plugin-exec": "npm:^3.0.2" + "@yarnpkg/plugin-file": "npm:^3.0.2" + "@yarnpkg/plugin-git": "npm:^3.1.3" + "@yarnpkg/plugin-github": "npm:^3.0.2" + "@yarnpkg/plugin-http": "npm:^3.0.3" + "@yarnpkg/plugin-init": "npm:^4.1.2" + "@yarnpkg/plugin-interactive-tools": "npm:^4.0.3" + "@yarnpkg/plugin-jsr": "npm:^1.1.1" + "@yarnpkg/plugin-link": "npm:^3.0.2" + "@yarnpkg/plugin-nm": "npm:^4.0.8" + "@yarnpkg/plugin-npm": "npm:^3.3.2" + "@yarnpkg/plugin-npm-cli": "npm:^4.3.1" + "@yarnpkg/plugin-pack": "npm:^4.0.4" + "@yarnpkg/plugin-patch": "npm:^4.0.3" + "@yarnpkg/plugin-pnp": "npm:^4.1.2" + "@yarnpkg/plugin-pnpm": "npm:^2.1.2" + "@yarnpkg/plugin-stage": "npm:^4.0.2" + "@yarnpkg/plugin-typescript": "npm:^4.1.3" + "@yarnpkg/plugin-version": "npm:^4.2.0" + "@yarnpkg/plugin-workspace-tools": "npm:^4.1.6" + "@yarnpkg/shell": "npm:^4.1.3" ci-info: "npm:^4.0.0" clipanion: "npm:^4.0.0-rc.2" semver: "npm:^7.1.2" tslib: "npm:^2.4.0" typanion: "npm:^3.14.0" peerDependencies: - "@yarnpkg/core": ^4.1.6 - checksum: 10/bd3f8748cc4f3b041f815b0fa5287c8c181a8d3a600a9b30694180bee6cf37fcede2296d46ff20d3ab04e837be33401824432c57712aa8367690c741b809826e + "@yarnpkg/core": ^4.4.4 + checksum: 10/660c005e84719d650ef7101ec5362a61b8ba8222d28369795889eb0824732f7be09b41554cfecd617c0632f46a6e5b5a0e90d3cf3f2eaa44f9b4b03736827a5b languageName: node linkType: hard -"@yarnpkg/core@npm:^4.1.6": - version: 4.1.6 - resolution: "@yarnpkg/core@npm:4.1.6" +"@yarnpkg/core@npm:^4.1.6, @yarnpkg/core@npm:^4.4.2, @yarnpkg/core@npm:^4.4.4": + version: 4.4.4 + resolution: "@yarnpkg/core@npm:4.4.4" dependencies: "@arcanis/slice-ansi": "npm:^1.1.1" "@types/semver": "npm:^7.1.0" "@types/treeify": "npm:^1.0.0" - "@yarnpkg/fslib": "npm:^3.1.1" - "@yarnpkg/libzip": "npm:^3.1.0" - "@yarnpkg/parsers": "npm:^3.0.2" - "@yarnpkg/shell": "npm:^4.1.1" + "@yarnpkg/fslib": "npm:^3.1.3" + "@yarnpkg/libzip": "npm:^3.2.2" + "@yarnpkg/parsers": "npm:^3.0.3" + "@yarnpkg/shell": "npm:^4.1.3" camelcase: "npm:^5.3.1" - chalk: "npm:^3.0.0" + chalk: "npm:^4.1.2" ci-info: "npm:^4.0.0" clipanion: "npm:^4.0.0-rc.2" cross-spawn: "npm:^7.0.3" diff: "npm:^5.1.0" dotenv: "npm:^16.3.1" + es-toolkit: "npm:^1.39.7" fast-glob: "npm:^3.2.2" got: "npm:^11.7.0" - lodash: "npm:^4.17.15" + hpagent: "npm:^1.2.0" micromatch: "npm:^4.0.2" p-limit: "npm:^2.2.0" semver: "npm:^7.1.2" @@ -6709,224 +7166,236 @@ __metadata: tinylogic: "npm:^2.0.0" treeify: "npm:^1.1.0" tslib: "npm:^2.4.0" - tunnel: "npm:^0.0.6" - checksum: 10/6a766f3b91485ce210c898468ab51d97fcd49a3b19afd524c1adee031f46322311e559312f245c8ad32c853f6ace3b80665c08612876957dbce49f18fddbbba1 + checksum: 10/a4c9f166de3341b93ccdbbf2025f3556e7f7671df26abc1d8f0c49749e64cca69b6b9413364c5d1a3ec454ee467940b0384489171d4298313ad4a45a7ea74cc8 languageName: node linkType: hard -"@yarnpkg/extensions@npm:^2.0.4": - version: 2.0.4 - resolution: "@yarnpkg/extensions@npm:2.0.4" +"@yarnpkg/extensions@npm:^2.0.6": + version: 2.0.6 + resolution: "@yarnpkg/extensions@npm:2.0.6" peerDependencies: - "@yarnpkg/core": ^4.1.5 - checksum: 10/21e36a5cc7006da6463e5551492498a41c5f63493417627811072ed6ee451b2021068efeb39a943cb73829c5e6536e6afb79c3e7efa147a585396e3c8e9e24db + "@yarnpkg/core": ^4.4.2 + checksum: 10/25c64f8f3db5c7cbabbc3a86f6d018961486b50df1065e64d8acacd6c048d33d18c07d8717f52fd8ecb5eb3429b1f42f8692d82db18fe981f3e85f4ee8d04d09 languageName: node linkType: hard -"@yarnpkg/fslib@npm:^3.0.0, @yarnpkg/fslib@npm:^3.0.1, @yarnpkg/fslib@npm:^3.0.2, @yarnpkg/fslib@npm:^3.1.0, @yarnpkg/fslib@npm:^3.1.1": - version: 3.1.1 - resolution: "@yarnpkg/fslib@npm:3.1.1" +"@yarnpkg/fslib@npm:^3.1.1, @yarnpkg/fslib@npm:^3.1.2, @yarnpkg/fslib@npm:^3.1.3": + version: 3.1.3 + resolution: "@yarnpkg/fslib@npm:3.1.3" dependencies: tslib: "npm:^2.4.0" - checksum: 10/2dba130e18e9d9b3f708352bb473898c1593427a7858e6f936a97a3a31aaacb59a12bf7d53d5fcaf675fd44f1ae4941f4ab3f7ad032e6b51e059b8ea5efc4147 + checksum: 10/95f437358dda6656adb11816c075491fda874aef1e44e6ed9750e737c3da52e0609a0a0b7dedb873cafa357f6550a07dd1ed046cd804b19d96d828b4a05a0e5f languageName: node linkType: hard -"@yarnpkg/libui@npm:^3.0.1": - version: 3.0.1 - resolution: "@yarnpkg/libui@npm:3.0.1" +"@yarnpkg/libui@npm:^3.0.2": + version: 3.0.2 + resolution: "@yarnpkg/libui@npm:3.0.2" dependencies: tslib: "npm:^2.4.0" peerDependencies: ink: ^3.0.8 react: ^17.0.2 - checksum: 10/cdf18eaee2ba3eaab33d9c24466b19e7b087a8f05d7df037e5ce12f285ae853818cfa7aa9c0adb31e5310de80ced775fe76480760e880947a67a340cdbf75a41 + checksum: 10/021164d87df6d70d3ed0f3ceeeab492488c77c260533fc1116b31b5affc6278ac2d136e950c28562f6ac558f6a75d2681611ed935538f5d8451c8544355f67cf languageName: node linkType: hard -"@yarnpkg/libzip@npm:^3.0.0, @yarnpkg/libzip@npm:^3.1.0": - version: 3.1.0 - resolution: "@yarnpkg/libzip@npm:3.1.0" +"@yarnpkg/libzip@npm:^3.2.1, @yarnpkg/libzip@npm:^3.2.2": + version: 3.2.2 + resolution: "@yarnpkg/libzip@npm:3.2.2" dependencies: "@types/emscripten": "npm:^1.39.6" - "@yarnpkg/fslib": "npm:^3.1.0" + "@yarnpkg/fslib": "npm:^3.1.3" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/fslib": ^3.1.0 - checksum: 10/d3113b362d24cea53a00afe30ca0a5589649317c25812251dd3dbc14d37779b20e00118f040dfa2fc3d9ab78f0341ed827ccc03cad859647f05eaf388a6f1890 + "@yarnpkg/fslib": ^3.1.3 + checksum: 10/b6548be0a421e2390b74fd767d5f90e6da34a84af3ca28389b86d7f9e7602663f01347b5081cb93f8821877cae3ed48d2cb1cb8c35a4a4f7fc3d00109c85af0f languageName: node linkType: hard -"@yarnpkg/nm@npm:^4.0.4": - version: 4.0.5 - resolution: "@yarnpkg/nm@npm:4.0.5" +"@yarnpkg/nm@npm:^4.0.7": + version: 4.0.7 + resolution: "@yarnpkg/nm@npm:4.0.7" dependencies: - "@yarnpkg/core": "npm:^4.1.6" - "@yarnpkg/fslib": "npm:^3.1.1" - "@yarnpkg/pnp": "npm:^4.0.7" - checksum: 10/4df3ed048fca8f37cb260efd8272ce170ccf0799ce94554a9e7daeb1165c018579fda6ebfd56ef2d837aa2278075fb9481dc5f369a43d2d8fe07c9b682cead1b + "@yarnpkg/core": "npm:^4.4.2" + "@yarnpkg/fslib": "npm:^3.1.2" + "@yarnpkg/pnp": "npm:^4.1.1" + checksum: 10/006afb782d464305972e993754359bba25376896b51168ef7469ef296679ba3529f2154603f468fc575498fb4a91f31ffb63f63fb5802cd9295be7d11a67e0f6 languageName: node linkType: hard -"@yarnpkg/parsers@npm:^3.0.2": - version: 3.0.2 - resolution: "@yarnpkg/parsers@npm:3.0.2" +"@yarnpkg/parsers@npm:^3.0.3": + version: 3.0.3 + resolution: "@yarnpkg/parsers@npm:3.0.3" dependencies: js-yaml: "npm:^3.10.0" tslib: "npm:^2.4.0" - checksum: 10/87506f140d6c401bdd89ff22073c3dd3ec7b6858e7f576e63ec1aea1b0b8a8ec241eb46ca5582dc2071098a86d6a55c3b0628da5eeff91d33afb4fa7cac0cf65 + checksum: 10/379f7ff8fc1b37d3818dfeba4e18a72f8e9817bb41aab9332b50bbc843e45c9bf135563a7a06882ffb50e4cdd29c8da33c8e4f3739201de2fbcd38ecb59e3a8e languageName: node linkType: hard -"@yarnpkg/plugin-compat@npm:^4.0.10": - version: 4.0.10 - resolution: "@yarnpkg/plugin-compat@npm:4.0.10" +"@yarnpkg/plugin-catalog@npm:^1.0.1": + version: 1.0.1 + resolution: "@yarnpkg/plugin-catalog@npm:1.0.1" dependencies: - "@yarnpkg/extensions": "npm:^2.0.4" + "@yarnpkg/fslib": "npm:^3.1.3" + tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/core": ^4.1.5 - "@yarnpkg/plugin-patch": ^4.0.1 - checksum: 10/1f1fc284f95a26117abf92cd70e399ec57aa502cad8d970cea92b3bf19451e533561f81d21e3692d5a58a5f7b16c9b9b63a6a7f813f07535ceff705dc0d7cc9e + "@yarnpkg/core": ^4.4.4 + "@yarnpkg/plugin-pack": ^4.0.4 + checksum: 10/90bdda563c34a53b6f17ea9edc17b37e1c773e0ee663d68424793a366be6ec24525bc35b57fe201a835d282583405a7bb0a3c89fcebae94d05d0aa2e87860151 languageName: node linkType: hard -"@yarnpkg/plugin-constraints@npm:^4.0.2": - version: 4.0.2 - resolution: "@yarnpkg/plugin-constraints@npm:4.0.2" +"@yarnpkg/plugin-compat@npm:^4.0.12": + version: 4.0.12 + resolution: "@yarnpkg/plugin-compat@npm:4.0.12" + dependencies: + "@yarnpkg/extensions": "npm:^2.0.6" + peerDependencies: + "@yarnpkg/core": ^4.4.2 + "@yarnpkg/plugin-patch": ^4.0.3 + checksum: 10/83ffc85a42bfdf1c2ba3e38a1677dbb1a519d319f2c136ce7a1d827be6023253a65183c0cdcfc6269fca8e2997b5d1835221dfb991feb1ddf500278410421380 + languageName: node + linkType: hard + +"@yarnpkg/plugin-constraints@npm:^4.0.5": + version: 4.0.5 + resolution: "@yarnpkg/plugin-constraints@npm:4.0.5" dependencies: - "@yarnpkg/fslib": "npm:^3.0.1" + "@yarnpkg/fslib": "npm:^3.1.2" clipanion: "npm:^4.0.0-rc.2" - lodash: "npm:^4.17.15" + es-toolkit: "npm:^1.39.7" tau-prolog: "npm:^0.2.66" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.0.2 - "@yarnpkg/core": ^4.0.2 - checksum: 10/ffea175adb82a7990e772039aa42f5045193b53e3a5ce6f658cbd6ea5f587f0b2cf9e7e9f881a63f0aaabfdfea41764554e5326c4f7925b600a3caf65f4156c6 + "@yarnpkg/cli": ^4.9.3 + "@yarnpkg/core": ^4.4.3 + checksum: 10/e6ab9ffa6ac617ae7ead85767a0fb93ccdf8767369d865d02a5e4ba1d328b75c1a6249ee59fa19f33c30c9d1789bf47c991f1b6c9495338ffad461f083bd55d0 languageName: node linkType: hard -"@yarnpkg/plugin-dlx@npm:^4.0.0": - version: 4.0.0 - resolution: "@yarnpkg/plugin-dlx@npm:4.0.0" +"@yarnpkg/plugin-dlx@npm:^4.0.2": + version: 4.0.2 + resolution: "@yarnpkg/plugin-dlx@npm:4.0.2" dependencies: - "@yarnpkg/fslib": "npm:^3.0.0" + "@yarnpkg/fslib": "npm:^3.1.2" clipanion: "npm:^4.0.0-rc.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.0.0 - "@yarnpkg/core": ^4.0.0 - checksum: 10/2a145c10b4714e7c4c1192705f40df5b574f58caf088decea9f24273e99aa4276c030f8d33f46512d8983de3d97d74041eafe3a4a3c9b6ad0c8489024aea190c + "@yarnpkg/cli": ^4.9.2 + "@yarnpkg/core": ^4.4.2 + checksum: 10/46bfde91420a20fc04a377c6dbfb5c7e205a9963b78e96e7d6d31a7b2ff3d587d4dd4d54d1fe2786ebe7140df99374620b881ecac0cc30b03a91ff117ffe070b languageName: node linkType: hard -"@yarnpkg/plugin-essentials@npm:^4.2.2": - version: 4.2.2 - resolution: "@yarnpkg/plugin-essentials@npm:4.2.2" +"@yarnpkg/plugin-essentials@npm:^4.4.4": + version: 4.4.4 + resolution: "@yarnpkg/plugin-essentials@npm:4.4.4" dependencies: - "@yarnpkg/fslib": "npm:^3.1.0" - "@yarnpkg/parsers": "npm:^3.0.2" + "@yarnpkg/fslib": "npm:^3.1.3" + "@yarnpkg/parsers": "npm:^3.0.3" ci-info: "npm:^4.0.0" clipanion: "npm:^4.0.0-rc.2" enquirer: "npm:^2.3.6" - lodash: "npm:^4.17.15" + es-toolkit: "npm:^1.39.7" micromatch: "npm:^4.0.2" semver: "npm:^7.1.2" tslib: "npm:^2.4.0" typanion: "npm:^3.14.0" peerDependencies: - "@yarnpkg/cli": ^4.4.0 - "@yarnpkg/core": ^4.1.2 - "@yarnpkg/plugin-git": ^3.1.0 - checksum: 10/976a5c57fb5ba8446bdd9aad6b0b9b3a6e20699027c03df0190ce73e2fb4c77599ca16d8bc4ddf861c866abc853458e0e9cbd920e0b52e60953dd095cfa0394d + "@yarnpkg/cli": ^4.10.0 + "@yarnpkg/core": ^4.4.4 + "@yarnpkg/plugin-git": ^3.1.3 + checksum: 10/b197bad5590b5d1fce0d91270b6974a97a4860c613c68d68175f59018b9369a11e3cb26fa3540216dda23158709218857aff05eae8b159dcdc6f67b6766baa47 languageName: node linkType: hard -"@yarnpkg/plugin-exec@npm:^3.0.0": - version: 3.0.0 - resolution: "@yarnpkg/plugin-exec@npm:3.0.0" +"@yarnpkg/plugin-exec@npm:^3.0.2": + version: 3.0.2 + resolution: "@yarnpkg/plugin-exec@npm:3.0.2" dependencies: - "@yarnpkg/fslib": "npm:^3.0.0" + "@yarnpkg/fslib": "npm:^3.1.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/core": ^4.0.0 - checksum: 10/e6bbe9fc7a78f44d2853bd477edc2820bc5f707179e761bf44425b64e9caf3e802ea23379f57900cfb2ae228b083f1426bad2b201998b84982a96960502af740 + "@yarnpkg/core": ^4.4.2 + checksum: 10/5b37f99f50fcbea1f9c7a79b933a853705782b5d949290cac2c3ca0be78270e1ca056db0a15558cf971d6ce7ffc5afae4b7dc44d4302cf71016665594f5b8a7f languageName: node linkType: hard -"@yarnpkg/plugin-file@npm:^3.0.0": - version: 3.0.0 - resolution: "@yarnpkg/plugin-file@npm:3.0.0" +"@yarnpkg/plugin-file@npm:^3.0.2": + version: 3.0.2 + resolution: "@yarnpkg/plugin-file@npm:3.0.2" dependencies: - "@yarnpkg/fslib": "npm:^3.0.0" - "@yarnpkg/libzip": "npm:^3.0.0" + "@yarnpkg/fslib": "npm:^3.1.2" + "@yarnpkg/libzip": "npm:^3.2.1" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/core": ^4.0.0 - checksum: 10/149e57f555666b77eaf8e4035629f28bfbb026d20dc97720b7b8ee01781639ac29db5e27212a6b4980dd67097da4baa6297786c964f1e0321137489cdcb1fd31 + "@yarnpkg/core": ^4.4.2 + checksum: 10/5503733c110edf04ccdf4cbc0027bd4348f8d898903db608ae39995e15dd2c6ddae3841168307877213728f2ec99d706ea7829184ae1e1747f199a3900e98c0a languageName: node linkType: hard -"@yarnpkg/plugin-git@npm:^3.1.0": - version: 3.1.0 - resolution: "@yarnpkg/plugin-git@npm:3.1.0" +"@yarnpkg/plugin-git@npm:^3.1.3": + version: 3.1.3 + resolution: "@yarnpkg/plugin-git@npm:3.1.3" dependencies: "@types/semver": "npm:^7.1.0" - "@yarnpkg/fslib": "npm:^3.1.0" + "@yarnpkg/fslib": "npm:^3.1.2" clipanion: "npm:^4.0.0-rc.2" + es-toolkit: "npm:^1.39.7" git-url-parse: "npm:^13.1.0" - lodash: "npm:^4.17.15" semver: "npm:^7.1.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/core": ^4.1.2 - checksum: 10/c72c8befc975c30a36a043e08788749125ee709890e126804f202b57fbe47fd8f942e414a7be83d7dbd566551f4aa0c903b2450818f8dd919697b33955efe188 + "@yarnpkg/core": ^4.4.3 + checksum: 10/f7bbcfc345f42f8367ca930e51de6866c68a6d32eb35b71185e8fa510474f1c67d0734824caefe92254a0dd99201258b3bbd8a6f210bfafc09baa4f533cfc0bd languageName: node linkType: hard -"@yarnpkg/plugin-github@npm:^3.0.0": - version: 3.0.0 - resolution: "@yarnpkg/plugin-github@npm:3.0.0" +"@yarnpkg/plugin-github@npm:^3.0.2": + version: 3.0.2 + resolution: "@yarnpkg/plugin-github@npm:3.0.2" dependencies: - "@yarnpkg/fslib": "npm:^3.0.0" + "@yarnpkg/fslib": "npm:^3.1.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/core": ^4.0.0 - "@yarnpkg/plugin-git": ^3.0.0 - checksum: 10/08f749d67f37eb18f9ac9ccc6705483ce2fbf7be57b7f7bc95408bcd3725a6b18ca2f07e3b4989e9013631dd6b278f4fc5b7e66824ee0e0d01e9475be0373aaa + "@yarnpkg/core": ^4.4.2 + "@yarnpkg/plugin-git": ^3.1.2 + checksum: 10/7c060a43f228e8e830f5d133bbf4128f98995c4bd39f295dc872e9e1024d0977ffde8b94b10c75f638531eeb2c98345d9267ac4d07cf050c8380ae610b37bf4b languageName: node linkType: hard -"@yarnpkg/plugin-http@npm:^3.0.1": - version: 3.0.1 - resolution: "@yarnpkg/plugin-http@npm:3.0.1" +"@yarnpkg/plugin-http@npm:^3.0.3": + version: 3.0.3 + resolution: "@yarnpkg/plugin-http@npm:3.0.3" dependencies: tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/core": ^4.0.2 - checksum: 10/928d22cf37ff90501fbbc48ddff162c63e254100fe5f01c46b979458514f14d892f577047e90ced997e4c938edbe4b65b6580f9f5c0390b6b28bce1f0b2f4804 + "@yarnpkg/core": ^4.4.2 + checksum: 10/d67a1680f445edfed1e86d97bbfac3b8efd3732764afacb8d81aa564f20eb1407482978cc331a24be315617e8d41bfbe4e06ebefe1883cb9f446918ec94672d8 languageName: node linkType: hard -"@yarnpkg/plugin-init@npm:^4.0.1": - version: 4.0.1 - resolution: "@yarnpkg/plugin-init@npm:4.0.1" +"@yarnpkg/plugin-init@npm:^4.1.2": + version: 4.1.2 + resolution: "@yarnpkg/plugin-init@npm:4.1.2" dependencies: - "@yarnpkg/fslib": "npm:^3.0.1" + "@yarnpkg/fslib": "npm:^3.1.2" clipanion: "npm:^4.0.0-rc.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.0.2 - "@yarnpkg/core": ^4.0.2 - checksum: 10/1a5d2bb615e9f3688568fa06530fc2eb33ad631e8bc67334c5f4534436462dfbca83a25ca0c934c00985a2ef849a3f122bdd9b754c42e3972491c74dbf0566da + "@yarnpkg/cli": ^4.9.2 + "@yarnpkg/core": ^4.4.2 + checksum: 10/34b014c8f70700743e565a9e2d6ee9d676027c9e7e15dfd7fb51c7f1c7bc633123a72a0bafc114ac664475a1e2432bb4e6527a254818d3986869f758aaa6669d languageName: node linkType: hard -"@yarnpkg/plugin-interactive-tools@npm:^4.0.1": - version: 4.0.1 - resolution: "@yarnpkg/plugin-interactive-tools@npm:4.0.1" +"@yarnpkg/plugin-interactive-tools@npm:^4.0.3": + version: 4.0.3 + resolution: "@yarnpkg/plugin-interactive-tools@npm:4.0.3" dependencies: - "@yarnpkg/libui": "npm:^3.0.1" + "@yarnpkg/libui": "npm:^3.0.2" algoliasearch: "npm:^4.2.0" clipanion: "npm:^4.0.0-rc.2" diff: "npm:^5.1.0" @@ -6936,50 +7405,62 @@ __metadata: semver: "npm:^7.1.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.5.1 - "@yarnpkg/core": ^4.1.4 - "@yarnpkg/plugin-essentials": ^4.2.2 - checksum: 10/248258726aef54c0b8c914d46e9830ba5cefebaae111efc70670956109bb737b2bde1c11a4607fa821a1b941a4b9b6646b1ea9f6677e00a15e00c799075c3dc9 + "@yarnpkg/cli": ^4.9.2 + "@yarnpkg/core": ^4.4.2 + "@yarnpkg/plugin-essentials": ^4.4.1 + checksum: 10/4f3e20e00fd48f8485340794c67be1f3f34c47ed10705135cd04e12841cf1aca4d16f59a31e90d47cc3da60676ffdfc02a52f8d26f87704b8c213e50eee11927 languageName: node linkType: hard -"@yarnpkg/plugin-link@npm:^3.0.0": - version: 3.0.0 - resolution: "@yarnpkg/plugin-link@npm:3.0.0" +"@yarnpkg/plugin-jsr@npm:^1.1.1": + version: 1.1.1 + resolution: "@yarnpkg/plugin-jsr@npm:1.1.1" dependencies: - "@yarnpkg/fslib": "npm:^3.0.0" + "@yarnpkg/fslib": "npm:^3.1.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/core": ^4.0.0 - checksum: 10/48bdb0e7ac8f9544999237d90f8b64163c1959d9e6f6a67d14799ef1c6533d5f30c7fa896129ed7b7ac693a9ce111646878ec4f505a39f5494df5db34cc372c4 + "@yarnpkg/core": ^4.4.2 + checksum: 10/f207f24c9284f0aad27a3e99df855f13bc9fae1a1ecc14880559a5507a1fde15714cdb6998e38d198aac4edae16f8a4ec5e8f4324f5d1adf3dcca14cf604c47e languageName: node linkType: hard -"@yarnpkg/plugin-nm@npm:^4.0.5": - version: 4.0.5 - resolution: "@yarnpkg/plugin-nm@npm:4.0.5" - dependencies: - "@yarnpkg/fslib": "npm:^3.1.0" - "@yarnpkg/libzip": "npm:^3.1.0" - "@yarnpkg/nm": "npm:^4.0.4" - "@yarnpkg/parsers": "npm:^3.0.2" - "@yarnpkg/plugin-pnp": "npm:^4.0.5" - "@yarnpkg/pnp": "npm:^4.0.6" +"@yarnpkg/plugin-link@npm:^3.0.2": + version: 3.0.2 + resolution: "@yarnpkg/plugin-link@npm:3.0.2" + dependencies: + "@yarnpkg/fslib": "npm:^3.1.2" + tslib: "npm:^2.4.0" + peerDependencies: + "@yarnpkg/core": ^4.4.2 + checksum: 10/48f7c8e3e652b9a6fc78d6027571cadd6bbe290df57deefc05a6a864b021d8894c22e94b74d5587bd6cdf511e4eb5a30a6ca022123e06d81a5833a3849b1d1d0 + languageName: node + linkType: hard + +"@yarnpkg/plugin-nm@npm:^4.0.8": + version: 4.0.8 + resolution: "@yarnpkg/plugin-nm@npm:4.0.8" + dependencies: + "@yarnpkg/fslib": "npm:^3.1.3" + "@yarnpkg/libzip": "npm:^3.2.2" + "@yarnpkg/nm": "npm:^4.0.7" + "@yarnpkg/parsers": "npm:^3.0.3" + "@yarnpkg/plugin-pnp": "npm:^4.1.2" + "@yarnpkg/pnp": "npm:^4.1.2" "@zkochan/cmd-shim": "npm:^5.1.0" clipanion: "npm:^4.0.0-rc.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.5.1 - "@yarnpkg/core": ^4.1.4 - checksum: 10/c1407fbc3cb91ae6053e4ef14dbbe314891520f64a99c1317cfaf03f420c37ec960e5d34261146bd6df2dd57c6ff614c8bae89c97334231c3edc98665fe95c94 + "@yarnpkg/cli": ^4.10.0 + "@yarnpkg/core": ^4.4.4 + checksum: 10/a53738abd2e1630fbaadc710e65b532b566486bdf3a21ccabee736981aa9f535f099e9a73e971ef9ac42c3d81d71d6bba56b00a007dcc9887d9b066c7f1e9c9e languageName: node linkType: hard -"@yarnpkg/plugin-npm-cli@npm:^4.0.4": - version: 4.0.4 - resolution: "@yarnpkg/plugin-npm-cli@npm:4.0.4" +"@yarnpkg/plugin-npm-cli@npm:^4.3.1": + version: 4.3.1 + resolution: "@yarnpkg/plugin-npm-cli@npm:4.3.1" dependencies: - "@yarnpkg/fslib": "npm:^3.0.2" + "@yarnpkg/fslib": "npm:^3.1.3" clipanion: "npm:^4.0.0-rc.2" enquirer: "npm:^2.3.6" micromatch: "npm:^4.0.2" @@ -6987,183 +7468,186 @@ __metadata: tslib: "npm:^2.4.0" typanion: "npm:^3.14.0" peerDependencies: - "@yarnpkg/cli": ^4.2.1 - "@yarnpkg/core": ^4.0.5 - "@yarnpkg/plugin-npm": ^3.0.1 - "@yarnpkg/plugin-pack": ^4.0.0 - checksum: 10/81492ab7d041996d9f232ce027233a713d12808d0c4a38ba0678cf0732c30c6f65c752bfd2b88b2414f119cc59ab0e0ff55c0669d8e72c02eb8c73c7e0733ba0 + "@yarnpkg/cli": ^4.10.3 + "@yarnpkg/core": ^4.4.4 + "@yarnpkg/plugin-npm": ^3.3.2 + "@yarnpkg/plugin-pack": ^4.0.4 + checksum: 10/5483560cdc906acdc5a5f682ab8c4c41ef91f3dfc8b34621e3d3efe9943f0682ae9a2778b3832b10dd6f9dfa527470e338bcd27e23a7a7cd176dbc70ef9db2c0 languageName: node linkType: hard -"@yarnpkg/plugin-npm@npm:^3.0.1": - version: 3.0.1 - resolution: "@yarnpkg/plugin-npm@npm:3.0.1" +"@yarnpkg/plugin-npm@npm:^3.3.2": + version: 3.3.2 + resolution: "@yarnpkg/plugin-npm@npm:3.3.2" dependencies: - "@yarnpkg/fslib": "npm:^3.0.2" + "@yarnpkg/fslib": "npm:^3.1.3" enquirer: "npm:^2.3.6" - lodash: "npm:^4.17.15" + es-toolkit: "npm:^1.39.7" + micromatch: "npm:^4.0.2" semver: "npm:^7.1.2" - ssri: "npm:^6.0.1" + sigstore: "npm:^3.1.0" + ssri: "npm:^12.0.0" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/core": ^4.0.3 - "@yarnpkg/plugin-pack": ^4.0.0 - checksum: 10/30c3948b90f621abbd9c60c616221683bf198643c991e222d67bf3e00f0748a16e04c978e5cf4b35a587919723836a66a9dc86fee2ee5fe18a480a00782b701c + "@yarnpkg/core": ^4.4.4 + "@yarnpkg/plugin-pack": ^4.0.4 + checksum: 10/fa487ba4b296c95a853dfb3ff772c7705cc9273924b95e4833a928c39a30f2d5ca163f0413f35022e3f0f42c24f5ae739738d7813d9ca5dede7a347b40e2d297 languageName: node linkType: hard -"@yarnpkg/plugin-pack@npm:^4.0.0": - version: 4.0.0 - resolution: "@yarnpkg/plugin-pack@npm:4.0.0" +"@yarnpkg/plugin-pack@npm:^4.0.2, @yarnpkg/plugin-pack@npm:^4.0.4": + version: 4.0.4 + resolution: "@yarnpkg/plugin-pack@npm:4.0.4" dependencies: - "@yarnpkg/fslib": "npm:^3.0.0" + "@yarnpkg/fslib": "npm:^3.1.3" clipanion: "npm:^4.0.0-rc.2" micromatch: "npm:^4.0.2" tar-stream: "npm:^2.0.1" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.0.0 - "@yarnpkg/core": ^4.0.0 - checksum: 10/af36966c777a3a270257597ecbebc85297df26b2694101b7afcacad890f9ab6026762408f7ab8c27555a91a1fc550e00c38856f793041eadab491c6f15e3b876 + "@yarnpkg/cli": ^4.10.1 + "@yarnpkg/core": ^4.4.4 + checksum: 10/f6c5c2c5ac5497341f8f3248b85a7134af1afbd57a30a5dda1e8d01d3151afa10a3585cca9fd12840ffd63cb6ccaaa6c8d8b56f224c9f1769c2b6f22fe3c8372 languageName: node linkType: hard -"@yarnpkg/plugin-patch@npm:^4.0.1": - version: 4.0.1 - resolution: "@yarnpkg/plugin-patch@npm:4.0.1" +"@yarnpkg/plugin-patch@npm:^4.0.3": + version: 4.0.3 + resolution: "@yarnpkg/plugin-patch@npm:4.0.3" dependencies: - "@yarnpkg/fslib": "npm:^3.0.1" - "@yarnpkg/libzip": "npm:^3.0.0" + "@yarnpkg/fslib": "npm:^3.1.2" + "@yarnpkg/libzip": "npm:^3.2.1" clipanion: "npm:^4.0.0-rc.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.0.2 - "@yarnpkg/core": ^4.0.2 - checksum: 10/9dd326cc4c3859ea21ad4fd7678ed8f12bd0c360c5fb7b23a2f3c45e2c6127c0cf1420b95b80ceb9271c3a7aa05b59a2eb12d8f565d47264a0d32137ab0f9464 + "@yarnpkg/cli": ^4.9.2 + "@yarnpkg/core": ^4.4.2 + checksum: 10/a941b09b0c24d9ae3efd223618c801f31ca56487d7e06c68056a6262075821dcc1d68e1bdcc14ce9f8c27e86d44f1cae9df473276e339bcbdba85768c6e51bed languageName: node linkType: hard -"@yarnpkg/plugin-pnp@npm:^4.0.0, @yarnpkg/plugin-pnp@npm:^4.0.5": - version: 4.0.5 - resolution: "@yarnpkg/plugin-pnp@npm:4.0.5" +"@yarnpkg/plugin-pnp@npm:^4.1.1, @yarnpkg/plugin-pnp@npm:^4.1.2": + version: 4.1.2 + resolution: "@yarnpkg/plugin-pnp@npm:4.1.2" dependencies: - "@yarnpkg/fslib": "npm:^3.1.0" - "@yarnpkg/plugin-stage": "npm:^4.0.0" - "@yarnpkg/pnp": "npm:^4.0.5" + "@yarnpkg/fslib": "npm:^3.1.3" + "@yarnpkg/plugin-stage": "npm:^4.0.2" + "@yarnpkg/pnp": "npm:^4.1.2" clipanion: "npm:^4.0.0-rc.2" micromatch: "npm:^4.0.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.2.2 - "@yarnpkg/core": ^4.0.5 - checksum: 10/7d3277ffbb71ba8f6a1a647f4f66ff618c8645556784f3acf9fa198bbb2fad650043a8a927b7bc446f4748b1433a03219ea7030414b07417b3c31b8390631c0a + "@yarnpkg/cli": ^4.10.0 + "@yarnpkg/core": ^4.4.4 + checksum: 10/c787fac753190efbbc31fe271aed69462f387aab27fa9c519ec53f6e4936f2e36ca4a7497fffad0b49c6ff19c5309878e31fc0bae56484c4f827b180a5db7d8a languageName: node linkType: hard -"@yarnpkg/plugin-pnpm@npm:^2.0.0": - version: 2.0.0 - resolution: "@yarnpkg/plugin-pnpm@npm:2.0.0" +"@yarnpkg/plugin-pnpm@npm:^2.1.2": + version: 2.1.2 + resolution: "@yarnpkg/plugin-pnpm@npm:2.1.2" dependencies: - "@yarnpkg/fslib": "npm:^3.0.0" - "@yarnpkg/plugin-pnp": "npm:^4.0.0" - "@yarnpkg/plugin-stage": "npm:^4.0.0" + "@yarnpkg/fslib": "npm:^3.1.2" + "@yarnpkg/plugin-pnp": "npm:^4.1.1" + "@yarnpkg/plugin-stage": "npm:^4.0.2" clipanion: "npm:^4.0.0-rc.2" p-limit: "npm:^2.2.0" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.0.0 - "@yarnpkg/core": ^4.0.0 - checksum: 10/4f418b94ca77b2433d81cab39a369e710f4320359e6b16de4421b009eaedd9ddbdb181fed47fbef21d93a77dbf7f71daf31b165901d352172f8d50ef89e8e514 + "@yarnpkg/cli": ^4.9.3 + "@yarnpkg/core": ^4.4.3 + checksum: 10/89455e212f6438ac06d5223d3f2b8176cd66a3d14115391916b98026fcf793b0f3cb69f4d40b46ecb5279d576a711bd0a54aad24734f0ac541c69da32f8a669e languageName: node linkType: hard -"@yarnpkg/plugin-stage@npm:^4.0.0": - version: 4.0.0 - resolution: "@yarnpkg/plugin-stage@npm:4.0.0" +"@yarnpkg/plugin-stage@npm:^4.0.2": + version: 4.0.2 + resolution: "@yarnpkg/plugin-stage@npm:4.0.2" dependencies: - "@yarnpkg/fslib": "npm:^3.0.0" + "@yarnpkg/fslib": "npm:^3.1.2" clipanion: "npm:^4.0.0-rc.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.0.0 - "@yarnpkg/core": ^4.0.0 - checksum: 10/504fd0075e2cf36b168eca3be6fe5d586fb1b63d7ac2c9a3073f3dfe4341480f569602f62b3a6c233fbf99276342e1647b3b73d89f4bc8bcc920407342b00d68 + "@yarnpkg/cli": ^4.9.2 + "@yarnpkg/core": ^4.4.2 + checksum: 10/0bd469d5e7062e3dc998f7a4c0a6f905bad49ec8b222e927557ddcb83402b169860e5cc9a4a34cfa6d32084abfa6abefbe75a3f701f72bf487b5ebb098b3eac5 languageName: node linkType: hard -"@yarnpkg/plugin-typescript@npm:^4.1.1": - version: 4.1.1 - resolution: "@yarnpkg/plugin-typescript@npm:4.1.1" +"@yarnpkg/plugin-typescript@npm:^4.1.3": + version: 4.1.3 + resolution: "@yarnpkg/plugin-typescript@npm:4.1.3" dependencies: - "@yarnpkg/fslib": "npm:^3.0.2" - "@yarnpkg/plugin-pack": "npm:^4.0.0" + "@yarnpkg/fslib": "npm:^3.1.2" + "@yarnpkg/plugin-pack": "npm:^4.0.2" algoliasearch: "npm:^4.2.0" semver: "npm:^7.1.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.2.1 - "@yarnpkg/core": ^4.0.5 - "@yarnpkg/plugin-essentials": ^4.1.1 - checksum: 10/36bb32653cd442ca3ad51dcba24a46616e6fd837ff62060b92308367d84926c47309d564ec540b4c6db0e24a3fc70169153bc748df1cbec37125d00a49ae1469 + "@yarnpkg/cli": ^4.9.2 + "@yarnpkg/core": ^4.4.2 + "@yarnpkg/plugin-essentials": ^4.4.1 + checksum: 10/1ad778ee22401c8b7447a9cf9e20dc7af5c0b5a64124375f15c6d551c604c4e82f9954bd85cac4f2f1108aaff00cc9204ae50985d19927b8092e2554460bbd12 languageName: node linkType: hard -"@yarnpkg/plugin-version@npm:^4.0.4": - version: 4.0.4 - resolution: "@yarnpkg/plugin-version@npm:4.0.4" +"@yarnpkg/plugin-version@npm:^4.2.0": + version: 4.2.0 + resolution: "@yarnpkg/plugin-version@npm:4.2.0" dependencies: - "@yarnpkg/fslib": "npm:^3.1.0" - "@yarnpkg/libui": "npm:^3.0.1" - "@yarnpkg/parsers": "npm:^3.0.2" + "@yarnpkg/fslib": "npm:^3.1.2" + "@yarnpkg/libui": "npm:^3.0.2" + "@yarnpkg/parsers": "npm:^3.0.3" clipanion: "npm:^4.0.0-rc.2" + es-toolkit: "npm:^1.39.7" ink: "npm:^3.2.0" - lodash: "npm:^4.17.15" react: "npm:^17.0.2" semver: "npm:^7.1.2" tslib: "npm:^2.4.0" peerDependencies: - "@yarnpkg/cli": ^4.5.1 - "@yarnpkg/core": ^4.1.4 - "@yarnpkg/plugin-git": ^3.1.0 - checksum: 10/381351af6e1d590eaff7aae3e15ec1361c4cd6dbaa7d396af6d7ea702e29adada6fe586218c94bc1266a30a6044e9d005c206598b789a869710cea2ab3624c9c + "@yarnpkg/cli": ^4.9.4 + "@yarnpkg/core": ^4.4.3 + "@yarnpkg/plugin-git": ^3.1.3 + checksum: 10/948b7d7f434b403967ba311080dfe358e292dfa4c98674053d82faec88565abbd00543228f3c8720c1448f30614608121d6c28d957c4bb5a1c5478f334c5d274 languageName: node linkType: hard -"@yarnpkg/plugin-workspace-tools@npm:^4.1.1": - version: 4.1.1 - resolution: "@yarnpkg/plugin-workspace-tools@npm:4.1.1" +"@yarnpkg/plugin-workspace-tools@npm:^4.1.6": + version: 4.1.6 + resolution: "@yarnpkg/plugin-workspace-tools@npm:4.1.6" dependencies: - "@yarnpkg/fslib": "npm:^3.1.1" + "@yarnpkg/fslib": "npm:^3.1.2" clipanion: "npm:^4.0.0-rc.2" + es-toolkit: "npm:^1.39.7" micromatch: "npm:^4.0.2" p-limit: "npm:^2.2.0" tslib: "npm:^2.4.0" typanion: "npm:^3.14.0" peerDependencies: - "@yarnpkg/cli": ^4.5.3 - "@yarnpkg/core": ^4.1.6 - "@yarnpkg/plugin-git": ^3.1.0 - checksum: 10/0011a6e3973b5b15029e074d4aa9caae7bd44d3a989b9cff3d9e6ae1d1a58cfd7c308dfbe0acef18e65c966233794a17275f996e5f5fbdc4f6115b2c1cb194fa + "@yarnpkg/cli": ^4.9.3 + "@yarnpkg/core": ^4.4.3 + "@yarnpkg/plugin-git": ^3.1.3 + checksum: 10/b2431699039b51fe4e44da7acaf34dfc547f29c1503e3e8e520216d0175dff85b0d097cf85e9bb11e28362bea9b6e071e06529b30db23c4efe6bddadabe6b62f languageName: node linkType: hard -"@yarnpkg/pnp@npm:^4.0.5, @yarnpkg/pnp@npm:^4.0.6, @yarnpkg/pnp@npm:^4.0.7": - version: 4.0.7 - resolution: "@yarnpkg/pnp@npm:4.0.7" +"@yarnpkg/pnp@npm:^4.1.1, @yarnpkg/pnp@npm:^4.1.2": + version: 4.1.2 + resolution: "@yarnpkg/pnp@npm:4.1.2" dependencies: - "@types/node": "npm:^18.17.15" - "@yarnpkg/fslib": "npm:^3.1.1" - checksum: 10/0a13983923b7cb5d3e6f70cb87deed07f3e71a57bcc46c51bf244bdad6c524002999bb02f2b4a0737d1747e72c7353b97b5ecc3626dda3580b97bfbb41506f32 + "@types/node": "npm:^18.19.124" + "@yarnpkg/fslib": "npm:^3.1.3" + checksum: 10/54d5e18ac0efcdfee671265cf12d3ee096ede0a8d7a762b61f3124572502f63a2ad32b3b270de66ceeac757845f3658dba26a26a6aa8180260299c7c5f93ae43 languageName: node linkType: hard -"@yarnpkg/shell@npm:^4.1.1": - version: 4.1.1 - resolution: "@yarnpkg/shell@npm:4.1.1" +"@yarnpkg/shell@npm:^4.1.3": + version: 4.1.3 + resolution: "@yarnpkg/shell@npm:4.1.3" dependencies: - "@yarnpkg/fslib": "npm:^3.1.1" - "@yarnpkg/parsers": "npm:^3.0.2" - chalk: "npm:^3.0.0" + "@yarnpkg/fslib": "npm:^3.1.2" + "@yarnpkg/parsers": "npm:^3.0.3" + chalk: "npm:^4.1.2" clipanion: "npm:^4.0.0-rc.2" cross-spawn: "npm:^7.0.3" fast-glob: "npm:^3.2.2" @@ -7171,16 +7655,16 @@ __metadata: tslib: "npm:^2.4.0" bin: shell: ./lib/cli.js - checksum: 10/229502ad247e6f42f54e5709e9cdb33fe8d455170c30e33ce85ee711edcc9d88cda2eaf7034d4ed96678b3068c490a3cf83536182a6a54eed3723535b4c9ed7c + checksum: 10/5994f92adf960071ac938653c5ad09746285d3fdc452fc6fdd30c3a832b612cc208e8d2274731e35957b457b168d6be524f5ce30ceb18542532d9326b422421b languageName: node linkType: hard "@yarnpkg/types@npm:^4.0.0": - version: 4.0.0 - resolution: "@yarnpkg/types@npm:4.0.0" + version: 4.0.1 + resolution: "@yarnpkg/types@npm:4.0.1" dependencies: tslib: "npm:^2.4.0" - checksum: 10/f9670e120761a4d17461df2f01aa4b92213fbdd063501a36145d11ea01bd87ba01d44615cba3d6bc8f9bfc39a03a9a6452bf0436c7fb0c9c5311352b975349e6 + checksum: 10/f391763cd955356e9aad551b29e8de7bbf68a6c8992af7cdc950ccf53f8aff6695ad81aa4c8a8e7c582786a840a4f30617732e2cb49f4109b971a9242c31c9fc languageName: node linkType: hard @@ -7209,6 +7693,13 @@ __metadata: languageName: node linkType: hard +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10/ebd2c149dda6f543b66ce3779ea612151bb3aa9d0824f169773ee9876f1ca5a4e0adbcccc7eed048c04da7998e1825e2aa76fcca92d9e67dea50ac2b0a58dc2e + languageName: node + linkType: hard + "abort-controller@npm:^3.0.0": version: 3.0.0 resolution: "abort-controller@npm:3.0.0" @@ -7263,12 +7754,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.14.0, acorn@npm:^8.2.4": - version: 8.14.0 - resolution: "acorn@npm:8.14.0" +"acorn@npm:^8.15.0, acorn@npm:^8.2.4": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" bin: acorn: bin/acorn - checksum: 10/6df29c35556782ca9e632db461a7f97947772c6c1d5438a81f0c873a3da3a792487e83e404d1c6c25f70513e91aa18745f6eafb1fcc3a43ecd1920b21dd173d2 + checksum: 10/77f2de5051a631cf1729c090e5759148459cdb76b5f5c70f890503d629cf5052357b0ce783c0f976dd8a93c5150f59f6d18df1def3f502396a20f81282482fa4 languageName: node linkType: hard @@ -7302,12 +7793,10 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" - dependencies: - debug: "npm:^4.3.4" - checksum: 10/c478fec8f79953f118704d007a38f2a185458853f5c45579b9669372bd0e12602e88dc2ad0233077831504f7cd6fcc8251c383375bba5eaaf563b102938bda26 +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 10/79bef167247789f955aaba113bae74bf64aa1e1acca4b1d6bb444bdf91d82c3e07e9451ef6a6e2e35e8f71a6f97ce33e3d855a5328eb9fad1bc3cc4cfd031ed8 languageName: node linkType: hard @@ -7334,25 +7823,25 @@ __metadata: linkType: hard "algoliasearch@npm:^4.2.0": - version: 4.24.0 - resolution: "algoliasearch@npm:4.24.0" - dependencies: - "@algolia/cache-browser-local-storage": "npm:4.24.0" - "@algolia/cache-common": "npm:4.24.0" - "@algolia/cache-in-memory": "npm:4.24.0" - "@algolia/client-account": "npm:4.24.0" - "@algolia/client-analytics": "npm:4.24.0" - "@algolia/client-common": "npm:4.24.0" - "@algolia/client-personalization": "npm:4.24.0" - "@algolia/client-search": "npm:4.24.0" - "@algolia/logger-common": "npm:4.24.0" - "@algolia/logger-console": "npm:4.24.0" - "@algolia/recommend": "npm:4.24.0" - "@algolia/requester-browser-xhr": "npm:4.24.0" - "@algolia/requester-common": "npm:4.24.0" - "@algolia/requester-node-http": "npm:4.24.0" - "@algolia/transporter": "npm:4.24.0" - checksum: 10/fba851fb719529754b450c3d366de72289351c864aea56aa1c167ff0e36d5b015dddae7d720fe649a00d6c91d94a2091fb27789e553eb79c8d28a885585ccc6f + version: 4.25.2 + resolution: "algoliasearch@npm:4.25.2" + dependencies: + "@algolia/cache-browser-local-storage": "npm:4.25.2" + "@algolia/cache-common": "npm:4.25.2" + "@algolia/cache-in-memory": "npm:4.25.2" + "@algolia/client-account": "npm:4.25.2" + "@algolia/client-analytics": "npm:4.25.2" + "@algolia/client-common": "npm:4.25.2" + "@algolia/client-personalization": "npm:4.25.2" + "@algolia/client-search": "npm:4.25.2" + "@algolia/logger-common": "npm:4.25.2" + "@algolia/logger-console": "npm:4.25.2" + "@algolia/recommend": "npm:4.25.2" + "@algolia/requester-browser-xhr": "npm:4.25.2" + "@algolia/requester-common": "npm:4.25.2" + "@algolia/requester-node-http": "npm:4.25.2" + "@algolia/transporter": "npm:4.25.2" + checksum: 10/d8d13ff04db7bceb6b5d01a0736f5b37538941188b6866f61457e78326d4f6e45a08c22478c8f86e8b178f98d94c07d5aaed74a4a435e841d7190650ebec4167 languageName: node linkType: hard @@ -7380,16 +7869,16 @@ __metadata: linkType: hard "ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10/1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 + version: 6.2.2 + resolution: "ansi-regex@npm:6.2.2" + checksum: 10/9b17ce2c6daecc75bcd5966b9ad672c23b184dc3ed9bf3c98a0702f0d2f736c15c10d461913568f2cf527a5e64291c7473358885dd493305c84a1cfed66ba94f languageName: node linkType: hard "ansi-sequence-parser@npm:^1.1.0": - version: 1.1.1 - resolution: "ansi-sequence-parser@npm:1.1.1" - checksum: 10/9ce30f257badc2ef62cac8028a7e26c368d22bf26650427192e8ffd102da42e377e3affe90fae58062eecc963b0b055f510dde3b677c7e0c433c67069b5a8ee5 + version: 1.1.3 + resolution: "ansi-sequence-parser@npm:1.1.3" + checksum: 10/0f298aad5c9429dc71fc85668b4b502a5c0670c6dc1253b6e9ed5fc7d457a05ede5b10fd0d69a33a1435e41c0a841360bec9131053bdce04a2367c475acb97d6 languageName: node linkType: hard @@ -7402,7 +7891,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^5.0.0": +"ansi-styles@npm:^5.0.0, ansi-styles@npm:^5.2.0": version: 5.2.0 resolution: "ansi-styles@npm:5.2.0" checksum: 10/d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 @@ -7410,9 +7899,9 @@ __metadata: linkType: hard "ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10/70fdf883b704d17a5dfc9cde206e698c16bcd74e7f196ab821511651aee4f9f76c9514bdfa6ca3a27b5e49138b89cb222a28caf3afe4567570139577f991df32 + version: 6.2.3 + resolution: "ansi-styles@npm:6.2.3" + checksum: 10/c49dad7639f3e48859bd51824c93b9eb0db628afc243c51c3dd2410c4a15ede1a83881c6c7341aa2b159c4f90c11befb38f2ba848c07c66c9f9de4bcd7cb9f30 languageName: node linkType: hard @@ -7498,12 +7987,17 @@ __metadata: languageName: node linkType: hard -"async-mutex@npm:^0.3.1": - version: 0.3.2 - resolution: "async-mutex@npm:0.3.2" - dependencies: - tslib: "npm:^2.3.1" - checksum: 10/cf0b02f7f916d202a727e15a64d51110c3258a719588ca263875024172aa9368efa5dbec6dc4f4fd10e35744e238e1075306a93ce86549de642d5f7d0c06bc23 +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10/1a09379937d846f0ce7614e75071c12826945d4e417db634156bf0e4673c495989302f52186dfa9767a1d9181794554717badd193ca2bbab046ef1da741d8efd + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10/3d49e7acbeee9e84537f4cb0e0f91893df8eba976759875ae8ee9e3d3c82f6ecdebdb347c2fad9926b92596d93cdfc78ecc988bcdf407e40433e8e8e6fe5d78e languageName: node linkType: hard @@ -7516,6 +8010,13 @@ __metadata: languageName: node linkType: hard +"async@npm:^3.2.3": + version: 3.2.6 + resolution: "async@npm:3.2.6" + checksum: 10/cb6e0561a3c01c4b56a799cc8bab6ea5fef45f069ab32500b6e19508db270ef2dffa55e5aed5865c5526e9907b1f8be61b27530823b411ffafb5e1538c86c368 + languageName: node + linkType: hard + "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -7530,21 +8031,45 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.7.4": - version: 1.7.5 - resolution: "axios@npm:1.7.5" +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: "npm:^1.0.0" + checksum: 10/6c9da3a66caddd83c875010a1ca8ef11eac02ba15fb592dc9418b2b5e7b77b645fa7729380a92d9835c2f05f2ca1b6251f39b993e0feb3f1517c74fa1af02cab + languageName: node + linkType: hard + +"axios-retry@npm:^3.1.2": + version: 3.9.1 + resolution: "axios-retry@npm:3.9.1" + dependencies: + "@babel/runtime": "npm:^7.15.4" + is-retry-allowed: "npm:^2.2.0" + checksum: 10/9a28dd8aa4640c2af30789059a1a84549178b2a415bf765a35fe6bba9cd3d78b2ee2da07e448e823303c05f3a83bf98709f4aa64a43c0f6c2812e1665126b97e + languageName: node + linkType: hard + +"axios@npm:^1.11.0, axios@npm:^1.7.4, axios@npm:^1.8.3": + version: 1.13.1 + resolution: "axios@npm:1.13.1" dependencies: follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" + form-data: "npm:^4.0.4" proxy-from-env: "npm:^1.1.0" - checksum: 10/6cbcfe943a84089f420a900a3a3aeb54ee94dcc9c2b81b150434896357be5d1079eff0b1bbb628597371e79f896b1bc5776df04184756ba99656ff31df9a75bf + checksum: 10/8046c15f3ffb5d5d45ce33074f69a9226d4c4312b205307d8a8f0d38bd549fdec7612b307a092b82d7af51d8f3a211ae27589f56a65643655acd01c6ee9bfdac languageName: node linkType: hard "b4a@npm:^1.6.4": - version: 1.6.6 - resolution: "b4a@npm:1.6.6" - checksum: 10/6154a36bd78b53ecd2843a829352532a1bf9fc8081dab339ba06ca3c9ffcf25d340c3b18fe4ba0fc17a546a54c1ed814cea92cd6b895f6bd2837ca4ee0fc9f52 + version: 1.7.3 + resolution: "b4a@npm:1.7.3" + peerDependencies: + react-native-b4a: "*" + peerDependenciesMeta: + react-native-b4a: + optional: true + checksum: 10/048ddd0eeec6a75e6f8dee07d52354e759032f0ef678b556e05bf5a137d7a4102002cadb953b3fb37a635995a1013875d715d115dbafaf12bcad6528d2166054 languageName: node linkType: hard @@ -7621,8 +8146,8 @@ __metadata: linkType: hard "babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.1.0 - resolution: "babel-preset-current-node-syntax@npm:1.1.0" + version: 1.2.0 + resolution: "babel-preset-current-node-syntax@npm:1.2.0" dependencies: "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/plugin-syntax-bigint": "npm:^7.8.3" @@ -7640,8 +8165,8 @@ __metadata: "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10/46331111ae72b7121172fd9e6a4a7830f651ad44bf26dbbf77b3c8a60a18009411a3eacb5e72274004290c110371230272109957d5224d155436b4794ead2f1b + "@babel/core": ^7.0.0 || ^8.0.0-0 + checksum: 10/3608fa671cfa46364ea6ec704b8fcdd7514b7b70e6ec09b1199e13ae73ed346c51d5ce2cb6d4d5b295f6a3f2cad1fdeec2308aa9e037002dd7c929194cc838ea languageName: node linkType: hard @@ -7686,19 +8211,24 @@ __metadata: languageName: node linkType: hard -"bare-events@npm:^2.2.0": - version: 2.4.2 - resolution: "bare-events@npm:2.4.2" - checksum: 10/c1006ad13b7e62a412466d4eac8466b4ceb46ce84a5e2fc164cd4b10edaaa5016adc684147134b67a6a3865aaf5aa007191647bdb5dbf859b1d5735d2a9ddf3b +"bare-events@npm:^2.7.0": + version: 2.8.1 + resolution: "bare-events@npm:2.8.1" + peerDependencies: + bare-abort-controller: "*" + peerDependenciesMeta: + bare-abort-controller: + optional: true + checksum: 10/004a61f3b872563deb5d80a6dd4a835078f59eaf05a7b6fd52430bff1c593ca4d94551cfc64b3058e91276b5b98b336132b9641b799eb38c1c9168d6b286dcee languageName: node linkType: hard "base-x@npm:^3.0.2": - version: 3.0.10 - resolution: "base-x@npm:3.0.10" + version: 3.0.11 + resolution: "base-x@npm:3.0.11" dependencies: safe-buffer: "npm:^5.0.1" - checksum: 10/52307739559e81d9980889de2359cb4f816cc0eb9a463028fa3ab239ab913d9044a1b47b4520f98e68453df32a457b8ba58b8d0ee7e757fc3fb971f3fa7a1482 + checksum: 10/c2e3c443fd07cb9b9d3e179a9e9c581daa31881005841fe8d6a834e534505890fedf03465ccf14512da60e3f7be00fe66167806b159ba076d2c03952ae7460c4 languageName: node linkType: hard @@ -7716,6 +8246,15 @@ __metadata: languageName: node linkType: hard +"baseline-browser-mapping@npm:^2.8.19": + version: 2.8.23 + resolution: "baseline-browser-mapping@npm:2.8.23" + bin: + baseline-browser-mapping: dist/cli.js + checksum: 10/f074d76f4b9157ac976c8e0083c20c9b808ac4de33cf8e245ced6e5eade6b43d05a6f12eb07924d8b846c86ac14f49626864b35a80bace6c8bc5ba0f947cc270 + languageName: node + linkType: hard + "bech32@npm:1.1.4": version: 1.1.4 resolution: "bech32@npm:1.1.4" @@ -7731,9 +8270,9 @@ __metadata: linkType: hard "bignumber.js@npm:^9.1.2": - version: 9.1.2 - resolution: "bignumber.js@npm:9.1.2" - checksum: 10/d89b8800a987225d2c00dcbf8a69dc08e92aa0880157c851c287b307d31ceb2fc2acb0c62c3e3a3d42b6c5fcae9b004035f13eb4386e56d529d7edac18d5c9d8 + version: 9.3.1 + resolution: "bignumber.js@npm:9.3.1" + checksum: 10/1be0372bf0d6d29d0a49b9e6a9cefbd54dad9918232ad21fcd4ec39030260773abf0c76af960c6b3b98d3115a3a71e61c6a111812d1395040a039cfa178e0245 languageName: node linkType: hard @@ -7800,9 +8339,9 @@ __metadata: linkType: hard "bn.js@npm:^4.11.9": - version: 4.12.0 - resolution: "bn.js@npm:4.12.0" - checksum: 10/10f8db196d3da5adfc3207d35d0a42aa29033eb33685f20ba2c36cadfe2de63dad05df0a20ab5aae01b418d1c4b3d4d205273085262fa020d17e93ff32b67527 + version: 4.12.2 + resolution: "bn.js@npm:4.12.2" + checksum: 10/5803983405c087443e0e6c9bb5d0bc863d9f987d77e710f81b14c55616494f5a274e1650ee892531acb3529d52c0e0ea48aa12d2873dd80a75dde9d73a2ec518 languageName: node linkType: hard @@ -7834,21 +8373,21 @@ __metadata: linkType: hard "brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" + version: 1.1.12 + resolution: "brace-expansion@npm:1.1.12" dependencies: balanced-match: "npm:^1.0.0" concat-map: "npm:0.0.1" - checksum: 10/faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + checksum: 10/12cb6d6310629e3048cadb003e1aca4d8c9bb5c67c3c321bafdd7e7a50155de081f78ea3e0ed92ecc75a9015e784f301efc8132383132f4f7904ad1ac529c562 languageName: node linkType: hard "brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" + version: 2.0.2 + resolution: "brace-expansion@npm:2.0.2" dependencies: balanced-match: "npm:^1.0.0" - checksum: 10/a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + checksum: 10/01dff195e3646bc4b0d27b63d9bab84d2ebc06121ff5013ad6e5356daa5a9d6b60fa26cf73c74797f2dc3fbec112af13578d51f75228c1112b26c790a87b0488 languageName: node linkType: hard @@ -7890,16 +8429,17 @@ __metadata: linkType: hard "browserslist@npm:^4.24.0": - version: 4.24.4 - resolution: "browserslist@npm:4.24.4" - dependencies: - caniuse-lite: "npm:^1.0.30001688" - electron-to-chromium: "npm:^1.5.73" - node-releases: "npm:^2.0.19" - update-browserslist-db: "npm:^1.1.1" + version: 4.27.0 + resolution: "browserslist@npm:4.27.0" + dependencies: + baseline-browser-mapping: "npm:^2.8.19" + caniuse-lite: "npm:^1.0.30001751" + electron-to-chromium: "npm:^1.5.238" + node-releases: "npm:^2.0.26" + update-browserslist-db: "npm:^1.1.4" bin: browserslist: cli.js - checksum: 10/11fda105e803d891311a21a1f962d83599319165faf471c2d70e045dff82a12128f5b50b1fcba665a2352ad66147aaa248a9d2355a80aadc3f53375eb3de2e48 + checksum: 10/56db4cdb98b5c93797a47e5a60decb144f73a2ae41c60a16c41b75516fabcb0db0116b8cfcf3a26c960cc6c9ab1c4f4801d8d3a743ec72f27acfe5380153ba2f languageName: node linkType: hard @@ -8011,6 +8551,26 @@ __metadata: languageName: node linkType: hard +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10/ea026b27b13656330c2bbaa462a88181dcaa0435c1c2e705db89b31d9bdf7126049d6d0445ba746dca21454a0cfdf1d6f47fd39d34c8c8435296b30bc5738a13 + languageName: node + linkType: hard + "cacheable-lookup@npm:^5.0.3": version: 5.0.4 resolution: "cacheable-lookup@npm:5.0.4" @@ -8043,7 +8603,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.7": +"call-bind@npm:^1.0.8": version: 1.0.8 resolution: "call-bind@npm:1.0.8" dependencies: @@ -8055,6 +8615,16 @@ __metadata: languageName: node linkType: hard +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10/ef2b96e126ec0e58a7ff694db43f4d0d44f80e641370c21549ed911fecbdbc2df3ebc9bddad918d6bbdefeafb60bb3337902006d5176d72bcd2da74820991af7 + languageName: node + linkType: hard + "callsite@npm:^1.0.0": version: 1.0.0 resolution: "callsite@npm:1.0.0" @@ -8094,20 +8664,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001688": - version: 1.0.30001690 - resolution: "caniuse-lite@npm:1.0.30001690" - checksum: 10/9fb4659eb09a298601b9593739072c481e2f5cc524bd0530e5e0f002e66246da5e866669854dfc0d53195ee36b201dab02f7933a7cdf60ccba7adb2d4a304caf - languageName: node - linkType: hard - -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10/37f90b31fd655fb49c2bd8e2a68aebefddd64522655d001ef417e6f955def0ed9110a867ffc878a533f2dafea5f2032433a37c8a7614969baa7f8a1cd424ddfc +"caniuse-lite@npm:^1.0.30001751": + version: 1.0.30001753 + resolution: "caniuse-lite@npm:1.0.30001753" + checksum: 10/b8e8bd4c7712a22085a739d02d049b5994db36cccac34237f0a53b75aee305b9ef4a99f33c31b9ec5964ea7bac9f0a92718bf28f954c7da98749f94d1afe840c languageName: node linkType: hard @@ -8121,10 +8681,10 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.3.0": - version: 5.3.0 - resolution: "chalk@npm:5.3.0" - checksum: 10/6373caaab21bd64c405bfc4bd9672b145647fc9482657b5ea1d549b3b2765054e9d3d928870cdf764fb4aad67555f5061538ff247b8310f110c5c888d92397ea +"chalk@npm:^5.3.0, chalk@npm:^5.4.1": + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 10/1b2f48f6fba1370670d5610f9cd54c391d6ede28f4b7062dd38244ea5768777af72e5be6b74fb6c6d54cb84c4a2dff3f3afa9b7cb5948f7f022cfd3d087989e0 languageName: node linkType: hard @@ -8163,27 +8723,28 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^4.0.0": - version: 4.1.0 - resolution: "ci-info@npm:4.1.0" - checksum: 10/546628efd04e37da3182a58b6995a3313deb86ec7c8112e22ffb644317a61296b89bbfa128219e5bfcce43d9613a434ed89907ed8e752db947f7291e0405125f +"ci-info@npm:^4.0.0, ci-info@npm:^4.2.0": + version: 4.3.1 + resolution: "ci-info@npm:4.3.1" + checksum: 10/9dc952bef67e665ccde2e7a552d42d5d095529d21829ece060a00925ede2dfa136160c70ef2471ea6ed6c9b133218b47c007f56955c0f1734a2e57f240aa7445 languageName: node linkType: hard "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": - version: 1.0.4 - resolution: "cipher-base@npm:1.0.4" + version: 1.0.7 + resolution: "cipher-base@npm:1.0.7" dependencies: - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - checksum: 10/3d5d6652ca499c3f7c5d7fdc2932a357ec1e5aa84f2ad766d850efd42e89753c97b795c3a104a8e7ae35b4e293f5363926913de3bf8181af37067d9d541ca0db + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + to-buffer: "npm:^1.2.2" + checksum: 10/9501d2241b7968aaae74fc3db1d6a69a804e0b14117a8fd5d811edf351fcd39a1807bfd98e090a799cfe98b183fbf2e01ebb57f1239080850db07b68dcd9ba02 languageName: node linkType: hard "cjs-module-lexer@npm:^1.0.0, cjs-module-lexer@npm:^1.3.1": - version: 1.4.0 - resolution: "cjs-module-lexer@npm:1.4.0" - checksum: 10/b041096749792526120d8b8756929f8ef5dd4596502a0e1013f857e3027acd6091915fea77037921d70ee1a99988a100d994d3d3c2e323b04dd4c5ffd516cf13 + version: 1.4.3 + resolution: "cjs-module-lexer@npm:1.4.3" + checksum: 10/d2b92f919a2dedbfd61d016964fce8da0035f827182ed6839c97cac56e8a8077cfa6a59388adfe2bc588a19cef9bbe830d683a76a6e93c51f65852062cfe2591 languageName: node linkType: hard @@ -8314,9 +8875,9 @@ __metadata: linkType: hard "collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: 10/30ea7d5c9ee51f2fdba4901d4186c5b7114a088ef98fd53eda3979da77eed96758a2cae81cc6d97e239aaea6065868cf908b24980663f7b7e96aa291b3e12fa4 + version: 1.0.3 + resolution: "collect-v8-coverage@npm:1.0.3" + checksum: 10/656443261fb7b79cf79e89cba4b55622b07c1d4976c630829d7c5c585c73cda1c2ff101f316bfb19bb9e2c58d724c7db1f70a21e213dcd14099227c5e6019860 languageName: node linkType: hard @@ -8352,10 +8913,10 @@ __metadata: languageName: node linkType: hard -"commander@npm:^12.1.0": - version: 12.1.0 - resolution: "commander@npm:12.1.0" - checksum: 10/cdaeb672d979816853a4eed7f1310a9319e8b976172485c2a6b437ed0db0a389a44cfb222bfbde772781efa9f215bdd1b936f80d6b249485b465c6cb906e1f93 +"commander@npm:^14.0.0": + version: 14.0.2 + resolution: "commander@npm:14.0.2" + checksum: 10/2d202db5e5f9bb770112a3c1579b893d17ac6f6d932183077308bdd96d0f87f0bbe6a68b5b9ed2cf3b2514be6bb7de637480703c0e2db9741ee1b383237deb26 languageName: node linkType: hard @@ -8366,7 +8927,7 @@ __metadata: languageName: node linkType: hard -"comment-parser@npm:1.4.1": +"comment-parser@npm:1.4.1, comment-parser@npm:^1.4.1": version: 1.4.1 resolution: "comment-parser@npm:1.4.1" checksum: 10/16a3260b5e77819ebd9c99b0b65c7d6723b1ff73487bac9ce2d8f016a2847dd689e8663b88e1fad1444bbea89847c42f785708ac86a2c55f614f7095249bbf6b @@ -8409,30 +8970,30 @@ __metadata: linkType: hard "contentful-resolve-response@npm:^1.9.0": - version: 1.9.0 - resolution: "contentful-resolve-response@npm:1.9.0" + version: 1.9.4 + resolution: "contentful-resolve-response@npm:1.9.4" dependencies: - fast-copy: "npm:^2.1.7" - checksum: 10/0c5daa59a3a6b020f9b5316812e3f14e62833b4aead008527c5bfde6549365e8e8e9f373af8836f06ca7b2023d861fdd2c241d3e74d3797133d18983be8bb3b3 + fast-copy: "npm:^3.0.2" + checksum: 10/954eb119d15ce4e6634ff1d5b4dc0be17f219663e70fd9e44a637801b5b2936470f87f150d480a440471839476a13f6eac4f68c50cc01c26fb5b296e2ae40dd8 languageName: node linkType: hard "contentful-sdk-core@npm:^8.3.1": - version: 8.3.1 - resolution: "contentful-sdk-core@npm:8.3.1" + version: 8.3.2 + resolution: "contentful-sdk-core@npm:8.3.2" dependencies: fast-copy: "npm:^2.1.7" lodash.isplainobject: "npm:^4.0.6" lodash.isstring: "npm:^4.0.1" p-throttle: "npm:^4.1.1" qs: "npm:^6.11.2" - checksum: 10/645d3a5d296d0e2a5ce87cceb04cf1ddf572183b5946cb1b3b717436bc7be96864216225fb845e61850d580436021c6284e7c95da0600a16c89c0af81a5f0d2c + checksum: 10/4af0aba2bb7e3db3ebf260fea74843de89f150f5af883134c370eb695fd8b2587cf94d4524d03020286f565eb3bff7b12d42f2a38718b62eb75cb28556e40f42 languageName: node linkType: hard "contentful@npm:^10.15.0": - version: 10.15.0 - resolution: "contentful@npm:10.15.0" + version: 10.15.1 + resolution: "contentful@npm:10.15.1" dependencies: "@contentful/content-source-maps": "npm:^0.11.0" "@contentful/rich-text-types": "npm:^16.0.2" @@ -8441,7 +9002,7 @@ __metadata: contentful-sdk-core: "npm:^8.3.1" json-stringify-safe: "npm:^5.0.1" type-fest: "npm:^4.0.0" - checksum: 10/b57c51faa99074a2f60c930c4827d1f8fe9867a359e53738532bbe859f5d72e750645fa4e195e65ad015811f344d95a0b3cebe6debef7d4e92ce9510bd55939e + checksum: 10/eb913a79e38d87bc7fb3a79952e4d7c5a1de5cccfbe0a012e8131c9c1e5a0a525cfcb7eaea971b02fb9e57b9e49c71ce96dd7096c3f65483992017ef70de80e5 languageName: node linkType: hard @@ -8529,7 +9090,7 @@ __metadata: languageName: node linkType: hard -"create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": +"create-hmac@npm:^1.1.7": version: 1.1.7 resolution: "create-hmac@npm:1.1.7" dependencies: @@ -8552,7 +9113,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -8563,6 +9124,13 @@ __metadata: languageName: node linkType: hard +"crypto-js@npm:^4.2.0": + version: 4.2.0 + resolution: "crypto-js@npm:4.2.0" + checksum: 10/c7bcc56a6e01c3c397e95aa4a74e4241321f04677f9a618a8f48a63b5781617248afb9adb0629824792e7ec20ca0d4241a49b6b2938ae6f973ec4efc5c53c924 + languageName: node + linkType: hard + "cssom@npm:^0.4.4": version: 0.4.4 resolution: "cssom@npm:0.4.4" @@ -8606,24 +9174,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.3.7": - version: 4.4.0 - resolution: "debug@npm:4.4.0" +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1": + version: 4.4.3 + resolution: "debug@npm:4.4.3" dependencies: ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10/1847944c2e3c2c732514b93d11886575625686056cd765336212dc15de2d2b29612b6cd80e1afba767bb8e1803b778caf9973e98169ef1a24a7a7009e1820367 - languageName: node - linkType: hard - -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: "npm:^2.1.1" - checksum: 10/d86fd7be2b85462297ea16f1934dc219335e802f629ca9a69b63ed8ed041dda492389bb2ee039217c02e5b54792b1c51aa96ae954cf28634d363a2360c7a1639 + checksum: 10/9ada3434ea2993800bd9a1e320bd4aa7af69659fb51cca685d390949434bc0a8873c21ed7c9b852af6f2455a55c6d050aa3937d52b3c69f796dab666f762acad languageName: node linkType: hard @@ -8645,9 +9204,9 @@ __metadata: linkType: hard "decimal.js@npm:^10.2.1": - version: 10.4.3 - resolution: "decimal.js@npm:10.4.3" - checksum: 10/de663a7bc4d368e3877db95fcd5c87b965569b58d16cdc4258c063d231ca7118748738df17cd638f7e9dd0be8e34cec08d7234b20f1f2a756a52fc5a38b188d0 + version: 10.6.0 + resolution: "decimal.js@npm:10.6.0" + checksum: 10/c0d45842d47c311d11b38ce7ccc911121953d4df3ebb1465d92b31970eb4f6738a065426a06094af59bee4b0d64e42e7c8984abd57b6767c64ea90cf90bb4a69 languageName: node linkType: hard @@ -8806,9 +9365,9 @@ __metadata: linkType: hard "detect-indent@npm:^7.0.1": - version: 7.0.1 - resolution: "detect-indent@npm:7.0.1" - checksum: 10/cbf3f0b1c3c881934ca94428e1179b26ab2a587e0d719031d37a67fb506d49d067de54ff057cb1e772e75975fed5155c01cd4518306fee60988b1486e3fc7768 + version: 7.0.2 + resolution: "detect-indent@npm:7.0.2" + checksum: 10/ef215d1b55a14f677ce03e840973b25362b6f8cd3f566bc82831fa1abb2be6a95423729bc573dc2334b1371ad7be18d9ec67e1a9611b71a04cb6d63f0d8e54cc languageName: node linkType: hard @@ -8819,7 +9378,7 @@ __metadata: languageName: node linkType: hard -"detect-newline@npm:^4.0.0": +"detect-newline@npm:^4.0.1": version: 4.0.1 resolution: "detect-newline@npm:4.0.1" checksum: 10/0409ecdfb93419591ccff24fccfe2ddddad29b66637d1ed898872125b25af05014fdeedc9306339577060f69f59fe6e9830cdd80948597f136dfbffefa60599c @@ -8870,15 +9429,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10/b4b28f1df5c563f7d876e7461254a4597b8cabe915abe94d7c5d1633fed263fcf9a85e8d3836591fc2d040108e822b0d32758e5ec1fe31c590dc7e08086e3e48 - languageName: node - linkType: hard - "domexception@npm:^2.0.1": version: 2.0.1 resolution: "domexception@npm:2.0.1" @@ -8889,9 +9439,9 @@ __metadata: linkType: hard "dotenv@npm:^16.3.1": - version: 16.4.7 - resolution: "dotenv@npm:16.4.7" - checksum: 10/f13bfe97db88f0df4ec505eeffb8925ec51f2d56a3d0b6d916964d8b4af494e6fb1633ba5d09089b552e77ab2a25de58d70259b2c5ed45ec148221835fc99a0c + version: 16.6.1 + resolution: "dotenv@npm:16.6.1" + checksum: 10/1d1897144344447ffe62aa1a6d664f4cd2e0784e0aff787eeeec1940ded32f8e4b5b506d665134fc87157baa086fce07ec6383970a2b6d2e7985beaed6a4cc14 languageName: node linkType: hard @@ -8929,10 +9479,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.73": - version: 1.5.79 - resolution: "electron-to-chromium@npm:1.5.79" - checksum: 10/c5b25ba04b4f4b46c4024b96e00e43adcd6c321b48c74c8d2660f69704901da5a6592009cbf96c36c89e3f6b53d7742e2b89514477fddbccf4e5c4caebed9d49 +"electron-to-chromium@npm:^1.5.238": + version: 1.5.244 + resolution: "electron-to-chromium@npm:1.5.244" + checksum: 10/5a29ee295259c9161b62fe4d221cffa988e69a53021a19e460778cccc529716d4f0c9f5f42f1436260913b1dcd2e923cec3f8d6ae15a9af07ccde7df9ebb93b9 languageName: node linkType: hard @@ -8996,21 +9546,21 @@ __metadata: linkType: hard "end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" + version: 1.4.5 + resolution: "end-of-stream@npm:1.4.5" dependencies: once: "npm:^1.4.0" - checksum: 10/530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b + checksum: 10/1e0cfa6e7f49887544e03314f9dfc56a8cb6dde910cbb445983ecc2ff426fc05946df9d75d8a21a3a64f2cecfe1bf88f773952029f46756b2ed64a24e95b1fb8 languageName: node linkType: hard -"enhanced-resolve@npm:^5.15.0, enhanced-resolve@npm:^5.17.1": - version: 5.18.0 - resolution: "enhanced-resolve@npm:5.18.0" +"enhanced-resolve@npm:^5.17.1": + version: 5.18.3 + resolution: "enhanced-resolve@npm:5.18.3" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.2.0" - checksum: 10/e88463ef97b68d40d0da0cd0c572e23f43dba0be622d6d44eae5cafed05f0c5dac43e463a83a86c4f70186d029357f82b56d9e1e47e8fc91dce3d6602f8bd6ce + checksum: 10/a4d0a1eacba3079f617b68c8f7e17583c3cbc572055c2edca41c0fa0230a49f6e9b2c6ffd4128cc5f84e15ea6cc313ae2b01e1057fcd252fabef70220a5d9f6a languageName: node linkType: hard @@ -9046,11 +9596,11 @@ __metadata: linkType: hard "error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" + version: 1.3.4 + resolution: "error-ex@npm:1.3.4" dependencies: is-arrayish: "npm:^0.2.1" - checksum: 10/d547740aa29c34e753fb6fed2c5de81802438529c12b3673bd37b6bb1fe49b9b7abdc3c11e6062fe625d8a296b3cf769a80f878865e25e685f787763eede3ffb + checksum: 10/ae3939fd4a55b1404e877df2080c6b59acc516d5b7f08a181040f78f38b4e2399633bfed2d9a21b91c803713fff7295ac70bebd8f3657ef352a95c2cd9aa2e4b languageName: node linkType: hard @@ -9068,13 +9618,6 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^1.5.3": - version: 1.6.0 - resolution: "es-module-lexer@npm:1.6.0" - checksum: 10/807ee7020cc46a9c970c78cad1f2f3fc139877e5ebad7f66dbfbb124d451189ba1c48c1c632bd5f8ce1b8af2caef3fca340ba044a410fa890d17b080a59024bb - languageName: node - linkType: hard - "es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": version: 1.1.1 resolution: "es-object-atoms@npm:1.1.1" @@ -9084,36 +9627,60 @@ __metadata: languageName: node linkType: hard +"es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10/86814bf8afbcd8966653f731415888019d4bc4aca6b6c354132a7a75bb87566751e320369654a101d23a91c87a85c79b178bcf40332839bd347aff437c4fb65f + languageName: node + linkType: hard + +"es-toolkit@npm:^1.39.7": + version: 1.41.0 + resolution: "es-toolkit@npm:1.41.0" + dependenciesMeta: + "@trivago/prettier-plugin-sort-imports@4.3.0": + unplugged: true + prettier-plugin-sort-re-exports@0.0.1: + unplugged: true + checksum: 10/ff7ba3130c40e8b472813ececf3a46f28e1875592fb35cab08fdcbe2d3e92f92995a95dd35e0922251ca2505fba39467a5d1491dfa51f642a4048e7d78161403 + languageName: node + linkType: hard + "esbuild@npm:~0.25.0": - version: 0.25.9 - resolution: "esbuild@npm:0.25.9" - dependencies: - "@esbuild/aix-ppc64": "npm:0.25.9" - "@esbuild/android-arm": "npm:0.25.9" - "@esbuild/android-arm64": "npm:0.25.9" - "@esbuild/android-x64": "npm:0.25.9" - "@esbuild/darwin-arm64": "npm:0.25.9" - "@esbuild/darwin-x64": "npm:0.25.9" - "@esbuild/freebsd-arm64": "npm:0.25.9" - "@esbuild/freebsd-x64": "npm:0.25.9" - "@esbuild/linux-arm": "npm:0.25.9" - "@esbuild/linux-arm64": "npm:0.25.9" - "@esbuild/linux-ia32": "npm:0.25.9" - "@esbuild/linux-loong64": "npm:0.25.9" - "@esbuild/linux-mips64el": "npm:0.25.9" - "@esbuild/linux-ppc64": "npm:0.25.9" - "@esbuild/linux-riscv64": "npm:0.25.9" - "@esbuild/linux-s390x": "npm:0.25.9" - "@esbuild/linux-x64": "npm:0.25.9" - "@esbuild/netbsd-arm64": "npm:0.25.9" - "@esbuild/netbsd-x64": "npm:0.25.9" - "@esbuild/openbsd-arm64": "npm:0.25.9" - "@esbuild/openbsd-x64": "npm:0.25.9" - "@esbuild/openharmony-arm64": "npm:0.25.9" - "@esbuild/sunos-x64": "npm:0.25.9" - "@esbuild/win32-arm64": "npm:0.25.9" - "@esbuild/win32-ia32": "npm:0.25.9" - "@esbuild/win32-x64": "npm:0.25.9" + version: 0.25.12 + resolution: "esbuild@npm:0.25.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.12" + "@esbuild/android-arm": "npm:0.25.12" + "@esbuild/android-arm64": "npm:0.25.12" + "@esbuild/android-x64": "npm:0.25.12" + "@esbuild/darwin-arm64": "npm:0.25.12" + "@esbuild/darwin-x64": "npm:0.25.12" + "@esbuild/freebsd-arm64": "npm:0.25.12" + "@esbuild/freebsd-x64": "npm:0.25.12" + "@esbuild/linux-arm": "npm:0.25.12" + "@esbuild/linux-arm64": "npm:0.25.12" + "@esbuild/linux-ia32": "npm:0.25.12" + "@esbuild/linux-loong64": "npm:0.25.12" + "@esbuild/linux-mips64el": "npm:0.25.12" + "@esbuild/linux-ppc64": "npm:0.25.12" + "@esbuild/linux-riscv64": "npm:0.25.12" + "@esbuild/linux-s390x": "npm:0.25.12" + "@esbuild/linux-x64": "npm:0.25.12" + "@esbuild/netbsd-arm64": "npm:0.25.12" + "@esbuild/netbsd-x64": "npm:0.25.12" + "@esbuild/openbsd-arm64": "npm:0.25.12" + "@esbuild/openbsd-x64": "npm:0.25.12" + "@esbuild/openharmony-arm64": "npm:0.25.12" + "@esbuild/sunos-x64": "npm:0.25.12" + "@esbuild/win32-arm64": "npm:0.25.12" + "@esbuild/win32-ia32": "npm:0.25.12" + "@esbuild/win32-x64": "npm:0.25.12" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -9169,7 +9736,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10/fc174ae7f646ad413adb641c7e46f16be575e462ed209866b55d5954d382e5da839e3f3f89a8e42e2b71d48895cc636ba43523011249fe5ff9c63d8d39d3a364 + checksum: 10/bc9c03d64e96a0632a926662c9d29decafb13a40e5c91790f632f02939bc568edc9abe0ee5d8055085a2819a00139eb12e223cfb8126dbf89bbc569f125d91fd languageName: node linkType: hard @@ -9231,13 +9798,13 @@ __metadata: linkType: hard "eslint-config-prettier@npm:^9.1.0": - version: 9.1.0 - resolution: "eslint-config-prettier@npm:9.1.0" + version: 9.1.2 + resolution: "eslint-config-prettier@npm:9.1.2" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 10/411e3b3b1c7aa04e3e0f20d561271b3b909014956c4dba51c878bf1a23dbb8c800a3be235c46c4732c70827276e540b6eed4636d9b09b444fd0a8e07f0fcd830 + checksum: 10/e4bba2d76df9dc6e2adca2866e544bfd1ff32232fc483743c04cedd93918a90a327b56d4a7e3f9d3fa32d90bd50b034d09df987860260064b18c026b8bbd15aa languageName: node linkType: hard @@ -9257,29 +9824,32 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.9": - version: 0.3.9 - resolution: "eslint-import-resolver-node@npm:0.3.9" +"eslint-import-context@npm:^0.1.9": + version: 0.1.9 + resolution: "eslint-import-context@npm:0.1.9" dependencies: - debug: "npm:^3.2.7" - is-core-module: "npm:^2.13.0" - resolve: "npm:^1.22.4" - checksum: 10/d52e08e1d96cf630957272e4f2644dcfb531e49dcfd1edd2e07e43369eb2ec7a7d4423d417beee613201206ff2efa4eb9a582b5825ee28802fc7c71fcd53ca83 + get-tsconfig: "npm:^4.10.1" + stable-hash-x: "npm:^0.2.0" + peerDependencies: + unrs-resolver: ^1.0.0 + peerDependenciesMeta: + unrs-resolver: + optional: true + checksum: 10/f0778126bb3aae57c8c68946c71c4418927e9d39f72099b799d9c47a3b5712d6c9166b63ee8be58a020961dcc9216df09c856b825336af375ccbbdeedfc82a99 languageName: node linkType: hard "eslint-import-resolver-typescript@npm:^3.6.3": - version: 3.7.0 - resolution: "eslint-import-resolver-typescript@npm:3.7.0" + version: 3.10.1 + resolution: "eslint-import-resolver-typescript@npm:3.10.1" dependencies: "@nolyfill/is-core-module": "npm:1.0.39" - debug: "npm:^4.3.7" - enhanced-resolve: "npm:^5.15.0" - fast-glob: "npm:^3.3.2" - get-tsconfig: "npm:^4.7.5" - is-bun-module: "npm:^1.0.2" - is-glob: "npm:^4.0.3" - stable-hash: "npm:^0.0.4" + debug: "npm:^4.4.0" + get-tsconfig: "npm:^4.10.0" + is-bun-module: "npm:^2.0.0" + stable-hash: "npm:^0.0.5" + tinyglobby: "npm:^0.2.13" + unrs-resolver: "npm:^1.6.2" peerDependencies: eslint: "*" eslint-plugin-import: "*" @@ -9289,7 +9859,7 @@ __metadata: optional: true eslint-plugin-import-x: optional: true - checksum: 10/8158730c11e562c56ed9bf7236dc75bce35b6992dc32c39ac2f4177ab77fca97b95999850204a6458054243607b54aee88c028a61fed4184f24f425fa1afff01 + checksum: 10/b8d6a9b2045c70f043f722f78c9e65bc0283126f0ad92c8f07473f7647d77f7b1562f765a472f17e06b81897b407091c0ec9f2e4592b158c9fd92d0b0c33de89 languageName: node linkType: hard @@ -9307,31 +9877,34 @@ __metadata: linkType: hard "eslint-plugin-import-x@npm:^4.3.0": - version: 4.6.1 - resolution: "eslint-plugin-import-x@npm:4.6.1" + version: 4.16.1 + resolution: "eslint-plugin-import-x@npm:4.16.1" dependencies: - "@types/doctrine": "npm:^0.0.9" - "@typescript-eslint/scope-manager": "npm:^8.1.0" - "@typescript-eslint/utils": "npm:^8.1.0" - debug: "npm:^4.3.4" - doctrine: "npm:^3.0.0" - enhanced-resolve: "npm:^5.17.1" - eslint-import-resolver-node: "npm:^0.3.9" - get-tsconfig: "npm:^4.7.3" + "@typescript-eslint/types": "npm:^8.35.0" + comment-parser: "npm:^1.4.1" + debug: "npm:^4.4.1" + eslint-import-context: "npm:^0.1.9" is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.3" - semver: "npm:^7.6.3" - stable-hash: "npm:^0.0.4" - tslib: "npm:^2.6.3" + minimatch: "npm:^9.0.3 || ^10.0.1" + semver: "npm:^7.7.2" + stable-hash-x: "npm:^0.2.0" + unrs-resolver: "npm:^1.9.2" peerDependencies: + "@typescript-eslint/utils": ^8.0.0 eslint: ^8.57.0 || ^9.0.0 - checksum: 10/514d8147f7bdff4accbeb06c294b68670287ecdaada9b2fbd3a2ba89d35860095cadd5a4175894fc8e75ba3b2be83dc172eba5cc71b823fd0dd846b7d49877ff + eslint-import-resolver-node: "*" + peerDependenciesMeta: + "@typescript-eslint/utils": + optional: true + eslint-import-resolver-node: + optional: true + checksum: 10/d1390d49499b613c1334e48fe8b104221584a1473fbec8974584002561aacef5347c4450c559df6fe24c3abe3b0d167eefdc5510e794e96a4ea4f9cb1d501515 languageName: node linkType: hard "eslint-plugin-jest@npm:^28.8.3": - version: 28.10.0 - resolution: "eslint-plugin-jest@npm:28.10.0" + version: 28.14.0 + resolution: "eslint-plugin-jest@npm:28.14.0" dependencies: "@typescript-eslint/utils": "npm:^6.0.0 || ^7.0.0 || ^8.0.0" peerDependencies: @@ -9343,66 +9916,66 @@ __metadata: optional: true jest: optional: true - checksum: 10/cb19f2171e93873d9207425c4fa52ec49018579d73ece23a1ffea90f3ffd284b0e48f74ff4f50b15ff31882b06b03fec0e48c9c6ca830acdeff8931802ef0a9e + checksum: 10/6032497bd97d6dd010450d5fdf535b8613a2789f4f83764ae04361c48d06d92f3d9b2e4350914b8fd857b6e611ba2b5282a1133ab8ec51b3e7053f9d336058e6 languageName: node linkType: hard "eslint-plugin-jsdoc@npm:^50.2.4": - version: 50.6.1 - resolution: "eslint-plugin-jsdoc@npm:50.6.1" + version: 50.8.0 + resolution: "eslint-plugin-jsdoc@npm:50.8.0" dependencies: - "@es-joy/jsdoccomment": "npm:~0.49.0" + "@es-joy/jsdoccomment": "npm:~0.50.2" are-docs-informative: "npm:^0.0.2" comment-parser: "npm:1.4.1" - debug: "npm:^4.3.6" + debug: "npm:^4.4.1" escape-string-regexp: "npm:^4.0.0" - espree: "npm:^10.1.0" + espree: "npm:^10.3.0" esquery: "npm:^1.6.0" - parse-imports: "npm:^2.1.1" - semver: "npm:^7.6.3" + parse-imports-exports: "npm:^0.2.4" + semver: "npm:^7.7.2" spdx-expression-parse: "npm:^4.0.0" - synckit: "npm:^0.9.1" peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10/53fceff38a5317bb7c42c15a622100515aec89aea0d2bbf07e7d2d07eacdaa10ce625232a1bc7c1497f7bbe044675123d30cd3e123fa52fe5c7a9c336a59709c + checksum: 10/8857bb6583e04af0a1949e602e2b5b2abc5a951583bdc5a3baa0cc24f7c16db367cbc44e008c45b06dc2029685f0eb1ff6a0bb91e90fd82710ce30952d878d5d languageName: node linkType: hard "eslint-plugin-n@npm:^17.10.3": - version: 17.15.1 - resolution: "eslint-plugin-n@npm:17.15.1" + version: 17.23.1 + resolution: "eslint-plugin-n@npm:17.23.1" dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.1" + "@eslint-community/eslint-utils": "npm:^4.5.0" enhanced-resolve: "npm:^5.17.1" eslint-plugin-es-x: "npm:^7.8.0" get-tsconfig: "npm:^4.8.1" globals: "npm:^15.11.0" + globrex: "npm:^0.1.2" ignore: "npm:^5.3.2" - minimatch: "npm:^9.0.5" semver: "npm:^7.6.3" + ts-declaration-location: "npm:^1.0.6" peerDependencies: eslint: ">=8.23.0" - checksum: 10/43fc161949fa0346ac7063a30580cd0db27e216b8e6a48d73d0bf4f10b88e9b65f263399843b3fe2087f766f264d16f0cbe8f2f898591516842201dc115a2d21 + checksum: 10/0bac0127e9fe8fb7b81d9b07cadf626bc8e384884e84c51ae5ca510980d37a3bf5980e5edfaf49bc8e9fce95cc624b8217f6fa38763e8340d14524fd06ab16c5 languageName: node linkType: hard "eslint-plugin-prettier@npm:^5.2.1": - version: 5.2.1 - resolution: "eslint-plugin-prettier@npm:5.2.1" + version: 5.5.4 + resolution: "eslint-plugin-prettier@npm:5.5.4" dependencies: prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.9.1" + synckit: "npm:^0.11.7" peerDependencies: "@types/eslint": ">=8.0.0" eslint: ">=8.0.0" - eslint-config-prettier: "*" + eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" prettier: ">=3.0.0" peerDependenciesMeta: "@types/eslint": optional: true eslint-config-prettier: optional: true - checksum: 10/10ddf68215237e327af09a47adab4c63f3885fda4fb28c4c42d1fc5f47d8a0cc45df6484799360ff1417a0aa3c77c3aaac49d7e9dfd145557b17e2d7ecc2a27c + checksum: 10/5e39e3b7046d4ba0e1111cc2048630ee9d0aa5d5bb00d6230bef56893fdae37cbe2261babfb26db350cc2ad517c81d283b3f8b04cfee4e5aef7cd4bee72f90de languageName: node linkType: hard @@ -9424,13 +9997,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^8.2.0": - version: 8.2.0 - resolution: "eslint-scope@npm:8.2.0" +"eslint-scope@npm:^8.4.0": + version: 8.4.0 + resolution: "eslint-scope@npm:8.4.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10/cd9ab60d5a68f3a0fcac04d1cff5a7383d0f331964d5f1c446259123caec5b3ccc542284d07846e4f4d1389da77750821cc9a6e1ce18558c674977351666f9a6 + checksum: 10/e8e611701f65375e034c62123946e628894f0b54aa8cb11abe224816389abe5cd74cf16b62b72baa36504f22d1a958b9b8b0169b82397fe2e7997674c0d09b06 languageName: node linkType: hard @@ -9441,37 +10014,37 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^4.2.0": - version: 4.2.0 - resolution: "eslint-visitor-keys@npm:4.2.0" - checksum: 10/9651b3356b01760e586b4c631c5268c0e1a85236e3292bf754f0472f465bf9a856c0ddc261fceace155334118c0151778effafbab981413dbf9288349343fa25 +"eslint-visitor-keys@npm:^4.2.1": + version: 4.2.1 + resolution: "eslint-visitor-keys@npm:4.2.1" + checksum: 10/3ee00fc6a7002d4b0ffd9dc99e13a6a7882c557329e6c25ab254220d71e5c9c4f89dca4695352949ea678eb1f3ba912a18ef8aac0a7fe094196fd92f441bfce2 languageName: node linkType: hard "eslint@npm:^9.11.0": - version: 9.17.0 - resolution: "eslint@npm:9.17.0" + version: 9.39.0 + resolution: "eslint@npm:9.39.0" dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.19.0" - "@eslint/core": "npm:^0.9.0" - "@eslint/eslintrc": "npm:^3.2.0" - "@eslint/js": "npm:9.17.0" - "@eslint/plugin-kit": "npm:^0.2.3" + "@eslint/config-array": "npm:^0.21.1" + "@eslint/config-helpers": "npm:^0.4.2" + "@eslint/core": "npm:^0.17.0" + "@eslint/eslintrc": "npm:^3.3.1" + "@eslint/js": "npm:9.39.0" + "@eslint/plugin-kit": "npm:^0.4.1" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@humanwhocodes/retry": "npm:^0.4.1" + "@humanwhocodes/retry": "npm:^0.4.2" "@types/estree": "npm:^1.0.6" - "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^8.2.0" - eslint-visitor-keys: "npm:^4.2.0" - espree: "npm:^10.3.0" + eslint-scope: "npm:^8.4.0" + eslint-visitor-keys: "npm:^4.2.1" + espree: "npm:^10.4.0" esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" @@ -9493,18 +10066,18 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10/a48ee67dd4e737974bbb49ca5d12d0ce35bcd874507807599e3655bb398320ab27c9deed1aad508a963967815e626c21208f52158c2fc0796d0cc8186528efeb + checksum: 10/628c8c7ddd9ed9e0384ccfb7f880e4a1ac76885aa2310a4057ebbb5c0877540fcebf88537a15b321ccc3097bec7b6f812d9a4887d1cc5a89166c379ed2574432 languageName: node linkType: hard -"espree@npm:^10.0.1, espree@npm:^10.1.0, espree@npm:^10.3.0": - version: 10.3.0 - resolution: "espree@npm:10.3.0" +"espree@npm:^10.0.1, espree@npm:^10.3.0, espree@npm:^10.4.0": + version: 10.4.0 + resolution: "espree@npm:10.4.0" dependencies: - acorn: "npm:^8.14.0" + acorn: "npm:^8.15.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^4.2.0" - checksum: 10/3412d44d4204c9e29d6b5dd0277400cfa0cd68495dc09eae1b9ce79d0c8985c1c5cc09cb9ba32a1cd963f48a49b0c46bdb7736afe395a300aa6bb1c0d86837e8 + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10/9b355b32dbd1cc9f57121d5ee3be258fab87ebeb7c83fc6c02e5af1a74fc8c5ba79fe8c663e69ea112c3e84a1b95e6a2067ac4443ee7813bb85ac7581acb8bf9 languageName: node linkType: hard @@ -9651,17 +10224,17 @@ __metadata: linkType: hard "ethers@npm:^6.12.0": - version: 6.13.2 - resolution: "ethers@npm:6.13.2" + version: 6.15.0 + resolution: "ethers@npm:6.15.0" dependencies: "@adraffy/ens-normalize": "npm:1.10.1" "@noble/curves": "npm:1.2.0" "@noble/hashes": "npm:1.3.2" - "@types/node": "npm:18.15.13" + "@types/node": "npm:22.7.5" aes-js: "npm:4.0.0-beta.5" - tslib: "npm:2.4.0" + tslib: "npm:2.7.0" ws: "npm:8.17.1" - checksum: 10/e611c2e2c5340982dfd1f004895f55abda11748a7edec9e6315226dec42d58aa61b827dd389ec904db5f9a244c475ae795e528da579251fdf62e914bde12809e + checksum: 10/21ab1d31e1b89f62dce5611c3686e4b81e000107aff8dccdbeaa1eac2da43459d5b590efa127470208729ca99a3b5757dd690943cf60745c2393d13db6a3218a languageName: node linkType: hard @@ -9690,6 +10263,15 @@ __metadata: languageName: node linkType: hard +"events-universal@npm:^1.0.0": + version: 1.0.1 + resolution: "events-universal@npm:1.0.1" + dependencies: + bare-events: "npm:^2.7.0" + checksum: 10/71b2e6079b4dc030c613ef73d99f1acb369dd3ddb6034f49fd98b3e2c6632cde9f61c15fb1351004339d7c79672252a4694ecc46a6124dc794b558be50a83867 + languageName: node + linkType: hard + "events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" @@ -9770,23 +10352,24 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0": - version: 29.7.0 - resolution: "expect@npm:29.7.0" +"expect@npm:^30.0.0": + version: 30.2.0 + resolution: "expect@npm:30.2.0" dependencies: - "@jest/expect-utils": "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10/63f97bc51f56a491950fb525f9ad94f1916e8a014947f8d8445d3847a665b5471b768522d659f5e865db20b6c2033d2ac10f35fcbd881a4d26407a4f6f18451a + "@jest/expect-utils": "npm:30.2.0" + "@jest/get-type": "npm:30.1.0" + jest-matcher-utils: "npm:30.2.0" + jest-message-util: "npm:30.2.0" + jest-mock: "npm:30.2.0" + jest-util: "npm:30.2.0" + checksum: 10/cf98ab45ab2e9f2fb9943a3ae0097f72d63a94be179a19fd2818d8fdc3b7681d31cc8ef540606eb8dd967d9c44d73fef263a614e9de260c22943ffb122ad66fd languageName: node linkType: hard "exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 10/2d9bbb6473de7051f96790d5f9a678f32e60ed0aa70741dc7fdc96fec8d631124ec3374ac144387604f05afff9500f31a1d45bd9eee4cdc2e4f9ad2d9b9d5dbd + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10/ca25962b4bbab943b7c4ed0b5228e263833a5063c65e1cdeac4be9afad350aae5466e8e619b5051f4f8d37b2144a2d6e8fcc771b6cc82934f7dade2f964f652c languageName: node linkType: hard @@ -9857,6 +10440,13 @@ __metadata: languageName: node linkType: hard +"fast-copy@npm:^3.0.2": + version: 3.0.2 + resolution: "fast-copy@npm:3.0.2" + checksum: 10/97e1022e2aaa27acf4a986d679310bfd66bfb87fe8da9dd33b698e3e50189484001cf1eeb9670e19b59d9d299828ed86c8da354c954f125995ab2a6331c5f290 + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -9878,7 +10468,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -9920,13 +10510,13 @@ __metadata: linkType: hard "fast-xml-parser@npm:^4.4.1": - version: 4.4.1 - resolution: "fast-xml-parser@npm:4.4.1" + version: 4.5.3 + resolution: "fast-xml-parser@npm:4.5.3" dependencies: - strnum: "npm:^1.0.5" + strnum: "npm:^1.1.1" bin: fxparser: src/cli/cli.js - checksum: 10/0c05ab8703630d8c857fafadbd78d0020d3a8e54310c3842179cd4a0d9d97e96d209ce885e91241f4aa9dd8dfc2fd924a682741a423d65153cad34da2032ec44 + checksum: 10/ca22bf9d65c10b8447c1034c13403e90ecee210e2b3852690df3d8a42b8a46ec655fae7356096abd98a15b89ddaf11878587b1773e0c3be4cbc2ac4af4c7bf95 languageName: node linkType: hard @@ -9938,11 +10528,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" + version: 1.19.1 + resolution: "fastq@npm:1.19.1" dependencies: reusify: "npm:^1.0.4" - checksum: 10/a443180068b527dd7b3a63dc7f2a47ceca2f3e97b9c00a1efe5538757e6cc4056a3526df94308075d7727561baf09ebaa5b67da8dcbddb913a021c5ae69d1f69 + checksum: 10/75679dc226316341c4f2a6b618571f51eac96779906faecd8921b984e844d6ae42fabb2df69b1071327d398d5716693ea9c9c8941f64ac9e89ec2032ce59d730 languageName: node linkType: hard @@ -9964,10 +10554,15 @@ __metadata: languageName: node linkType: hard -"figgy-pudding@npm:^3.5.1": - version: 3.5.2 - resolution: "figgy-pudding@npm:3.5.2" - checksum: 10/1d15176fc49ce407edbecc8df286b19cf8a918900eda924609181aecec5337645e3532a01ce4154412e028ddc43f6fa558cf3916b5c9d322b6521f128da40382 +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10/14ca1c9f0a0e8f4f2e9bf4e8551065a164a09545dae548c12a18d238b72e51e5a7b39bd8e5494b56463a0877672d0a6c1ef62c6fa0677db1b0c847773be939b1 languageName: node linkType: hard @@ -10037,38 +10632,38 @@ __metadata: linkType: hard "firebase@npm:^11.2.0": - version: 11.2.0 - resolution: "firebase@npm:11.2.0" - dependencies: - "@firebase/analytics": "npm:0.10.11" - "@firebase/analytics-compat": "npm:0.2.17" - "@firebase/app": "npm:0.10.18" - "@firebase/app-check": "npm:0.8.11" - "@firebase/app-check-compat": "npm:0.3.18" - "@firebase/app-compat": "npm:0.2.48" + version: 11.10.0 + resolution: "firebase@npm:11.10.0" + dependencies: + "@firebase/ai": "npm:1.4.1" + "@firebase/analytics": "npm:0.10.17" + "@firebase/analytics-compat": "npm:0.2.23" + "@firebase/app": "npm:0.13.2" + "@firebase/app-check": "npm:0.10.1" + "@firebase/app-check-compat": "npm:0.3.26" + "@firebase/app-compat": "npm:0.4.2" "@firebase/app-types": "npm:0.9.3" - "@firebase/auth": "npm:1.8.2" - "@firebase/auth-compat": "npm:0.5.17" - "@firebase/data-connect": "npm:0.2.0" - "@firebase/database": "npm:1.0.11" - "@firebase/database-compat": "npm:2.0.2" - "@firebase/firestore": "npm:4.7.6" - "@firebase/firestore-compat": "npm:0.3.41" - "@firebase/functions": "npm:0.12.1" - "@firebase/functions-compat": "npm:0.3.18" - "@firebase/installations": "npm:0.6.12" - "@firebase/installations-compat": "npm:0.2.12" - "@firebase/messaging": "npm:0.12.16" - "@firebase/messaging-compat": "npm:0.2.16" - "@firebase/performance": "npm:0.6.12" - "@firebase/performance-compat": "npm:0.2.12" - "@firebase/remote-config": "npm:0.5.0" - "@firebase/remote-config-compat": "npm:0.2.12" - "@firebase/storage": "npm:0.13.5" - "@firebase/storage-compat": "npm:0.3.15" - "@firebase/util": "npm:1.10.3" - "@firebase/vertexai": "npm:1.0.3" - checksum: 10/9a3a8f6be4b34e76428cf6ae11bff8141772b7b3ec8a8fe0ef69188fdf2a602bd6e542a663133f90845d5a358daadeadf760841cf3ea8ec726475ee84a694ea4 + "@firebase/auth": "npm:1.10.8" + "@firebase/auth-compat": "npm:0.5.28" + "@firebase/data-connect": "npm:0.3.10" + "@firebase/database": "npm:1.0.20" + "@firebase/database-compat": "npm:2.0.11" + "@firebase/firestore": "npm:4.8.0" + "@firebase/firestore-compat": "npm:0.3.53" + "@firebase/functions": "npm:0.12.9" + "@firebase/functions-compat": "npm:0.3.26" + "@firebase/installations": "npm:0.6.18" + "@firebase/installations-compat": "npm:0.2.18" + "@firebase/messaging": "npm:0.12.22" + "@firebase/messaging-compat": "npm:0.2.22" + "@firebase/performance": "npm:0.7.7" + "@firebase/performance-compat": "npm:0.2.20" + "@firebase/remote-config": "npm:0.6.5" + "@firebase/remote-config-compat": "npm:0.2.18" + "@firebase/storage": "npm:0.13.14" + "@firebase/storage-compat": "npm:0.3.24" + "@firebase/util": "npm:1.12.1" + checksum: 10/ec78a2e079ff3d18ce7579a56a646d2979e619e504d74066d33bfea4941a87eb8b0ebea67e99fa1a3d76fd2b858c92958304b05b5a3bab60b662fa70821b12b1 languageName: node linkType: hard @@ -10083,19 +10678,28 @@ __metadata: linkType: hard "flatted@npm:^3.2.9": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 10/7b8376061d5be6e0d3658bbab8bde587647f68797cf6bfeae9dea0e5137d9f27547ab92aaff3512dd9d1299086a6d61be98e9d48a56d17531b634f77faadbc49 + version: 3.3.3 + resolution: "flatted@npm:3.3.3" + checksum: 10/8c96c02fbeadcf4e8ffd0fa24983241e27698b0781295622591fc13585e2f226609d95e422bcf2ef044146ffacb6b68b1f20871454eddf75ab3caa6ee5f4a1fe languageName: node linkType: hard "follow-redirects@npm:^1.15.6": - version: 1.15.6 - resolution: "follow-redirects@npm:1.15.6" + version: 1.15.11 + resolution: "follow-redirects@npm:1.15.11" peerDependenciesMeta: debug: optional: true - checksum: 10/70c7612c4cab18e546e36b991bbf8009a1a41cf85354afe04b113d1117569abf760269409cb3eb842d9f7b03d62826687086b081c566ea7b1e6613cf29030bf7 + checksum: 10/07372fd74b98c78cf4d417d68d41fdaa0be4dcacafffb9e67b1e3cf090bc4771515e65020651528faab238f10f9b9c0d9707d6c1574a6c0387c5de1042cde9ba + languageName: node + linkType: hard + +"for-each@npm:^0.3.5": + version: 0.3.5 + resolution: "for-each@npm:0.3.5" + dependencies: + is-callable: "npm:^1.2.7" + checksum: 10/330cc2439f85c94f4609de3ee1d32c5693ae15cdd7fe3d112c4fd9efd4ce7143f2c64ef6c2c9e0cfdb0058437f33ef05b5bdae5b98fcc903fb2143fbaf0fea0f languageName: node linkType: hard @@ -10107,34 +10711,38 @@ __metadata: linkType: hard "foreground-child@npm:^3.1.0": - version: 3.3.0 - resolution: "foreground-child@npm:3.3.0" + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" dependencies: - cross-spawn: "npm:^7.0.0" + cross-spawn: "npm:^7.0.6" signal-exit: "npm:^4.0.1" - checksum: 10/e3a60480f3a09b12273ce2c5fcb9514d98dd0e528f58656a1b04680225f918d60a2f81f6a368f2f3b937fcee9cfc0cbf16f1ad9a0bc6a3a6e103a84c9a90087e + checksum: 10/427b33f997a98073c0424e5c07169264a62cda806d8d2ded159b5b903fdfc8f0a1457e06b5fc35506497acb3f1e353f025edee796300209ac6231e80edece835 languageName: node linkType: hard "form-data@npm:^3.0.0": - version: 3.0.1 - resolution: "form-data@npm:3.0.1" + version: 3.0.4 + resolution: "form-data@npm:3.0.4" dependencies: asynckit: "npm:^0.4.0" combined-stream: "npm:^1.0.8" - mime-types: "npm:^2.1.12" - checksum: 10/944b40ff63b9cb1ca7a97e70f72104c548e0b0263e3e817e49919015a0d687453086259b93005389896dbffd3777cccea2e67c51f4e827590e5979b14ff91bf7 + es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" + mime-types: "npm:^2.1.35" + checksum: 10/68e4598e55cb193ef80304bff4d7513bf81ed4116d57b29c6c9a4c28c6f7ce57d46ddd60ba1a80aadf26703a722551e660bca2acaf9212d8b6e1f2e180d9e668 languageName: node linkType: hard -"form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" +"form-data@npm:^4.0.4": + version: 4.0.4 + resolution: "form-data@npm:4.0.4" dependencies: asynckit: "npm:^0.4.0" combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" mime-types: "npm:^2.1.12" - checksum: 10/7264aa760a8cf09482816d8300f1b6e2423de1b02bba612a136857413fdc96d7178298ced106817655facc6b89036c6e12ae31c9eb5bdc16aabf502ae8a5d805 + checksum: 10/a4b62e21932f48702bc468cc26fb276d186e6b07b557e3dd7cc455872bdbb82db7db066844a64ad3cf40eaf3a753c830538183570462d3649fdfd705601cbcfb languageName: node linkType: hard @@ -10171,13 +10779,13 @@ __metadata: linkType: hard "fs-extra@npm:^11.2.0": - version: 11.3.0 - resolution: "fs-extra@npm:11.3.0" + version: 11.3.2 + resolution: "fs-extra@npm:11.3.2" dependencies: graceful-fs: "npm:^4.2.0" jsonfile: "npm:^6.0.1" universalify: "npm:^2.0.0" - checksum: 10/c9fe7b23dded1efe7bbae528d685c3206477e20cc60e9aaceb3f024f9b9ff2ee1f62413c161cb88546cc564009ab516dec99e9781ba782d869bb37e4fe04a97f + checksum: 10/d559545c73fda69c75aa786f345c2f738b623b42aea850200b1582e006a35278f63787179e3194ba19413c26a280441758952b0c7e88dd96762d497e365a6c3e languageName: node linkType: hard @@ -10232,6 +10840,13 @@ __metadata: languageName: node linkType: hard +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10/eb7e7eb896c5433f3d40982b2ccacdb3dd990dd3499f14040e002b5d54572476513be8a2e6f9609f6e41ab29f2c4469307611ddbfc37ff4e46b765c326663805 + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -10246,21 +10861,24 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.2.4": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.3.0": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" call-bind-apply-helpers: "npm:^1.0.2" es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.1.1" function-bind: "npm:^1.1.2" + generator-function: "npm:^2.0.0" get-proto: "npm:^1.0.1" gopd: "npm:^1.2.0" has-symbols: "npm:^1.1.0" hasown: "npm:^2.0.2" math-intrinsics: "npm:^1.1.0" - checksum: 10/6e9dd920ff054147b6f44cb98104330e87caafae051b6d37b13384a45ba15e71af33c3baeac7cb630a0aaa23142718dcf25b45cfdd86c184c5dcb4e56d953a10 + checksum: 10/bb579dda84caa4a3a41611bdd483dade7f00f246f2a7992eb143c5861155290df3fdb48a8406efa3dfb0b434e2c8fafa4eebd469e409d0439247f85fc3fa2cc1 languageName: node linkType: hard @@ -10288,13 +10906,6 @@ __metadata: languageName: node linkType: hard -"get-stdin@npm:^9.0.0": - version: 9.0.0 - resolution: "get-stdin@npm:9.0.0" - checksum: 10/5972bc34d05932b45512c8e2d67b040f1c1ca8afb95c56cbc480985f2d761b7e37fe90dc8abd22527f062cc5639a6930ff346e9952ae4c11a2d4275869459594 - languageName: node - linkType: hard - "get-stream@npm:^5.1.0": version: 5.2.0 resolution: "get-stream@npm:5.2.0" @@ -10318,19 +10929,19 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.7.3, get-tsconfig@npm:^4.7.5, get-tsconfig@npm:^4.8.1": - version: 4.8.1 - resolution: "get-tsconfig@npm:4.8.1" +"get-tsconfig@npm:^4.10.0, get-tsconfig@npm:^4.10.1, get-tsconfig@npm:^4.7.5, get-tsconfig@npm:^4.8.1": + version: 4.13.0 + resolution: "get-tsconfig@npm:4.13.0" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 10/3fb5a8ad57b9633eaea085d81661e9e5c9f78b35d8f8689eaf8b8b45a2a3ebf3b3422266d4d7df765e308cc1e6231648d114803ab3d018332e29916f2c1de036 + checksum: 10/3603c6da30e312636e4c20461e779114c9126601d1eca70ee4e36e3e3c00e3c21892d2d920027333afa2cc9e20998a436b14abe03a53cde40742581cb0e9ceb2 languageName: node linkType: hard -"git-hooks-list@npm:^3.0.0": - version: 3.1.0 - resolution: "git-hooks-list@npm:3.1.0" - checksum: 10/05cbdb29e1e14f3b6fde78c876a34383e4476b1be32e8486ad03293f01add884c1a8df8c2dce2ca5d99119c94951b2ff9fa9cbd51d834ae6477b6813cefb998f +"git-hooks-list@npm:^4.0.0": + version: 4.1.1 + resolution: "git-hooks-list@npm:4.1.1" + checksum: 10/a56c8cc3dab505bde2c6de032164a9113968ab7f249dfe2c9f2f23be872165f88c91e097994e009d31e56dd1e81c1f714d0972133314d8d3c6bd92a847ba562f languageName: node linkType: hard @@ -10425,13 +11036,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 10/9f054fa38ff8de8fa356502eb9d2dae0c928217b8b5c8de1f09f5c9b6c8a96d8b9bd3afc49acbcd384a98a81fea713c859e1b09e214c60509517bb8fc2bc13c2 - languageName: node - linkType: hard - "globals@npm:^14.0.0": version: 14.0.0 resolution: "globals@npm:14.0.0" @@ -10440,9 +11044,9 @@ __metadata: linkType: hard "globals@npm:^15.11.0, globals@npm:^15.9.0": - version: 15.14.0 - resolution: "globals@npm:15.14.0" - checksum: 10/e35ffbdbc024d6381efca906f67211a7bbf935db2af8c14a65155785479e28b3e475950e5933bb6b296eed54b6dcd924e25b26dbc8579b1bde9d5d25916e1c5f + version: 15.15.0 + resolution: "globals@npm:15.15.0" + checksum: 10/7f561c87b2fd381b27fc2db7df8a4ea7a9bb378667b8a7193e61fd2ca3a876479174e2a303a74345fbea6e1242e16db48915c1fd3bf35adcf4060a795b425e18 languageName: node linkType: hard @@ -10467,19 +11071,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^13.1.2": - version: 13.2.2 - resolution: "globby@npm:13.2.2" - dependencies: - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.3.0" - ignore: "npm:^5.2.4" - merge2: "npm:^1.4.1" - slash: "npm:^4.0.0" - checksum: 10/4494a9d2162a7e4d327988b26be66d8eab87d7f59a83219e74b065e2c3ced23698f68fb10482bf9337133819281803fb886d6ae06afbb2affa743623eb0b1949 - languageName: node - linkType: hard - "globrex@npm:^0.1.2": version: 0.1.2 resolution: "globrex@npm:0.1.2" @@ -10513,7 +11104,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.10, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.10, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 @@ -10557,21 +11148,31 @@ __metadata: languageName: node linkType: hard -"has-symbols@npm:^1.1.0": +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": version: 1.1.0 resolution: "has-symbols@npm:1.1.0" checksum: 10/959385c98696ebbca51e7534e0dc723ada325efa3475350951363cce216d27373e0259b63edb599f72eb94d6cde8577b4b2375f080b303947e560f85692834fa languageName: node linkType: hard -"hash-base@npm:^3.0.0": - version: 3.1.0 - resolution: "hash-base@npm:3.1.0" +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10/c74c5f5ceee3c8a5b8bc37719840dc3749f5b0306d818974141dda2471a1a2ca6c8e46b9d6ac222c5345df7a901c9b6f350b1e6d62763fec877e26609a401bfe + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0, hash-base@npm:^3.1.2": + version: 3.1.2 + resolution: "hash-base@npm:3.1.2" dependencies: inherits: "npm:^2.0.4" - readable-stream: "npm:^3.6.0" - safe-buffer: "npm:^5.2.0" - checksum: 10/26b7e97ac3de13cb23fc3145e7e3450b0530274a9562144fc2bf5c1e2983afd0e09ed7cc3b20974ba66039fad316db463da80eb452e7373e780cbee9a0d2f2dc + readable-stream: "npm:^2.3.8" + safe-buffer: "npm:^5.2.1" + to-buffer: "npm:^1.2.1" + checksum: 10/f2100420521ec77736ebd9279f2c0b3ab2820136a2fa408ea36f3201d3f6984cda166806e6a0287f92adf179430bedfbdd74348ac351e24a3eff9f01a8c406b0 languageName: node linkType: hard @@ -10639,6 +11240,13 @@ __metadata: languageName: node linkType: hard +"hpagent@npm:^1.2.0": + version: 1.2.0 + resolution: "hpagent@npm:1.2.0" + checksum: 10/bad186449da7e3456788a8cbae459fc6c0a855d5872a7f460c48ce4a613020d8d914839dad10047297099299c4f9e6c65a0eec3f5886af196c0a516e4ad8a845 + languageName: node + linkType: hard + "html-encoding-sniffer@npm:^2.0.1": version: 2.0.1 resolution: "html-encoding-sniffer@npm:2.0.1" @@ -10656,9 +11264,9 @@ __metadata: linkType: hard "http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10/362d5ed66b12ceb9c0a328fb31200b590ab1b02f4a254a697dc796850cc4385603e75f53ec59f768b2dad3bfa1464bd229f7de278d2899a0e3beffc634b6683f + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10/4efd2dfcfeea9d5e88c84af450b9980be8a43c2c8179508b1c57c7b4421c855f3e8efe92fa53e0b3f4a43c85824ada930eabbc306d1b3beab750b6dcc5187693 languageName: node linkType: hard @@ -10676,9 +11284,9 @@ __metadata: linkType: hard "http-parser-js@npm:>=0.5.1": - version: 0.5.8 - resolution: "http-parser-js@npm:0.5.8" - checksum: 10/2a78a567ee6366dae0129d819b799dce1f95ec9732c5ab164a78ee69804ffb984abfa0660274e94e890fc54af93546eb9f12b6d10edbaed017e2d41c29b7cf29 + version: 0.5.10 + resolution: "http-parser-js@npm:0.5.10" + checksum: 10/33c53b458cfdf7e43f1517f9bcb6bed1c614b1c7c5d65581a84304110eb9eb02a48f998c7504b8bee432ef4a8ec9318e7009406b506b28b5610fed516242b20a languageName: node linkType: hard @@ -10724,12 +11332,12 @@ __metadata: linkType: hard "https-proxy-agent@npm:^7.0.1": - version: 7.0.5 - resolution: "https-proxy-agent@npm:7.0.5" + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" dependencies: - agent-base: "npm:^7.0.2" + agent-base: "npm:^7.1.2" debug: "npm:4" - checksum: 10/6679d46159ab3f9a5509ee80c3a3fc83fba3a920a5e18d32176c3327852c3c00ad640c0c4210a8fd70ea3c4a6d3a1b375bf01942516e7df80e2646bdc77658ab + checksum: 10/784b628cbd55b25542a9d85033bdfd03d4eda630fb8b3c9477959367f3be95dc476ed2ecbb9836c359c7c698027fc7b45723a302324433590f45d6c1706e8c13 languageName: node linkType: hard @@ -10788,14 +11396,21 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1, ignore@npm:^5.3.2": +"ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.2": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 languageName: node linkType: hard -"immer@npm:^9.0.6": +"ignore@npm:^7.0.0": + version: 7.0.5 + resolution: "ignore@npm:7.0.5" + checksum: 10/f134b96a4de0af419196f52c529d5c6120c4456ff8a6b5a14ceaaa399f883e15d58d2ce651c9b69b9388491d4669dda47285d307e827de9304a53a1824801bc6 + languageName: node + linkType: hard + +"immer@npm:^9.0.21, immer@npm:^9.0.6": version: 9.0.21 resolution: "immer@npm:9.0.21" checksum: 10/8455d6b4dc8abfe40f06eeec9bcc944d147c81279424c0f927a4d4905ae34e5af19ab6da60bcc700c14f51c452867d7089b3b9236f5a9a2248e39b4a09ee89de @@ -10803,12 +11418,12 @@ __metadata: linkType: hard "import-fresh@npm:^3.2.1": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" dependencies: parent-module: "npm:^1.0.0" resolve-from: "npm:^4.0.0" - checksum: 10/2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa + checksum: 10/a06b19461b4879cc654d46f8a6244eb55eb053437afd4cbb6613cad6be203811849ed3e4ea038783092879487299fda24af932b86bdfff67c9055ba3612b8c87 languageName: node linkType: hard @@ -10919,13 +11534,10 @@ __metadata: languageName: node linkType: hard -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10/1ed81e06721af012306329b31f532b5e24e00cb537be18ddc905a84f19fe8f83a09a1699862bf3a1ec4b9dea93c55a3fa5faf8b5ea380431469df540f38b092c +"ip-address@npm:^10.0.1": + version: 10.0.1 + resolution: "ip-address@npm:10.0.1" + checksum: 10/09731acda32cd8e14c46830c137e7e5940f47b36d63ffb87c737331270287d631cf25aa95570907a67d3f919fdb25f4470c404eda21e62f22e0a55927f4dd0fb languageName: node linkType: hard @@ -10950,12 +11562,19 @@ __metadata: languageName: node linkType: hard -"is-bun-module@npm:^1.0.2": - version: 1.3.0 - resolution: "is-bun-module@npm:1.3.0" +"is-bun-module@npm:^2.0.0": + version: 2.0.0 + resolution: "is-bun-module@npm:2.0.0" dependencies: - semver: "npm:^7.6.3" - checksum: 10/b23d9ec7b4d4bfd89e4e72b5cd52e1bc153facad59fdd7394c656f8859a78740ef35996a2066240a32f39cc9a9da4b4eb69e68df3c71755a61ebbaf56d3daef0 + semver: "npm:^7.7.1" + checksum: 10/cded5a1a58368b847872d08617975d620ad94426d76a932f3e08d55b4574d199e0a62a4fb024fa2dc444200b71719eb0bffc5d3d1e1cc82e29b293bb8d66a990 + languageName: node + linkType: hard + +"is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 10/48a9297fb92c99e9df48706241a189da362bff3003354aea4048bd5f7b2eb0d823cd16d0a383cece3d76166ba16d85d9659165ac6fcce1ac12e6c649d66dbdb9 languageName: node linkType: hard @@ -10970,7 +11589,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.12.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.5.0": +"is-core-module@npm:^2.12.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.16.1, is-core-module@npm:^2.5.0": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" dependencies: @@ -11078,12 +11697,19 @@ __metadata: languageName: node linkType: hard +"is-retry-allowed@npm:^2.2.0": + version: 2.2.0 + resolution: "is-retry-allowed@npm:2.2.0" + checksum: 10/6d8685530871f0b040346cc72322d90122473e921149affa16de363d6c2a6e46bc76abdfaac3259b93994ec8e7f70fbe67bbb080190e440533ff728e6a64494d + languageName: node + linkType: hard + "is-ssh@npm:^1.4.0": - version: 1.4.0 - resolution: "is-ssh@npm:1.4.0" + version: 1.4.1 + resolution: "is-ssh@npm:1.4.1" dependencies: protocols: "npm:^2.0.1" - checksum: 10/e2d17d74a19b4368cc06ce5c76d4f625952442da337098d670a9840e1db5334c646aa0a6ed3a01e9d396901e22c755174ce64e74c3139bb10e5df03d5a6fb3fa + checksum: 10/f60910cd83fa94e9874655a672c3849312c12af83c0fe3dbff9945755fe838a73985d8f94e32ebf5626ba4148ee10eef51b7240b0218dbb6e9a43a06899b0529 languageName: node linkType: hard @@ -11101,6 +11727,15 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.14": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" + dependencies: + which-typed-array: "npm:^1.1.16" + checksum: 10/e8cf60b9ea85667097a6ad68c209c9722cfe8c8edf04d6218366469e51944c5cc25bae45ffb845c23f811d262e4314d3b0168748eb16711aa34d12724cdf0735 + languageName: node + linkType: hard + "is-typedarray@npm:^1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" @@ -11145,6 +11780,13 @@ __metadata: languageName: node linkType: hard +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 10/1d8bc7911e13bb9f105b1b3e0b396c787a9e63046af0b8fe0ab1414488ab06b2b099b87a2d8a9e31d21c9a6fad773c7fc8b257c4880f2d957274479d28ca3414 + languageName: node + linkType: hard + "isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" @@ -11219,12 +11861,12 @@ __metadata: linkType: hard "istanbul-reports@npm:^3.1.3": - version: 3.1.7 - resolution: "istanbul-reports@npm:3.1.7" + version: 3.2.0 + resolution: "istanbul-reports@npm:3.2.0" dependencies: html-escaper: "npm:^2.0.0" istanbul-lib-report: "npm:^3.0.0" - checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa + checksum: 10/6773a1d5c7d47eeec75b317144fe2a3b1da84a44b6282bebdc856e09667865e58c9b025b75b3d87f5bc62939126cbba4c871ee84254537d934ba5da5d4c4ec4e languageName: node linkType: hard @@ -11343,6 +11985,18 @@ __metadata: languageName: node linkType: hard +"jest-diff@npm:30.2.0": + version: 30.2.0 + resolution: "jest-diff@npm:30.2.0" + dependencies: + "@jest/diff-sequences": "npm:30.0.1" + "@jest/get-type": "npm:30.1.0" + chalk: "npm:^4.1.2" + pretty-format: "npm:30.2.0" + checksum: 10/1fb9e4fb7dff81814b4f69eaa7db28e184d62306a3a8ea2447d02ca53d2cfa771e83ede513f67ec5239dffacfaac32ff2b49866d211e4c7516f51c1fc06ede42 + languageName: node + linkType: hard + "jest-diff@npm:^27.5.1": version: 27.5.1 resolution: "jest-diff@npm:27.5.1" @@ -11355,7 +12009,7 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^29.0.3, jest-diff@npm:^29.7.0": +"jest-diff@npm:^29.0.3": version: 29.7.0 resolution: "jest-diff@npm:29.7.0" dependencies: @@ -11527,6 +12181,18 @@ __metadata: languageName: node linkType: hard +"jest-matcher-utils@npm:30.2.0": + version: 30.2.0 + resolution: "jest-matcher-utils@npm:30.2.0" + dependencies: + "@jest/get-type": "npm:30.1.0" + chalk: "npm:^4.1.2" + jest-diff: "npm:30.2.0" + pretty-format: "npm:30.2.0" + checksum: 10/f3f1ecf68ca63c9d1d80a175637a8fc655edfd1ee83220f6e3f6bd464ecbe2f93148fdd440a5a5e5a2b0b2cc8ee84ddc3dcef58a6dbc66821c792f48d260c6d4 + languageName: node + linkType: hard + "jest-matcher-utils@npm:^27.0.0, jest-matcher-utils@npm:^27.5.1": version: 27.5.1 resolution: "jest-matcher-utils@npm:27.5.1" @@ -11539,15 +12205,20 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-matcher-utils@npm:29.7.0" +"jest-message-util@npm:30.2.0": + version: 30.2.0 + resolution: "jest-message-util@npm:30.2.0" dependencies: - chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10/981904a494299cf1e3baed352f8a3bd8b50a8c13a662c509b6a53c31461f94ea3bfeffa9d5efcfeb248e384e318c87de7e3baa6af0f79674e987482aa189af40 + "@babel/code-frame": "npm:^7.27.1" + "@jest/types": "npm:30.2.0" + "@types/stack-utils": "npm:^2.0.3" + chalk: "npm:^4.1.2" + graceful-fs: "npm:^4.2.11" + micromatch: "npm:^4.0.8" + pretty-format: "npm:30.2.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.6" + checksum: 10/e29ec76e8c8e4da5f5b25198be247535626ccf3a940e93fdd51fc6a6bcf70feaa2921baae3806182a090431d90b08c939eb13fb64249b171d2e9ae3a452a8fd2 languageName: node linkType: hard @@ -11568,20 +12239,14 @@ __metadata: languageName: node linkType: hard -"jest-message-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-message-util@npm:29.7.0" +"jest-mock@npm:30.2.0": + version: 30.2.0 + resolution: "jest-mock@npm:30.2.0" dependencies: - "@babel/code-frame": "npm:^7.12.13" - "@jest/types": "npm:^29.6.3" - "@types/stack-utils": "npm:^2.0.0" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10/31d53c6ed22095d86bab9d14c0fa70c4a92c749ea6ceece82cf30c22c9c0e26407acdfbdb0231435dc85a98d6d65ca0d9cbcd25cd1abb377fe945e843fb770b9 + "@jest/types": "npm:30.2.0" + "@types/node": "npm:*" + jest-util: "npm:30.2.0" + checksum: 10/cde9b56805f90bf811a9231873ee88a0fb83bf4bf50972ae76960725da65220fcb119688f2e90e1ef33fbfd662194858d7f43809d881f1c41bb55d94e62adeab languageName: node linkType: hard @@ -11607,6 +12272,13 @@ __metadata: languageName: node linkType: hard +"jest-regex-util@npm:30.0.1": + version: 30.0.1 + resolution: "jest-regex-util@npm:30.0.1" + checksum: 10/fa8dac80c3e94db20d5e1e51d1bdf101cf5ede8f4e0b8f395ba8b8ea81e71804ffd747452a6bb6413032865de98ac656ef8ae43eddd18d980b6442a2764ed562 + languageName: node + linkType: hard + "jest-regex-util@npm:^27.5.1": version: 27.5.1 resolution: "jest-regex-util@npm:27.5.1" @@ -11759,6 +12431,20 @@ __metadata: languageName: node linkType: hard +"jest-util@npm:30.2.0": + version: 30.2.0 + resolution: "jest-util@npm:30.2.0" + dependencies: + "@jest/types": "npm:30.2.0" + "@types/node": "npm:*" + chalk: "npm:^4.1.2" + ci-info: "npm:^4.2.0" + graceful-fs: "npm:^4.2.11" + picomatch: "npm:^4.0.2" + checksum: 10/cf2f2fb83417ea69f9992121561c95cf4e9aad7946819b771b8b52addf78811101b33b51d0a39fa0c305f2751dab262feed7699de052659ff03d51827c8862f5 + languageName: node + linkType: hard + "jest-util@npm:^26.0.0": version: 26.6.2 resolution: "jest-util@npm:26.6.2" @@ -11831,11 +12517,11 @@ __metadata: linkType: hard "jest-when@npm:^3.4.2": - version: 3.6.0 - resolution: "jest-when@npm:3.6.0" + version: 3.7.0 + resolution: "jest-when@npm:3.7.0" peerDependencies: jest: ">= 25" - checksum: 10/0cb92738ccfa5711a685107f4437f18aefbe3cda120c912a9d49b612eeef03a910481ab40fe753fd42c4e617ffbb3d84c6bd66a76d963dac7f1ad9e9e5059359 + checksum: 10/b5b88d077ed467aab220c71c885dbc5f448604f06e68f761ce9f479c99bb74e0dbf553d1cc980751d88401b034a578e1c44eec5e4095743b7586f02bb7c6313d languageName: node linkType: hard @@ -11938,13 +12624,6 @@ __metadata: languageName: node linkType: hard -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10/bebe7ae829bbd586ce8cbe83501dd8cb8c282c8902a8aeeed0a073a89dc37e8103b1244f3c6acd60278bcbfe12d93a3f83c9ac396868a3b3bbc3c5e5e3b648ef - languageName: node - linkType: hard - "jsdoc-type-pratt-parser@npm:~4.1.0": version: 4.1.0 resolution: "jsdoc-type-pratt-parser@npm:4.1.0" @@ -12076,22 +12755,22 @@ __metadata: linkType: hard "jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" + version: 6.2.0 + resolution: "jsonfile@npm:6.2.0" dependencies: graceful-fs: "npm:^4.1.6" universalify: "npm:^2.0.0" dependenciesMeta: graceful-fs: optional: true - checksum: 10/03014769e7dc77d4cf05fa0b534907270b60890085dd5e4d60a382ff09328580651da0b8b4cdf44d91e4c8ae64d91791d965f05707beff000ed494a38b6fec85 + checksum: 10/513aac94a6eff070767cafc8eb4424b35d523eec0fcd8019fe5b975f4de5b10a54640c8d5961491ddd8e6f562588cf62435c5ddaf83aaf0986cd2ee789e0d7b9 languageName: node linkType: hard "jsonschema@npm:^1.4.1": - version: 1.4.1 - resolution: "jsonschema@npm:1.4.1" - checksum: 10/d7a188da7a3100a2caa362b80e98666d46607b7a7153aac405b8e758132961911c6df02d444d4700691330874e21a62639f550e856b21ddd28423690751ca9c6 + version: 1.5.0 + resolution: "jsonschema@npm:1.5.0" + checksum: 10/46bf49b388ba922073bcb3c8d5e90af9d29fc8303dc866fd440182c88d6b4fd2807679fd39cdefb4113156d104ea47da9c0ff4bbcb0032c9fa29461cb1a92182 languageName: node linkType: hard @@ -12228,7 +12907,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.7.0": +"lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532 @@ -12253,9 +12932,9 @@ __metadata: linkType: hard "long@npm:^5.0.0": - version: 5.2.3 - resolution: "long@npm:5.2.3" - checksum: 10/9167ec6947a825b827c30da169a7384eec6c0c9ec2f0b9c74da2e93d81159bbe39fb09c3f13dae9721d4b807ccfa09797a7dd1012f5d478e3e33ca3c78b608e6 + version: 5.3.2 + resolution: "long@npm:5.3.2" + checksum: 10/b6b55ddae56fcce2864d37119d6b02fe28f6dd6d9e44fd22705f86a9254b9321bd69e9ffe35263b4846d54aba197c64882adcb8c543f2383c1e41284b321ea64 languageName: node linkType: hard @@ -12310,18 +12989,18 @@ __metadata: linkType: hard "luxon@npm:^3.2.1, luxon@npm:^3.5.0": - version: 3.5.0 - resolution: "luxon@npm:3.5.0" - checksum: 10/48f86e6c1c96815139f8559456a3354a276ba79bcef0ae0d4f2172f7652f3ba2be2237b0e103b8ea0b79b47715354ac9fac04eb1db3485dcc72d5110491dd47f + version: 3.7.2 + resolution: "luxon@npm:3.7.2" + checksum: 10/b24cd205ed306ce7415991687897dcc4027921ae413c9116590bc33a95f93b86ce52cf74ba72b4f5c5ab1c10090517f54ac8edfb127c049e0bf55b90dc2260be languageName: node linkType: hard -"magic-string@npm:^0.30.10": - version: 0.30.11 - resolution: "magic-string@npm:0.30.11" +"magic-string@npm:^0.30.19": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.5.0" - checksum: 10/b784d2240252f5b1e755d487354ada4c672cbca16f045144f7185a75b059210e5fcca7be7be03ef1bac2ca754c4428b21d36ae64a9057ba429916f06b8c54eb2 + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10/57d5691f41ed40d962d8bd300148114f53db67fadbff336207db10a99f2bdf4a1be9cac3a68ee85dba575912ee1d4402e4396408196ec2d3afd043b076156221 languageName: node linkType: hard @@ -12361,6 +13040,25 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^14.0.2, make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10/fce0385840b6d86b735053dfe941edc2dd6468fda80fe74da1eeff10cbd82a75760f406194f2bc2fa85b99545b2bc1f84c08ddf994b21830775ba2d1a87e8bdf + languageName: node + linkType: hard + "makeerror@npm:1.0.12": version: 1.0.12 resolution: "makeerror@npm:1.0.12" @@ -12499,7 +13197,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.35, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -12584,7 +13282,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -12593,6 +13291,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^9.0.3 || ^10.0.1": + version: 10.1.1 + resolution: "minimatch@npm:10.1.1" + dependencies: + "@isaacs/brace-expansion": "npm:^5.0.0" + checksum: 10/110f38921ea527022e90f7a5f43721838ac740d0a0c26881c03b57c261354fb9a0430e40b2c56dfcea2ef3c773768f27210d1106f1f2be19cde3eea93f26f45e + languageName: node + linkType: hard + "minimist-options@npm:4.1.0": version: 4.1.0 resolution: "minimist-options@npm:4.1.0" @@ -12628,6 +13335,21 @@ __metadata: languageName: node linkType: hard +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10/7ddfebdbb87d9866e7b5f7eead5a9e3d9d507992af932a11d275551f60006cf7d9178e66d586dbb910894f3e3458d27c0ddf93c76e94d49d0a54a541ddc1263d + languageName: node + linkType: hard + "minipass-flush@npm:^1.0.5": version: 1.0.5 resolution: "minipass-flush@npm:1.0.5" @@ -12688,12 +13410,12 @@ __metadata: languageName: node linkType: hard -"minizlib@npm:^3.0.1": - version: 3.0.2 - resolution: "minizlib@npm:3.0.2" +"minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" dependencies: minipass: "npm:^7.1.2" - checksum: 10/c075bed1594f68dcc8c35122333520112daefd4d070e5d0a228bd4cf5580e9eed3981b96c0ae1d62488e204e80fd27b2b9d0068ca9a5ef3993e9565faf63ca41 + checksum: 10/f47365cc2cb7f078cbe7e046eb52655e2e7e97f8c0a9a674f4da60d94fb0624edfcec9b5db32e8ba5a99a5f036f595680ae6fe02a262beaa73026e505cc52f99 languageName: node linkType: hard @@ -12706,15 +13428,6 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10/16fd79c28645759505914561e249b9a1f5fe3362279ad95487a4501e4467abeb714fd35b95307326b8fd03f3c7719065ef11a6f97b7285d7888306d1bd2232ba - languageName: node - linkType: hard - "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0" @@ -12722,7 +13435,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": +"ms@npm:2.1.3, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -12756,7 +13469,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.10, nanoid@npm:^3.3.7, nanoid@npm:^3.3.8": +"nanoid@npm:^3.3.10, nanoid@npm:^3.3.11, nanoid@npm:^3.3.8": version: 3.3.11 resolution: "nanoid@npm:3.3.11" bin: @@ -12765,6 +13478,15 @@ __metadata: languageName: node linkType: hard +"napi-postinstall@npm:^0.3.0": + version: 0.3.4 + resolution: "napi-postinstall@npm:0.3.4" + bin: + napi-postinstall: lib/cli.js + checksum: 10/5541381508f9e1051ff3518701c7130ebac779abb3a1ffe9391fcc3cab4cc0569b0ba0952357db3f6b12909c3bb508359a7a60261ffd795feebbdab967175832 + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -12772,13 +13494,27 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": +"negotiator@npm:0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: 10/2723fb822a17ad55c93a588a4bc44d53b22855bf4be5499916ca0cab1e7165409d0b288ba2577d7b029f10ce18cf2ed8e703e5af31c984e1e2304277ef979837 languageName: node linkType: hard +"negotiator@npm:^0.6.3": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 10/d98c04a136583afd055746168f1067d58ce4bfe6e4c73ca1d339567f81ea1f7e665b5bd1e81f4771c67b6c2ea89b21cb2adaea2b16058c7dc31317778f931dab + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10/b5734e87295324fabf868e36fb97c84b7d7f3156ec5f4ee5bf6e488079c11054f818290fc33804cef7b1ee21f55eeb14caea83e7dafae6492a409b3e573153e5 + languageName: node + linkType: hard + "nise@npm:^4.0.4": version: 4.1.0 resolution: "nise@npm:4.1.0" @@ -12793,13 +13529,13 @@ __metadata: linkType: hard "nock@npm:^13.3.1": - version: 13.5.5 - resolution: "nock@npm:13.5.5" + version: 13.5.6 + resolution: "nock@npm:13.5.6" dependencies: debug: "npm:^4.1.0" json-stringify-safe: "npm:^5.0.1" propagate: "npm:^2.0.0" - checksum: 10/c19d7bf9654db056357a22b00127bb5606c1bbdff188a5b6c469825e580e31cd0cb0701bce8dd8b4876dbbd36a145fdb681fd69fd59308d6db4923ce8ab2439e + checksum: 10/a57c265b75e5f7767e2f8baf058773cdbf357c31c5fea2761386ec03a008a657f9df921899fe2a9502773b47145b708863b32345aef529b3c45cba4019120f88 languageName: node linkType: hard @@ -12836,19 +13572,19 @@ __metadata: linkType: hard "node-gyp-build@npm:^4.2.0": - version: 4.8.1 - resolution: "node-gyp-build@npm:4.8.1" + version: 4.8.4 + resolution: "node-gyp-build@npm:4.8.4" bin: node-gyp-build: bin.js node-gyp-build-optional: optional.js node-gyp-build-test: build-test.js - checksum: 10/b9297770f96a92e5f2b854f3fd5e4bd418df81d7785a81ab60cec5cf2e5e72dc2c3319808978adc572cfa3885e6b12338cb5f4034bed2cab35f0d76a4b75ccdf + checksum: 10/6a7d62289d1afc419fc8fc9bd00aa4e554369e50ca0acbc215cb91446148b75ff7e2a3b53c2c5b2c09a39d416d69f3d3237937860373104b5fe429bf30ad9ac5 languageName: node linkType: hard -"node-gyp@npm:^10.0.0, node-gyp@npm:latest": - version: 10.2.0 - resolution: "node-gyp@npm:10.2.0" +"node-gyp@npm:^10.0.0": + version: 10.3.1 + resolution: "node-gyp@npm:10.3.1" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" @@ -12862,7 +13598,27 @@ __metadata: which: "npm:^4.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10/41773093b1275751dec942b985982fd4e7a69b88cae719b868babcef3880ee6168aaec8dcaa8cd0b9fa7c84873e36cc549c6cac6a124ee65ba4ce1f1cc108cfe + checksum: 10/d3004f648559e42d7ec8791ea75747fe8a163a6061c202e311e5d7a5f6266baa9a5f5c6fde7be563974c88b030c5d0855fd945364f52fcd230d2a2ceee7be80d + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.5.0 + resolution: "node-gyp@npm:11.5.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10/15a600b626116e1e528c49f73027c5ff84dbf6986df77b0fb61d6eb079ab4230c39f245295cb67f0590e6541a848cbd267e00c5769e8fb8bf88a5cca3701b551 languageName: node linkType: hard @@ -12873,10 +13629,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.19": - version: 2.0.19 - resolution: "node-releases@npm:2.0.19" - checksum: 10/c2b33b4f0c40445aee56141f13ca692fa6805db88510e5bbb3baadb2da13e1293b738e638e15e4a8eb668bb9e97debb08e7a35409b477b5cc18f171d35a83045 +"node-releases@npm:^2.0.26": + version: 2.0.27 + resolution: "node-releases@npm:2.0.27" + checksum: 10/f6c78ddb392ae500719644afcbe68a9ea533242c02312eb6a34e8478506eb7482a3fb709c70235b01c32fe65625b68dfa9665113f816d87f163bc3819b62b106 languageName: node linkType: hard @@ -12898,6 +13654,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10/26ab456c51a96f02a9e5aa8d1b80ef3219f2070f3f3528a040e32fb735b1e651e17bdf0f1476988d3a46d498f35c65ed662d122f340d38ce4a7e71dd7b20c4bc + languageName: node + linkType: hard + "normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" @@ -13016,9 +13783,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.0": - version: 2.2.16 - resolution: "nwsapi@npm:2.2.16" - checksum: 10/1e5e086cdd4ca4a45f414d37f49bf0ca81d84ed31c6871ac68f531917d2910845db61f77c6d844430dc90fda202d43fce9603024e74038675de95229eb834dba + version: 2.2.22 + resolution: "nwsapi@npm:2.2.22" + checksum: 10/6bdeeb61345873808b914c002d351049a2678bcae0dd957ad20949da25eca583b19a9c750f510b776b6554a2e0ee8df4e6fb13fd7a46c6025ead0b19e70378b3 languageName: node linkType: hard @@ -13029,10 +13796,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1": - version: 1.13.2 - resolution: "object-inspect@npm:1.13.2" - checksum: 10/7ef65583b6397570a17c56f0c1841e0920e83900f2c94638927abb7b81ac08a19c7aae135bd9dcca96208cac0c7332b4650fb927f027b0cf92d71df2990d0561 +"object-inspect@npm:^1.13.3": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10/aa13b1190ad3e366f6c83ad8a16ed37a19ed57d267385aa4bfdccda833d7b90465c057ff6c55d035a6b2e52c1a2295582b294217a0a3a1ae7abdd6877ef781fb languageName: node linkType: hard @@ -13073,14 +13840,14 @@ __metadata: linkType: hard "open@npm:^10.1.0": - version: 10.1.0 - resolution: "open@npm:10.1.0" + version: 10.2.0 + resolution: "open@npm:10.2.0" dependencies: default-browser: "npm:^5.2.1" define-lazy-prop: "npm:^3.0.0" is-inside-container: "npm:^1.0.0" - is-wsl: "npm:^3.1.0" - checksum: 10/a9c4105243a1b3c5312bf2aeb678f78d31f00618b5100088ee01eed2769963ea1f2dd464ac8d93cef51bba2d911e1a9c0c34a753ec7b91d6b22795903ea6647a + wsl-utils: "npm:^0.1.0" + checksum: 10/e6ad9474734eac3549dcc7d85e952394856ccaee48107c453bd6a725b82e3b8ed5f427658935df27efa76b411aeef62888edea8a9e347e8e7c82632ec966b30e languageName: node linkType: hard @@ -13150,6 +13917,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10/2ef48ccfc6dd387253d71bf502604f7893ed62090b2c9d73387f10006c342606b05233da0e4f29388227b61eb5aeface6197e166520c465c234552eeab2fe633 + languageName: node + linkType: hard + "p-throttle@npm:^4.1.1": version: 4.1.1 resolution: "p-throttle@npm:4.1.1" @@ -13165,9 +13939,9 @@ __metadata: linkType: hard "package-json-from-dist@npm:^1.0.0": - version: 1.0.0 - resolution: "package-json-from-dist@npm:1.0.0" - checksum: 10/ac706ec856a5a03f5261e4e48fa974f24feb044d51f84f8332e2af0af04fbdbdd5bbbfb9cbbe354190409bc8307c83a9e38c6672c3c8855f709afb0006a009ea + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602 languageName: node linkType: hard @@ -13180,13 +13954,12 @@ __metadata: languageName: node linkType: hard -"parse-imports@npm:^2.1.1": - version: 2.2.1 - resolution: "parse-imports@npm:2.2.1" +"parse-imports-exports@npm:^0.2.4": + version: 0.2.4 + resolution: "parse-imports-exports@npm:0.2.4" dependencies: - es-module-lexer: "npm:^1.5.3" - slashes: "npm:^3.0.12" - checksum: 10/db1d98077587d23bfa1f136abae158ea08e1e588d0260dfc0769092be86b842c798ae47466742b1d9bc106d3430cebbd9730fc34872a2c0e72b9ff720986e82e + parse-statements: "npm:1.0.11" + checksum: 10/144d459771d1aeaa80eebffe43a2074c34e5b79a86d326c907efea90b62ff41af9555600b8e117e6cab717654d8e20b440e9ab09cdbbc9092f352cb0a9e1f3a3 languageName: node linkType: hard @@ -13210,11 +13983,18 @@ __metadata: linkType: hard "parse-path@npm:^7.0.0": - version: 7.0.0 - resolution: "parse-path@npm:7.0.0" + version: 7.1.0 + resolution: "parse-path@npm:7.1.0" dependencies: protocols: "npm:^2.0.0" - checksum: 10/2e6eadae5aff97a8b6373c1c08440bfeed814f65452674a139dc606c7c410e8e48b7983fe451aedc59802a2814121b40415ca00675c1546ff75cb73ad0c1df5a + checksum: 10/6da6c6803fa73bacfee98e694c6c95fa55caae632c765369e4fd917f1043ef71f35ecaae420ef0e39e933bd1f939c4bc1e01522b62145191cdbe72e58d37a8ab + languageName: node + linkType: hard + +"parse-statements@npm:1.0.11": + version: 1.0.11 + resolution: "parse-statements@npm:1.0.11" + checksum: 10/287c2739f4cbffa08e28a95ea2d3ff4a8a51ddb367df6212ae2cd80580a1189e09c6edcb8277fc05d0fdbcb93c86ad16b591f317e2fe12ac4189de738863e514 languageName: node linkType: hard @@ -13317,19 +14097,20 @@ __metadata: linkType: hard "pbkdf2@npm:^3.0.17": - version: 3.1.2 - resolution: "pbkdf2@npm:3.1.2" + version: 3.1.5 + resolution: "pbkdf2@npm:3.1.5" dependencies: - create-hash: "npm:^1.1.2" - create-hmac: "npm:^1.1.4" - ripemd160: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - sha.js: "npm:^2.4.8" - checksum: 10/40bdf30df1c9bb1ae41ec50c11e480cf0d36484b7c7933bf55e4451d1d0e3f09589df70935c56e7fccc5702779a0d7b842d012be8c08a187b44eb24d55bb9460 + create-hash: "npm:^1.2.0" + create-hmac: "npm:^1.1.7" + ripemd160: "npm:^2.0.3" + safe-buffer: "npm:^5.2.1" + sha.js: "npm:^2.4.12" + to-buffer: "npm:^1.2.1" + checksum: 10/ce1c9a2ebbc843c86090ec6cac6d07429dece7c1fdb87437ce6cf869d0429cc39cab61bc34215585f4a00d8009862df45e197fbd54f3508ccba8ff312a88261b languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": +"picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 @@ -13343,6 +14124,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 10/57b99055f40b16798f2802916d9c17e9744e620a0db136554af01d19598b96e45e2f00014c91d1b8b13874b80caa8c295b3d589a3f72373ec4aaf54baa5962d5 + languageName: node + linkType: hard + "pify@npm:^5.0.0": version: 5.0.0 resolution: "pify@npm:5.0.0" @@ -13351,9 +14139,9 @@ __metadata: linkType: hard "pirates@npm:^4.0.4": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10/d02dda76f4fec1cbdf395c36c11cf26f76a644f9f9a1bfa84d3167d0d3154d5289aacc72677aa20d599bb4a6937a471de1b65c995e2aea2d8687cbcd7e43ea5f + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10/2427f371366081ae42feb58214f04805d6b41d6b84d74480ebcc9e0ddbd7105a139f7c653daeaf83ad8a1a77214cf07f64178e76de048128fec501eab3305a96 languageName: node linkType: hard @@ -13391,14 +14179,21 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.40": - version: 8.4.41 - resolution: "postcss@npm:8.4.41" +"possible-typed-array-names@npm:^1.0.0": + version: 1.1.0 + resolution: "possible-typed-array-names@npm:1.1.0" + checksum: 10/2f44137b8d3dd35f4a7ba7469eec1cd9cfbb46ec164b93a5bc1f4c3d68599c9910ee3b91da1d28b4560e9cc8414c3cd56fedc07259c67e52cc774476270d3302 + languageName: node + linkType: hard + +"postcss@npm:^8.5.6": + version: 8.5.6 + resolution: "postcss@npm:8.5.6" dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.1" - source-map-js: "npm:^1.2.0" - checksum: 10/6e6176c2407eff60493ca60a706c6b7def20a722c3adda94ea1ece38345eb99964191336fd62b62652279cec6938e79e0b1e1d477142c8d3516e7a725a74ee37 + nanoid: "npm:^3.3.11" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10/9e4fbe97574091e9736d0e82a591e29aa100a0bf60276a926308f8c57249698935f35c5d2f4e80de778d0cbb8dcffab4f383d85fd50c5649aca421c3df729b86 languageName: node linkType: hard @@ -13428,26 +14223,37 @@ __metadata: linkType: hard "prettier-plugin-packagejson@npm:^2.4.5": - version: 2.5.2 - resolution: "prettier-plugin-packagejson@npm:2.5.2" + version: 2.5.19 + resolution: "prettier-plugin-packagejson@npm:2.5.19" dependencies: - sort-package-json: "npm:2.10.1" - synckit: "npm:0.9.1" + sort-package-json: "npm:3.4.0" + synckit: "npm:0.11.11" peerDependencies: prettier: ">= 1.16.0" peerDependenciesMeta: prettier: optional: true - checksum: 10/f280d69327a468cd104c72a81134258d3573e56d697a88a5c4498c8d02cecda9a27d9eb3f1d29cc726491782eb3f279c9d41ecf8364a197e20b239c5ccfd0269 + checksum: 10/a3caba8b62f92b53a8414cf1061a87bb5931e790c77022c64f3fa12122cf78b392912525deb9671bcdb196106a3078d4dcc6ae076fe2e14e26931b9d9b0195f1 languageName: node linkType: hard "prettier@npm:^3.3.3": - version: 3.4.2 - resolution: "prettier@npm:3.4.2" + version: 3.6.2 + resolution: "prettier@npm:3.6.2" bin: prettier: bin/prettier.cjs - checksum: 10/a3e806fb0b635818964d472d35d27e21a4e17150c679047f5501e1f23bd4aa806adf660f0c0d35214a210d5d440da6896c2e86156da55f221a57938278dc326e + checksum: 10/1213691706bcef1371d16ef72773c8111106c3533b660b1cc8ec158bd109cdf1462804125f87f981f23c4a3dba053b6efafda30ab0114cc5b4a725606bb9ff26 + languageName: node + linkType: hard + +"pretty-format@npm:30.2.0, pretty-format@npm:^30.0.0": + version: 30.2.0 + resolution: "pretty-format@npm:30.2.0" + dependencies: + "@jest/schemas": "npm:30.0.5" + ansi-styles: "npm:^5.2.0" + react-is: "npm:^18.3.1" + checksum: 10/725890d648e3400575eebc99a334a4cd1498e0d36746313913706bbeea20ada27e17c184a3cd45c50f705c16111afa829f3450233fc0fda5eed293c69757e926 languageName: node linkType: hard @@ -13462,7 +14268,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": +"pretty-format@npm:^29.7.0": version: 29.7.0 resolution: "pretty-format@npm:29.7.0" dependencies: @@ -13480,6 +14286,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10/35610bdb0177d3ab5d35f8827a429fb1dc2518d9e639f2151ac9007f01a061c30e0c635a970c9b00c39102216160f6ec54b62377c92fac3b7bfc2ad4b98d195c + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -13539,8 +14352,8 @@ __metadata: linkType: hard "protobufjs@npm:^7.2.5": - version: 7.4.0 - resolution: "protobufjs@npm:7.4.0" + version: 7.5.4 + resolution: "protobufjs@npm:7.5.4" dependencies: "@protobufjs/aspromise": "npm:^1.1.2" "@protobufjs/base64": "npm:^1.1.2" @@ -13554,14 +14367,14 @@ __metadata: "@protobufjs/utf8": "npm:^1.1.0" "@types/node": "npm:>=13.7.0" long: "npm:^5.0.0" - checksum: 10/408423506610f70858d7593632f4a6aa4f05796c90fd632be9b9252457c795acc71aa6d3b54bb7f48a890141728fee4ca3906723ccea6c202ad71f21b3879b8b + checksum: 10/88d677bb6f11a2ecec63fdd053dfe6d31120844d04e865efa9c8fbe0674cd077d6624ecfdf014018a20dcb114ae2a59c1b21966dd8073e920650c71370966439 languageName: node linkType: hard "protocols@npm:^2.0.0, protocols@npm:^2.0.1": - version: 2.0.1 - resolution: "protocols@npm:2.0.1" - checksum: 10/0cd08a55b9cb7cc96fed7a528255320428a7c86fd5f3f35965845285436433b7836178893168f80584efdf86391cd7c0a837b6f6bc5ddac3029c76be61118ba5 + version: 2.0.2 + resolution: "protocols@npm:2.0.2" + checksum: 10/031cc068eb800468a50eb7c1e1c528bf142fb8314f5df9b9ea3c3f9df1697a19f97b9915b1229cef694d156812393172d9c3051ef7878d26eaa8c6faa5cccec4 languageName: node linkType: hard @@ -13583,19 +14396,21 @@ __metadata: linkType: hard "psl@npm:^1.1.33": - version: 1.9.0 - resolution: "psl@npm:1.9.0" - checksum: 10/d07879d4bfd0ac74796306a8e5a36a93cfb9c4f4e8ee8e63fbb909066c192fe1008cd8f12abd8ba2f62ca28247949a20c8fb32e1d18831d9e71285a1569720f9 + version: 1.15.0 + resolution: "psl@npm:1.15.0" + dependencies: + punycode: "npm:^2.3.1" + checksum: 10/5e7467eb5196eb7900d156783d12907d445c0122f76c73203ce96b148a6ccf8c5450cc805887ffada38ff92d634afcf33720c24053cb01d5b6598d1c913c5caf languageName: node linkType: hard "pump@npm:^3.0.0": - version: 3.0.2 - resolution: "pump@npm:3.0.2" + version: 3.0.3 + resolution: "pump@npm:3.0.3" dependencies: end-of-stream: "npm:^1.1.0" once: "npm:^1.3.1" - checksum: 10/e0c4216874b96bd25ddf31a0b61a5613e26cc7afa32379217cf39d3915b0509def3565f5f6968fafdad2894c8bbdbd67d340e84f3634b2a29b950cffb6442d9f + checksum: 10/52843fc933b838c0330f588388115a1b28ef2a5ffa7774709b142e35431e8ab0c2edec90de3fa34ebb72d59fef854f151eea7dfc211b6dcf586b384556bd2f39 languageName: node linkType: hard @@ -13606,14 +14421,14 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0, punycode@npm:^2.1.1": +"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: 10/febdc4362bead22f9e2608ff0171713230b57aff9dddc1c273aa2a651fbd366f94b7d6a71d78342a7c0819906750351ca7f2edd26ea41b626d87d6a13d1bd059 languageName: node linkType: hard -"qs@npm:6.13.0, qs@npm:^6.11.2": +"qs@npm:6.13.0": version: 6.13.0 resolution: "qs@npm:6.13.0" dependencies: @@ -13622,6 +14437,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:^6.11.2": + version: 6.14.0 + resolution: "qs@npm:6.14.0" + dependencies: + side-channel: "npm:^1.1.0" + checksum: 10/a60e49bbd51c935a8a4759e7505677b122e23bf392d6535b8fc31c1e447acba2c901235ecb192764013cd2781723dc1f61978b5fdd93cc31d7043d31cdc01974 + languageName: node + linkType: hard + "querystringify@npm:^2.1.1": version: 2.2.0 resolution: "querystringify@npm:2.2.0" @@ -13636,13 +14460,6 @@ __metadata: languageName: node linkType: hard -"queue-tick@npm:^1.0.1": - version: 1.0.1 - resolution: "queue-tick@npm:1.0.1" - checksum: 10/f447926c513b64a857906f017a3b350f7d11277e3c8d2a21a42b7998fa1a613d7a829091e12d142bb668905c8f68d8103416c7197856efb0c72fa835b8e254b5 - languageName: node - linkType: hard - "quick-lru@npm:^4.0.1": version: 4.0.1 resolution: "quick-lru@npm:4.0.1" @@ -13658,15 +14475,15 @@ __metadata: linkType: hard "qunit@npm:^2.8.0": - version: 2.23.1 - resolution: "qunit@npm:2.23.1" + version: 2.24.2 + resolution: "qunit@npm:2.24.2" dependencies: commander: "npm:7.2.0" node-watch: "npm:0.7.3" tiny-glob: "npm:0.2.9" bin: qunit: bin/qunit.js - checksum: 10/41e5de998c1160206b56c53c6d73402ccc7ad20f8f25395aa24d500c387552a99a1690b7e50dfc3b0a0abb2c43bd370d8c8929bd282c524bae53e10284a0e091 + checksum: 10/c8da458a5fd0fc0d2a4d26d12bdd9dc14a032ba4dc39927c12cc823afe8c88d89254f056d0dfb5f06e463d1acb2f181af94d7856e489af79e8869c0c7d52c1e2 languageName: node linkType: hard @@ -13715,7 +14532,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.0.0": +"react-is@npm:^18.0.0, react-is@npm:^18.3.1": version: 18.3.1 resolution: "react-is@npm:18.3.1" checksum: 10/d5f60c87d285af24b1e1e7eaeb123ec256c3c8bdea7061ab3932e3e14685708221bf234ec50b21e10dd07f008f1b966a2730a0ce4ff67905b3872ff2042aec22 @@ -13786,7 +14603,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.2": +"readable-stream@npm:^2.0.2, readable-stream@npm:^2.3.8": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -13801,25 +14618,25 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.6.2 || ^4.4.2": - version: 4.5.2 - resolution: "readable-stream@npm:4.5.2" +"readable-stream@npm:^3.6.2 || ^4.4.2, readable-stream@npm:^4.7.0": + version: 4.7.0 + resolution: "readable-stream@npm:4.7.0" dependencies: abort-controller: "npm:^3.0.0" buffer: "npm:^6.0.3" events: "npm:^3.3.0" process: "npm:^0.11.10" string_decoder: "npm:^1.3.0" - checksum: 10/01b128a559c5fd76a898495f858cf0a8839f135e6a69e3409f986e88460134791657eb46a2ff16826f331682a3c4d0c5a75cef5e52ef259711021ba52b1c2e82 + checksum: 10/bdf096c8ff59452ce5d08f13da9597f9fcfe400b4facfaa88e74ec057e5ad1fdfa140ffe28e5ed806cf4d2055f0b812806e962bca91dce31bc4cef08e53be3a4 languageName: node linkType: hard "readable-web-to-node-stream@npm:^3.0.2": - version: 3.0.2 - resolution: "readable-web-to-node-stream@npm:3.0.2" + version: 3.0.4 + resolution: "readable-web-to-node-stream@npm:3.0.4" dependencies: - readable-stream: "npm:^3.6.0" - checksum: 10/d3a5bf9d707c01183d546a64864aa63df4d9cb835dfd2bf89ac8305e17389feef2170c4c14415a10d38f9b9bfddf829a57aaef7c53c8b40f11d499844bf8f1a4 + readable-stream: "npm:^4.7.0" + checksum: 10/d8fb3de7579d70ea1e9efdfb2f02e2965ae62a1e1d9e9b0bdce493cb3b98090bd4a34526a9ab6c793bb833b89ffd31a5ab06117a3ae2a3df21363651b2131da9 languageName: node linkType: hard @@ -13849,6 +14666,13 @@ __metadata: languageName: node linkType: hard +"reflect-metadata@npm:^0.1.13": + version: 0.1.14 + resolution: "reflect-metadata@npm:0.1.14" + checksum: 10/fcab9c17ec3b9fea0e2f748c2129aceb57c24af6d8d13842b8a77c8c79dde727d7456ce293e76e8d7b267d1dbf93eea4c5b3c9101299a789a075824f2e40f1ee + languageName: node + linkType: hard + "regenerator-runtime@npm:^0.11.0": version: 0.11.1 resolution: "regenerator-runtime@npm:0.11.1" @@ -13856,13 +14680,6 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.14.0": - version: 0.14.1 - resolution: "regenerator-runtime@npm:0.14.1" - checksum: 10/5db3161abb311eef8c45bcf6565f4f378f785900ed3945acf740a9888c792f75b98ecb77f0775f3bf95502ff423529d23e94f41d80c8256e8fa05ed4b07cf471 - languageName: node - linkType: hard - "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -13945,20 +14762,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.22.8": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/c473506ee01eb45cbcfefb68652ae5759e092e6b0fb64547feadf9736a6394f258fbc6f88e00c5ca36d5477fbb65388b272432a3600fa223062e54333c156753 - languageName: node - linkType: hard - -"resolve@npm:^1.10.0, resolve@npm:^1.20.0, resolve@npm:^1.22.3, resolve@npm:^1.22.4": +"resolve@npm:1.22.10": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -13971,20 +14775,20 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A1.22.8#optional!builtin": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" +"resolve@npm:^1.10.0, resolve@npm:^1.20.0, resolve@npm:^1.22.3": + version: 1.22.11 + resolution: "resolve@npm:1.22.11" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.1" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10/f345cd37f56a2c0275e3fe062517c650bb673815d885e7507566df589375d165bbbf4bdb6aa95600a9bc55f4744b81f452b5a63f95b9f10a72787dba3c90890a + checksum: 10/e1b2e738884a08de03f97ee71494335eba8c2b0feb1de9ae065e82c48997f349f77a2b10e8817e147cf610bfabc4b1cb7891ee8eaf5bf80d4ad514a34c4fab0a languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A1.22.10#optional!builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: @@ -13997,6 +14801,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin": + version: 1.22.11 + resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/fd342cad25e52cd6f4f3d1716e189717f2522bfd6641109fe7aa372f32b5714a296ed7c238ddbe7ebb0c1ddfe0b7f71c9984171024c97cf1b2073e3e40ff71a8 + languageName: node + linkType: hard + "responselike@npm:^2.0.0": version: 2.0.1 resolution: "responselike@npm:2.0.1" @@ -14024,9 +14841,9 @@ __metadata: linkType: hard "reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: 10/14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10/af47851b547e8a8dc89af144fceee17b80d5beaf5e6f57ed086432d79943434ff67ca526e92275be6f54b6189f6920a24eace75c2657eed32d02c400312b21ec languageName: node linkType: hard @@ -14059,13 +14876,13 @@ __metadata: languageName: node linkType: hard -"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": - version: 2.0.2 - resolution: "ripemd160@npm:2.0.2" +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1, ripemd160@npm:^2.0.3": + version: 2.0.3 + resolution: "ripemd160@npm:2.0.3" dependencies: - hash-base: "npm:^3.0.0" - inherits: "npm:^2.0.1" - checksum: 10/006accc40578ee2beae382757c4ce2908a826b27e2b079efdcd2959ee544ddf210b7b5d7d5e80467807604244e7388427330f5c6d4cd61e6edaddc5773ccc393 + hash-base: "npm:^3.1.2" + inherits: "npm:^2.0.4" + checksum: 10/d15d42ea0460426675e5320f86d3468ab408af95b1761cf35f8d32c0c97b4d3bb72b7226e990e643b96e1637a8ad26b343a6c7666e1a297bcab4f305a1d9d3e3 languageName: node linkType: hard @@ -14081,9 +14898,9 @@ __metadata: linkType: hard "run-applescript@npm:^7.0.0": - version: 7.0.0 - resolution: "run-applescript@npm:7.0.0" - checksum: 10/b02462454d8b182ad4117e5d4626e9e6782eb2072925c9fac582170b0627ae3c1ea92ee9b2df7daf84b5e9ffe14eb1cf5fb70bc44b15c8a0bfcdb47987e2410c + version: 7.1.0 + resolution: "run-applescript@npm:7.1.0" + checksum: 10/8659fb5f2717b2b37a68cbfe5f678254cf24b5a82a6df3372b180c80c7c137dcd757a4166c3887e459f59a090ca414e8ea7ca97cf3ee5123db54b3b4006d7b7a languageName: node linkType: hard @@ -14103,7 +14920,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10/32872cd0ff68a3ddade7a7617b8f4c2ae8764d8b7d884c651b74457967a9e0e886267d3ecc781220629c44a865167b61c375d2da6c720c840ecd73f45d5d9451 @@ -14185,7 +15002,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.x, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": +"semver@npm:7.x, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2": version: 7.7.3 resolution: "semver@npm:7.7.3" bin: @@ -14236,13 +15053,14 @@ __metadata: languageName: node linkType: hard -"ses@npm:^1.13.1": - version: 1.13.1 - resolution: "ses@npm:1.13.1" +"ses@npm:^1.14.0": + version: 1.14.0 + resolution: "ses@npm:1.14.0" dependencies: - "@endo/env-options": "npm:^1.1.10" - "@endo/immutable-arraybuffer": "npm:^1.1.1" - checksum: 10/7077a5349bebccddb7cdd07f6cca1d8c8af6b36106d34efdf362030c2a4a820f2c4acf3e7ffcc003403312d0833bbc3d4b21c490cd2f198b697cbe375761c159 + "@endo/cache-map": "npm:^1.1.0" + "@endo/env-options": "npm:^1.1.11" + "@endo/immutable-arraybuffer": "npm:^1.1.2" + checksum: 10/bee10b958938fb3d153ea8f1b4514f8ddb390dc7533fe9cfc382dcc046bebd5fca02d80836bfb8f98e94609ffbe3580a0bb65428eb7e39d523315eacdc052300 languageName: node linkType: hard @@ -14281,15 +15099,16 @@ __metadata: languageName: node linkType: hard -"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": - version: 2.4.11 - resolution: "sha.js@npm:2.4.11" +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.12, sha.js@npm:^2.4.8": + version: 2.4.12 + resolution: "sha.js@npm:2.4.12" dependencies: - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + to-buffer: "npm:^1.2.0" bin: - sha.js: ./bin.js - checksum: 10/d833bfa3e0a67579a6ce6e1bc95571f05246e0a441dd8c76e3057972f2a3e098465687a4369b07e83a0375a88703577f71b5b2e966809e67ebc340dbedb478c7 + sha.js: bin.js + checksum: 10/39c0993592c2ab34eb2daae2199a2a1d502713765aecb611fd97c0c4ab7cd53e902d628e1962aaf384bafd28f55951fef46dcc78799069ce41d74b03aa13b5a7 languageName: node linkType: hard @@ -14317,9 +15136,9 @@ __metadata: linkType: hard "shell-quote@npm:^1.6.1": - version: 1.8.2 - resolution: "shell-quote@npm:1.8.2" - checksum: 10/3ae4804fd80a12ba07650d0262804ae3b479a62a6b6971a6dc5fa12995507aa63d3de3e6a8b7a8d18f4ce6eb118b7d75db7fcb2c0acbf016f210f746b10cfe02 + version: 1.8.3 + resolution: "shell-quote@npm:1.8.3" + checksum: 10/5473e354637c2bd698911224129c9a8961697486cff1fb221f234d71c153fc377674029b0223d1d3c953a68d451d79366abfe53d1a0b46ee1f28eb9ade928f4c languageName: node linkType: hard @@ -14335,15 +15154,51 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.6": - version: 1.0.6 - resolution: "side-channel@npm:1.0.6" +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" dependencies: - call-bind: "npm:^1.0.7" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - object-inspect: "npm:^1.13.1" - checksum: 10/eb10944f38cebad8ad643dd02657592fa41273ce15b8bfa928d3291aff2d30c20ff777cfe908f76ccc4551ace2d1245822fdc576657cce40e9066c638ca8fa4d + object-inspect: "npm:^1.13.3" + checksum: 10/603b928997abd21c5a5f02ae6b9cc36b72e3176ad6827fab0417ead74580cc4fb4d5c7d0a8a2ff4ead34d0f9e35701ed7a41853dac8a6d1a664fcce1a044f86f + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10/5771861f77feefe44f6195ed077a9e4f389acc188f895f570d56445e251b861754b547ea9ef73ecee4e01fdada6568bfe9020d2ec2dfc5571e9fa1bbc4a10615 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10/a815c89bc78c5723c714ea1a77c938377ea710af20d4fb886d362b0d1f8ac73a17816a5f6640f354017d7e292a43da9c5e876c22145bac00b76cfb3468001736 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.6, side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10/7d53b9db292c6262f326b6ff3bc1611db84ece36c2c7dc0e937954c13c73185b0406c56589e2bb8d071d6fee468e14c39fb5d203ee39be66b7b8174f179afaba languageName: node linkType: hard @@ -14361,12 +15216,26 @@ __metadata: languageName: node linkType: hard +"sigstore@npm:^3.1.0": + version: 3.1.0 + resolution: "sigstore@npm:3.1.0" + dependencies: + "@sigstore/bundle": "npm:^3.1.0" + "@sigstore/core": "npm:^2.0.0" + "@sigstore/protobuf-specs": "npm:^0.4.0" + "@sigstore/sign": "npm:^3.1.0" + "@sigstore/tuf": "npm:^3.1.0" + "@sigstore/verify": "npm:^2.1.0" + checksum: 10/fc2a38d11bd0e02b5dc8271e906ba7ea1aaa3dc19010dc6d29602b900532fa16b132cd6c80ec1c294f201f81f1277fb351020d0c65b6a62968f229db0b6c5a4f + languageName: node + linkType: hard + "simple-git-hooks@npm:^2.8.0": - version: 2.11.1 - resolution: "simple-git-hooks@npm:2.11.1" + version: 2.13.1 + resolution: "simple-git-hooks@npm:2.13.1" bin: simple-git-hooks: cli.js - checksum: 10/b19b1edaca3af95442a35e3963fa54955ddd58f481dde25da4f7a48353ae5e35bc875ae381e214fe2889be494e6fe01cc1c5f24aebb9558cee496deda3d026a4 + checksum: 10/a315ab71dcc5da1552970051c8b05ab745496e95667501e6961165f9946b58119ed8c3aa0e97748ca04c61b891936e3464c5feb4c5fb2d70a79e8f431809453d languageName: node linkType: hard @@ -14419,20 +15288,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:^4.0.0": - version: 4.0.0 - resolution: "slash@npm:4.0.0" - checksum: 10/da8e4af73712253acd21b7853b7e0dbba776b786e82b010a5bfc8b5051a1db38ed8aba8e1e8f400dd2c9f373be91eb1c42b66e91abb407ff42b10feece5e1d2d - languageName: node - linkType: hard - -"slashes@npm:^3.0.12": - version: 3.0.12 - resolution: "slashes@npm:3.0.12" - checksum: 10/c221d73765013db64f3eaf49dacc6b99a5d5477e63720c1bb71d1af647965dda23ab100ca1eb622e080f11ffe68e1e0a233b7b908073260bed4ec819ff1d3e42 - languageName: node - linkType: hard - "slice-ansi@npm:^3.0.0": version: 3.0.0 resolution: "slice-ansi@npm:3.0.0" @@ -14452,23 +15307,23 @@ __metadata: linkType: hard "socks-proxy-agent@npm:^8.0.3": - version: 8.0.4 - resolution: "socks-proxy-agent@npm:8.0.4" + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" dependencies: - agent-base: "npm:^7.1.1" + agent-base: "npm:^7.1.2" debug: "npm:^4.3.4" socks: "npm:^2.8.3" - checksum: 10/c8e7c2b398338b49a0a0f4d2bae5c0602aeeca6b478b99415927b6c5db349ca258448f2c87c6958ebf83eea17d42cbc5d1af0bfecb276cac10b9658b0f07f7d7 + checksum: 10/ee99e1dacab0985b52cbe5a75640be6e604135e9489ebdc3048635d186012fbaecc20fbbe04b177dee434c319ba20f09b3e7dfefb7d932466c0d707744eac05c languageName: node linkType: hard "socks@npm:^2.8.3": - version: 2.8.3 - resolution: "socks@npm:2.8.3" + version: 2.8.7 + resolution: "socks@npm:2.8.7" dependencies: - ip-address: "npm:^9.0.5" + ip-address: "npm:^10.0.1" smart-buffer: "npm:^4.2.0" - checksum: 10/ffcb622c22481dfcd7589aae71fbfd71ca34334064d181df64bf8b7feaeee19706aba4cffd1de35cc7bbaeeaa0af96be2d7f40fcbc7bc0ab69533a7ae9ffc4fb + checksum: 10/d19366c95908c19db154f329bbe94c2317d315dc933a7c2b5101e73f32a555c84fb199b62174e1490082a593a4933d8d5a9b297bde7d1419c14a11a965f51356 languageName: node linkType: hard @@ -14479,28 +15334,27 @@ __metadata: languageName: node linkType: hard -"sort-package-json@npm:2.10.1": - version: 2.10.1 - resolution: "sort-package-json@npm:2.10.1" +"sort-package-json@npm:3.4.0": + version: 3.4.0 + resolution: "sort-package-json@npm:3.4.0" dependencies: detect-indent: "npm:^7.0.1" - detect-newline: "npm:^4.0.0" - get-stdin: "npm:^9.0.0" - git-hooks-list: "npm:^3.0.0" - globby: "npm:^13.1.2" + detect-newline: "npm:^4.0.1" + git-hooks-list: "npm:^4.0.0" is-plain-obj: "npm:^4.1.0" - semver: "npm:^7.6.0" + semver: "npm:^7.7.1" sort-object-keys: "npm:^1.1.3" + tinyglobby: "npm:^0.2.12" bin: sort-package-json: cli.js - checksum: 10/3a08cb9227c244d51bfb0eaaa5a9ea82fd3c96ea299c040365700b3f445d46a98411df4237f4e3c96ba67be4dcd53931747eab3b799f0335d278b36d64f1061d + checksum: 10/f8009b037d0e1ba48819ddf498a34500f778058833b962b5f0d481943def68e2633259e679f29dbb6356fbab2bbc9ffa18524bc6decdcfd4341ab1a6aadee571 languageName: node linkType: hard -"source-map-js@npm:^1.2.0": - version: 1.2.0 - resolution: "source-map-js@npm:1.2.0" - checksum: 10/74f331cfd2d121c50790c8dd6d3c9de6be21926de80583b23b37029b0f37aefc3e019fa91f9a10a5e120c08135297e1ecf312d561459c45908cb1e0e365f49e5 +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 languageName: node linkType: hard @@ -14522,9 +15376,9 @@ __metadata: linkType: hard "source-map@npm:^0.7.3": - version: 0.7.4 - resolution: "source-map@npm:0.7.4" - checksum: 10/a0f7c9b797eda93139842fd28648e868a9a03ea0ad0d9fa6602a0c1f17b7fb6a7dcca00c144476cccaeaae5042e99a285723b1a201e844ad67221bf5d428f1dc + version: 0.7.6 + resolution: "source-map@npm:0.7.6" + checksum: 10/c8d2da7c57c14f3fd7568f764b39ad49bbf9dd7632b86df3542b31fed117d4af2fb74a4f886fc06baf7a510fee68e37998efc3080aacdac951c36211dc29a7a3 languageName: node linkType: hard @@ -14566,16 +15420,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.20 - resolution: "spdx-license-ids@npm:3.0.20" - checksum: 10/30e566ea74b04232c64819d1f5313c00d92e9c73d054541650331fc794499b3bcc4991bcd90fa3c2fc4d040006f58f63104706255266e87a9d452e6574afc60c - languageName: node - linkType: hard - -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10/e7587128c423f7e43cc625fe2f87e6affdf5ca51c1cc468e910d8aaca46bb44a7fbcfa552f787b1d3987f7043aeb4527d1b99559e6621e01b42b3f45e5a24cbb + version: 3.0.22 + resolution: "spdx-license-ids@npm:3.0.22" + checksum: 10/a2f214aaf74c21a0172232367ce785157cef45d78617ee4d12aa1246350af566968e28b511e2096b707611566ac3959b85d8bf2d53a65bc6b66580735d3e1965 languageName: node linkType: hard @@ -14595,23 +15442,30 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^6.0.1": - version: 6.0.2 - resolution: "ssri@npm:6.0.2" +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" dependencies: - figgy-pudding: "npm:^3.5.1" - checksum: 10/7f8062604b50bd647ee11c6e03bc0d8f39d9dfe3bd871f711676c1ab862435feb1dae40b20ca44fa27ef1485b814bb769d4557ff6af7e5c28bb18db3aba64510 + minipass: "npm:^7.0.3" + checksum: 10/7024c1a6e39b3f18aa8f1c8290e884fe91b0f9ca5a6c6d410544daad54de0ba664db879afe16412e187c6c292fd60b937f047ee44292e5c2af2dcc6d8e1a9b48 + languageName: node + linkType: hard + +"stable-hash-x@npm:^0.2.0": + version: 0.2.0 + resolution: "stable-hash-x@npm:0.2.0" + checksum: 10/136f05d0e4d441876012b423541476ff5b695c93b56d1959560be858b9e324ea6de6c16ecbd735a040ee8396427dd867bed0bf90b2cdb1fc422566747b91a0e5 languageName: node linkType: hard -"stable-hash@npm:^0.0.4": - version: 0.0.4 - resolution: "stable-hash@npm:0.0.4" - checksum: 10/21c039d21c1cb739cf8342561753a5e007cb95ea682ccd452e76310bbb9c6987a89de8eda023e320b019f3e4691aabda75079cdbb7dadf7ab9013e931f2f23cd +"stable-hash@npm:^0.0.5": + version: 0.0.5 + resolution: "stable-hash@npm:0.0.5" + checksum: 10/9222ea2c558e37c4a576cb4e406966b9e6aa05b93f5c4f09ef4aaabe3577439b9b8fbff407b16840b63e2ae83de74290c7b1c2da7360d571e480e46a4aec0a56 languageName: node linkType: hard -"stack-utils@npm:^2.0.2, stack-utils@npm:^2.0.3": +"stack-utils@npm:^2.0.2, stack-utils@npm:^2.0.3, stack-utils@npm:^2.0.6": version: 2.0.6 resolution: "stack-utils@npm:2.0.6" dependencies: @@ -14628,17 +15482,13 @@ __metadata: linkType: hard "streamx@npm:^2.15.0": - version: 2.19.0 - resolution: "streamx@npm:2.19.0" + version: 2.23.0 + resolution: "streamx@npm:2.23.0" dependencies: - bare-events: "npm:^2.2.0" + events-universal: "npm:^1.0.0" fast-fifo: "npm:^1.3.2" - queue-tick: "npm:^1.0.1" text-decoder: "npm:^1.1.0" - dependenciesMeta: - bare-events: - optional: true - checksum: 10/3e57a12402200cce347bd0658b5e7ef14a41636341256d2a9f43100e5c4f5d82166a4df77aef92082686150805a1b14f74370f3c96b4ed3d6d9889da1e3b3c21 + checksum: 10/4969d7032b16497172afa2f8ac889d137764963ae564daf1611a03225dd62d9316d51de8098b5866d21722babde71353067184e7a3e9795d6dc17c902904a780 languageName: node linkType: hard @@ -14702,11 +15552,11 @@ __metadata: linkType: hard "strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" + version: 7.1.2 + resolution: "strip-ansi@npm:7.1.2" dependencies: ansi-regex: "npm:^6.0.1" - checksum: 10/475f53e9c44375d6e72807284024ac5d668ee1d06010740dec0b9744f2ddf47de8d7151f80e5f6190fc8f384e802fdf9504b76a7e9020c9faee7103623338be2 + checksum: 10/db0e3f9654e519c8a33c50fc9304d07df5649388e7da06d3aabf66d29e5ad65d5e6315d8519d409c15b32fa82c1df7e11ed6f8cd50b0e4404463f0c9d77c8d0b languageName: node linkType: hard @@ -14756,10 +15606,10 @@ __metadata: languageName: node linkType: hard -"strnum@npm:^1.0.5": - version: 1.0.5 - resolution: "strnum@npm:1.0.5" - checksum: 10/d3117975db8372d4d7b2c07601ed2f65bf21cc48d741f37a8617b76370d228f2ec26336e53791ebc3638264d23ca54e6c241f57f8c69bd4941c63c79440525ca +"strnum@npm:^1.1.1": + version: 1.1.2 + resolution: "strnum@npm:1.1.2" + checksum: 10/ccd6297a1fdaf0fc8ea0ea904acdae76878d49a4b0d98a70155df4bc081fd88eac5ec99fb150f3d1d1af065c1898d38420705259ba6c39aa850c671bcd54e35d languageName: node linkType: hard @@ -14805,30 +15655,19 @@ __metadata: languageName: node linkType: hard -"synckit@npm:0.9.1": - version: 0.9.1 - resolution: "synckit@npm:0.9.1" +"synckit@npm:0.11.11, synckit@npm:^0.11.7": + version: 0.11.11 + resolution: "synckit@npm:0.11.11" dependencies: - "@pkgr/core": "npm:^0.1.0" - tslib: "npm:^2.6.2" - checksum: 10/bff3903976baf8b699b5483228116d70223781a93b17c70e685c277ee960cdfd1a09cb5a741e6a9ec35e2428f14f4664baec41ccc99a598f267608b2a54f529b - languageName: node - linkType: hard - -"synckit@npm:^0.9.1": - version: 0.9.2 - resolution: "synckit@npm:0.9.2" - dependencies: - "@pkgr/core": "npm:^0.1.0" - tslib: "npm:^2.6.2" - checksum: 10/d45c4288be9c0232343650643892a7edafb79152c0c08d7ae5d33ca2c296b67a0e15f8cb5c9153969612c4ea5cd5686297542384aab977db23cfa6653fe02027 + "@pkgr/core": "npm:^0.2.9" + checksum: 10/6ecd88212b5be80004376b6ea74babcba284566ff59a50d8803afcaa78c165b5d268635c1dd84532ee3f690a979409e1eda225a8a35bed2d135ffdcea06ce7b0 languageName: node linkType: hard "tapable@npm:^2.2.0": - version: 2.2.1 - resolution: "tapable@npm:2.2.1" - checksum: 10/1769336dd21481ae6347611ca5fca47add0962fd8e80466515032125eca0084a4f0ede11e65341b9c0018ef4e1cf1ad820adbb0fba7cc99865c6005734000b0a + version: 2.3.0 + resolution: "tapable@npm:2.3.0" + checksum: 10/496a841039960533bb6e44816a01fffc2a1eb428bb2051ecab9e87adf07f19e1f937566cbbbb09dceff31163c0ffd81baafcad84db900b601f0155dd0b37e9f2 languageName: node linkType: hard @@ -14871,16 +15710,15 @@ __metadata: linkType: hard "tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" + version: 7.5.2 + resolution: "tar@npm:7.5.2" dependencies: "@isaacs/fs-minipass": "npm:^4.0.0" chownr: "npm:^3.0.0" minipass: "npm:^7.1.2" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" + minizlib: "npm:^3.1.0" yallist: "npm:^5.0.0" - checksum: 10/12a2a4fc6dee23e07cc47f1aeb3a14a1afd3f16397e1350036a8f4cdfee8dcac7ef5978337a4e7b2ac2c27a9a6d46388fc2088ea7c80cb6878c814b1425f8ecf + checksum: 10/dbad9c9a07863cd1bdf8801d563b3280aa7dd0f4a6cead779ff7516d148dc80b4c04639ba732d47f91f04002f57e8c3c6573a717d649daecaac74ce71daa7ad3 languageName: node linkType: hard @@ -14916,11 +15754,11 @@ __metadata: linkType: hard "text-decoder@npm:^1.1.0": - version: 1.1.1 - resolution: "text-decoder@npm:1.1.1" + version: 1.2.3 + resolution: "text-decoder@npm:1.2.3" dependencies: b4a: "npm:^1.6.4" - checksum: 10/c6981b93850daeafc8bd1dbd8f984d4fb2d14632f450de0892692b5bbee2d2f4cbef8a807142527370649fd357f58491ede4915d43669eca624cb52b8dd247b6 + checksum: 10/bcdec33c0f070aeac38e46e4cafdcd567a58473ed308bdf75260bfbd8f7dc76acbc0b13226afaec4a169d0cb44cec2ab89c57b6395ccf02e941eaebbe19e124a languageName: node linkType: hard @@ -14941,6 +15779,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.3" + checksum: 10/d72bd826a8b0fa5fa3929e7fe5ba48fceb2ae495df3a231b6c5408cd7d8c00b58ab5a9c2a76ba56a62ee9b5e083626f1f33599734bed1ffc4b792406408f0ca2 + languageName: node + linkType: hard + "tinylogic@npm:^2.0.0": version: 2.0.0 resolution: "tinylogic@npm:2.0.0" @@ -14955,6 +15803,17 @@ __metadata: languageName: node linkType: hard +"to-buffer@npm:^1.2.0, to-buffer@npm:^1.2.1, to-buffer@npm:^1.2.2": + version: 1.2.2 + resolution: "to-buffer@npm:1.2.2" + dependencies: + isarray: "npm:^2.0.5" + safe-buffer: "npm:^5.2.1" + typed-array-buffer: "npm:^1.0.3" + checksum: 10/69d806c20524ff1e4c44d49276bc96ff282dcae484780a3974e275dabeb75651ea430b074a2a4023701e63b3e1d87811cd82c0972f35280fe5461710e4872aba + languageName: node + linkType: hard + "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -15013,12 +15872,23 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^2.0.0": - version: 2.0.0 - resolution: "ts-api-utils@npm:2.0.0" +"ts-api-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "ts-api-utils@npm:2.1.0" peerDependencies: typescript: ">=4.8.4" - checksum: 10/485bdf8bbba98d58712243d958f4fd44742bbe49e559cd77882fb426d866eec6dd05c67ef91935dc4f8a3c776f235859735e1f05be399e4dc9e7ffd580120974 + checksum: 10/02e55b49d9617c6eebf8aadfa08d3ca03ca0cd2f0586ad34117fdfc7aa3cd25d95051843fde9df86665ad907f99baed179e7a117b11021417f379e4d2614eacd + languageName: node + linkType: hard + +"ts-declaration-location@npm:^1.0.6": + version: 1.0.7 + resolution: "ts-declaration-location@npm:1.0.7" + dependencies: + picomatch: "npm:^4.0.2" + peerDependencies: + typescript: ">=4.0.0" + checksum: 10/a7932fc75d41f10c16089f8f5a5c1ea49d6afca30f09c91c1df14d0a8510f72bcb9f8a395c04f060b66b855b6bd7ea4df81b335fb9d21bef402969a672a4afa7 languageName: node linkType: hard @@ -15072,14 +15942,14 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.4.0": - version: 2.4.0 - resolution: "tslib@npm:2.4.0" - checksum: 10/d8379e68b36caf082c1905ec25d17df8261e1d68ddc1abfd6c91158a064f6e4402039ae7c02cf4c81d12e3a2a2c7cd8ea2f57b233eb80136a2e3e7279daf2911 +"tslib@npm:2.7.0": + version: 2.7.0 + resolution: "tslib@npm:2.7.0" + checksum: 10/9a5b47ddac65874fa011c20ff76db69f97cf90c78cff5934799ab8894a5342db2d17b4e7613a087046bc1d133d21547ddff87ac558abeec31ffa929c88b7fce6 languageName: node linkType: hard -"tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3": +"tslib@npm:^2.1.0, tslib@npm:^2.4.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 @@ -15087,8 +15957,8 @@ __metadata: linkType: hard "tsx@npm:^4.20.5": - version: 4.20.5 - resolution: "tsx@npm:4.20.5" + version: 4.20.6 + resolution: "tsx@npm:4.20.6" dependencies: esbuild: "npm:~0.25.0" fsevents: "npm:~2.3.3" @@ -15098,14 +15968,18 @@ __metadata: optional: true bin: tsx: dist/cli.mjs - checksum: 10/161420678027c43d07b60b7b6b512cc67ff86ae3cca0641a19b0d3e742c5e262bca57034c4bff6d9346f9269e9ada24b6030e1d2bc890df5e1a9754865d3c08a + checksum: 10/16396df25c474d7526f7adf9cd0c1f0b71a8c42f70bb93c2399c561eae3998abc015e8fe36a1e149fd289472919fb02816c5b46d72cf9f4335932419ecf2de8b languageName: node linkType: hard -"tunnel@npm:^0.0.6": - version: 0.0.6 - resolution: "tunnel@npm:0.0.6" - checksum: 10/cf1ffed5e67159b901a924dbf94c989f20b2b3b65649cfbbe4b6abb35955ce2cf7433b23498bdb2c5530ab185b82190fce531597b3b4a649f06a907fc8702405 +"tuf-js@npm:^3.0.1": + version: 3.1.0 + resolution: "tuf-js@npm:3.1.0" + dependencies: + "@tufjs/models": "npm:3.0.1" + debug: "npm:^4.4.1" + make-fetch-happen: "npm:^14.0.3" + checksum: 10/b0344853c0408312ecf6e6d6e02695f4b1043c28f110a2160d90c8b6716f156ef6d5aeea85b5dd01ee0da0dfee42567b7889a5b89881a116edee37d77c42044a languageName: node linkType: hard @@ -15146,6 +16020,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:4.41.0, type-fest@npm:^4.0.0": + version: 4.41.0 + resolution: "type-fest@npm:4.41.0" + checksum: 10/617ace794ac0893c2986912d28b3065ad1afb484cad59297835a0807dc63286c39e8675d65f7de08fafa339afcb8fe06a36e9a188b9857756ae1e92ee8bda212 + languageName: node + linkType: hard + "type-fest@npm:^0.12.0": version: 0.12.0 resolution: "type-fest@npm:0.12.0" @@ -15188,13 +16069,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^4.0.0": - version: 4.25.0 - resolution: "type-fest@npm:4.25.0" - checksum: 10/16ddf51dbfeef45e6f0a139c16f06d6cd05b61be76b048c41e79997f150a66422219d7ec10a2717ab926505402d59b1ddc8560f5f6c245e1b8a35971c2f1b754 - languageName: node - linkType: hard - "type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" @@ -15205,6 +16079,17 @@ __metadata: languageName: node linkType: hard +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.14" + checksum: 10/3fb91f0735fb413b2bbaaca9fabe7b8fc14a3fa5a5a7546bab8a57e755be0e3788d893195ad9c2b842620592de0e68d4c077d4c2c41f04ec25b8b5bb82fa9a80 + languageName: node + linkType: hard + "typedarray-to-buffer@npm:^3.1.5": version: 3.1.5 resolution: "typedarray-to-buffer@npm:3.1.5" @@ -15247,16 +16132,17 @@ __metadata: linkType: hard "typescript-eslint@npm:^8.7.0": - version: 8.19.1 - resolution: "typescript-eslint@npm:8.19.1" + version: 8.46.2 + resolution: "typescript-eslint@npm:8.46.2" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.19.1" - "@typescript-eslint/parser": "npm:8.19.1" - "@typescript-eslint/utils": "npm:8.19.1" + "@typescript-eslint/eslint-plugin": "npm:8.46.2" + "@typescript-eslint/parser": "npm:8.46.2" + "@typescript-eslint/typescript-estree": "npm:8.46.2" + "@typescript-eslint/utils": "npm:8.46.2" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.8.0" - checksum: 10/3e7861bcd47c0bea962662d5f18a9f9214270057c082f2e3839ee2f681a42018395755216005d2408447de5b96892b6a18cc794daf8663bba1753def48e6756c + typescript: ">=4.8.4 <6.0.0" + checksum: 10/cd1bbc5d33c0369f70032165224badf1a8a9f95f39c891e4f71c78ceea9e7b2d71e0516d8b38177a11217867f387788f3fa126381418581409e7a76cdfdfe909 languageName: node linkType: hard @@ -15281,11 +16167,11 @@ __metadata: linkType: hard "ulid@npm:^2.3.0": - version: 2.3.0 - resolution: "ulid@npm:2.3.0" + version: 2.4.0 + resolution: "ulid@npm:2.4.0" bin: - ulid: ./bin/cli.js - checksum: 10/11d7dd35072b863effb1249f66fb03070142a625610f00e5afd99af7e909b5de9cc7ebca6ede621a6bb1b7479b2489d6f064db6742b55c14bff6496ac60f290f + ulid: bin/cli.js + checksum: 10/409ad0a703ea9f25d2a35cf790b767030a2c7b5ca0df6acb73669628156ab63bb97925a3fd7aaaf0b2384d39bd3ed2f7cd2c2de9f1171df6bc79b8c097865d92 languageName: node linkType: hard @@ -15303,6 +16189,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~7.16.0": + version: 7.16.0 + resolution: "undici-types@npm:7.16.0" + checksum: 10/db43439f69c2d94cc29f75cbfe9de86df87061d6b0c577ebe9bb3255f49b22c50162a7d7eb413b0458b6510b8ca299ac7cff38c3a29fbd31af9f504bcf7fbc0d + languageName: node + linkType: hard + "unique-filename@npm:^3.0.0": version: 3.0.0 resolution: "unique-filename@npm:3.0.0" @@ -15312,6 +16205,15 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10/6a62094fcac286b9ec39edbd1f8f64ff92383baa430af303dfed1ffda5e47a08a6b316408554abfddd9730c78b6106bef4ca4d02c1231a735ddd56ced77573df + languageName: node + linkType: hard + "unique-slug@npm:^4.0.0": version: 4.0.0 resolution: "unique-slug@npm:4.0.0" @@ -15321,6 +16223,15 @@ __metadata: languageName: node linkType: hard +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10/beafdf3d6f44990e0a5ce560f8f881b4ee811be70b6ba0db25298c31c8cf525ed963572b48cd03be1c1349084f9e339be4241666d7cf1ebdad20598d3c652b27 + languageName: node + linkType: hard + "universalify@npm:^0.2.0": version: 0.2.0 resolution: "universalify@npm:0.2.0" @@ -15342,6 +16253,73 @@ __metadata: languageName: node linkType: hard +"unrs-resolver@npm:^1.6.2, unrs-resolver@npm:^1.9.2": + version: 1.11.1 + resolution: "unrs-resolver@npm:1.11.1" + dependencies: + "@unrs/resolver-binding-android-arm-eabi": "npm:1.11.1" + "@unrs/resolver-binding-android-arm64": "npm:1.11.1" + "@unrs/resolver-binding-darwin-arm64": "npm:1.11.1" + "@unrs/resolver-binding-darwin-x64": "npm:1.11.1" + "@unrs/resolver-binding-freebsd-x64": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm64-musl": "npm:1.11.1" + "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.11.1" + "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-x64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-x64-musl": "npm:1.11.1" + "@unrs/resolver-binding-wasm32-wasi": "npm:1.11.1" + "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.11.1" + "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.11.1" + "@unrs/resolver-binding-win32-x64-msvc": "npm:1.11.1" + napi-postinstall: "npm:^0.3.0" + dependenciesMeta: + "@unrs/resolver-binding-android-arm-eabi": + optional: true + "@unrs/resolver-binding-android-arm64": + optional: true + "@unrs/resolver-binding-darwin-arm64": + optional: true + "@unrs/resolver-binding-darwin-x64": + optional: true + "@unrs/resolver-binding-freebsd-x64": + optional: true + "@unrs/resolver-binding-linux-arm-gnueabihf": + optional: true + "@unrs/resolver-binding-linux-arm-musleabihf": + optional: true + "@unrs/resolver-binding-linux-arm64-gnu": + optional: true + "@unrs/resolver-binding-linux-arm64-musl": + optional: true + "@unrs/resolver-binding-linux-ppc64-gnu": + optional: true + "@unrs/resolver-binding-linux-riscv64-gnu": + optional: true + "@unrs/resolver-binding-linux-riscv64-musl": + optional: true + "@unrs/resolver-binding-linux-s390x-gnu": + optional: true + "@unrs/resolver-binding-linux-x64-gnu": + optional: true + "@unrs/resolver-binding-linux-x64-musl": + optional: true + "@unrs/resolver-binding-wasm32-wasi": + optional: true + "@unrs/resolver-binding-win32-arm64-msvc": + optional: true + "@unrs/resolver-binding-win32-ia32-msvc": + optional: true + "@unrs/resolver-binding-win32-x64-msvc": + optional: true + checksum: 10/4de653508cbaae47883a896bd5cdfef0e5e87b428d62620d16fd35cd534beaebf08ebf0cf2f8b4922aa947b2fe745180facf6cc3f39ba364f7ce0f974cb06a70 + languageName: node + linkType: hard + "unzipper@npm:^0.12.3": version: 0.12.3 resolution: "unzipper@npm:0.12.3" @@ -15355,9 +16333,9 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.1": - version: 1.1.2 - resolution: "update-browserslist-db@npm:1.1.2" +"update-browserslist-db@npm:^1.1.4": + version: 1.1.4 + resolution: "update-browserslist-db@npm:1.1.4" dependencies: escalade: "npm:^3.2.0" picocolors: "npm:^1.1.1" @@ -15365,7 +16343,7 @@ __metadata: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10/e7bf8221dfb21eba4a770cd803df94625bb04f65a706aa94c567de9600fe4eb6133fda016ec471dad43b9e7959c1bffb6580b5e20a87808d2e8a13e3892699a9 + checksum: 10/79b2c0a31e9b837b49dc55d5cb7b77f44a69502847c7be352a44b1d35ac2032bf0e1bb7543f992809ed427bf9d32aa3f7ad41cef96198fa959c1666870174c06 languageName: node linkType: hard @@ -15418,7 +16396,7 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^9.0.1": +"uuid@npm:^9.0.0, uuid@npm:^9.0.1": version: 9.0.1 resolution: "uuid@npm:9.0.1" bin: @@ -15510,6 +16488,13 @@ __metadata: languageName: node linkType: hard +"web-vitals@npm:^4.2.4": + version: 4.2.4 + resolution: "web-vitals@npm:4.2.4" + checksum: 10/68cd1c2625a04b26e7eab67110623396afc6c9ef8c3a76f4e780aefe5b7d4ca1691737a0b99119e1d1ca9a463c4d468c0f0090b1875b6d784589d3a4a8503313 + languageName: node + linkType: hard + "webextension-polyfill-ts@npm:^0.26.0": version: 0.26.0 resolution: "webextension-polyfill-ts@npm:0.26.0" @@ -15616,6 +16601,21 @@ __metadata: languageName: node linkType: hard +"which-typed-array@npm:^1.1.16": + version: 1.1.19 + resolution: "which-typed-array@npm:1.1.19" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + for-each: "npm:^0.3.5" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + checksum: 10/12be30fb88567f9863186bee1777f11bea09dd59ed8b3ce4afa7dd5cade75e2f4cc56191a2da165113cc7cf79987ba021dac1e22b5b62aa7e5c56949f2469a68 + languageName: node + linkType: hard + "which@npm:^1.2.14": version: 1.3.1 resolution: "which@npm:1.3.1" @@ -15660,6 +16660,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10/6ec99e89ba32c7e748b8a3144e64bfc74aa63e2b2eacbb61a0060ad0b961eb1a632b08fb1de067ed59b002cec3e21de18299216ebf2325ef0f78e0f121e14e90 + languageName: node + linkType: hard + "widest-line@npm:^3.1.0": version: 3.1.0 resolution: "widest-line@npm:3.1.0" @@ -15763,7 +16774,22 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7, ws@npm:^7.4.6, ws@npm:^7.5.10, ws@npm:^7.5.5": +"ws@npm:8.18.0": + version: 8.18.0 + resolution: "ws@npm:8.18.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10/70dfe53f23ff4368d46e4c0b1d4ca734db2c4149c6f68bc62cb16fc21f753c47b35fcc6e582f3bdfba0eaeb1c488cddab3c2255755a5c3eecb251431e42b3ff6 + languageName: node + linkType: hard + +"ws@npm:^7, ws@npm:^7.4.6, ws@npm:^7.5.5": version: 7.5.10 resolution: "ws@npm:7.5.10" peerDependencies: @@ -15778,6 +16804,15 @@ __metadata: languageName: node linkType: hard +"wsl-utils@npm:^0.1.0": + version: 0.1.0 + resolution: "wsl-utils@npm:0.1.0" + dependencies: + is-wsl: "npm:^3.1.0" + checksum: 10/de4c92187e04c3c27b4478f410a02e81c351dc85efa3447bf1666f34fc80baacd890a6698ec91995631714086992036013286aea3d77e6974020d40a08e00aec + languageName: node + linkType: hard + "xhr2@npm:0.2.1": version: 0.2.1 resolution: "xhr2@npm:0.2.1" @@ -15842,11 +16877,11 @@ __metadata: linkType: hard "yaml@npm:^2.2.2, yaml@npm:^2.3.4": - version: 2.8.0 - resolution: "yaml@npm:2.8.0" + version: 2.8.1 + resolution: "yaml@npm:2.8.1" bin: yaml: bin.mjs - checksum: 10/7d4bd9c10d0e467601f496193f2ac254140f8e36f96f5ff7f852b9ce37974168eb7354f4c36dc8837dde527a2043d004b6aff48818ec24a69ab2dd3c6b6c381c + checksum: 10/eae07b3947d405012672ec17ce27348aea7d1fa0534143355d24a43a58f5e05652157ea2182c4fe0604f0540be71f99f1173f9d61018379404507790dff17665 languageName: node linkType: hard From 73ab5fe10be4f8fe5ff189fc46e62644825f922f Mon Sep 17 00:00:00 2001 From: Patrick Kowalski Date: Wed, 5 Nov 2025 09:29:43 -0600 Subject: [PATCH 04/10] feat: simplify RampsController --- .../src/RampsController.test.ts | 1063 +++++-------- .../ramps-controller/src/RampsController.ts | 1404 +---------------- packages/ramps-controller/src/index.ts | 30 - 3 files changed, 424 insertions(+), 2073 deletions(-) diff --git a/packages/ramps-controller/src/RampsController.test.ts b/packages/ramps-controller/src/RampsController.test.ts index 3b385ab7d5f..a10ce7d2e0f 100644 --- a/packages/ramps-controller/src/RampsController.test.ts +++ b/packages/ramps-controller/src/RampsController.test.ts @@ -1,3 +1,4 @@ +import 'isomorphic-fetch'; import { deriveStateFromMetadata } from '@metamask/base-controller'; import { Messenger, @@ -7,33 +8,19 @@ import { type MessengerEvents, } from '@metamask/messenger'; import { - OnRampSdk, - Environment, + NativeRampsSdk, Context, - RegionsService, - OrdersService, -} from '@consensys/on-ramp-sdk'; -import { RampsController, getSdkEnvironment } from './RampsController'; + SdkEnvironment, + type NativeRampsSdkConfig, +} from '@consensys/native-ramps-sdk'; +import { RampsController } from './RampsController'; import type { RampsControllerMessenger } from './RampsController'; -import { flushPromises } from '../../../tests/helpers'; - -// Mock the OnRampSdk -jest.mock('@consensys/on-ramp-sdk', () => ({ - OnRampSdk: { - create: jest.fn(), - }, - Environment: { - Production: 'production', - Staging: 'staging', - }, - Context: { - Browser: 'browser', - Mobile: 'mobile', - }, - RegionsService: jest.fn(), - OrdersService: jest.fn(), -})); +// Ensure fetch is available +if (typeof global.fetch === 'undefined') { + // eslint-disable-next-line @typescript-eslint/no-require-imports + global.fetch = require('isomorphic-fetch'); +} // Mock the NativeRampsSdk jest.mock('@consensys/native-ramps-sdk', () => { @@ -43,32 +30,6 @@ jest.mock('@consensys/native-ramps-sdk', () => { clearAccessToken: jest.fn(), getVersion: jest.fn().mockReturnValue('1.0.0'), getContext: jest.fn().mockReturnValue('browser'), - sendUserOtp: jest.fn(), - verifyUserOtp: jest.fn(), - getUserDetails: jest.fn(), - getBuyQuote: jest.fn(), - getIdProofStatus: jest.fn(), - getKycRequirement: jest.fn(), - getAdditionalRequirements: jest.fn(), - patchUser: jest.fn(), - submitPurposeOfUsageForm: jest.fn(), - submitSsnDetails: jest.fn(), - cancelOrder: jest.fn(), - cancelAllActiveOrders: jest.fn(), - createOrder: jest.fn(), - confirmPayment: jest.fn(), - getOrder: jest.fn(), - getUserLimits: jest.fn(), - requestOtt: jest.fn(), - getGeolocation: jest.fn(), - generatePaymentWidgetUrl: jest.fn(), - getActiveOrders: jest.fn(), - getOrdersHistory: jest.fn(), - logout: jest.fn(), - getCountries: jest.fn(), - getCryptoCurrencies: jest.fn(), - getPaymentMethods: jest.fn(), - getTransalation: jest.fn(), }; const NativeRampsSdk = jest.fn().mockImplementation(() => mockInstance); const Context = { @@ -91,71 +52,17 @@ jest.mock('@consensys/native-ramps-sdk', () => { }); describe('RampsController', () => { - let mockOnRampSdk: jest.Mocked; - let mockRegionsService: jest.Mocked; - let mockOrdersService: jest.Mocked; + let mockFetch: jest.MockedFunction; beforeEach(() => { jest.clearAllMocks(); - - // Create mock services - mockRegionsService = { - getCountries: jest.fn(), - getSellCountries: jest.fn(), - getPaymentMethods: jest.fn(), - getPaymentMethodsForCrypto: jest.fn(), - getSellPaymentMethods: jest.fn(), - getSellPaymentMethodsForCrypto: jest.fn(), - getCryptoCurrencies: jest.fn(), - getSellCryptoCurrencies: jest.fn(), - getCryptoCurrency: jest.fn(), - getFiatCurrencies: jest.fn(), - getSellFiatCurrencies: jest.fn(), - getFiatCurrency: jest.fn(), - getAllFiatCurrencies: jest.fn(), - getAllCryptoCurrencies: jest.fn(), - getNetworkDetails: jest.fn(), - getLimits: jest.fn(), - getSellLimits: jest.fn(), - getQuotes: jest.fn(), - getSellQuotes: jest.fn(), - } as any; - - mockOrdersService = { - getOrderIdFromCallback: jest.fn(), - getOrderFromCallback: jest.fn(), - getSellOrderFromCallback: jest.fn(), - getOrder: jest.fn(), - getSellOrder: jest.fn(), - submitApplePayOrder: jest.fn(), - getProvider: jest.fn(), - getRecurringOrders: jest.fn(), - addRedirectionListener: jest.fn(), - } as any; - - // Mock OnRampSdk.create to return a mock SDK - mockOnRampSdk = OnRampSdk as jest.Mocked; - const mockSdk = { - regions: jest.fn().mockResolvedValue(mockRegionsService), - orders: jest.fn().mockResolvedValue(mockOrdersService), - }; - mockOnRampSdk.create.mockReturnValue(mockSdk as any); + mockFetch = jest.spyOn(global, 'fetch') as jest.MockedFunction< + typeof fetch + >; }); - describe('getSdkEnvironment', () => { - it('returns Production environment for production, beta, rc', () => { - expect(getSdkEnvironment('production')).toBe(Environment.Production); - expect(getSdkEnvironment('beta')).toBe(Environment.Production); - expect(getSdkEnvironment('rc')).toBe(Environment.Production); - }); - - it('returns Staging environment for dev, exp, test, e2e, and default', () => { - expect(getSdkEnvironment('dev')).toBe(Environment.Staging); - expect(getSdkEnvironment('exp')).toBe(Environment.Staging); - expect(getSdkEnvironment('test')).toBe(Environment.Staging); - expect(getSdkEnvironment('e2e')).toBe(Environment.Staging); - expect(getSdkEnvironment('unknown')).toBe(Environment.Staging); - }); + afterEach(() => { + jest.restoreAllMocks(); }); describe('constructor', () => { @@ -164,6 +71,7 @@ describe('RampsController', () => { expect(controller.state).toStrictEqual({ metamaskEnvironment: 'staging', context: 'browser', + region: null, }); }); }); @@ -171,7 +79,13 @@ describe('RampsController', () => { it('initializes with custom state', async () => { const customState = { metamaskEnvironment: 'production', - context: 'mobile', + context: 'browser', + region: { + id: 'US', + deposit: true, + aggregator: false, + global: true, + }, }; await withController( @@ -182,16 +96,16 @@ describe('RampsController', () => { ); }); - it('creates OnRampSdk with correct parameters', async () => { + it('creates NativeRampsSdk with correct parameters for staging environment', async () => { await withController(({ controller }) => { - expect(mockOnRampSdk.create).toHaveBeenCalledWith( - Environment.Staging, - Context.Browser, + expect(NativeRampsSdk).toHaveBeenCalledWith( + { context: Context.Browser }, + SdkEnvironment.Staging, ); }); }); - it('creates OnRampSdk with production environment when specified', async () => { + it('creates NativeRampsSdk with production environment when specified', async () => { const customState = { metamaskEnvironment: 'production', context: 'browser', @@ -200,651 +114,317 @@ describe('RampsController', () => { await withController( { options: { state: customState } }, ({ controller }) => { - expect(mockOnRampSdk.create).toHaveBeenCalledWith( - Environment.Production, - Context.Browser, + expect(NativeRampsSdk).toHaveBeenCalledWith( + { context: Context.Browser }, + SdkEnvironment.Production, ); }, ); }); - it('creates OnRampSdk with mobile context when specified', async () => { + it('creates NativeRampsSdk with staging environment for dev, exp, test, e2e', async () => { + const environments = ['dev', 'exp', 'test', 'e2e']; + + for (const env of environments) { + jest.clearAllMocks(); + await withController( + { options: { state: { metamaskEnvironment: env } } }, + ({ controller }) => { + expect(NativeRampsSdk).toHaveBeenCalledWith( + { context: Context.Browser }, + SdkEnvironment.Staging, + ); + }, + ); + } + }); + + it('creates NativeRampsSdk with production environment for beta and rc', async () => { + const environments = ['beta', 'rc']; + + for (const env of environments) { + jest.clearAllMocks(); + await withController( + { options: { state: { metamaskEnvironment: env } } }, + ({ controller }) => { + expect(NativeRampsSdk).toHaveBeenCalledWith( + { context: Context.Browser }, + SdkEnvironment.Production, + ); + }, + ); + } + }); + + it('maps context string to Context enum correctly', async () => { const customState = { metamaskEnvironment: 'staging', - context: 'mobile', + context: 'browser', }; await withController( { options: { state: customState } }, ({ controller }) => { - expect(mockOnRampSdk.create).toHaveBeenCalledWith( - Environment.Staging, - Context.Mobile, + expect(NativeRampsSdk).toHaveBeenCalledWith( + { context: Context.Browser }, + SdkEnvironment.Staging, ); }, ); }); - }); - - describe('RegionsService wrapper methods', () => { - beforeEach(async () => { - await withController(({ controller }) => { - // Ensure services are initialized - expect(controller).toBeDefined(); - }); - }); - - describe('getCountries', () => { - it('calls regions service getCountries method', async () => { - const mockCountries = [ - { id: 'US', name: 'United States', code: 'US' }, - { id: 'CA', name: 'Canada', code: 'CA' }, - ]; - mockRegionsService.getCountries.mockResolvedValue(mockCountries as any); - - await withController(async ({ controller }) => { - const result = await controller.getCountries(); - expect(result).toStrictEqual(mockCountries); - expect(mockRegionsService.getCountries).toHaveBeenCalledTimes(1); - }); - }); - }); - - describe('getSellCountries', () => { - it('calls regions service getSellCountries method', async () => { - const mockCountries = [ - { id: 'US', name: 'United States', code: 'US' }, - ]; - mockRegionsService.getSellCountries.mockResolvedValue(mockCountries as any); - - await withController(async ({ controller }) => { - const result = await controller.getSellCountries(); - expect(result).toStrictEqual(mockCountries); - expect(mockRegionsService.getSellCountries).toHaveBeenCalledTimes(1); - }); - }); - }); - - describe('getPaymentMethods', () => { - it('calls regions service getPaymentMethods method', async () => { - const mockPaymentMethods = [ - { id: 'card', name: 'Credit Card' }, - { id: 'bank', name: 'Bank Transfer' }, - ]; - mockRegionsService.getPaymentMethods.mockResolvedValue(mockPaymentMethods as any); - - await withController(async ({ controller }) => { - const result = await controller.getPaymentMethods('US'); - expect(result).toStrictEqual(mockPaymentMethods); - expect(mockRegionsService.getPaymentMethods).toHaveBeenCalledWith('US', undefined); - }); - }); - }); - - describe('getPaymentMethodsForCrypto', () => { - it('calls regions service getPaymentMethodsForCrypto method', async () => { - const mockPaymentMethods = [ - { id: 'card', name: 'Credit Card' }, - ]; - mockRegionsService.getPaymentMethodsForCrypto.mockResolvedValue(mockPaymentMethods as any); - - await withController(async ({ controller }) => { - const result = await controller.getPaymentMethodsForCrypto('US', 'ETH', 'USD'); - expect(result).toStrictEqual(mockPaymentMethods); - expect(mockRegionsService.getPaymentMethodsForCrypto).toHaveBeenCalledWith('US', 'ETH', 'USD', undefined); - }); - }); - }); - - describe('getSellPaymentMethods', () => { - it('calls regions service getSellPaymentMethods method', async () => { - const mockPaymentMethods = [ - { id: 'bank', name: 'Bank Transfer' }, - ]; - mockRegionsService.getSellPaymentMethods.mockResolvedValue(mockPaymentMethods as any); - - await withController(async ({ controller }) => { - const result = await controller.getSellPaymentMethods('US'); - expect(result).toStrictEqual(mockPaymentMethods); - expect(mockRegionsService.getSellPaymentMethods).toHaveBeenCalledWith('US', undefined); - }); - }); - }); - - describe('getSellPaymentMethodsForCrypto', () => { - it('calls regions service getSellPaymentMethodsForCrypto method', async () => { - const mockPaymentMethods = [ - { id: 'bank', name: 'Bank Transfer' }, - ]; - mockRegionsService.getSellPaymentMethodsForCrypto.mockResolvedValue(mockPaymentMethods as any); - - await withController(async ({ controller }) => { - const result = await controller.getSellPaymentMethodsForCrypto('US', 'ETH', 'USD'); - expect(result).toStrictEqual(mockPaymentMethods); - expect(mockRegionsService.getSellPaymentMethodsForCrypto).toHaveBeenCalledWith('US', 'ETH', 'USD', undefined); - }); - }); - }); - - describe('getCryptoCurrencies', () => { - it('calls regions service getCryptoCurrencies method', async () => { - const mockCryptoCurrencies = [ - { id: 'ETH', name: 'Ethereum', symbol: 'ETH' }, - { id: 'BTC', name: 'Bitcoin', symbol: 'BTC' }, - ]; - mockRegionsService.getCryptoCurrencies.mockResolvedValue(mockCryptoCurrencies as any); - - await withController(async ({ controller }) => { - const result = await controller.getCryptoCurrencies('US', ['card', 'bank']); - expect(result).toStrictEqual(mockCryptoCurrencies); - expect(mockRegionsService.getCryptoCurrencies).toHaveBeenCalledWith('US', ['card', 'bank'], undefined, undefined); - }); - }); - }); - - describe('getSellCryptoCurrencies', () => { - it('calls regions service getSellCryptoCurrencies method', async () => { - const mockCryptoCurrencies = [ - { id: 'ETH', name: 'Ethereum', symbol: 'ETH' }, - ]; - mockRegionsService.getSellCryptoCurrencies.mockResolvedValue(mockCryptoCurrencies as any); - - await withController(async ({ controller }) => { - const result = await controller.getSellCryptoCurrencies('US', ['bank']); - expect(result).toStrictEqual(mockCryptoCurrencies); - expect(mockRegionsService.getSellCryptoCurrencies).toHaveBeenCalledWith('US', ['bank'], undefined, undefined); - }); - }); - }); - - describe('getCryptoCurrency', () => { - it('calls regions service getCryptoCurrency method', async () => { - const mockCryptoCurrency = { id: 'ETH', name: 'Ethereum', symbol: 'ETH' }; - mockRegionsService.getCryptoCurrency.mockResolvedValue(mockCryptoCurrency as any); - - await withController(async ({ controller }) => { - const result = await controller.getCryptoCurrency('US', 'ETH'); - expect(result).toStrictEqual(mockCryptoCurrency); - expect(mockRegionsService.getCryptoCurrency).toHaveBeenCalledWith('US', 'ETH'); - }); - }); - }); - - describe('getFiatCurrencies', () => { - it('calls regions service getFiatCurrencies method', async () => { - const mockFiatCurrencies = [ - { id: 'USD', name: 'US Dollar', symbol: 'USD' }, - { id: 'EUR', name: 'Euro', symbol: 'EUR' }, - ]; - mockRegionsService.getFiatCurrencies.mockResolvedValue(mockFiatCurrencies as any); - - await withController(async ({ controller }) => { - const result = await controller.getFiatCurrencies('US', ['card']); - expect(result).toStrictEqual(mockFiatCurrencies); - expect(mockRegionsService.getFiatCurrencies).toHaveBeenCalledWith('US', ['card'], undefined); - }); - }); - }); - describe('getSellFiatCurrencies', () => { - it('calls regions service getSellFiatCurrencies method', async () => { - const mockFiatCurrencies = [ - { id: 'USD', name: 'US Dollar', symbol: 'USD' }, - ]; - mockRegionsService.getSellFiatCurrencies.mockResolvedValue(mockFiatCurrencies as any); - - await withController(async ({ controller }) => { - const result = await controller.getSellFiatCurrencies('US', ['bank']); - expect(result).toStrictEqual(mockFiatCurrencies); - expect(mockRegionsService.getSellFiatCurrencies).toHaveBeenCalledWith('US', ['bank'], undefined); - }); - }); - }); - - describe('getFiatCurrency', () => { - it('calls regions service getFiatCurrency method', async () => { - const mockFiatCurrency = { id: 'USD', name: 'US Dollar', symbol: 'USD' }; - mockRegionsService.getFiatCurrency.mockResolvedValue(mockFiatCurrency as any); - - await withController(async ({ controller }) => { - const result = await controller.getFiatCurrency('US', 'USD'); - expect(result).toStrictEqual(mockFiatCurrency); - expect(mockRegionsService.getFiatCurrency).toHaveBeenCalledWith('US', 'USD'); - }); - }); - }); - - describe('getAllFiatCurrencies', () => { - it('calls regions service getAllFiatCurrencies method', async () => { - const mockFiatCurrencies = [ - { id: 'USD', name: 'US Dollar', symbol: 'USD' }, - { id: 'EUR', name: 'Euro', symbol: 'EUR' }, - ]; - mockRegionsService.getAllFiatCurrencies.mockResolvedValue(mockFiatCurrencies as any); - - await withController(async ({ controller }) => { - const result = await controller.getAllFiatCurrencies('US'); - expect(result).toStrictEqual(mockFiatCurrencies); - expect(mockRegionsService.getAllFiatCurrencies).toHaveBeenCalledWith('US', undefined); - }); - }); - }); - - describe('getAllCryptoCurrencies', () => { - it('calls regions service getAllCryptoCurrencies method', async () => { - const mockCryptoCurrencies = [ - { id: 'ETH', name: 'Ethereum', symbol: 'ETH' }, - { id: 'BTC', name: 'Bitcoin', symbol: 'BTC' }, - ]; - mockRegionsService.getAllCryptoCurrencies.mockResolvedValue(mockCryptoCurrencies as any); - - await withController(async ({ controller }) => { - const result = await controller.getAllCryptoCurrencies('US'); - expect(result).toStrictEqual(mockCryptoCurrencies); - expect(mockRegionsService.getAllCryptoCurrencies).toHaveBeenCalledWith('US', undefined); - }); - }); - }); - - describe('getNetworkDetails', () => { - it('calls regions service getNetworkDetails method', async () => { - const mockNetworkDetails = [ - { id: 'ethereum', name: 'Ethereum Mainnet' }, - ]; - mockRegionsService.getNetworkDetails.mockResolvedValue(mockNetworkDetails as any); - - await withController(async ({ controller }) => { - const result = await controller.getNetworkDetails(); - expect(result).toStrictEqual(mockNetworkDetails); - expect(mockRegionsService.getNetworkDetails).toHaveBeenCalledTimes(1); - }); - }); - }); - - describe('getLimits', () => { - it('calls regions service getLimits method', async () => { - const mockLimits = { - min: 10, - max: 10000, - }; - mockRegionsService.getLimits.mockResolvedValue(mockLimits as any); - - await withController(async ({ controller }) => { - const result = await controller.getLimits('US', ['card'], 'ETH', 'USD'); - expect(result).toStrictEqual(mockLimits); - expect(mockRegionsService.getLimits).toHaveBeenCalledWith('US', ['card'], 'ETH', 'USD', undefined); - }); - }); - }); - - describe('getSellLimits', () => { - it('calls regions service getSellLimits method', async () => { - const mockLimits = { - min: 10, - max: 10000, - }; - mockRegionsService.getSellLimits.mockResolvedValue(mockLimits as any); - - await withController(async ({ controller }) => { - const result = await controller.getSellLimits('US', ['bank'], 'ETH', 'USD'); - expect(result).toStrictEqual(mockLimits); - expect(mockRegionsService.getSellLimits).toHaveBeenCalledWith('US', ['bank'], 'ETH', 'USD'); - }); - }); - }); + it('defaults to Browser context when context string does not match Context keys', async () => { + const customState = { + metamaskEnvironment: 'staging', + context: 'mobile-ios', + }; - describe('getQuotes', () => { - it('calls regions service getQuotes method', async () => { - const mockQuotes = { - quotes: [ - { provider: 'provider1', amount: 100 }, - { provider: 'provider2', amount: 95 }, - ], - }; - mockRegionsService.getQuotes.mockResolvedValue(mockQuotes as any); - - await withController(async ({ controller }) => { - const result = await controller.getQuotes('US', ['card'], 'ETH', 'USD', 100); - expect(result).toStrictEqual(mockQuotes); - expect(mockRegionsService.getQuotes).toHaveBeenCalledWith('US', ['card'], 'ETH', 'USD', 100, undefined, undefined); - }); - }); + await withController( + { options: { state: customState } }, + ({ controller }) => { + // The code uses context as a key, so 'mobile-ios' doesn't match any key + // and defaults to Browser + expect(NativeRampsSdk).toHaveBeenCalledWith( + { context: Context.Browser }, + SdkEnvironment.Staging, + ); + }, + ); }); - describe('getSellQuotes', () => { - it('calls regions service getSellQuotes method', async () => { - const mockQuotes = { - quotes: [ - { provider: 'provider1', amount: 100 }, - { provider: 'provider2', amount: 95 }, - ], - }; - mockRegionsService.getSellQuotes.mockResolvedValue(mockQuotes as any); - - await withController(async ({ controller }) => { - const result = await controller.getSellQuotes('US', ['bank'], 'ETH', 'USD', 100); - expect(result).toStrictEqual(mockQuotes); - expect(mockRegionsService.getSellQuotes).toHaveBeenCalledWith('US', ['bank'], 'ETH', 'USD', 100, undefined, undefined); - }); - }); - }); }); - describe('OrdersService wrapper methods', () => { - beforeEach(async () => { - await withController(({ controller }) => { - // Ensure services are initialized - expect(controller).toBeDefined(); - }); - }); - - describe('getOrderIdFromCallback', () => { - it('calls orders service getOrderIdFromCallback method', async () => { - const mockOrderId = 'order-123'; - mockOrdersService.getOrderIdFromCallback.mockResolvedValue(mockOrderId); - - await withController(async ({ controller }) => { - const result = await controller.getOrderIdFromCallback('provider1', 'https://callback.url'); - expect(result).toBe(mockOrderId); - expect(mockOrdersService.getOrderIdFromCallback).toHaveBeenCalledWith('provider1', 'https://callback.url'); - }); - }); - }); - - describe('getOrderFromCallback', () => { - it('calls orders service getOrderFromCallback method', async () => { - const mockOrder = { id: 'order-123', status: 'pending' }; - mockOrdersService.getOrderFromCallback.mockResolvedValue(mockOrder as any); - - await withController(async ({ controller }) => { - const result = await controller.getOrderFromCallback('provider1', 'https://callback.url', '0x123'); - expect(result).toStrictEqual(mockOrder); - expect(mockOrdersService.getOrderFromCallback).toHaveBeenCalledWith('provider1', 'https://callback.url', '0x123'); - }); - }); - }); + describe('getCountries', () => { + it('fetches geolocation and countries, then updates state', async () => { + const mockGeolocation = 'US'; + const mockCountriesData = { + deposit: true, + aggregator: false, + global: true, + }; - describe('getSellOrderFromCallback', () => { - it('calls orders service getSellOrderFromCallback method', async () => { - const mockOrder = { id: 'order-123', status: 'pending' }; - mockOrdersService.getSellOrderFromCallback.mockResolvedValue(mockOrder as any); + mockFetch + .mockResolvedValueOnce({ + ok: true, + json: async () => mockGeolocation, + } as Response) + .mockResolvedValueOnce({ + ok: true, + json: async () => mockCountriesData, + } as Response); - await withController(async ({ controller }) => { - const result = await controller.getSellOrderFromCallback('provider1', 'https://callback.url', '0x123'); - expect(result).toStrictEqual(mockOrder); - expect(mockOrdersService.getSellOrderFromCallback).toHaveBeenCalledWith('provider1', 'https://callback.url', '0x123'); - }); - }); - }); + await withController(async ({ controller }) => { + await controller.getCountries(); - describe('getOrder', () => { - it('calls orders service getOrder method', async () => { - const mockOrder = { id: 'order-123', status: 'completed' }; - mockOrdersService.getOrder.mockResolvedValue(mockOrder as any); + expect(mockFetch).toHaveBeenCalledTimes(2); + expect(mockFetch).toHaveBeenNthCalledWith( + 1, + 'http://localhost:3000//geolocation', + ); + expect(mockFetch).toHaveBeenNthCalledWith( + 2, + 'http://localhost:3000/regions/US/countries', + ); - await withController(async ({ controller }) => { - const result = await controller.getOrder('order-123', '0x123'); - expect(result).toStrictEqual(mockOrder); - expect(mockOrdersService.getOrder).toHaveBeenCalledWith('order-123', '0x123'); + expect(controller.state.region).toStrictEqual({ + id: mockGeolocation, + deposit: mockCountriesData.deposit, + aggregator: mockCountriesData.aggregator, + global: mockCountriesData.global, }); }); }); - describe('getSellOrder', () => { - it('calls orders service getSellOrder method', async () => { - const mockOrder = { id: 'order-123', status: 'completed' }; - mockOrdersService.getSellOrder.mockResolvedValue(mockOrder as any); + it('uses production API URL when metamaskEnvironment matches SdkEnvironment.Production', async () => { + const mockGeolocation = 'CA'; + const mockCountriesData = { + deposit: true, + aggregator: true, + global: false, + }; - await withController(async ({ controller }) => { - const result = await controller.getSellOrder('order-123', '0x123'); - expect(result).toStrictEqual(mockOrder); - expect(mockOrdersService.getSellOrder).toHaveBeenCalledWith('order-123', '0x123'); - }); - }); - }); + mockFetch + .mockResolvedValueOnce({ + ok: true, + json: async () => mockGeolocation, + } as Response) + .mockResolvedValueOnce({ + ok: true, + json: async () => mockCountriesData, + } as Response); - describe('submitApplePayOrder', () => { - it('calls orders service submitApplePayOrder method', async () => { - const mockResult = { success: true, orderId: 'order-123' }; - mockOrdersService.submitApplePayOrder.mockResolvedValue(mockResult as any); + await withController( + { + options: { + state: { metamaskEnvironment: SdkEnvironment.Production, context: 'browser' }, + }, + }, + async ({ controller }) => { + await controller.getCountries(); - await withController(async ({ controller }) => { - const result = await controller.submitApplePayOrder('0x123', 'provider1', { paymentData: 'test' }); - expect(result).toStrictEqual(mockResult); - expect(mockOrdersService.submitApplePayOrder).toHaveBeenCalledWith('0x123', 'provider1', { paymentData: 'test' }); - }); - }); + expect(mockFetch).toHaveBeenNthCalledWith( + 1, + 'https://on-ramp.api.cx.metamask.io//geolocation', + ); + expect(mockFetch).toHaveBeenNthCalledWith( + 2, + 'https://on-ramp.api.cx.metamask.io/regions/CA/countries', + ); + }, + ); }); - describe('getProvider', () => { - it('calls orders service getProvider method', async () => { - const mockProvider = { id: 'provider1', name: 'Test Provider' }; - mockOrdersService.getProvider.mockResolvedValue(mockProvider as any); + it('uses staging API URL when metamaskEnvironment matches SdkEnvironment.Staging', async () => { + const mockGeolocation = 'GB'; + const mockCountriesData = { + deposit: false, + aggregator: true, + global: true, + }; - await withController(async ({ controller }) => { - const result = await controller.getProvider('provider1'); - expect(result).toStrictEqual(mockProvider); - expect(mockOrdersService.getProvider).toHaveBeenCalledWith('provider1'); - }); - }); - }); + mockFetch + .mockResolvedValueOnce({ + ok: true, + json: async () => mockGeolocation, + } as Response) + .mockResolvedValueOnce({ + ok: true, + json: async () => mockCountriesData, + } as Response); - describe('getRecurringOrders', () => { - it('calls orders service getRecurringOrders method', async () => { - const mockOrders = [ - { id: 'order-1', status: 'completed' }, - { id: 'order-2', status: 'pending' }, - ]; - mockOrdersService.getRecurringOrders.mockResolvedValue(mockOrders as any); - - const startDate = new Date('2024-01-01'); - const endDate = new Date('2024-01-31'); - - await withController(async ({ controller }) => { - const result = await controller.getRecurringOrders('order-123', '0x123', startDate, endDate); - expect(result).toStrictEqual(mockOrders); - expect(mockOrdersService.getRecurringOrders).toHaveBeenCalledWith('order-123', '0x123', startDate, endDate); - }); - }); - }); - - describe('addRedirectionListener', () => { - it('calls orders service addRedirectionListener method', async () => { - const mockCallback = jest.fn(); - mockOrdersService.addRedirectionListener.mockImplementation(mockCallback); + await withController( + { + options: { + state: { metamaskEnvironment: SdkEnvironment.Staging, context: 'browser' }, + }, + }, + async ({ controller }) => { + await controller.getCountries(); - await withController(async ({ controller }) => { - controller.addRedirectionListener(mockCallback); - await flushPromises(); - expect(mockOrdersService.addRedirectionListener).toHaveBeenCalledWith(mockCallback); - }); - }); + expect(mockFetch).toHaveBeenNthCalledWith( + 1, + 'https://on-ramp.uat-api.cx.metamask.io//geolocation', + ); + expect(mockFetch).toHaveBeenNthCalledWith( + 2, + 'https://on-ramp.uat-api.cx.metamask.io/regions/GB/countries', + ); + }, + ); }); - }); - describe('messenger action handlers', () => { - it('registers all action handlers', async () => { - await withController(async ({ rootMessenger }) => { - // Test that the controller's action handlers are properly registered - // by calling them through the messenger - mockRegionsService.getCountries.mockResolvedValue([]); - mockRegionsService.getPaymentMethods.mockResolvedValue([]); - mockOrdersService.getOrder.mockResolvedValue({} as any); + it('uses localhost API URL when metamaskEnvironment does not match enum values', async () => { + const mockGeolocation = 'DE'; + const mockCountriesData = { + deposit: true, + aggregator: false, + global: false, + }; - await rootMessenger.call('RampsController:getCountries'); - await rootMessenger.call('RampsController:getPaymentMethods', 'US'); - await rootMessenger.call('RampsController:getOrder', 'order-123', '0x123'); + mockFetch + .mockResolvedValueOnce({ + ok: true, + json: async () => mockGeolocation, + } as Response) + .mockResolvedValueOnce({ + ok: true, + json: async () => mockCountriesData, + } as Response); + + // Test with string values that don't match enum values + await withController( + { + options: { + state: { metamaskEnvironment: 'staging', context: 'browser' }, + }, + }, + async ({ controller }) => { + await controller.getCountries(); - expect(mockRegionsService.getCountries).toHaveBeenCalledTimes(1); - expect(mockRegionsService.getPaymentMethods).toHaveBeenCalledWith('US', undefined); - expect(mockOrdersService.getOrder).toHaveBeenCalledWith('order-123', '0x123'); - }); + expect(mockFetch).toHaveBeenNthCalledWith( + 1, + 'http://localhost:3000//geolocation', + ); + expect(mockFetch).toHaveBeenNthCalledWith( + 2, + 'http://localhost:3000/regions/DE/countries', + ); + }, + ); }); - }); - describe('NativeRampsSdk deposit wrappers', () => { - const getNative = () => - (jest.requireMock('@consensys/native-ramps-sdk') as any).__getMockInstance(); + it('handles geolocation fetch errors', async () => { + const error = new Error('Network error'); + mockFetch.mockRejectedValueOnce(error); - it('calls deposit access token helpers', async () => { await withController(async ({ controller }) => { - const native = getNative(); - controller.depositSetAccessToken({ accessToken: 'tok', ttl: 1, created: new Date() } as any); - expect(native.setAccessToken).toHaveBeenCalled(); - controller.depositSetAccessToken(null); - expect(native.clearAccessToken).toHaveBeenCalled(); - controller.depositClearAccessToken(); - expect(native.clearAccessToken).toHaveBeenCalledTimes(2); - controller.depositGetAccessToken(); - expect(native.getAccessToken).toHaveBeenCalled(); - controller.depositGetVersion(); - expect(native.getVersion).toHaveBeenCalled(); - controller.depositGetContext(); - expect(native.getContext).toHaveBeenCalled(); + await expect(controller.getCountries()).rejects.toThrow('Network error'); }); }); - it('calls deposit auth and user methods', async () => { - await withController(async ({ controller }) => { - const native = getNative(); - native.sendUserOtp.mockResolvedValue({ isTncAccepted: false, stateToken: 'st', email: 'e', expiresIn: 1 }); - await controller.depositSendUserOtp('a@b.com'); - expect(native.sendUserOtp).toHaveBeenCalledWith('a@b.com'); - - native.verifyUserOtp.mockResolvedValue({ accessToken: 'x', ttl: 1, created: new Date() }); - await controller.depositVerifyUserOtp('a@b.com', '123456', 'state'); - expect(native.verifyUserOtp).toHaveBeenCalledWith('a@b.com', '123456', 'state'); - - native.getUserDetails.mockResolvedValue({ id: 'u' }); - await controller.depositGetUserDetails(); - expect(native.getUserDetails).toHaveBeenCalled(); - - native.patchUser.mockResolvedValue({ ok: true }); - await controller.depositPatchUser({ personalDetails: { firstName: 'a' } }); - expect(native.patchUser).toHaveBeenCalled(); - }); - }); + it('handles countries fetch errors', async () => { + const mockGeolocation = 'US'; + const error = new Error('Countries fetch failed'); - it('calls deposit quote/order methods', async () => { - await withController(async ({ controller }) => { - const native = getNative(); - native.getBuyQuote.mockResolvedValue({ quoteId: 'q' }); - await controller.depositGetBuyQuote('USD', 'eth', '1', 'card', '10'); - expect(native.getBuyQuote).toHaveBeenCalledWith('USD', 'eth', '1', 'card', '10'); - - native.createOrder.mockResolvedValue({ id: 'o' }); - await controller.depositCreateOrder({ quoteId: 'q' } as any, '0xabc', 'card'); - expect(native.createOrder).toHaveBeenCalled(); - - native.confirmPayment.mockResolvedValue({ success: true }); - await controller.depositConfirmPayment('order', 'card'); - expect(native.confirmPayment).toHaveBeenCalledWith('order', 'card'); - - native.getOrder.mockResolvedValue({ id: 'o' }); - await controller.depositGetOrder('order', '0xabc'); - expect(native.getOrder).toHaveBeenCalledWith('order', '0xabc', undefined, undefined); - - await controller.depositCancelOrder('order'); - expect(native.cancelOrder).toHaveBeenCalledWith('order'); - - await controller.depositCancelAllActiveOrders(); - expect(native.cancelAllActiveOrders).toHaveBeenCalled(); - }); - }); + mockFetch + .mockResolvedValueOnce({ + ok: true, + json: async () => mockGeolocation, + } as Response) + .mockRejectedValueOnce(error); - it('calls deposit misc and regions methods', async () => { await withController(async ({ controller }) => { - const native = getNative(); - native.getUserLimits.mockResolvedValue({ limits: {} } as any); - await controller.depositGetUserLimits('USD', 'card', 'BASIC'); - expect(native.getUserLimits).toHaveBeenCalledWith('USD', 'card', 'BASIC'); - - native.requestOtt.mockResolvedValue({ ott: 'ott' }); - await controller.depositRequestOtt(); - expect(native.requestOtt).toHaveBeenCalled(); - - native.getGeolocation.mockResolvedValue({ ipCountryCode: 'US' }); - await controller.depositGetGeolocation(); - expect(native.getGeolocation).toHaveBeenCalled(); - - native.generatePaymentWidgetUrl.mockReturnValue('https://widget'); - controller.depositGeneratePaymentWidgetUrl('ott', { quoteId: 'q' } as any, '0xabc'); - expect(native.generatePaymentWidgetUrl).toHaveBeenCalled(); - - native.getActiveOrders.mockResolvedValue([]); - await controller.depositGetActiveOrders(); - expect(native.getActiveOrders).toHaveBeenCalled(); - - native.getOrdersHistory.mockResolvedValue([]); - await controller.depositGetOrdersHistory(10, 0); - expect(native.getOrdersHistory).toHaveBeenCalledWith(10, 0); - - native.logout.mockResolvedValue('ok'); - await controller.depositLogout(); - expect(native.logout).toHaveBeenCalled(); - - native.getCountries.mockResolvedValue([]); - await controller.depositGetCountries(); - expect(native.getCountries).toHaveBeenCalledWith(undefined); - - native.getCryptoCurrencies.mockResolvedValue([]); - await controller.depositGetCryptoCurrencies('US'); - expect(native.getCryptoCurrencies).toHaveBeenCalledWith('US', undefined); - - native.getPaymentMethods.mockResolvedValue([]); - await controller.depositGetPaymentMethods('US', 'eth', 'usd'); - expect(native.getPaymentMethods).toHaveBeenCalledWith('US', 'eth', 'usd', undefined); - - native.getTransalation.mockResolvedValue({} as any); - await controller.depositGetTransalation({ regionId: 'US' } as any); - expect(native.getTransalation).toHaveBeenCalled(); - }); - }); - - it('registers and calls deposit methods via messenger', async () => { - await withController(async ({ rootMessenger }) => { - const native = getNative(); - native.getCountries.mockResolvedValue([]); - await rootMessenger.call('RampsController:depositGetCountries'); - expect(native.getCountries).toHaveBeenCalled(); - - native.sendUserOtp.mockResolvedValue({ isTncAccepted: false, stateToken: 'x', email: 'a', expiresIn: 1 }); - await rootMessenger.call('RampsController:depositSendUserOtp', 'a@b.com'); - expect(native.sendUserOtp).toHaveBeenCalledWith('a@b.com'); + await expect(controller.getCountries()).rejects.toThrow( + 'Countries fetch failed', + ); }); }); - }); - describe('error handling', () => { - it('handles regions service errors', async () => { - const error = new Error('Regions service error'); - mockRegionsService.getCountries.mockRejectedValue(error); + it('handles non-ok geolocation response', async () => { + mockFetch.mockResolvedValueOnce({ + ok: false, + status: 500, + json: async () => ({}), + } as Response); await withController(async ({ controller }) => { - await expect(controller.getCountries()).rejects.toThrow('Regions service error'); + // Note: fetch doesn't throw on non-ok responses by default, + // so we need to check if the implementation handles this + // For now, we'll test that it doesn't crash + await expect(controller.getCountries()).rejects.toThrow(); }); }); + }); - it('handles orders service errors', async () => { - const error = new Error('Orders service error'); - mockOrdersService.getOrder.mockRejectedValue(error); + describe('messenger action handlers', () => { + it('registers getCountries action handler', async () => { + const mockGeolocation = 'US'; + const mockCountriesData = { + deposit: true, + aggregator: false, + global: true, + }; - await withController(async ({ controller }) => { - await expect(controller.getOrder('order-123', '0x123')).rejects.toThrow('Orders service error'); - }); - }); + mockFetch + .mockResolvedValueOnce({ + ok: true, + json: async () => mockGeolocation, + } as Response) + .mockResolvedValueOnce({ + ok: true, + json: async () => mockCountriesData, + } as Response); + + await withController(async ({ rootMessenger, controller }) => { + await rootMessenger.call('RampsController:getCountries'); - it('handles SDK initialization errors', async () => { - const error = new Error('SDK initialization error'); - mockOnRampSdk.create.mockImplementation(() => { - throw error; + expect(controller.state.region).toStrictEqual({ + id: mockGeolocation, + deposit: mockCountriesData.deposit, + aggregator: mockCountriesData.aggregator, + global: mockCountriesData.global, + }); }); - - await expect( - withController(({ controller }) => { - expect(controller).toBeDefined(); - }), - ).rejects.toThrow('SDK initialization error'); }); }); @@ -861,6 +441,7 @@ describe('RampsController', () => { Object { "context": "browser", "metamaskEnvironment": "staging", + "region": null, } `); }); @@ -878,6 +459,7 @@ describe('RampsController', () => { Object { "context": "browser", "metamaskEnvironment": "staging", + "region": null, } `); }); @@ -895,6 +477,7 @@ describe('RampsController', () => { Object { "context": "browser", "metamaskEnvironment": "staging", + "region": null, } `); }); @@ -912,11 +495,93 @@ describe('RampsController', () => { Object { "context": "browser", "metamaskEnvironment": "staging", + "region": null, } `); }); }); }); + + describe('state updates', () => { + it('updates region state when getCountries is called', async () => { + const mockGeolocation = 'FR'; + const mockCountriesData = { + deposit: true, + aggregator: true, + global: true, + }; + + mockFetch + .mockResolvedValueOnce({ + ok: true, + json: async () => mockGeolocation, + } as Response) + .mockResolvedValueOnce({ + ok: true, + json: async () => mockCountriesData, + } as Response); + + await withController(async ({ controller }) => { + expect(controller.state.region).toBeNull(); + + await controller.getCountries(); + + expect(controller.state.region).toStrictEqual({ + id: mockGeolocation, + deposit: mockCountriesData.deposit, + aggregator: mockCountriesData.aggregator, + global: mockCountriesData.global, + }); + }); + }); + + it('overwrites existing region state when getCountries is called again', async () => { + const initialRegion = { + id: 'US', + deposit: false, + aggregator: false, + global: false, + }; + + const mockGeolocation = 'JP'; + const mockCountriesData = { + deposit: true, + aggregator: true, + global: true, + }; + + mockFetch + .mockResolvedValueOnce({ + ok: true, + json: async () => mockGeolocation, + } as Response) + .mockResolvedValueOnce({ + ok: true, + json: async () => mockCountriesData, + } as Response); + + await withController( + { + options: { + state: { region: initialRegion, context: 'browser' }, + }, + }, + async ({ controller }) => { + expect(controller.state.region).toStrictEqual(initialRegion); + + await controller.getCountries(); + + expect(controller.state.region).toStrictEqual({ + id: mockGeolocation, + deposit: mockCountriesData.deposit, + aggregator: mockCountriesData.aggregator, + global: mockCountriesData.global, + }); + expect(controller.state.region).not.toStrictEqual(initialRegion); + }, + ); + }); + }); }); /** @@ -997,4 +662,4 @@ async function withController( ...options, }); return await testFunction({ controller, rootMessenger, messenger }); -} +} \ No newline at end of file diff --git a/packages/ramps-controller/src/RampsController.ts b/packages/ramps-controller/src/RampsController.ts index bc40c28ba43..44b4bafeb25 100644 --- a/packages/ramps-controller/src/RampsController.ts +++ b/packages/ramps-controller/src/RampsController.ts @@ -4,92 +4,34 @@ import type { } from '@metamask/base-controller'; import { BaseController } from '@metamask/base-controller'; import type { Messenger } from '@metamask/messenger'; -import { - OnRampSdk, - Environment, - Context, - RegionsService, - OrdersService, - Payment, - CryptoCurrency, - FiatCurrency, - Provider, - Limits, - AllQuotesResponse, - AllSellQuotesResponse, - Order, -} from '@consensys/on-ramp-sdk'; import { NativeRampsSdk, - Context as NativeContext, - SdkEnvironment as NativeSdkEnvironment, + Context, + SdkEnvironment, type DepositRegion, - type DepositCryptoCurrency, - type DepositPaymentMethod, - type NativeTransakAccessToken, - type NativeTransakUserDetails, - type BuyQuote, - type IdProofStatus, - type KycRequirement, - type AdditionalRequirementsResponse, - type PatchUserRequestBody, - type Reservation, - type DepositOrder, - type OrderPaymentMethod, - type UserLimits, - type OttResponse, - type GeolocationResponse, type NativeRampsSdkConfig, - type TransakOrder, - NativeQuoteTranslation, - TranslationRequest, } from '@consensys/native-ramps-sdk'; const controllerName = 'RampsController'; -/** - * Country support information - */ -export interface CountrySupport { - buy: boolean; - sell: boolean; -} - -/** - * State information for countries - */ -export interface State { +type RegionState = { id: string; - name: string; - emoji?: string; - unsupported?: boolean; // deprecated - use support field instead - support?: CountrySupport; - recommended?: boolean; - detected?: boolean; - stateId?: string; -} - -/** - * Country information - */ -export interface Country { - id: string; - name: string; - emoji: string; - currencies: string[]; - unsupported?: boolean; // deprecated - use support field instead - hidden?: boolean; - states?: State[]; - support?: CountrySupport; - recommended?: boolean; - enableSell?: boolean; - detected?: boolean; -} + deposit: boolean; + aggregator: boolean; + global: boolean; +}; /** * Ramps controller state */ -export type RampsControllerState = Record; +export type RampsControllerState = { + // Environment tells us which API urls to us + metamaskEnvironment: string; + // Determines front end context (browser, mobile, etc) + context: string; + // The region ID is the ID of the region to use for the purchase + region: RegionState | null; +} export type RampsControllerGetStateAction = ControllerGetStateAction< typeof controllerName, @@ -101,329 +43,9 @@ export type RampsControllerGetCountriesAction = { handler: RampsController['getCountries']; }; -export type RampsControllerGetSellCountriesAction = { - type: `${typeof controllerName}:getSellCountries`; - handler: RampsController['getSellCountries']; -}; - -export type RampsControllerGetPaymentMethodsAction = { - type: `${typeof controllerName}:getPaymentMethods`; - handler: RampsController['getPaymentMethods']; -}; - -export type RampsControllerGetPaymentMethodsForCryptoAction = { - type: `${typeof controllerName}:getPaymentMethodsForCrypto`; - handler: RampsController['getPaymentMethodsForCrypto']; -}; - -export type RampsControllerGetSellPaymentMethodsAction = { - type: `${typeof controllerName}:getSellPaymentMethods`; - handler: RampsController['getSellPaymentMethods']; -}; - -export type RampsControllerGetSellPaymentMethodsForCryptoAction = { - type: `${typeof controllerName}:getSellPaymentMethodsForCrypto`; - handler: RampsController['getSellPaymentMethodsForCrypto']; -}; - -export type RampsControllerGetCryptoCurrenciesAction = { - type: `${typeof controllerName}:getCryptoCurrencies`; - handler: RampsController['getCryptoCurrencies']; -}; - -export type RampsControllerGetSellCryptoCurrenciesAction = { - type: `${typeof controllerName}:getSellCryptoCurrencies`; - handler: RampsController['getSellCryptoCurrencies']; -}; - -export type RampsControllerGetCryptoCurrencyAction = { - type: `${typeof controllerName}:getCryptoCurrency`; - handler: RampsController['getCryptoCurrency']; -}; - -export type RampsControllerGetFiatCurrenciesAction = { - type: `${typeof controllerName}:getFiatCurrencies`; - handler: RampsController['getFiatCurrencies']; -}; - -export type RampsControllerGetSellFiatCurrenciesAction = { - type: `${typeof controllerName}:getSellFiatCurrencies`; - handler: RampsController['getSellFiatCurrencies']; -}; - -export type RampsControllerGetFiatCurrencyAction = { - type: `${typeof controllerName}:getFiatCurrency`; - handler: RampsController['getFiatCurrency']; -}; - -export type RampsControllerGetAllFiatCurrenciesAction = { - type: `${typeof controllerName}:getAllFiatCurrencies`; - handler: RampsController['getAllFiatCurrencies']; -}; - -export type RampsControllerGetAllCryptoCurrenciesAction = { - type: `${typeof controllerName}:getAllCryptoCurrencies`; - handler: RampsController['getAllCryptoCurrencies']; -}; - -export type RampsControllerGetNetworkDetailsAction = { - type: `${typeof controllerName}:getNetworkDetails`; - handler: RampsController['getNetworkDetails']; -}; - -export type RampsControllerGetLimitsAction = { - type: `${typeof controllerName}:getLimits`; - handler: RampsController['getLimits']; -}; - -export type RampsControllerGetSellLimitsAction = { - type: `${typeof controllerName}:getSellLimits`; - handler: RampsController['getSellLimits']; -}; - -export type RampsControllerGetQuotesAction = { - type: `${typeof controllerName}:getQuotes`; - handler: RampsController['getQuotes']; -}; - -export type RampsControllerGetSellQuotesAction = { - type: `${typeof controllerName}:getSellQuotes`; - handler: RampsController['getSellQuotes']; -}; - -export type RampsControllerGetOrderIdFromCallbackAction = { - type: `${typeof controllerName}:getOrderIdFromCallback`; - handler: RampsController['getOrderIdFromCallback']; -}; - -export type RampsControllerGetOrderFromCallbackAction = { - type: `${typeof controllerName}:getOrderFromCallback`; - handler: RampsController['getOrderFromCallback']; -}; - -export type RampsControllerGetSellOrderFromCallbackAction = { - type: `${typeof controllerName}:getSellOrderFromCallback`; - handler: RampsController['getSellOrderFromCallback']; -}; - -export type RampsControllerGetOrderAction = { - type: `${typeof controllerName}:getOrder`; - handler: RampsController['getOrder']; -}; - -export type RampsControllerGetSellOrderAction = { - type: `${typeof controllerName}:getSellOrder`; - handler: RampsController['getSellOrder']; -}; - -export type RampsControllerSubmitApplePayOrderAction = { - type: `${typeof controllerName}:submitApplePayOrder`; - handler: RampsController['submitApplePayOrder']; -}; - -export type RampsControllerGetProviderAction = { - type: `${typeof controllerName}:getProvider`; - handler: RampsController['getProvider']; -}; - -export type RampsControllerGetRecurringOrdersAction = { - type: `${typeof controllerName}:getRecurringOrders`; - handler: RampsController['getRecurringOrders']; -}; - -export type RampsControllerAddRedirectionListenerAction = { - type: `${typeof controllerName}:addRedirectionListener`; - handler: RampsController['addRedirectionListener']; -}; - -// Deposit (NativeRampsSdk) action types -export type RampsControllerDepositSetAccessTokenAction = { - type: `${typeof controllerName}:depositSetAccessToken`; - handler: RampsController['depositSetAccessToken']; -}; -export type RampsControllerDepositGetAccessTokenAction = { - type: `${typeof controllerName}:depositGetAccessToken`; - handler: RampsController['depositGetAccessToken']; -}; -export type RampsControllerDepositClearAccessTokenAction = { - type: `${typeof controllerName}:depositClearAccessToken`; - handler: RampsController['depositClearAccessToken']; -}; -export type RampsControllerDepositGetVersionAction = { - type: `${typeof controllerName}:depositGetVersion`; - handler: RampsController['depositGetVersion']; -}; -export type RampsControllerDepositGetContextAction = { - type: `${typeof controllerName}:depositGetContext`; - handler: RampsController['depositGetContext']; -}; -export type RampsControllerDepositSendUserOtpAction = { - type: `${typeof controllerName}:depositSendUserOtp`; - handler: RampsController['depositSendUserOtp']; -}; -export type RampsControllerDepositVerifyUserOtpAction = { - type: `${typeof controllerName}:depositVerifyUserOtp`; - handler: RampsController['depositVerifyUserOtp']; -}; -export type RampsControllerDepositGetUserDetailsAction = { - type: `${typeof controllerName}:depositGetUserDetails`; - handler: RampsController['depositGetUserDetails']; -}; -export type RampsControllerDepositGetBuyQuoteAction = { - type: `${typeof controllerName}:depositGetBuyQuote`; - handler: RampsController['depositGetBuyQuote']; -}; -export type RampsControllerDepositGetIdProofStatusAction = { - type: `${typeof controllerName}:depositGetIdProofStatus`; - handler: RampsController['depositGetIdProofStatus']; -}; -export type RampsControllerDepositGetKycRequirementAction = { - type: `${typeof controllerName}:depositGetKycRequirement`; - handler: RampsController['depositGetKycRequirement']; -}; -export type RampsControllerDepositGetAdditionalRequirementsAction = { - type: `${typeof controllerName}:depositGetAdditionalRequirements`; - handler: RampsController['depositGetAdditionalRequirements']; -}; -export type RampsControllerDepositPatchUserAction = { - type: `${typeof controllerName}:depositPatchUser`; - handler: RampsController['depositPatchUser']; -}; -export type RampsControllerDepositSubmitPurposeOfUsageFormAction = { - type: `${typeof controllerName}:depositSubmitPurposeOfUsageForm`; - handler: RampsController['depositSubmitPurposeOfUsageForm']; -}; -export type RampsControllerDepositSubmitSsnDetailsAction = { - type: `${typeof controllerName}:depositSubmitSsnDetails`; - handler: RampsController['depositSubmitSsnDetails']; -}; -export type RampsControllerDepositCancelOrderAction = { - type: `${typeof controllerName}:depositCancelOrder`; - handler: RampsController['depositCancelOrder']; -}; -export type RampsControllerDepositCancelAllActiveOrdersAction = { - type: `${typeof controllerName}:depositCancelAllActiveOrders`; - handler: RampsController['depositCancelAllActiveOrders']; -}; -export type RampsControllerDepositCreateOrderAction = { - type: `${typeof controllerName}:depositCreateOrder`; - handler: RampsController['depositCreateOrder']; -}; -export type RampsControllerDepositConfirmPaymentAction = { - type: `${typeof controllerName}:depositConfirmPayment`; - handler: RampsController['depositConfirmPayment']; -}; -export type RampsControllerDepositGetOrderAction = { - type: `${typeof controllerName}:depositGetOrder`; - handler: RampsController['depositGetOrder']; -}; -export type RampsControllerDepositGetUserLimitsAction = { - type: `${typeof controllerName}:depositGetUserLimits`; - handler: RampsController['depositGetUserLimits']; -}; -export type RampsControllerDepositRequestOttAction = { - type: `${typeof controllerName}:depositRequestOtt`; - handler: RampsController['depositRequestOtt']; -}; -export type RampsControllerDepositGetGeolocationAction = { - type: `${typeof controllerName}:depositGetGeolocation`; - handler: RampsController['depositGetGeolocation']; -}; -export type RampsControllerDepositGeneratePaymentWidgetUrlAction = { - type: `${typeof controllerName}:depositGeneratePaymentWidgetUrl`; - handler: RampsController['depositGeneratePaymentWidgetUrl']; -}; -export type RampsControllerDepositGetActiveOrdersAction = { - type: `${typeof controllerName}:depositGetActiveOrders`; - handler: RampsController['depositGetActiveOrders']; -}; -export type RampsControllerDepositGetOrdersHistoryAction = { - type: `${typeof controllerName}:depositGetOrdersHistory`; - handler: RampsController['depositGetOrdersHistory']; -}; -export type RampsControllerDepositLogoutAction = { - type: `${typeof controllerName}:depositLogout`; - handler: RampsController['depositLogout']; -}; -export type RampsControllerDepositGetCountriesAction = { - type: `${typeof controllerName}:depositGetCountries`; - handler: RampsController['depositGetCountries']; -}; -export type RampsControllerDepositGetCryptoCurrenciesAction = { - type: `${typeof controllerName}:depositGetCryptoCurrencies`; - handler: RampsController['depositGetCryptoCurrencies']; -}; -export type RampsControllerDepositGetPaymentMethodsAction = { - type: `${typeof controllerName}:depositGetPaymentMethods`; - handler: RampsController['depositGetPaymentMethods']; -}; -export type RampsControllerDepositGetTransalationAction = { - type: `${typeof controllerName}:depositGetTransalation`; - handler: RampsController['depositGetTransalation']; -}; - export type RampsControllerActions = | RampsControllerGetStateAction | RampsControllerGetCountriesAction - | RampsControllerGetSellCountriesAction - | RampsControllerGetPaymentMethodsAction - | RampsControllerGetPaymentMethodsForCryptoAction - | RampsControllerGetSellPaymentMethodsAction - | RampsControllerGetSellPaymentMethodsForCryptoAction - | RampsControllerGetCryptoCurrenciesAction - | RampsControllerGetSellCryptoCurrenciesAction - | RampsControllerGetCryptoCurrencyAction - | RampsControllerGetFiatCurrenciesAction - | RampsControllerGetSellFiatCurrenciesAction - | RampsControllerGetFiatCurrencyAction - | RampsControllerGetAllFiatCurrenciesAction - | RampsControllerGetAllCryptoCurrenciesAction - | RampsControllerGetNetworkDetailsAction - | RampsControllerGetLimitsAction - | RampsControllerGetSellLimitsAction - | RampsControllerGetQuotesAction - | RampsControllerGetSellQuotesAction - | RampsControllerGetOrderIdFromCallbackAction - | RampsControllerGetOrderFromCallbackAction - | RampsControllerGetSellOrderFromCallbackAction - | RampsControllerGetOrderAction - | RampsControllerGetSellOrderAction - | RampsControllerSubmitApplePayOrderAction - | RampsControllerGetProviderAction - | RampsControllerGetRecurringOrdersAction - | RampsControllerAddRedirectionListenerAction - // Deposit actions - | RampsControllerDepositSetAccessTokenAction - | RampsControllerDepositGetAccessTokenAction - | RampsControllerDepositClearAccessTokenAction - | RampsControllerDepositGetVersionAction - | RampsControllerDepositGetContextAction - | RampsControllerDepositSendUserOtpAction - | RampsControllerDepositVerifyUserOtpAction - | RampsControllerDepositGetUserDetailsAction - | RampsControllerDepositGetBuyQuoteAction - | RampsControllerDepositGetIdProofStatusAction - | RampsControllerDepositGetKycRequirementAction - | RampsControllerDepositGetAdditionalRequirementsAction - | RampsControllerDepositPatchUserAction - | RampsControllerDepositSubmitPurposeOfUsageFormAction - | RampsControllerDepositSubmitSsnDetailsAction - | RampsControllerDepositCancelOrderAction - | RampsControllerDepositCancelAllActiveOrdersAction - | RampsControllerDepositCreateOrderAction - | RampsControllerDepositConfirmPaymentAction - | RampsControllerDepositGetOrderAction - | RampsControllerDepositGetUserLimitsAction - | RampsControllerDepositRequestOttAction - | RampsControllerDepositGetGeolocationAction - | RampsControllerDepositGeneratePaymentWidgetUrlAction - | RampsControllerDepositGetActiveOrdersAction - | RampsControllerDepositGetOrdersHistoryAction - | RampsControllerDepositLogoutAction - | RampsControllerDepositGetCountriesAction - | RampsControllerDepositGetCryptoCurrenciesAction - | RampsControllerDepositGetPaymentMethodsAction - | RampsControllerDepositGetTransalationAction; export type RampsControllerStateChangeEvent = ControllerStateChangeEvent< typeof controllerName, @@ -453,43 +75,40 @@ const rampsControllerMetadata = { includeInStateLogs: true, usedInUi: true, }, + region: { + persist: true, + anonymous: true, + includeInDebugSnapshot: true, + includeInStateLogs: true, + usedInUi: true, + }, }; const defaultState: RampsControllerState = { metamaskEnvironment: 'staging', context: Context.Browser, + region: null, }; -export function getSdkEnvironment(metamaskEnvironment: string) { +function getNativeSdkEnvironment(metamaskEnvironment: string) { switch (metamaskEnvironment) { case 'production': case 'beta': case 'rc': - return Environment.Production; + return SdkEnvironment.Production; case 'dev': case 'exp': case 'test': case 'e2e': default: - return Environment.Staging; + return SdkEnvironment.Staging; } } -function getNativeSdkEnvironment(metamaskEnvironment: string) { - switch (metamaskEnvironment) { - case 'production': - case 'beta': - case 'rc': - return NativeSdkEnvironment.Production; - - case 'dev': - case 'exp': - case 'test': - case 'e2e': - default: - return NativeSdkEnvironment.Staging; - } +enum ApiService { + Orders = 'providers', + Regions = 'regions', } /** @@ -502,7 +121,6 @@ export class RampsController extends BaseController< RampsControllerState, RampsControllerMessenger > { - readonly #sdk: OnRampSdk; readonly #nativeSdk: NativeRampsSdk; /** @@ -527,16 +145,15 @@ export class RampsController extends BaseController< }); // Initialize the OnRampSDK - const environment = state?.metamaskEnvironment ?? Environment.Staging; + const environment = state?.metamaskEnvironment ?? SdkEnvironment.Staging; const context = state?.context ?? Context.Browser; - this.#sdk = OnRampSdk.create(getSdkEnvironment(environment), context as Context); // Initialize the Native Ramps SDK const nativeEnv = getNativeSdkEnvironment(environment); // Map the shared context string into the native SDK enum - const nativeContext = (context as unknown as string) as keyof typeof NativeContext; + const nativeContext = (context as unknown as string) as keyof typeof Context; const nativeConfig: NativeRampsSdkConfig = { - context: NativeContext[nativeContext] ?? NativeContext.Browser, + context: Context[nativeContext] ?? Context.Browser, }; this.#nativeSdk = new NativeRampsSdk(nativeConfig, nativeEnv); @@ -544,707 +161,42 @@ export class RampsController extends BaseController< } /** - * Helper method to get the cached regions service + * Gets the non-cached API URL based on the metamask environment + * @returns The non-cached API URL based on the metamask environment */ - async #getRegionsService(): Promise { - return this.#sdk.regions(); - } - - // Native Ramps SDK wrappers (prefixed with "deposit") - - depositSetAccessToken(accessToken: NativeTransakAccessToken | null): void { - if (accessToken) { - this.#nativeSdk.setAccessToken(accessToken); - } else { - this.#nativeSdk.clearAccessToken(); + #getApiUrl(service?: ApiService): string { + let url = 'http://localhost:3000' + if (this.state.metamaskEnvironment === SdkEnvironment.Production) { + url = 'https://on-ramp.api.cx.metamask.io'; + } else if (this.state.metamaskEnvironment === SdkEnvironment.Staging) { + url = 'https://on-ramp.uat-api.cx.metamask.io'; } - } - - depositGetAccessToken(): NativeTransakAccessToken | null { - return this.#nativeSdk.getAccessToken(); - } - - depositClearAccessToken(): void { - this.#nativeSdk.clearAccessToken(); - } - - depositGetVersion(): string { - return this.#nativeSdk.getVersion(); - } - - depositGetContext(): NativeContext { - return this.#nativeSdk.getContext(); - } - - async depositSendUserOtp(email: string): Promise<{ isTncAccepted: boolean; stateToken: string; email: string; expiresIn: number }>{ - return this.#nativeSdk.sendUserOtp(email); - } - - async depositVerifyUserOtp( - email: string, - verificationCode: string, - stateToken: string, - ): Promise { - return this.#nativeSdk.verifyUserOtp(email, verificationCode, stateToken); - } - - async depositGetUserDetails(): Promise { - return this.#nativeSdk.getUserDetails(); - } - - async depositGetBuyQuote( - genericFiatCurrency: string, - genericCryptoCurrency: string, - genericNetwork: string, - genericPaymentMethod: string, - fiatAmount: string, - ): Promise { - return this.#nativeSdk.getBuyQuote( - genericFiatCurrency, - genericCryptoCurrency, - genericNetwork, - genericPaymentMethod, - fiatAmount, - ); - } - - async depositGetIdProofStatus(workFlowRunId: string): Promise { - return this.#nativeSdk.getIdProofStatus(workFlowRunId); - } - - async depositGetKycRequirement(quoteId: string): Promise { - return this.#nativeSdk.getKycRequirement(quoteId); - } - - async depositGetAdditionalRequirements(quoteId: string): Promise { - return this.#nativeSdk.getAdditionalRequirements(quoteId); - } - - async depositPatchUser(data: PatchUserRequestBody): Promise { - return this.#nativeSdk.patchUser(data); - } - - async depositSubmitPurposeOfUsageForm(purpose: string[]): Promise { - return this.#nativeSdk.submitPurposeOfUsageForm(purpose); - } - - async depositSubmitSsnDetails(params: { ssn: string; quoteId: string }): Promise { - return this.#nativeSdk.submitSsnDetails(params); - } - - async depositCancelOrder(depositOrderId: string): Promise { - return this.#nativeSdk.cancelOrder(depositOrderId); - } - - async depositCancelAllActiveOrders(): Promise { - return this.#nativeSdk.cancelAllActiveOrders(); - } - - async depositCreateOrder( - quote: BuyQuote, - walletAddress: string, - paymentMethodId: string, - ): Promise { - return this.#nativeSdk.createOrder(quote, walletAddress, paymentMethodId); - } - - async depositConfirmPayment(orderId: string, paymentMethodId: string): Promise<{ success: boolean }>{ - return this.#nativeSdk.confirmPayment(orderId, paymentMethodId); - } - - async depositGetOrder( - orderId: string, - wallet: string, - paymentDetails?: OrderPaymentMethod[], - abortController?: AbortController, - ): Promise { - return this.#nativeSdk.getOrder(orderId, wallet, paymentDetails, abortController); - } - - async depositGetUserLimits( - fiatCurrency: string, - paymentMethod: string, - kycType: string, - ): Promise { - return this.#nativeSdk.getUserLimits(fiatCurrency, paymentMethod, kycType); - } - - async depositRequestOtt(): Promise { - return this.#nativeSdk.requestOtt(); - } - - async depositGetGeolocation(): Promise { - return this.#nativeSdk.getGeolocation(); - } - depositGeneratePaymentWidgetUrl( - ottToken: string, - quote: BuyQuote, - walletAddress: string, - extraParams?: Record, - ): string { - return this.#nativeSdk.generatePaymentWidgetUrl(ottToken, quote, walletAddress, extraParams); + const urlWithPath = new URL(service ?? '', url); + return urlWithPath.toString(); } - async depositGetActiveOrders(): Promise { - return this.#nativeSdk.getActiveOrders(); - } - - async depositGetOrdersHistory(limit?: number, skip?: number): Promise { - return this.#nativeSdk.getOrdersHistory(limit, skip); - } - - async depositLogout(): Promise { - return this.#nativeSdk.logout(); - } - - async depositGetCountries(abortController?: AbortController): Promise { - return this.#nativeSdk.getCountries(abortController); - } - async depositGetCryptoCurrencies( - regionId: string, - abortController?: AbortController, - ): Promise { - return this.#nativeSdk.getCryptoCurrencies(regionId, abortController); + async #getGeolocation(): Promise { + const url = this.#getApiUrl(); + const response = await fetch(`${url}/geolocation`); + const data = await response.json(); + return data; } - async depositGetPaymentMethods( - regionId: string, - cryptoCurrencyId: string, - fiatCurrencyId: string, - abortController?: AbortController, - ): Promise { - return this.#nativeSdk.getPaymentMethods( - regionId, - cryptoCurrencyId, - fiatCurrencyId, - abortController, - ); - } - - async depositGetTransalation( - translationRequest: TranslationRequest, - abortController?: AbortController, - ): Promise { - return this.#nativeSdk.getTransalation(translationRequest, abortController); - } - - /** - * Helper method to get the cached orders service - */ - async #getOrdersService(): Promise { - return this.#sdk.orders(); - } - - /** - * Get list of countries available for ramps. - * - * @returns A promise that resolves to an array of countries - */ - async getCountries(): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getCountries(); - } - - /** - * Get list of countries available for sell operations. - * - * @returns A promise that resolves to an array of countries - */ - async getSellCountries(): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getSellCountries(); - } - - /** - * Get payment methods for a region. - * - * @param regionId - The region ID - * @param abortController - Optional abort controller - * @returns A promise that resolves to an array of payment methods - */ - async getPaymentMethods( - regionId: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getPaymentMethods(regionId, abortController); - } - - /** - * Get payment methods for crypto transactions. - * - * @param regionId - The region ID - * @param crypto - The crypto currency code - * @param fiat - The fiat currency code - * @param abortController - Optional abort controller - * @returns A promise that resolves to an array of payment methods - */ - async getPaymentMethodsForCrypto( - regionId: string, - crypto: string, - fiat: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getPaymentMethodsForCrypto( - regionId, - crypto, - fiat, - abortController, - ); - } - - /** - * Get sell payment methods for a region. - * - * @param regionId - The region ID - * @param abortController - Optional abort controller - * @returns A promise that resolves to an array of payment methods - */ - async getSellPaymentMethods( - regionId: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getSellPaymentMethods(regionId, abortController); - } - - /** - * Get sell payment methods for crypto. - * - * @param regionId - The region ID - * @param crypto - The crypto currency code - * @param fiat - The fiat currency code - * @param abortController - Optional abort controller - * @returns A promise that resolves to an array of payment methods - */ - async getSellPaymentMethodsForCrypto( - regionId: string, - crypto: string, - fiat: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getSellPaymentMethodsForCrypto( - regionId, - crypto, - fiat, - abortController, - ); - } - - /** - * Get crypto currencies. - * - * @param regionId - The region ID - * @param paymentMethodIds - Array of payment method IDs - * @param fiatCurrencyId - Optional fiat currency ID - * @param abortController - Optional abort controller - * @returns A promise that resolves to an array of crypto currencies - */ - async getCryptoCurrencies( - regionId: string, - paymentMethodIds: string[], - fiatCurrencyId?: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getCryptoCurrencies( - regionId, - paymentMethodIds, - fiatCurrencyId, - abortController, - ); - } - - /** - * Get sell crypto currencies. - * - * @param regionId - The region ID - * @param paymentMethodIds - Array of payment method IDs - * @param fiatCurrencyId - Optional fiat currency ID - * @param abortController - Optional abort controller - * @returns A promise that resolves to an array of crypto currencies - */ - async getSellCryptoCurrencies( - regionId: string, - paymentMethodIds: string[], - fiatCurrencyId?: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getSellCryptoCurrencies( - regionId, - paymentMethodIds, - fiatCurrencyId, - abortController, - ); - } - - /** - * Get a specific crypto currency. - * - * @param regionId - The region ID - * @param cryptoId - The crypto currency ID - * @returns A promise that resolves to a crypto currency - */ - async getCryptoCurrency( - regionId: string, - cryptoId: string, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getCryptoCurrency(regionId, cryptoId); - } - - /** - * Get fiat currencies. - * - * @param regionId - The region ID - * @param paymentMethodIds - Array of payment method IDs - * @param abortController - Optional abort controller - * @returns A promise that resolves to an array of fiat currencies - */ - async getFiatCurrencies( - regionId: string, - paymentMethodIds: string[], - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getFiatCurrencies( - regionId, - paymentMethodIds, - abortController, - ); - } - - /** - * Get sell fiat currencies. - * - * @param regionId - The region ID - * @param paymentMethodIds - Array of payment method IDs - * @param abortController - Optional abort controller - * @returns A promise that resolves to an array of fiat currencies - */ - async getSellFiatCurrencies( - regionId: string, - paymentMethodIds: string[], - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getSellFiatCurrencies( - regionId, - paymentMethodIds, - abortController, - ); - } - - /** - * Get a specific fiat currency. - * - * @param regionId - The region ID - * @param fiatId - The fiat currency ID - * @returns A promise that resolves to a fiat currency - */ - async getFiatCurrency(regionId: string, fiatId: string): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getFiatCurrency(regionId, fiatId); - } - - /** - * Get all fiat currencies. - * - * @param regionId - The region ID - * @param abortController - Optional abort controller - * @returns A promise that resolves to an array of fiat currencies - */ - async getAllFiatCurrencies( - regionId: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getAllFiatCurrencies(regionId, abortController); - } - - /** - * Get all crypto currencies. - * - * @param regionId - The region ID - * @param abortController - Optional abort controller - * @returns A promise that resolves to an array of crypto currencies - */ - async getAllCryptoCurrencies( - regionId: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getAllCryptoCurrencies(regionId, abortController); - } - - /** - * Get network details. - * - * @returns A promise that resolves to an array of network details - */ - async getNetworkDetails(): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getNetworkDetails(); - } - - /** - * Get limits. - * - * @param regionId - The region ID - * @param paymentMethods - Array of payment method IDs - * @param crypto - The crypto currency code - * @param fiat - The fiat currency code - * @param abortController - Optional abort controller - * @returns A promise that resolves to limits - */ - async getLimits( - regionId: string, - paymentMethods: string[], - crypto: string, - fiat: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getLimits( - regionId, - paymentMethods, - crypto, - fiat, - abortController, - ); - } - - /** - * Get sell limits. - * - * @param regionId - The region ID - * @param paymentMethods - Array of payment method IDs - * @param crypto - The crypto currency code - * @param fiat - The fiat currency code - * @returns A promise that resolves to limits - */ - async getSellLimits( - regionId: string, - paymentMethods: string[], - crypto: string, - fiat: string, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getSellLimits(regionId, paymentMethods, crypto, fiat); - } - - /** - * Get quotes. - * - * @param regionId - The region ID - * @param paymentMethods - Array of payment method IDs - * @param crypto - The crypto currency code - * @param fiat - The fiat currency code - * @param amount - The amount - * @param receiver - Optional receiver address - * @param abortController - Optional abort controller - * @returns A promise that resolves to quotes - */ - async getQuotes( - regionId: string, - paymentMethods: string[], - crypto: string, - fiat: string, - amount: number | string, - receiver?: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getQuotes( - regionId, - paymentMethods, - crypto, - fiat, - amount, - receiver, - abortController, - ); - } - - /** - * Get sell quotes. - * - * @param regionId - The region ID - * @param paymentMethods - Array of payment method IDs - * @param crypto - The crypto currency code - * @param fiat - The fiat currency code - * @param amount - The amount - * @param receiver - Optional receiver address - * @param abortController - Optional abort controller - * @returns A promise that resolves to sell quotes - */ - async getSellQuotes( - regionId: string, - paymentMethods: string[], - crypto: string, - fiat: string, - amount: number | string, - receiver?: string, - abortController?: AbortController, - ): Promise { - const regionsService = await this.#getRegionsService(); - return regionsService.getSellQuotes( - regionId, - paymentMethods, - crypto, - fiat, - amount, - receiver, - abortController, - ); - } - - // OrdersService wrapper methods - - /** - * Get order ID from callback URL. - * - * @param providerId - The provider ID - * @param redirectUrl - The redirect URL - * @returns A promise that resolves to the order ID - */ - async getOrderIdFromCallback( - providerId: string, - redirectUrl: string, - ): Promise { - const ordersService = await this.#getOrdersService(); - return ordersService.getOrderIdFromCallback(providerId, redirectUrl); - } - - /** - * Get order from callback URL. - * - * @param providerId - The provider ID - * @param redirectUrl - The redirect URL - * @param walletAddress - The wallet address - * @returns A promise that resolves to the order - */ - async getOrderFromCallback( - providerId: string, - redirectUrl: string, - walletAddress: string, - ): Promise { - const ordersService = await this.#getOrdersService(); - return ordersService.getOrderFromCallback( - providerId, - redirectUrl, - walletAddress, - ); - } - - /** - * Get sell order from callback URL. - * - * @param providerId - The provider ID - * @param redirectUrl - The redirect URL - * @param walletAddress - The wallet address - * @returns A promise that resolves to the sell order - */ - async getSellOrderFromCallback( - providerId: string, - redirectUrl: string, - walletAddress: string, - ): Promise { - const ordersService = await this.#getOrdersService(); - return ordersService.getSellOrderFromCallback( - providerId, - redirectUrl, - walletAddress, - ); - } - - /** - * Get order by ID. - * - * @param orderId - The order ID - * @param walletAddress - The wallet address - * @returns A promise that resolves to the order - */ - async getOrder(orderId: string, walletAddress: string): Promise { - const ordersService = await this.#getOrdersService(); - return ordersService.getOrder(orderId, walletAddress); - } - - /** - * Get sell order by ID. - * - * @param orderId - The order ID - * @param walletAddress - The wallet address - * @returns A promise that resolves to the sell order - */ - async getSellOrder(orderId: string, walletAddress: string): Promise { - const ordersService = await this.#getOrdersService(); - return ordersService.getSellOrder(orderId, walletAddress); - } - - /** - * Submit Apple Pay order. - * - * @param dest - The destination address - * @param providerId - The provider ID - * @param payload - The Apple Pay payload - * @returns A promise that resolves to the Apple Pay purchase result - */ - async submitApplePayOrder( - dest: string, - providerId: string, - payload: any, - ): Promise { - const ordersService = await this.#getOrdersService(); - return ordersService.submitApplePayOrder(dest, providerId, payload); - } - - /** - * Get provider by ID. - * - * @param providerId - The provider ID - * @returns A promise that resolves to the provider - */ - async getProvider(providerId: string): Promise { - const ordersService = await this.#getOrdersService(); - return ordersService.getProvider(providerId); - } - - /** - * Get recurring orders. - * - * @param orderId - The order ID - * @param walletAddress - The wallet address - * @param start - The start date - * @param end - The end date - * @returns A promise that resolves to the recurring orders - */ - async getRecurringOrders( - orderId: string, - walletAddress: string, - start: Date, - end: Date, - ): Promise { - const ordersService = await this.#getOrdersService(); - return ordersService.getRecurringOrders(orderId, walletAddress, start, end); - } - - /** - * Add redirection listener. - * - * @param callback - The callback function - */ - addRedirectionListener( - callback: (orderId: string) => void | Promise, - ): void { - // Note: This method doesn't need async since it's synchronous - this.#getOrdersService().then((ordersService) => { - ordersService.addRedirectionListener(callback); + async getCountries(): Promise { + const geolocation = await this.#getGeolocation(); + const url = this.#getApiUrl(ApiService.Regions); + const response = await fetch(`${url}/${geolocation}/countries`); + const data = await response.json(); + + this.update((state) => { + state.region = { + id: geolocation as string, + deposit: data.deposit, + aggregator: data.aggregator, + global: data.global, + } }); } @@ -1257,242 +209,6 @@ export class RampsController extends BaseController< `${controllerName}:getCountries`, this.getCountries.bind(this), ); - this.messenger.registerActionHandler( - `${controllerName}:getSellCountries`, - this.getSellCountries.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getPaymentMethods`, - this.getPaymentMethods.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getPaymentMethodsForCrypto`, - this.getPaymentMethodsForCrypto.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getSellPaymentMethods`, - this.getSellPaymentMethods.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getSellPaymentMethodsForCrypto`, - this.getSellPaymentMethodsForCrypto.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getCryptoCurrencies`, - this.getCryptoCurrencies.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getSellCryptoCurrencies`, - this.getSellCryptoCurrencies.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getCryptoCurrency`, - this.getCryptoCurrency.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getFiatCurrencies`, - this.getFiatCurrencies.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getSellFiatCurrencies`, - this.getSellFiatCurrencies.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getFiatCurrency`, - this.getFiatCurrency.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getAllFiatCurrencies`, - this.getAllFiatCurrencies.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getAllCryptoCurrencies`, - this.getAllCryptoCurrencies.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getNetworkDetails`, - this.getNetworkDetails.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getLimits`, - this.getLimits.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getSellLimits`, - this.getSellLimits.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getQuotes`, - this.getQuotes.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getSellQuotes`, - this.getSellQuotes.bind(this), - ); - - // OrdersService methods - this.messenger.registerActionHandler( - `${controllerName}:getOrderIdFromCallback`, - this.getOrderIdFromCallback.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getOrderFromCallback`, - this.getOrderFromCallback.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getSellOrderFromCallback`, - this.getSellOrderFromCallback.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getOrder`, - this.getOrder.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getSellOrder`, - this.getSellOrder.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:submitApplePayOrder`, - this.submitApplePayOrder.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getProvider`, - this.getProvider.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:getRecurringOrders`, - this.getRecurringOrders.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:addRedirectionListener`, - this.addRedirectionListener.bind(this), - ); - - // NativeRampsSdk (Deposit) methods - this.messenger.registerActionHandler( - `${controllerName}:depositSetAccessToken`, - this.depositSetAccessToken.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetAccessToken`, - this.depositGetAccessToken.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositClearAccessToken`, - this.depositClearAccessToken.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetVersion`, - this.depositGetVersion.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetContext`, - this.depositGetContext.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositSendUserOtp`, - this.depositSendUserOtp.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositVerifyUserOtp`, - this.depositVerifyUserOtp.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetUserDetails`, - this.depositGetUserDetails.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetBuyQuote`, - this.depositGetBuyQuote.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetIdProofStatus`, - this.depositGetIdProofStatus.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetKycRequirement`, - this.depositGetKycRequirement.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetAdditionalRequirements`, - this.depositGetAdditionalRequirements.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositPatchUser`, - this.depositPatchUser.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositSubmitPurposeOfUsageForm`, - this.depositSubmitPurposeOfUsageForm.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositSubmitSsnDetails`, - this.depositSubmitSsnDetails.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositCancelOrder`, - this.depositCancelOrder.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositCancelAllActiveOrders`, - this.depositCancelAllActiveOrders.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositCreateOrder`, - this.depositCreateOrder.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositConfirmPayment`, - this.depositConfirmPayment.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetOrder`, - this.depositGetOrder.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetUserLimits`, - this.depositGetUserLimits.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositRequestOtt`, - this.depositRequestOtt.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetGeolocation`, - this.depositGetGeolocation.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGeneratePaymentWidgetUrl`, - this.depositGeneratePaymentWidgetUrl.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetActiveOrders`, - this.depositGetActiveOrders.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetOrdersHistory`, - this.depositGetOrdersHistory.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositLogout`, - this.depositLogout.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetCountries`, - this.depositGetCountries.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetCryptoCurrencies`, - this.depositGetCryptoCurrencies.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetPaymentMethods`, - this.depositGetPaymentMethods.bind(this), - ); - this.messenger.registerActionHandler( - `${controllerName}:depositGetTransalation`, - this.depositGetTransalation.bind(this), - ); } } diff --git a/packages/ramps-controller/src/index.ts b/packages/ramps-controller/src/index.ts index 07f2f27ec32..6764078e076 100644 --- a/packages/ramps-controller/src/index.ts +++ b/packages/ramps-controller/src/index.ts @@ -1,37 +1,7 @@ export type { - Country, - State, - CountrySupport, RampsControllerState, RampsControllerGetStateAction, RampsControllerGetCountriesAction, - RampsControllerGetSellCountriesAction, - RampsControllerGetPaymentMethodsAction, - RampsControllerGetPaymentMethodsForCryptoAction, - RampsControllerGetSellPaymentMethodsAction, - RampsControllerGetSellPaymentMethodsForCryptoAction, - RampsControllerGetCryptoCurrenciesAction, - RampsControllerGetSellCryptoCurrenciesAction, - RampsControllerGetCryptoCurrencyAction, - RampsControllerGetFiatCurrenciesAction, - RampsControllerGetSellFiatCurrenciesAction, - RampsControllerGetFiatCurrencyAction, - RampsControllerGetAllFiatCurrenciesAction, - RampsControllerGetAllCryptoCurrenciesAction, - RampsControllerGetNetworkDetailsAction, - RampsControllerGetLimitsAction, - RampsControllerGetSellLimitsAction, - RampsControllerGetQuotesAction, - RampsControllerGetSellQuotesAction, - RampsControllerGetOrderIdFromCallbackAction, - RampsControllerGetOrderFromCallbackAction, - RampsControllerGetSellOrderFromCallbackAction, - RampsControllerGetOrderAction, - RampsControllerGetSellOrderAction, - RampsControllerSubmitApplePayOrderAction, - RampsControllerGetProviderAction, - RampsControllerGetRecurringOrdersAction, - RampsControllerAddRedirectionListenerAction, RampsControllerActions, RampsControllerStateChangeEvent, RampsControllerEvents, From 7e91f058d8f0e07866b8de90e3c0625e7e9ac85f Mon Sep 17 00:00:00 2001 From: Patrick Kowalski Date: Wed, 5 Nov 2025 09:45:38 -0600 Subject: [PATCH 05/10] chore: clean up dependencies --- packages/ramps-controller/package.json | 1 - yarn.lock | 17 +---------------- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/packages/ramps-controller/package.json b/packages/ramps-controller/package.json index 5afda700ee0..a45a180fb75 100644 --- a/packages/ramps-controller/package.json +++ b/packages/ramps-controller/package.json @@ -48,7 +48,6 @@ }, "dependencies": { "@consensys/native-ramps-sdk": "2.1.5", - "@consensys/on-ramp-sdk": "^2.1.11", "@metamask/base-controller": "^8.4.2", "@metamask/messenger": "^0.3.0", "@metamask/utils": "^11.8.1" diff --git a/yarn.lock b/yarn.lock index 66c32301dc0..1dc64282d13 100644 --- a/yarn.lock +++ b/yarn.lock @@ -680,20 +680,6 @@ __metadata: languageName: node linkType: hard -"@consensys/on-ramp-sdk@npm:^2.1.11": - version: 2.1.12 - resolution: "@consensys/on-ramp-sdk@npm:2.1.12" - dependencies: - async: "npm:^3.2.3" - axios: "npm:^1.8.3" - axios-retry: "npm:^3.1.2" - crypto-js: "npm:^4.2.0" - reflect-metadata: "npm:^0.1.13" - uuid: "npm:^9.0.0" - checksum: 10/59c70f0cbec62a55e3de01422026600913b07c075f592f212cbd8e5fc11b9555d1da385a7f12704403e5d1bc21d0f3b0730b6ca37f0440a51c05d18ac5b1e7a9 - languageName: node - linkType: hard - "@contentful/content-source-maps@npm:^0.11.0": version: 0.11.39 resolution: "@contentful/content-source-maps@npm:0.11.39" @@ -4842,7 +4828,6 @@ __metadata: resolution: "@metamask/ramps-controller@workspace:packages/ramps-controller" dependencies: "@consensys/native-ramps-sdk": "npm:2.1.5" - "@consensys/on-ramp-sdk": "npm:^2.1.11" "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.4.2" "@metamask/messenger": "npm:^0.3.0" @@ -8050,7 +8035,7 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.11.0, axios@npm:^1.7.4, axios@npm:^1.8.3": +"axios@npm:^1.11.0, axios@npm:^1.7.4": version: 1.13.1 resolution: "axios@npm:1.13.1" dependencies: From a7ad8c03ce61bffeadbb39c80e05bb5fa18c54b7 Mon Sep 17 00:00:00 2001 From: Patrick Kowalski Date: Wed, 5 Nov 2025 11:31:00 -0600 Subject: [PATCH 06/10] fix: patch url for new regions endpoint: --- packages/ramps-controller/src/RampsController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ramps-controller/src/RampsController.ts b/packages/ramps-controller/src/RampsController.ts index 44b4bafeb25..71af2839f55 100644 --- a/packages/ramps-controller/src/RampsController.ts +++ b/packages/ramps-controller/src/RampsController.ts @@ -187,7 +187,7 @@ export class RampsController extends BaseController< async getCountries(): Promise { const geolocation = await this.#getGeolocation(); const url = this.#getApiUrl(ApiService.Regions); - const response = await fetch(`${url}/${geolocation}/countries`); + const response = await fetch(`${url}/countries/${geolocation}`); const data = await response.json(); this.update((state) => { From f1e5914149232fef507b7f3528f632868ea63599 Mon Sep 17 00:00:00 2001 From: Patrick Kowalski Date: Wed, 5 Nov 2025 13:24:49 -0600 Subject: [PATCH 07/10] feat: replace fetch with axios --- packages/ramps-controller/package.json | 3 ++- packages/ramps-controller/src/RampsController.ts | 11 +++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/ramps-controller/package.json b/packages/ramps-controller/package.json index a45a180fb75..63ec783b8a4 100644 --- a/packages/ramps-controller/package.json +++ b/packages/ramps-controller/package.json @@ -50,7 +50,8 @@ "@consensys/native-ramps-sdk": "2.1.5", "@metamask/base-controller": "^8.4.2", "@metamask/messenger": "^0.3.0", - "@metamask/utils": "^11.8.1" + "@metamask/utils": "^11.8.1", + "axios": "^1.13.2" }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", diff --git a/packages/ramps-controller/src/RampsController.ts b/packages/ramps-controller/src/RampsController.ts index 71af2839f55..ef7f0c800ea 100644 --- a/packages/ramps-controller/src/RampsController.ts +++ b/packages/ramps-controller/src/RampsController.ts @@ -8,9 +8,9 @@ import { NativeRampsSdk, Context, SdkEnvironment, - type DepositRegion, type NativeRampsSdkConfig, } from '@consensys/native-ramps-sdk'; +import axios from 'axios'; const controllerName = 'RampsController'; @@ -179,16 +179,15 @@ export class RampsController extends BaseController< async #getGeolocation(): Promise { const url = this.#getApiUrl(); - const response = await fetch(`${url}/geolocation`); - const data = await response.json(); - return data; + const response = await axios.get(`${url}/geolocation`); + return response.data; } async getCountries(): Promise { const geolocation = await this.#getGeolocation(); const url = this.#getApiUrl(ApiService.Regions); - const response = await fetch(`${url}/countries/${geolocation}`); - const data = await response.json(); + const response = await axios.get(`${url}/countries/${geolocation}`); + const data = response.data; this.update((state) => { state.region = { From faa28acbfd9fac3ece681e0c84fe16664530416d Mon Sep 17 00:00:00 2001 From: Patrick Kowalski Date: Wed, 5 Nov 2025 13:47:53 -0600 Subject: [PATCH 08/10] chore: change axios version --- packages/ramps-controller/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ramps-controller/package.json b/packages/ramps-controller/package.json index 63ec783b8a4..cbc6d255a7e 100644 --- a/packages/ramps-controller/package.json +++ b/packages/ramps-controller/package.json @@ -51,7 +51,7 @@ "@metamask/base-controller": "^8.4.2", "@metamask/messenger": "^0.3.0", "@metamask/utils": "^11.8.1", - "axios": "^1.13.2" + "axios": "^1.13.1" }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", From 29ff020efdb87abea30e086e884e9bf68f6c9bd2 Mon Sep 17 00:00:00 2001 From: Patrick Kowalski Date: Wed, 5 Nov 2025 13:49:59 -0600 Subject: [PATCH 09/10] chore: update yarn.lock --- yarn.lock | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 1dc64282d13..f6071cf4ea5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4833,6 +4833,7 @@ __metadata: "@metamask/messenger": "npm:^0.3.0" "@metamask/utils": "npm:^11.8.1" "@types/jest": "npm:^27.4.1" + axios: "npm:^1.13.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" ts-jest: "npm:^27.1.4" @@ -8035,7 +8036,7 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.11.0, axios@npm:^1.7.4": +"axios@npm:^1.11.0, axios@npm:^1.13.1, axios@npm:^1.7.4": version: 1.13.1 resolution: "axios@npm:1.13.1" dependencies: From 4f13784663e77a71adc0e813cbce0ef2b5b1e56d Mon Sep 17 00:00:00 2001 From: Patrick Kowalski Date: Wed, 5 Nov 2025 14:06:11 -0600 Subject: [PATCH 10/10] chore: fix changelog --- packages/ramps-controller/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/ramps-controller/CHANGELOG.md b/packages/ramps-controller/CHANGELOG.md index 21ca961513c..0ab979ee86f 100644 --- a/packages/ramps-controller/CHANGELOG.md +++ b/packages/ramps-controller/CHANGELOG.md @@ -13,3 +13,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Initial release +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/ramps-controller@0.1.0...HEAD +[0.1.0]: https://github.com/MetaMask/core/releases/tag/@metamask/ramps-controller@0.1.0